James Almer
567c67c6c8
avcodec/ac3dsp: make len a size_t in float_to_fixed24
...
Should simplify asm implementations, and prevent UB on at least win64.
Signed-off-by: James Almer <jamrial@gmail.com>
1 year ago
Rémi Denis-Courmont
89c10d8d20
lavc/ac3: add R-V Zbb extract_exponents
1 year ago
Andreas Rheinhardt
76d8f0dd14
avcodec/ac3dsp: Remove unused parameter
...
Forgotten in fd98594a88
.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2 years ago
Andreas Rheinhardt
40e6575aa3
all: Replace if (ARCH_FOO) checks by #if ARCH_FOO
...
This is more spec-compliant because it does not rely
on dead-code elimination by the compiler. Especially
MSVC has problems with this, as can be seen in
https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/296373.html
or
https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/297022.html
This commit does not eliminate every instance where we rely
on dead code elimination: It only tackles branching to
the initialization of arch-specific dsp code, not e.g. all
uses of CONFIG_ and HAVE_ checks. But maybe it is already
enough to compile FFmpeg with MSVC with whole-programm-optimizations
enabled (if one does not disable too many components).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2 years ago
Andreas Rheinhardt
104abea646
avcodec/ac3: Move non-(de|en)coder-only parts out of ac3.h
...
Move AC3HeaderInfo into ac3_parser_internal.h and the rest
into a new header ac3defs.h.
This also breaks an include cycle of ac3.h and ac3tab.h
(the latter now only needs ac3defs.h).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
3 years ago
Andreas Rheinhardt
25c8507818
Remove/replace some unnecessary avcodec.h inclusions
...
Also remove other unnecessary headers and include headers directly while
at it.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
3 years ago
Lynne
9e05421dbe
ac3enc_fixed: drop unnecessary fixed-point DSP code
4 years ago
Anton Khirnov
e15371061d
lavu/mem: move the DECLARE_ALIGNED macro family to mem_internal on next+1 bump
...
They are not properly namespaced and not intended for public use.
4 years ago
James Almer
91ccd38c0b
avcodec/ac3dsp: add special-case handling for the C downmix_fixed function
...
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
8 years ago
Justin Ruggles
b57e38f52c
ac3dsp: x86: Replace inline asm for in-decoder downmixing with standalone asm
...
Adds a wrapper function for downmixing which detects channel count changes
and updates the selected downmix function accordingly.
Simplification and porting to current x86inc infrastructure by Diego Biurrun.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
8 years ago
Justin Ruggles
a9ba59591e
ac3dsp: Add some special-case handling for the C downmix function
...
This is about 200% faster for in-decoder downmixing of 5.0 and 5.1 content.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
8 years ago
Justin Ruggles
43717469f9
ac3dsp: Reverse matrix in/out order in downmix()
...
Also use (float **) instead of (float (*)[2]). This matches the matrix
layout in libavresample so we can reuse assembly code between the two.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
8 years ago
Diego Biurrun
0f40c90984
Drop pointless assert.h #includes
9 years ago
Peter Meerwald
9abc80f1ed
libavcodec: Make use of av_clip functions
...
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
10 years ago
Nedeljko Babic
696e34a6e1
libavcodec: Implementation of AC3 fixedpoint decoder
...
Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Diego Biurrun
831a118078
Update dsputil- and SIMD-related comments to match reality more closely
11 years ago
Diego Biurrun
4958f35a2e
dsputil: Move apply_window_int16 to ac3dsp
...
The (optimized) functions are used nowhere else.
11 years ago
Mans Rullgard
30b3916425
ac3dec: make downmix() take array of pointers to channel data
12 years ago
Bojan Zivkovic
a74ae4691a
mips: Optimization of AC3 FP encoder and EAC3 FP decoder
...
Signed-off-by: Bojan Zivkovic <bojan@mips.com>
Reveiwed-by: Vitor Sessak <vitor1001@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Janne Grunau
f101eab1be
x86: call most of the x86 dsp init functions under if (ARCH_X86)
...
Rename the called dsp init functions to *_init_x86.
12 years ago
Mans Rullgard
97cb9236cf
ac3: move ac3_downmix() from dsputil to ac3dsp
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
12 years ago
Mans Rullgard
034b03e7a0
ac3: Do not read past the end of ff_ac3_band_start_tab.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Alex Converse <alex.converse@gmail.com>
13 years ago
Mans Rullgard
f507a9fe00
ac3enc: move inner loop of compute_rematrixing_strategy to ac3dsp
14 years ago
Justin Ruggles
8b7b2d6aae
ac3dsp: simplify extract_exponents() now that it does not need to do clipping.
14 years ago
Justin Ruggles
dc0ad40de2
ac3dsp: fix loop condition in ac3_update_bap_counts_c()
14 years ago
Justin Ruggles
6ca23db9cc
ac3enc: modify mantissa bit counting to keep bap counts for all values of bap
...
instead of just 0 to 4.
This does all the actual bit counting as a final step.
14 years ago
Justin Ruggles
63b1866ae1
ac3enc: clip large coefficient values and negative exponents rather than using
...
av_assert2().
14 years ago
Mans Rullgard
2310ee4b1c
ac3enc: move extract_exponents inner loop to ac3dsp
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
52fd16a264
ac3enc: move compute_mantissa_size() to ac3dsp
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
6d9f52b2cd
ac3: move ff_ac3_bit_alloc_calc_bap to ac3dsp
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
f4855a904e
ac3enc: NEON optimised ac3_max_msb_abs_int16 and ac3_exponent_min
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Justin Ruggles
0f999cfddb
ac3enc: add float_to_fixed24() with x86-optimized versions to AC3DSPContext
...
and use in scale_coefficients() for the floating-point AC-3 encoder.
14 years ago
Michael Niedermayer
f7a5e7791d
Revert "ac3enc: add SIMD-optimized shifting functions for use with the fixed-point AC3 encoder"
...
This reverts commit cc4d3dd3e2
.
revert at authors request due to better impementation being available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Justin Ruggles
f1efbca5e9
ac3enc: add SIMD-optimized shifting functions for use with the fixed-point AC3 encoder.
14 years ago
Justin Ruggles
cc4d3dd3e2
ac3enc: add SIMD-optimized shifting functions for use with the fixed-point AC3 encoder
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Justin Ruggles
7539a1fee2
ac3enc: Add x86-optimized function to speed up log2_tab().
...
AC3DSPContext.ac3_max_msb_abs_int16() finds the maximum MSB of the absolute
value of each element in an array of int16_t.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit fbb6b49dab
)
14 years ago
Justin Ruggles
fbb6b49dab
ac3enc: Add x86-optimized function to speed up log2_tab().
...
AC3DSPContext.ac3_max_msb_abs_int16() finds the maximum MSB of the absolute
value of each element in an array of int16_t.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
a30ac54a19
Add x86-optimized versions of exponent_min().
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit dda3f0ef48
)
14 years ago
Diego Elio Pettenò
e7e2df27f8
Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
...
None of these symbols should be accessed directly, so declare them as
hidden.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d36beb3f69
)
14 years ago
Diego Elio Pettenò
d36beb3f69
Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
...
None of these symbols should be accessed directly, so declare them as
hidden.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Diego Biurrun
2d62158091
Replace '\0 bytes' by 'NULL bytes' in Doxygen comments.
...
Doxygen mistakes the \ for the start of a Doxygen command.
Originally committed as revision 23994 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
c2341b8596
Add a chomp BSF to consume zero padding at the end of a packet.
...
Originally committed as revision 23196 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Aurelien Jacobs
4231f05b28
VP3 parser can also handle VP6 without any changes.
...
Originally committed as revision 13990 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Michael Niedermayer
0c587a4ea8
VP3 & Theora parser to extract keyframe flags.
...
This parser is not able to split random bitstream pieces.
Originally committed as revision 13986 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Diego Biurrun
5b21bdabe4
Add FFMPEG_ prefix to all multiple inclusion guards.
...
Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Guillaume Poirier
efb775777f
add a comment to indicate which #endif belong to which #define
...
Originally committed as revision 9356 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Måns Rullgård
699b3f99d0
add multiple inclusion guards to headers
...
Originally committed as revision 9345 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Måns Rullgård
99545457bf
include all prerequisites in header files
...
Originally committed as revision 9344 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Diego Biurrun
c33d98141d
Move H.263 parser to its own file.
...
Originally committed as revision 8934 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago