summaryrefslogtreecommitdiff
path: root/libavcodec/aac.c
Commit message (Collapse)AuthorAge
* Allow hard-coding of the 32kB cubic-root table for AAC.Reimar Döffinger2010-03-14
| | | | Originally committed as revision 22527 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aac: Don't bias output during the IMDCT if SBR will be used.Alex Converse2010-03-13
| | | | Originally committed as revision 22515 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add an HE-AAC v1 decoder.Alex Converse2010-03-08
| | | | | | | | | A large portion of this code was orignally authored by Robert Swain. The rest was written by me. Full history is available at: svn://svn.ffmpeg.org/soc/aac-sbr http://github.com/aconverse/ffmpeg-heaac/tree/sbr_pub Originally committed as revision 22316 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 10l: AAC: Set multiplier to 0.Alex Converse2010-03-07
| | | | Originally committed as revision 22299 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Set codec parameters in the first frame rather than in .init()Alex Converse2010-03-07
| | | | Originally committed as revision 22298 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Add a new line after the TNS error message.Alex Converse2010-03-07
| | | | Originally committed as revision 22287 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move FFT parts from dsputil.h to fft.hMåns Rullgård2010-03-06
| | | | Originally committed as revision 22235 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Return the number of bytes consumed in decoding a frame.Alex Converse2010-03-04
| | | | | | The libfaad wrapper does this. Originally committed as revision 22206 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Mark predictor functions av_always_inline.Alex Converse2010-03-04
| | | | | | This results in a 50% speedup on main profile with no increase in binary size. Originally committed as revision 22196 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aac: Keep decode_band_types() from eating all padding at the end of a buffer.Alex Converse2010-02-24
| | | | | | | | | | | | | Due to a shortcoming in the AAC specification, if an all zero buffer is fed to section data decoding it will never terminate. That means without a buffer exhaustion check decode_band_types() will consume all input buffer padding. Worse if a get_bits() implementation that returns zeros when padding is exhausted is used, the function will never terminate. The fixes that by added a buffer exhaustion check in the sectioning decoding loop. Originally committed as revision 22044 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add some AAC buffer overread checks.Alex Converse2010-02-18
| | | | Originally committed as revision 21886 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Mark che_configure() as av_cold.Alex Converse2010-02-15
| | | | | | It is also only called when the output configuration is not locked. Originally committed as revision 21834 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Mark functions that are only called when the output configuration is ↵Alex Converse2010-02-15
| | | | | | not locked as av_cold. Originally committed as revision 21833 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Output the first AAC frame. This is needed for SBR conformance.Alex Converse2010-02-10
| | | | Originally committed as revision 21739 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: optimise bitstream reading in decode_spectrum_and_dequant()Måns Rullgård2010-01-15
| | | | | | | | | Using the low-level macros directly avoids redundant open/update/close cycles. 2-3% faster on ARM, PPC, and Core i7. Originally committed as revision 21224 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: ARM/NEON asm for VMUL2/4 functionsMåns Rullgård2010-01-15
| | | | Originally committed as revision 21219 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Reduce depth of vlc_spectral tables to 2Måns Rullgård2010-01-13
| | | | | | Up to 6% faster overall on i7, no change on A8. Originally committed as revision 21191 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Unswitch loop over window groups in decode_spectrum_and_dequant()Måns Rullgård2010-01-13
| | | | | | GCC should be able to do this, but doesn't. Slightly faster code. Originally committed as revision 21190 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: simplify some calculations in decode_spectrum_and_dequant()Måns Rullgård2010-01-13
| | | | | | | Simplify cur_band_type, group_len, and coef/offset calculations. This makes the code easier to read and slightly faster. Originally committed as revision 21189 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Compress codebook tables and optimise sign bit handlingMåns Rullgård2010-01-13
| | | | | | | | | | | | | | | | | | The codebooks each consist of small number of values repeated in groups of 2 or 4. Storing the codebooks as a packed list of 2- or 4-bit indexes into a table reduces their size substantially (from 7.5k to 1.5k), resulting in less cache pressure. For the band types with sign bits in the bitstream, storing the number and position of non-zero codebook values using a few bits avoids multiple get_bits() calls and floating-point comparisons which gcc handles miserably. Some float/int type punning also avoids gcc brain damage. Overall speedup 20-35% on Cortex-A8, 20% on Core i7. Originally committed as revision 21188 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: use table for cbrtf(n)*nMåns Rullgård2010-01-11
| | | | | | | | | The maximum length of escape_sequence is 21 bits, so adjust limit in code to match this. Up to 10% faster on Cortex-A8. Originally committed as revision 21153 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: escape_sequence is 21 bits maxMåns Rullgård2010-01-11
| | | | | | | The maximum length of escape_sequence is 21 bits, so adjust limit in code to match this. Also fix the comment. Originally committed as revision 21151 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add support for hard-coded MDCT-related ff_sine_windows tables.Reimar Döffinger2010-01-09
| | | | Originally committed as revision 21108 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: add a const to decode_spectrum_and_dequant() argsMåns Rullgård2010-01-08
| | | | Originally committed as revision 21099 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Undo r20874: It broke AAC decoding.Carl Eugen Hoyos2009-12-16
| | | | Originally committed as revision 20879 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use enum and constant to avoid three icc warnings.Carl Eugen Hoyos2009-12-15
| | | | Originally committed as revision 20874 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aac: Set sample rate in avctx from ADTS header (if not already set by someAndreas Öman2009-12-08
| | | | | | other means) Originally committed as revision 20773 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Add a global header but output not locked output configuration status.Alex Converse2009-12-02
| | | | Originally committed as revision 20701 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Set the SBR mode to implicit on ADTS frames occurring before the output is ↵Alex Converse2009-12-02
| | | | | | locked. Originally committed as revision 20700 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 10l: Fix inverted if-condition from r20448. Fixes issue 1562.Alex Converse2009-11-21
| | | | Originally committed as revision 20570 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Rename sect_len to sect_end. It marks the last sfb of the section, not theAlex Converse2009-11-11
| | | | | | length of the section. Originally committed as revision 20513 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Don't lock the channel output configuration based on the first value seen forAlex Converse2009-11-03
| | | | | | | non extradata formats. Instead lock it only after the successful decoding of a frame. This fixes issue 999. Originally committed as revision 20448 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Fix regression introduced in r20067 where ADTS files would always beRobert Swain2009-10-09
| | | | | | | signalled as having a channel configuration of 1 in output_configure(). Previously this didn't matter but it does now. Originally committed as revision 20193 to svn://svn.ffmpeg.org/ffmpeg/trunk
* dca and aac decoders use float_to_int16_interleave, so check forDavid Conrad2009-10-08
| | | | | | | the C version of that rather than float_to_int16. Fixes output on ARM/VFP Originally committed as revision 20192 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Refactor channel element configuration and mapping code into its own functionRobert Swain2009-09-28
| | | | | | to allow reuse Originally committed as revision 20069 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reindent after last commitRobert Swain2009-09-28
| | | | Originally committed as revision 20068 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Add channel layout support for channel configuration as defined in theRobert Swain2009-09-28
| | | | | | specification Originally committed as revision 20067 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: minor simplification in PNS decodingMåns Rullgård2009-09-23
| | | | Originally committed as revision 19999 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: 10l: fix PNS decodingMåns Rullgård2009-09-22
| | | | Originally committed as revision 19970 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Simplify some logic from r19956. (The escape codebook is unsigned.)Alex Converse2009-09-22
| | | | Originally committed as revision 19958 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: use new dsputil functionsMåns Rullgård2009-09-22
| | | | Originally committed as revision 19956 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make sample_fmts and channel_layouts compound literals const to reduce size ofReimar Döffinger2009-09-06
| | | | | | .data section. Originally committed as revision 19787 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetics: K&R coding styleDiego Biurrun2009-08-02
| | | | Originally committed as revision 19562 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Cosmetics: reindent after last commitAlex Converse2009-07-10
| | | | Originally committed as revision 19400 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Ignore subsequent channel configurations after the first in an AAC file. TheAlex Converse2009-07-10
| | | | | | | current code doesn't handle them properly, and they are a dubious construction at best. Originally committed as revision 19399 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename ff_log_missing_feature() to av_log_missing_feature().Ronald S. Bultje2009-06-29
| | | | Originally committed as revision 19294 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Cosmetics: Re-indent after last commitAlex Converse2009-06-12
| | | | Originally committed as revision 19175 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move TNS and swb_offset tables from aacdectab.h to aactab.c so that they can beAlex Converse2009-06-12
| | | | | | shared with the AAC encoder. Originally committed as revision 19174 to svn://svn.ffmpeg.org/ffmpeg/trunk
* In the event of a mismatch, do not follow the sample rate index in an AAC PCE.Alex Converse2009-05-26
| | | | | | This matches the behavior the reference decoder and fixes issue 1072. Originally committed as revision 18957 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Support for getting (i)MDCT output multiplied by a constant scaling factor.Siarhei Siamashka2009-05-16
| | | | | | | | Scaling (i)MDCT output has no runtime overhead and can be used to improve performance of audio codecs. All the changes are only needed in 'ff_mdct_init' function and slow down initialization a bit. Originally committed as revision 18855 to svn://svn.ffmpeg.org/ffmpeg/trunk