Anton Khirnov
145f741e11
AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*
13 years ago
Nathan Caldwell
24efdea7fd
aacenc: Fix number of coefficients used in a LFE channel.
...
The spec states:
* Only the lowest 12 spectral coefficients of any LFE may be non-zero
We were using the 12 lowest *bands*.
14 years ago
Nathan Caldwell
51a1d4d94a
aacenc: Fix a segfault with grouped psymodel.
...
10l: Forgot about TYPE_LFE being after TYPE_CPE. Which causes a
segfault when encoding 5.1
14 years ago
Anton Khirnov
ec6402b7c5
lavc: use designated initialisers for all codecs.
...
It's more readable and less prone to breakage.
14 years ago
Nathan Caldwell
98add74e85
aacenc: Fix determination of Mid/Side Mode.
...
In adjust_frame_information(), msc is incremented for each sfb in each
sub-window then compared against max_sfb which is for a single sub-window.
This resulted in frames using EIGHT_SHORT_SEQUENCE where the first few
sub-windows increment msc to a value that results in ms_mode == 2. Even
though only some of the bands are actually using Mid/Side.
14 years ago
Nathan Caldwell
d3a6c2ab7e
psymodel: Remove the single channel analysis function
14 years ago
Nathan Caldwell
01344fe409
aacenc: Implement dummy channel group analysis that just calls the single channel analysis for each channel.
14 years ago
Nathan Caldwell
0bc01cc9fe
psymodel: Add channels and channel groups to the psymodel.
14 years ago
Nathan Caldwell
1bb52045d3
aacenc: Save channel configuration for later use.
14 years ago
Nathan Caldwell
cc9947ffbe
aacenc: Add stereo_mode option.
...
ms_off is the default, until Mid/Side is no longer buggy.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Nathan Caldwell
b58e298572
psymodel: Remove wrapper functions.
...
Instead use the function pointers directly.
14 years ago
Nathan Caldwell
5b29af624f
aacenc: Replace loop counters in aac_encode_frame() with more descriptive 'ch' and 'w'.
14 years ago
Nathan Caldwell
230c1a9075
aacenc: Finish 3GPP psymodel analysis for non mid/side cases.
...
There is still are still a few sections missing relating to TNS (not present)
and mid/side (contains other bugs).
Overall this improves quality, and vastly improves rate-control.
Signed-off-by: Martin Storsjö <martin@martin.st>
14 years ago
Mans Rullgard
4538729afe
Move sine windows to a separate file
...
These windows do not really belong in fft/mdct files and were
easily confused with the similarly named tables used by rdft.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
a45fbda994
Move ff_kbd_window_init() to a separate file
...
This function is not tightly coupled to mdct, and it's in the way
of making a fixed-point mdct implementation.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
26f548bb59
fft: remove inline wrappers for function pointers
...
This removes the rather pointless wrappers (one not even inline)
for calling the fft_calc and related function pointers.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Nathan Caldwell
31ff9bd7b8
aacenc: Fix a segfault in search_for_quantizers
...
This reverts the removal of scoefs from AACEncContext.
It resulted in scoefs being a NULL pointer when
search_for_quantizers() is called.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Young Han Lee
2790d7a9ff
aacenc: remove the data arrays
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
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
Janne Grunau
2fd9035ddc
aacenc: fix typo in sync extension constant in 8ae0fa2
14 years ago
Justin Ruggles
6eabb0d3ad
Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Alex Converse
8ae0fa243e
aacenc: mark SBR absent
...
Use backwards compatible explicit signalling to denote the absence of
SBR.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
14 years ago
Stefano Sabatini
5d6e4c160a
Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enum
...
SampleFormat with AVSampleFormat.
Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
Alex Converse
99d7a3e862
aacenc: Remove an unused variable from adjust_frame_information().
...
Originally committed as revision 25002 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
1297f58132
aacenc: Don't set s->cur_channel before apply_window_and_mdct().
...
In general s->cur_channel should be phased out.
Originally committed as revision 25001 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
8e4c11e90a
aacenc: Write tag.elem_id early.
...
Originally committed as revision 25000 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
76dfe4ebc5
aacenc: Only apply M/S if common_window is set.
...
Originally committed as revision 24998 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Nathan Caldwell
2bb1d0e77a
aacenc: Adjust array offsets for the current channel before calling ff_psy_suggest_window().
...
Patch by Nathan Caldwell <saintdev@gmail.com>
Originally committed as revision 24332 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Nathan Caldwell
0045499dec
aacenc: Refactor apply_window_and_mdct() so it no longer takes an offset channel.
...
Patch by Nathan Caldwell <saintdev@gmail.com>
Originally committed as revision 24331 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
267843844c
Cosmetics: whitespace
...
Originally committed as revision 24100 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
03d5d9b900
aacenc: Enforce LFE bitstream restrictions.
...
Originally committed as revision 24099 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
86e41bc300
aacenc: replace VLA with fixed size
...
Number of channels is restricted to 6 so the size is acceptable
for the stack.
Originally committed as revision 24068 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
4e42debc8d
aacenc: Start the lookahead pointer 1/4 of the way into the first short window.
...
Short windows are of length 256 and begin at sample 448.
Originally committed as revision 23871 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
072c0d605f
aacenc: Properly pad extradata.
...
This fixes a valgrind error when encoding to ADTS.
Originally committed as revision 23866 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
e29af81818
aactab: Tablegenify ff_aac_pow2sf_tab.
...
Originally committed as revision 23740 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
614842a93d
Cleanup apply_window_and_mdct().
...
Originally committed as revision 23495 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
e84c276f31
Mark AAC encoder as experimental.
...
Originally committed as revision 23350 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
960323a230
aacenc: Select the TLS (two-loop search) as the default scalefactor coder.
...
Originally committed as revision 23133 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
31184aac87
aacenc: Fix psy logic.
...
Set band info before determining scalefactors. Use the look ahead for
windowing decision.
Originally committed as revision 23132 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
495af353db
Set cur_channel in the AAC encoder context where needed.
...
Most coder functions read it. Carting this around in the context may be
suboptimal; a refactor should be considered.
Originally committed as revision 23094 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
217b44ddc3
Error out when too many bits per frame are requested.
...
Originally committed as revision 23036 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Diego Biurrun
ba87f0801d
Remove explicit filename from Doxygen @file commands.
...
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.
Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
523429220b
aacenc: Error when an unsupported profile is requested
...
Originally committed as revision 22784 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Stefano Sabatini
72415b2adb
Define AVMediaType enum, and use it instead of enum CodecType, which
...
is deprecated and will be dropped at the next major bump.
Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Reimar Döffinger
14b8607065
Add support for hard-coded MDCT-related ff_sine_windows tables.
...
Originally committed as revision 21108 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Reimar Döffinger
b5f09d31c2
Make sample_fmts and channel_layouts compound literals const to reduce size of
...
.data section.
Originally committed as revision 19787 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Alex Converse
04e257fa84
Revert unintended portion of last commit. (Setting the default coder to
...
twoloop.)
Originally committed as revision 19481 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Alex Converse
a62d6cfeff
Be sure to increment our position in the coefficient array when skipping a zero
...
band in the twoloop scalefactor search.
Originally committed as revision 19480 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Alex Converse
988c170547
Change fminf/fmaxf to FFMIN/FFMAX to fix the build on broken operating systems.
...
Originally committed as revision 19391 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago