Commit Graph
100 Commits
Author SHA1 Message Date
Alex Converse ab2a302834 AAC: Mark predictor functions av_always_inline.
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
2010-03-04 04:58:43 +00:00
Alex Converse 65bec42e33 Cosmetics: Re-indent after last commit.
Originally committed as revision 22195 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 02:32:48 +00:00
Alex Converse ca1fa4144f AAC parser: Don't write channels, sample rate, and frame size each frame.
Thanks to backwards compatible HE-AAC signalling these values are unreliable.

Originally committed as revision 22194 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 02:30:51 +00:00
Alex Converse c4a90caae2 aac: Keep decode_band_types() from eating all padding at the end of a buffer.
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
2010-02-24 23:56:52 +00:00
Alex Converse 8d63712486 Add some AAC buffer overread checks.
Originally committed as revision 21886 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 23:06:56 +00:00
Alex Converse fd10543ef2 get_bits: Fix spelling and grammar in GET_VLC() comment.
Originally committed as revision 21868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 21:20:43 +00:00
Alex Converse 8958445898 AAC: Mark che_configure() as av_cold.
It is also only called when the output configuration is not locked.

Originally committed as revision 21834 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 16:29:46 +00:00
Alex Converse ff98c17cba AAC: Mark functions that are only called when the output configuration is not locked as av_cold.
Originally committed as revision 21833 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 16:19:46 +00:00
Alex Converse 1edea057dd Output the first AAC frame. This is needed for SBR conformance.
Originally committed as revision 21739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 14:51:57 +00:00
Alex Converse 3deb53849e Implement an sse version of scalarproduct_float().
Originally committed as revision 21386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 23:07:58 +00:00
Alex Converse c460833d76 fft-test: Add RDFT/IRDFT support.
Originally committed as revision 21141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 16:41:03 +00:00
Alex Converse 5b37ef8e43 fft-test: Replace do_mdct with a tf_transform enum and switch on it.
Originally committed as revision 21140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 16:40:01 +00:00
Alex Converse d987a9e9ad fft-test: whitespace cosmetics
Originally committed as revision 21085 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 06:11:56 +00:00
Alex Converse d1ebd4a995 10l: Don't spawn a subshell when disabling vdpau.
Originally committed as revision 20867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 18:18:51 +00:00
Alex Converse deda2a4a72 Disable vdpau support if the detected libvdpau does not support MPEG-4.
Originally committed as revision 20854 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 06:33:43 +00:00
Alex Converse 4fab662769 AAC: Add a global header but output not locked output configuration status.
Originally committed as revision 20701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 09:12:05 +00:00
Alex Converse 38610d92ff Set the SBR mode to implicit on ADTS frames occurring before the output is locked.
Originally committed as revision 20700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 09:07:32 +00:00
Alex Converse 4e878a1898 10l: Fix inverted if-condition from r20448. Fixes issue 1562.
Originally committed as revision 20570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-21 20:56:46 +00:00
Alex Converse b3507d398b Pad the extradata in the AAC ADTS to AudioSpecificConfig bitstream filter.
Originally committed as revision 20541 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-15 19:40:44 +00:00
Alex Converse 07580347b9 Mark AOT_ALS as a supported MPEG-4 audio object type.
Originally committed as revision 20524 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 05:22:51 +00:00
Alex Converse ba278391ba Debug print MP4 objectTypeIndication in hex not decimal as values are listed in
hex in all official documents.

Originally committed as revision 20523 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 02:22:19 +00:00
Alex Converse 9349e5582c Cosmetics: Re-indent
Originally committed as revision 20522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 01:45:04 +00:00
Alex Converse 0bb622ba4d Fix a __warn_memset_zero_len gcc-4.4 warning.
Originally committed as revision 20521 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 01:44:38 +00:00
Alex Converse e92ad83f54 Cosmetics: Remove the implied gap before AOT_USAC in the MPEG-4 AOT enum.
Originally committed as revision 20514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 20:36:42 +00:00
Alex Converse 01d19fbc9f AAC: Rename sect_len to sect_end. It marks the last sfb of the section, not the
length of the section.

Originally committed as revision 20513 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 20:33:56 +00:00
Alex Converse 5aea268d14 Add a channels field to MPEG4AudioConfig.
Originally committed as revision 20512 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 20:24:23 +00:00
Alex Converse 4312b9367a Add Low Delay MPEG Surround to the enum of MPEG-4 Audio Object Types.
Originally committed as revision 20510 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 01:04:08 +00:00
Alex Converse 981b8fd777 Don't lock the channel output configuration based on the first value seen for
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
2009-11-03 22:50:02 +00:00
Alex Converse d38b7b80d1 Check if a git-svn revision number is available to try to get better version
information from git.

Originally committed as revision 20015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 16:54:26 +00:00
Alex Converse 5419da8d9c AAC: Simplify some logic from r19956. (The escape codebook is unsigned.)
Originally committed as revision 19958 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 01:34:42 +00:00
Alex Converse f5e82fec3d aacenc: Use preprocessor constants for trellis states and stages.
Originally committed as revision 19948 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 04:32:51 +00:00
Alex Converse 9072c29e40 aacenc: Split paths in the scalefactor selection trellis into a 2-D array.
Originally committed as revision 19947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 04:15:12 +00:00
Alex Converse 9d4f6f10ae aacenc: Replace cbrt() with cbrtf() when the result is destined for float
storage.

Originally committed as revision 19946 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 03:53:39 +00:00
Alex Converse 0bd9aa449a aacenc: Multiple distortion by lambda after it's summed and not each individual
term before.

Originally committed as revision 19945 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 03:50:59 +00:00
Alex Converse 06d6b962e5 Cosmetics: Reindent after r19943.
Originally committed as revision 19944 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 03:42:54 +00:00
Alex Converse a71e9b6254 aacenc: Don't make unnecessary compares to the escape value in tight loops.
Originally committed as revision 19943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 03:41:08 +00:00
Alex Converse dd0e43e4bb Re-add search_for_ms to the coefficients encoders to silence warnings
Originally committed as revision 19733 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 17:46:13 +00:00
Alex Converse 0cc4701a3a Use the AOT enum instead of integer literals for setting and comparing audio
object types.

Originally committed as revision 19666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-17 00:17:58 +00:00
Alex Converse 8ba939d702 Mark the AOT escape value as supported.
Originally committed as revision 19662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-17 00:15:02 +00:00
Alex Converse 08dac48d61 Add USAC and SAOC AOTs to the AudioObjectType enum.
Originally committed as revision 19661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-17 00:14:10 +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 5cf20d07ad Remove an unused field from the BandCodingPath struct.
Originally committed as revision 19473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 21:52:03 +00:00
Alex Converse 0193992252 Actually use all the codebooks we are iterating over in the two-loop scalefactor search.
Originally committed as revision 19472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 20:32:27 +00:00
Alex Converse 932e6a5a4c Fix an integer overflow in the AAC encoder.
Originally committed as revision 19470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 18:27:17 +00:00
Alex Converse 3d51be014c Replace pow(x, 0.75) with sqrtf(x * sqrtf(x)) for a 33% speedup.
Originally committed as revision 19459 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 14:21:49 +00:00
Alex Converse c369e83608 Dead code removal in the AAC encoder.
Originally committed as revision 19457 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 14:06:53 +00:00
Alex Converse 6bb17c5155 Add iirfilter to the TESTPROGS variable (and target)
Originally committed as revision 19448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-16 22:39:50 +00:00
Alex Converse a5762c9b59 When calculating AAC quantized band cost, don't leave garbage in the bit count
for the 0 codebook.

Originally committed as revision 19444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-16 22:20:17 +00:00
Alex Converse ca0f1e5092 IIR filter test program.
Originally committed as revision 19443 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-16 22:17:20 +00:00
Alex Converse 2876a9dbaf Use cutoff frequency to adjust bandwidth in the generic psymodel preprocess.
Originally committed as revision 19429 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-14 05:22:23 +00:00
Alex Converse 36f517736f Cosmetics: reindent after last commit
Originally committed as revision 19400 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-10 21:54:06 +00:00
Alex Converse 6308765cb5 Ignore subsequent channel configurations after the first in an AAC file. The
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
2009-07-10 21:53:04 +00:00
Alex Converse c8ec2f1cb8 Mark iir filter init and free functions av_cold.
Originally committed as revision 19398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-10 20:55:15 +00:00
Alex Converse 47f49f98ca Fix "iirfilter.c:55: warning: unused variable ‘size’"
Originally committed as revision 19397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-10 20:51:22 +00:00
Alex Converse e187d87d7d Eliminate use of complex.h from iirfilter.c
Originally committed as revision 19396 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-10 20:45:13 +00:00
Alex Converse 291fd18a6e Add a log2 replacement for systems that haven't quite caught up with the C99
standard library.

Originally committed as revision 19395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-10 19:20:06 +00:00
Alex Converse 6892931b0b Add myself as AAC encoder maintainer
Originally committed as revision 19392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-09 17:35:56 +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
Alex Converse fd257dc4c0 Cosmetics: Pretty print the AAC encoder.
Originally committed as revision 19376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 20:36:45 +00:00
Alex Converse 78e65cd772 Merge the AAC encoder from SoC svn. It is still considered experimental.
Originally committed as revision 19375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 20:01:31 +00:00
Alex Converse ad92558754 Use av_log_missing_feature in the ADTS encoder. (Pseudo reverts r19173).
Originally committed as revision 19299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 22:48:07 +00:00
Alex Converse d4eeef0c19 Cosmetics: Re-indent after last commit
Originally committed as revision 19175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 21:16:33 +00:00
Alex Converse 85e9296f41 Move TNS and swb_offset tables from aacdectab.h to aactab.c so that they can be
shared with the AAC encoder.

