Commit Graph

171 Commits

Author SHA1 Message Date
Janne Grunau
66a71d989f aacdec: refactor the actual aac decoding code into its own function
aac_decode_frame() remains as AVPacket handling a wrapper. The actual
decoding function takes a GetBitContext as input and will be used be the
AAC LATM decoder to avoid copying the unaligned AAC bitstream.

Originally committed as revision 25640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-02 08:29:43 +00:00
Janne Grunau
be63b4ba22 aacdec: return consumed bits in decode_audio_specific_config
Originally committed as revision 25639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-02 08:28:55 +00:00
Janne Grunau
37d289530f aacdec: add MPEG4AudioConfig as parameter for decode_audio_specific_config
This will be used by the latm decoder to avoid AACContext changes during
audio specific config parsing.

Originally committed as revision 25638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-02 08:28:28 +00:00
Alex Converse
bb2d8e9f05 aacdec: Rework channel mapping compatibility hacks.
For a PCE based configuration map the channels solely based on tags.
For an indexed configuration map the channels solely based on position.

This works with all known exotic samples including al17, elem_id0, bad_concat,
and lfe_is_sce.

Originally committed as revision 25098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-10 18:01:48 +00:00
Alex Converse
81824fe059 aacdec: Only load and write each predictor variable once.
This is slightly faster and opens the door for further optimization.

Originally committed as revision 24475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 02:57:08 +00:00
Alex Converse
70c99adb48 aacdec: 4% faster main profile decoding.
Originally committed as revision 24474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 02:41:47 +00:00
Alex Converse
1ac6da3988 aacdec: Eliminate the use of doubles in the MAIN predictor.
Originally committed as revision 24226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 21:36:41 +00:00
Alex Converse
531cfe6e85 aacdec: Eliminate the use of doubles in decode_cce().
Originally committed as revision 24225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 21:36:10 +00:00
Alex Converse
93c6ff6c8c aacdec: Use a LUT to generate CCE scale.
Originally committed as revision 24224 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 21:35:43 +00:00
Alex Converse
3cac899af9 Split the ADTS header decoder off of the ADTS parser.
The AAC decoder and ADTS-to-ASC BSF both require the header decoder
but not full parsing capabilities.

Originally committed as revision 24217 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 18:52:03 +00:00
Alex Converse
7167bc94cb aacdec: Remove the warning about non-meaningful window transitions.
It created false positives on seeks and where the first frame is STOP or SHORT.
It failed to warn in illegal SHORT->LONG transitions. In general it created
much confusion and many junk bug reports from the users.

Originally committed as revision 24214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 18:24:22 +00:00
Måns Rullgård
38b0410902 aacdec: remove checks for impossible error conditions
Originally committed as revision 24097 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 20:23:56 +00:00
Diego Biurrun
09f6a45dc2 Remove non-existing stray arguments from Doxygen function documentation.
Originally committed as revision 23976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 11:19:29 +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
19ed4b8647 aacdec: cosmetics: (more) whitespace
Originally committed as revision 23676 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-21 04:14:20 +00:00
Alex Converse
d4e355d5c9 aacdec: cosmetics: whitespace
Originally committed as revision 23675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-21 04:10:18 +00:00
Alex Converse
ed99e54d67 aacdec: Factorize if (elem_type < TYPE_DSE).
Originally committed as revision 23674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-21 04:07:19 +00:00
Alex Converse
fda36b5944 aacdec: Handle the first frame being empty case.
Originally committed as revision 23673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-21 04:05:09 +00:00
Alex Converse
a20639017b Add HE-AAC v2 support to the AAC decoder.
Originally committed as revision 23647 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-19 14:14:51 +00:00
Alex Converse
8e5998f0ab aac: Move an initialization macro used only by the decoder out of the header.
Originally committed as revision 23490 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-05 15:31:57 +00:00
Alex Converse
77b8320a4d Rename aac.c to aacdec.c.
Originally committed as revision 23489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-05 15:27:53 +00:00