summaryrefslogtreecommitdiff
path: root/libavcodec/aac.c
Commit message (Collapse)AuthorAge
* 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
* Allow parsing and decoding of ADTS AAC files with channel config = 0Alex Converse2009-05-13
| | | | Originally committed as revision 18815 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove redundant assignment. err is assigned in every switch case anyway. IssueRobert Swain2009-04-21
| | | | | | found by CSA. Originally committed as revision 18641 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove unnecessary assignment, found by CSA.Robert Swain2009-04-19
| | | | Originally committed as revision 18617 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename bitstream.h to get_bits.h.Stefano Sabatini2009-04-13
| | | | Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes anThilo Borgmann2009-04-07
| | | | | | | | | | | AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows passing of packet-specific flags from demuxer to decoder, such as the keyframe flag, which appears necessary to playback corePNG P-frames. Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread "Google Summer of Code participation" on the mailinglist. Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Ignore cc_domain for independent (time domain) coupling.Alex Converse2009-03-23
| | | | Originally committed as revision 18169 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: IEEE-754 type punning for 16-bit floating point rounding.Alex Converse2009-03-16
| | | | Originally committed as revision 18015 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Re-indent after last commit.Alex Converse2009-03-06
| | | | Originally committed as revision 17861 to svn://svn.ffmpeg.org/ffmpeg/trunk
* If we get an error from ff_aac_parse_header() we should not trust the header ↵Alex Converse2009-03-06
| | | | | | info that it provides. Originally committed as revision 17860 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix the channel allocation bug/assumption (issue 800).Alex Converse2009-03-06
| | | | | | Approved by Rob on IRC. Originally committed as revision 17856 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: hoist dependent gain lookup out of the loopAlex Converse2009-03-05
| | | | Originally committed as revision 17835 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Make the CPE function more consistent with the functions for other ↵Alex Converse2009-03-01
| | | | | | channel elements. Originally committed as revision 17672 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Re-indent after last commit.Alex Converse2009-02-26
| | | | Originally committed as revision 17600 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Refactor AAC unsigned band type decoding for a modest speedup.Alex Converse2009-02-26
| | | | Originally committed as revision 17599 to svn://svn.ffmpeg.org/ffmpeg/trunk