Originally committed as revision 19174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 21:14:45 +00:00
Alex Converse 70f99f8dd2 Do not include libavcodec/internal.h in the ADTS muxer.
Originally committed as revision 19173 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 19:49:46 +00:00
Alex Converse 007c47e8b9 Add the .adts file extension to the ADTS muxer.
Originally committed as revision 19085 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 23:34:35 +00:00
Alex Converse ad5caf3ab7 AAC ADTS to AudioSpecificConfig bitstream filter
Originally committed as revision 19080 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 18:50:46 +00:00
Alex Converse 401a995085 In the event of a mismatch, do not follow the sample rate index in an AAC PCE.
This matches the behavior the reference decoder and fixes issue 1072.

Originally committed as revision 18957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-26 21:34:56 +00:00
Alex Converse 6c6dac1dc1 Add missing libavformat dependencies on mpeg4audio.o
Originally committed as revision 18871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-19 18:02:06 +00:00
Alex Converse 97d4318347 Add PCE support to the ADTS muxer.
Originally committed as revision 18818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 22:59:58 +00:00
Alex Converse 107815de42 Subroutine to copy an AAC Program Config Element (PCE)
Originally committed as revision 18817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 22:57:30 +00:00
Alex Converse f2e5c8b96a Cosmetics after last commit
Originally committed as revision 18816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 17:59:46 +00:00
Alex Converse 90350d73f8 Allow parsing and decoding of ADTS AAC files with channel config = 0
Originally committed as revision 18815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 17:57:58 +00:00
Alex Converse ee373ddffd Move the ADTS header size to the parser's header file.
Originally committed as revision 18814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 14:11:11 +00:00
Alex Converse ec21c21563 Add a quick description to the H.264 BSF
Originally committed as revision 18809 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 06:06:59 +00:00
Alex Converse 184fcc60b7 Mark src constant in copy_block*().
Originally committed as revision 18506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 04:07:35 +00:00
Alex Converse 3dd6531208 Rewrite put_signed_pixels_clamped_mmx() to eliminate mmx.h from dsputil_mmx.c.
Originally committed as revision 18319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 21:02:42 +00:00
Alex Converse 04964ee8bb AAC: Ignore cc_domain for independent (time domain) coupling.
Originally committed as revision 18169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-23 05:13:26 +00:00
Alex Converse 5c3d507f1a MOV: Use the AOT enum for the mp4_audio_types mapping.
Originally committed as revision 18044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 18:13:42 +00:00
Alex Converse 2b823a5299 Fix typo in AOT_ER_AAC_ELD
Originally committed as revision 18034 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 14:14:56 +00:00
Alex Converse d3487e472e Update the MPEG-4 AOT table.
Originally committed as revision 18033 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 14:11:05 +00:00
Alex Converse f650e4d34a Move MPEG-4 AOT enum to mpeg4audio.h.
Originally committed as revision 18031 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 13:52:56 +00:00
Alex Converse d0dab0ecd4 Cosmetics: Re-indent after last commit
Originally committed as revision 18017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 16:24:38 +00:00
Alex Converse bd27eed6d0 MOV: Support stz2 "Compact Sample Size Box"
Originally committed as revision 18016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 16:14:36 +00:00
Alex Converse 4a39ccb403 AAC: IEEE-754 type punning for 16-bit floating point rounding.
Originally committed as revision 18015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 16:11:27 +00:00
Alex Converse f11c9ee996 patcheck: Replace non-POSIX echo -e with printf.
Originally committed as revision 17943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 19:13:15 +00:00
Alex Converse 7d87e2ceac Re-indent after last commit.
Originally committed as revision 17861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 22:37:21 +00:00
Alex Converse 51741a82c3 If we get an error from ff_aac_parse_header() we should not trust the header info that it provides.
Originally committed as revision 17860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 22:36:24 +00:00
Alex Converse 496dcbbc86 ADTS: Increased protection against writing illegal/nonsense files.
Originally committed as revision 17859 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 21:19:16 +00:00
Alex Converse bb5c0988ea Fix the channel allocation bug/assumption (issue 800).
Approved by Rob on IRC.

Originally committed as revision 17856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 19:47:01 +00:00
Alex Converse cfd937b081 AAC: hoist dependent gain lookup out of the loop
Originally committed as revision 17835 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 23:10:22 +00:00
Alex Converse 63581eb183 MOV: fix demuxing fragmented files
Originally committed as revision 17803 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 07:57:09 +00:00
Alex Converse fefe43ff2c MOV: fix crash when 'meta' occurs before first 'trak'
Originally committed as revision 17781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 18:19:44 +00:00
Alex Converse 09a64ee614 H.264: Simplify decode_residual()
Originally committed as revision 17750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 05:26:39 +00:00
Alex Converse 9ef88afac3 AAC: Make the CPE function more consistent with the functions for other channel elements.
Originally committed as revision 17672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 00:23:05 +00:00
Alex Converse e8d5c07bcc Re-indent after last commit.
Originally committed as revision 17600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 01:54:16 +00:00