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.
2011-06-29 14:28:53 -07:00
Nathan Caldwell
d3a6c2ab7e
psymodel: Remove the single channel analysis function
2011-06-29 14:28:53 -07:00
Nathan Caldwell
01344fe409
aacenc: Implement dummy channel group analysis that just calls the single channel analysis for each channel.
2011-06-29 14:28:53 -07:00
Nathan Caldwell
0bc01cc9fe
psymodel: Add channels and channel groups to the psymodel.
2011-06-29 14:28:52 -07:00
Nathan Caldwell
1bb52045d3
aacenc: Save channel configuration for later use.
2011-06-27 21:49:01 -07:00
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>
2011-06-02 07:04:22 -07:00
Nathan Caldwell
b58e298572
psymodel: Remove wrapper functions.
...
Instead use the function pointers directly.
2011-05-08 12:43:04 -07:00
Nathan Caldwell
5b29af624f
aacenc: Replace loop counters in aac_encode_frame() with more descriptive 'ch' and 'w'.
2011-05-08 12:42:34 -07:00
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>
2011-04-23 12:30:05 +03:00
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>
2011-03-20 13:25:19 +00:00
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>
2011-03-19 19:49:27 +00:00
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>
2011-03-19 19:49:18 +00:00
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
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>
2011-03-08 17:45:08 -05:00
Young Han Lee
2790d7a9ff
aacenc: remove the data arrays
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 12:25:36 -05:00
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>
2011-01-26 16:08:45 +00:00
Janne Grunau
2fd9035ddc
aacenc: fix typo in sync extension constant in 8ae0fa2
2011-01-23 18:57:24 +01:00
Justin Ruggles
6eabb0d3ad
Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-22 17:53:27 +00:00
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>
2011-01-22 15:55:38 +01:00
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
2010-11-12 11:04:40 +00:00
Alex Converse
99d7a3e862
aacenc: Remove an unused variable from adjust_frame_information().
...
Originally committed as revision 25002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-31 00:33:56 +00:00
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
2010-08-31 00:31:17 +00:00
Alex Converse
8e4c11e90a
aacenc: Write tag.elem_id early.
...
Originally committed as revision 25000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-30 23:52:03 +00:00
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
2010-08-30 23:43:03 +00:00
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
2010-07-19 18:22:44 +00:00
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
2010-07-19 18:19:53 +00:00
Alex Converse
267843844c
Cosmetics: whitespace
...
Originally committed as revision 24100 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 21:50:50 +00:00
Alex Converse
03d5d9b900
aacenc: Enforce LFE bitstream restrictions.
...
Originally committed as revision 24099 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 21:48:51 +00:00
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
2010-07-06 00:06:15 +00:00
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
2010-06-28 21:50:57 +00:00
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
2010-06-28 21:34:57 +00:00
Alex Converse
e29af81818
aactab: Tablegenify ff_aac_pow2sf_tab.
...
Originally committed as revision 23740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-23 19:30:01 +00:00
Alex Converse
614842a93d
Cleanup apply_window_and_mdct().
...
Originally committed as revision 23495 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-05 19:41:52 +00:00
Alex Converse
e84c276f31
Mark AAC encoder as experimental.
...
Originally committed as revision 23350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-27 14:46:31 +00:00
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
2010-05-14 16:49:21 +00:00
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
2010-05-14 16:49:11 +00:00
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
2010-05-11 18:53:49 +00:00
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
2010-05-06 20:35:10 +00:00
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
2010-04-20 14:45:34 +00:00
Alex Converse
523429220b
aacenc: Error when an unsupported profile is requested
...
Originally committed as revision 22784 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 16:26:10 +00:00
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
2010-03-30 23:30:55 +00:00
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
2010-01-09 13:28:04 +00:00
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
2009-09-06 09:15:07 +00:00
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
2009-07-22 03:56:08 +00:00
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
2009-07-22 03:53:30 +00:00
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
2009-07-09 17:22:59 +00:00
Alex Converse
f11bfe3065
Reindent after last commit
...
Originally committed as revision 19382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 23:14:47 +00:00
Alex Converse
48d20c11ba
Prevent AAC frame size overflows.
...
Originally committed as revision 19381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 23:12:53 +00:00
Alex Converse
5962f6b0da
Refactor windowing and early psy from bitstream writing parts of the AAC encoder.
...
Originally committed as revision 19380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 23:10:13 +00:00
Alex Converse
7a4eebcdce
Turn on AAC rate control.
...
Originally committed as revision 19379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 23:04:22 +00:00