Commit Graph

402 Commits

Author SHA1 Message Date
Reimar Döffinger c9f6eab184 Detect byte-swapped AC-3 (aka DNET) and support decoding it directly.
This allows the AC-3 decoder to be used directly with RealMedia
decoders that unlike the libavformat one do not byte-swap automatically.
Since the new code is only used in case we would fail directly otherwise
there should be no risk for regressions.
The "buf" pointer needs to be overwritten since otherwise the CRC check fails.
2011-03-19 12:07:14 +01:00
Justin Ruggles fe2ff6d247 Separate format conversion DSP functions from DSPContext.
This will be beneficial for use with the audio conversion API without
requiring it to depend on all of dsputil.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit c73d99e672)
2011-02-04 03:08:09 +01:00
Justin Ruggles c73d99e672 Separate format conversion DSP functions from DSPContext.
This will be beneficial for use with the audio conversion API without
requiring it to depend on all of dsputil.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-02 02:44:53 +00:00
Justin Ruggles a8ae4e0e7b Remove unneeded add bias from 3 functions.
DSPContext.vector_fmul_window()
DCADSPContext.lfe_fir()
SynthFilterContext.synth_filter_float()

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 80ba1ddb58)
2011-02-02 03:40:48 +01:00
Justin Ruggles 80ba1ddb58 Remove unneeded add bias from 3 functions.
DSPContext.vector_fmul_window()
DCADSPContext.lfe_fir()
SynthFilterContext.synth_filter_float()

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-31 20:28:42 +00:00
Justin Ruggles 79ce107847 cosmetics: indentation and spacing
(cherry picked from commit b5ec638343)
2011-01-28 03:15:35 +01:00
Justin Ruggles 733dbe7d18 Remove the add bias hack for the C version of DSPContext.float_to_int16_*().
(cherry picked from commit 9d06d7bce3)
2011-01-28 03:15:35 +01:00
Diego Elio Pettenò e7e2df27f8 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>
(cherry picked from commit d36beb3f69)
2011-01-28 03:15:34 +01:00
Justin Ruggles dff80041e3 Add ff_ prefix to ac3_common_init().
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 4c57cde942)
2011-01-28 03:15:33 +01:00
Justin Ruggles b5ec638343 cosmetics: indentation and spacing 2011-01-28 00:21:46 +00:00
Justin Ruggles 9d06d7bce3 Remove the add bias hack for the C version of DSPContext.float_to_int16_*(). 2011-01-28 00:07:35 +00: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
Justin Ruggles 4c57cde942 Add ff_ prefix to ac3_common_init().
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 15:35:27 +00: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
Carl Eugen Hoyos eb0a4d3222 Fix compilation of AC3 decoder if E-AC3 decoder was disabled.
Originally committed as revision 23131 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-13 20:41:36 +00:00
Justin Ruggles cc8538ff93 ac3dec: return smaller of buf_size and frame_size instead of always returning
frame_size.

Originally committed as revision 22950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 21:43:36 +00:00
Stefano Sabatini 2874c81cc8 Replace all remaining occurrences of AVERROR_NOMEM with
AVERROR(ENOMEM).

AVERROR_NOMEM is deprecated and will be dropped at the next libavutil
major bump.

Originally committed as revision 22791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-03 14:15:00 +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
Carl Eugen Hoyos ca6e7708b4 Add spectral extension to the E-AC-3 decoder.
Original patch by Justin, updated and resubmitted by
Christophe Gisquet, christophe D gisquet A gmail

Originally committed as revision 22734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 22:09:14 +00:00
Justin Ruggles 2c2cdc0bfb Simplify error handling by processing header errors separate from CRC and
buffer size vs. frame size errors.

Originally committed as revision 21519 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 23:19:33 +00:00
Justin Ruggles 008f872f61 Only check frame size if the header is valid.
Originally committed as revision 21439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 23:55:33 +00:00
Reimar Döffinger 1460c79097 Use MULH instead of 64x64 multiplication, around 5% overall speedup on Intel Atom.
Patch by myself and Yuriy Kaminskiy [yumkam mail ru]

Originally committed as revision 21175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 23:02:07 +00:00
Justin Ruggles 7934cbb3be ac3dec: apply dynamic range compression to correct channels in dual-mono mode.
Originally committed as revision 20533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-14 00:25:48 +00:00
Justin Ruggles 187bc061e4 ac3dec: revert r20089. The change was just wrong. 10l for me.
Originally committed as revision 20473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-08 03:06:05 +00:00
Justin Ruggles 535497f193 Change an error to a warning to support broken AC-3 files known to exist.
Fixes Issue 1426.

Originally committed as revision 20110 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 00:06:54 +00:00
Justin Ruggles 3fdccca091 10l: wrong operation in stereo rematrixing
Originally committed as revision 20106 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 21:51:02 +00:00
Justin Ruggles 2ed4439658 Simplify stereo rematrixing by only using one temporary variable. It is also
about 1.8% faster on my system.

Originally committed as revision 20090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 01:25:04 +00:00
Justin Ruggles 16c91d2b23 remove unneeded assignment in inner loop. rematrixing bands are contiguous.
Originally committed as revision 20089 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 01:09:57 +00:00
Justin Ruggles 8b11b44ea7 Rearrange loop structure for approx. 35-50% faster calc_transform_coeffs_cpl()
depending on content.

Originally committed as revision 20055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 07:16:51 +00:00
Justin Ruggles 3b6c5ad2f6 Move variable declaration to inside of loop.
Originally committed as revision 20053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 06:38:57 +00:00
Justin Ruggles 025873738f Cosmetics: Rename some variables.
Originally committed as revision 20052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 06:38:13 +00:00
Justin Ruggles b5f4639b13 Simplify coupling band loop.
Originally committed as revision 20051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 06:33:23 +00:00
Justin Ruggles a521aadfe8 cosmetics: reindent after last commit
Originally committed as revision 19589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 02:31:13 +00:00
Justin Ruggles 25dcd1823c ac3dec: simplify zero-bit mantissa dithering by calculating it
conditionally during mantissa decoding, then only removing it from the
coupling range for coupled channels which do not use dithering.

Originally committed as revision 19588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 02:30:34 +00:00
Justin Ruggles b972c06a8f cosmetics: indentation and line wrap
Originally committed as revision 19587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 01:58:28 +00:00
Justin Ruggles c36ea0600c cosmetics after last commit
Originally committed as revision 19586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 01:14:28 +00:00
Justin Ruggles 3f93716809 Modify decode_band_structure() so that the actual band structure is only
used within the function.  This removes the need to have the coupling band
structure stored in the AC3DecodeContext.

Originally committed as revision 19585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 01:13:42 +00:00
Justin Ruggles 603139022d Use coupling band sizes instead of coupling band structure when
calculating coupling transform coefficients.

Originally committed as revision 19584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 01:00:41 +00:00
Justin Ruggles eb98cdfa8d cosmetics: add more detailed information to the documentation for
decode_band_structure().

Originally committed as revision 19577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-03 22:05:31 +00:00
Diego Biurrun d15153244f refactoring: properly separate AC-3 and E-AC-3 code
Originally committed as revision 19501 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-23 02:33:25 +00:00
Diego Biurrun 89547cfb36 Make sure that eac3_decoder only gets enabled when CONFIG_EAC3_DECODER is set.
Originally committed as revision 19500 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-23 00:15:23 +00:00
Ronald S. Bultje ce863d7f36 Rename ff_log_missing_feature() to av_log_missing_feature().
Originally committed as revision 19294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 19:07:04 +00:00
Justin Ruggles ae04de316f eac3dec: revert commit r18860. keep the AHT IDCT 24-bit. will make AHT GAQ
dequantization 24-bit in a separate commit.

Originally committed as revision 18887 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-21 00:09:23 +00:00
Diego Biurrun 1754fe4d30 The AC-3 decoder is now LGPL. Exchange the license header and change references
in the build system and documentation that mark it as GPL.

Originally committed as revision 18876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-19 22:58:09 +00:00
Jason Garrett-Glaser d869a460db LGPL version of ac3_decode_transform_coeffs_ch, ~12.4% faster.
Originally committed as revision 18875 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-19 21:29:21 +00:00
Justin Ruggles 9a7a71ed4c eac3dec: use 16-bit pre-mantissas instead of 24-bit in AHT decoding. it is
simpler and also fixes a bug in GAQ dequantization.

Originally committed as revision 18860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-17 06:53:24 +00:00
Justin Ruggles 1ac7d1ac50 ac3dec: fix coupling range check. the start subband must be less than
the end subband.

Originally committed as revision 18857 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-16 17:02:44 +00:00
Siarhei Siamashka 7d485f165f Support for getting (i)MDCT output multiplied by a constant scaling factor.
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
2009-05-16 14:17:08 +00:00
Justin Ruggles 778bc09bbe cosmetics: line wrap and vertical alignment
Originally committed as revision 18752 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 01:48:14 +00:00
Justin Ruggles 396b73c7f7 ac3dec: Remove unneeded context variable, num_cpl_subbands. It is also
not needed for spectral extension or enhanced coupling since it is
redundant information, so I am removing it from decode_band_structure()
as well.

Originally committed as revision 18751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 01:47:34 +00:00
Justin Ruggles 52dc3fc83d cosmetics: indentation after last commit
Originally committed as revision 18750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 23:39:10 +00:00
Justin Ruggles 13ec942869 ac3dec: move channel remapping to outside of block loop
Originally committed as revision 18749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 23:38:12 +00:00
Justin Ruggles bfeca7beb6 Add channel layout support to the AC-3 decoder and AC-3 parser.
Originally committed as revision 18622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 15:05:32 +00:00
Justin Ruggles 95f3019a51 ac3dec: reorder output channels to SMPTE channel order
Originally committed as revision 18542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 08:43:04 +00:00
Thilo Borgmann 7a00bbad21 Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
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
2009-04-07 15:59:50 +00:00
Diego Biurrun 406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Alex Converse 11d6f38cc9 Factorise enum of AC3 error types to be usable by AAC in the ADTS patch that
will follow

Patch by Alex Converse ( alex converse gmail com )

Originally committed as revision 16479 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 18:10:10 +00:00
Stefano Sabatini dbbec0c2f2 Make av_log_missing_feature an internal function, and change its name
to ff_log_missing_feature.

Originally committed as revision 16037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-08 21:21:38 +00:00
Justin Ruggles 20e047262f cosmetics: alignment after last commit
Originally committed as revision 16035 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-08 03:15:10 +00:00
Justin Ruggles 72a6244b5d ac3: detect dba errors and prevent writing past end of array
Originally committed as revision 16034 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-08 03:13:20 +00:00
Justin Ruggles 2ceccf045c ac3dec: simplify exponent bounds checking
Originally committed as revision 16022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-06 16:33:16 +00:00
Justin Ruggles 96f229d6c0 ac3dec: unroll inner loop in exponent decoding. 46% faster decode_exponents().
Originally committed as revision 16018 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-06 15:46:23 +00:00
Justin Ruggles 806703243e cosmetics: vertical alignment
Originally committed as revision 16017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-06 15:38:21 +00:00
Justin Ruggles 1cdd567f31 cosmetics: reindent after last commit
Originally committed as revision 16016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-06 15:37:04 +00:00
Justin Ruggles ce7d842fa6 ac3dec: detect out-of-range exponents
Originally committed as revision 16015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-06 15:36:23 +00:00
Justin Ruggles f23dc1e1f9 silence gcc warning: ‘n_bands’ may be used uninitialized
Originally committed as revision 15999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-04 02:56:25 +00:00
Justin Ruggles 75b53b2123 ac3dec: use uint8_t for band sizes
Originally committed as revision 15998 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-04 02:51:39 +00:00
Justin Ruggles af2272b209 ac3dec: skip decoding and use error concealment for remaining blocks in
the frame after an error occurs.

Originally committed as revision 15987 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-03 03:34:31 +00:00
Justin Ruggles e202cc2580 revert r15812 (E-AC-3 Spectral Extension) pending further review
Originally committed as revision 15818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-13 22:38:38 +00:00
Justin Ruggles 3f3ca7ac07 cosmetics: vertical alignment
Originally committed as revision 15815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-13 03:18:28 +00:00
Justin Ruggles c763f86728 silence a gcc warning about using an uninitialized variable
Originally committed as revision 15814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-13 03:18:24 +00:00
Justin Ruggles 66561189a1 cosmetics: indentation
Originally committed as revision 15813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-13 03:18:18 +00:00
Justin Ruggles 0cc51734b2 add support for spectral extension
Originally committed as revision 15812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-13 03:18:13 +00:00
Justin Ruggles 0c5d750df9 add a generic function to decode banding structure for coupling, spectral
extension, or enhanced coupling

Originally committed as revision 15811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-13 03:18:07 +00:00
Justin Ruggles 6c6f927289 add a line break in error message text
Originally committed as revision 15810 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-13 03:18:01 +00:00
Justin Ruggles 6ee6d068f7 simplify decoding of coupling frequency range
Originally committed as revision 15809 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-13 03:17:56 +00:00
Justin Ruggles 24834c1928 cosmetics: rename two variables
Originally committed as revision 15808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-13 03:17:50 +00:00
Michael Niedermayer 047599a4ba Rename error_resilience to error_recognition.
Originally committed as revision 15270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-08 18:18:49 +00:00
Justin Ruggles 2988c93d94 create a separate codec_id for E-AC-3
Originally committed as revision 15143 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-01 14:33:54 +00:00
Justin Ruggles 1f6a594de4 turn on E-AC-3 decoding support and update the Changelog
Originally committed as revision 15103 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 03:08:18 +00:00
Justin Ruggles f2e4eb62dc cosmetics: indentation
Originally committed as revision 15089 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 02:32:08 +00:00
Justin Ruggles 8dfc56ec32 commit more OKed parts of the E-AC-3 decoder
Originally committed as revision 15087 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 02:30:09 +00:00
Justin Ruggles 225c30429d commit more OKed parts of the E-AC-3 decoder
Originally committed as revision 15068 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-30 23:19:23 +00:00
Justin Ruggles ea364c74a0 cosmetics: update comment about dithering
Originally committed as revision 15051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-30 17:51:03 +00:00
Justin Ruggles e522bd49c8 cosmetics: change another "get" to "decode"
Originally committed as revision 15014 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-29 00:09:47 +00:00
Justin Ruggles 164e169fef cosmetics: change "get" to "decode"
Originally committed as revision 15013 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-29 00:06:43 +00:00
Justin Ruggles 86662b1c89 cosmetics: indentation
Originally committed as revision 15012 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-28 23:16:21 +00:00
Justin Ruggles 260e09305b remove unneeded variable, dither_all
Originally committed as revision 15011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-28 23:04:15 +00:00
Justin Ruggles aec0407faf cosmetics: indent after last commit
Originally committed as revision 15001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-27 23:23:54 +00:00
Justin Ruggles 6b4bfed965 do not read exponent strategies from each block for E-AC-3 since they are in the header
Originally committed as revision 15000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-27 23:11:05 +00:00
Justin Ruggles 0ffea2439b copy default coupling band structure from table to decoding context (used for E-AC-3)
Originally committed as revision 14990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-27 01:40:46 +00:00
Justin Ruggles e43b29ab26 add more OKed parts of the E-AC-3 decoder: structural changes to support AHT mode mantissa decoding
Originally committed as revision 14989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-27 01:36:20 +00:00
Justin Ruggles 6a68105e2b cosmetics: rename some functions from *get_* to *decode_*
Originally committed as revision 14988 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-27 01:24:43 +00:00
Justin Ruggles 63d72fb167 fix decoding of coupling leak info for normal AC-3
Originally committed as revision 14913 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 03:30:08 +00:00
Justin Ruggles 0569993ea4 cosmetics: indentation
Originally committed as revision 14911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 01:55:52 +00:00
Justin Ruggles 6fafb0202a add some approved parts of the E-AC-3 decoder
Originally committed as revision 14910 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 01:51:42 +00:00
Justin Ruggles ab2a942ad8 cosmetics: indentation
Originally committed as revision 14863 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-20 01:02:32 +00:00
Justin Ruggles bf09b550e6 commit the OKed parts of the E-AC-3 decoder
Originally committed as revision 14860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-20 00:32:17 +00:00
Justin Ruggles e630027686 get data size based on the actual data array instead of coding-in the calculation
Originally committed as revision 14859 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-20 00:15:27 +00:00
Justin Ruggles 8e33132bab rename AC3_MAX_FRAME_SIZE to AC3_FRAME_BUFFER_SIZE and increase the size
Originally committed as revision 14858 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-20 00:08:59 +00:00
Justin Ruggles 46dd2738ae remove some unneeded header includes
Originally committed as revision 14819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-17 19:56:28 +00:00
Justin Ruggles ec0350c983 use LFG instead of Mersenne Twister for AC-3 PRNG
Originally committed as revision 14815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-17 17:41:48 +00:00
Justin Ruggles 38c1a5c4d9 update my email address to one which does not depend on my service provider
Originally committed as revision 14797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-16 22:42:59 +00:00
Loren Merritt 911e21a306 simd int->float
20% faster ac3 if downmixing, 15% if not

Originally committed as revision 14743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 23:35:40 +00:00
Loren Merritt ac2e556456 simd downmix
13% faster ac3 if downmixing

Originally committed as revision 14742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 23:33:48 +00:00
Loren Merritt 45d9d61889 don't mark the delayed samples for upmixing if they haven't been downmixed
Originally committed as revision 14741 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 23:30:53 +00:00
Loren Merritt 3b6516f7e7 oops, non-normalized downmix to mono contaminated add_bias for non-simd float-to-int.
Originally committed as revision 14740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 23:30:28 +00:00
Loren Merritt 557ac0c448 optimize ac3_downmix.
1.3x faster 5.1->stereo, 1.9x faster 5.1->mono.

Originally committed as revision 14719 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 23:45:46 +00:00
Loren Merritt 72745cff20 use float_to_int16_interleave in ac3
Originally committed as revision 14706 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 03:01:17 +00:00
Loren Merritt 916d5d6c32 use imdct_half in ac3
Originally committed as revision 14705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 01:30:24 +00:00
Loren Merritt d46ac5bfde mdct wrapper function to match fft
Originally committed as revision 14703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:38:30 +00:00
Loren Merritt 0a570e826d remove mdct tmp buffer
Originally committed as revision 14702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:36:36 +00:00
Justin Ruggles 5e3e40756e cosmetics: use a better function name than uncouple_channels()
Originally committed as revision 14614 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 01:49:01 +00:00
Justin Ruggles 022845ed05 cosmetics: change function name and comments to refer to block decoding
instead of block parsing

Originally committed as revision 14613 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 01:31:40 +00:00
Justin Ruggles ba7f712c21 remove unneeded local variable
Originally committed as revision 14547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:32:27 +00:00
Justin Ruggles 55aff0d901 Read bitstream parameters for E-AC-3 streams before returning an error.
Originally committed as revision 14528 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-03 22:29:06 +00:00
Justin Ruggles 602116df9b Hardcode the table for ungrouping 3 values in 5 bits. It will be reused by
the E-AC-3 decoder.

Originally committed as revision 14527 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-03 21:42:43 +00:00
Justin Ruggles 7417120b6f use the same table for ungrouping exponents and bap=2 mantissas
Originally committed as revision 14525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-03 19:24:04 +00:00
Justin Ruggles 14b7062829 cosmetics: make all references to AC-3 capitalized and hyphenated
Originally committed as revision 14523 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-03 16:42:32 +00:00
Peter Ross fd76c37fd9 Modify all codecs to report their supported input and output sample format(s).
Originally committed as revision 14482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-31 10:47:31 +00:00
Justin Ruggles 4760aec6a0 read 'coupling in use' parameter from bitstream into decoder context first,
then copy to the local variable.

Originally committed as revision 14311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 22:01:46 +00:00
Justin Ruggles 7645da9194 cosmetic: use hex value instead of decimal to show relation to 0x7FFFFF
Originally committed as revision 14290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 02:54:54 +00:00
Stefano Sabatini fe4bf37455 Make AVCodec long_names definition conditional depending on CONFIG_SMALL.
Originally committed as revision 13759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-12 21:50:13 +00:00
Justin Ruggles 227322b837 move rematrixing band table to ac3dec_data.c
Originally committed as revision 13716 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-08 21:09:02 +00:00
Justin Ruggles 4397d95ce0 split up header parsing function
Originally committed as revision 13705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:51 +00:00
Justin Ruggles da04be10a2 store exp_strategy for all blocks in decode context
Originally committed as revision 13704 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:47 +00:00
Justin Ruggles 54624396fc store cpl_in_use for all blocks in decode context
Originally committed as revision 13703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:43 +00:00
Justin Ruggles 58ce349f0a move the decode context and some macro constants to a new file, ac3dec.h
Originally committed as revision 13697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:16 +00:00
Justin Ruggles 30f71adc46 move mix level tables from parser to decoder. have parser read bitstream value instead of using an index to a table in the decoder.
Originally committed as revision 13696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:09 +00:00
Justin Ruggles caf0fbc889 add more gain levels and adjust mix level tables accordingly.
Originally committed as revision 13695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:03 +00:00
Justin Ruggles 687671f03b pass bap table to ff_ac3_bit_alloc_calc_bap()
Originally committed as revision 13694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:29:54 +00:00
Justin Ruggles 4921bbbae5 cosmetics: indent
Originally committed as revision 13692 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:29:38 +00:00
Justin Ruggles aa5d6be8df skip unsupported frame types and substream id's
Originally committed as revision 13691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:29:27 +00:00
Justin Ruggles be5f17b96b read frame type from header info into decode context
Originally committed as revision 13690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:29:19 +00:00
Justin Ruggles 3596aa6fe6 get substreamid from ac3 parser
Originally committed as revision 13689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:29:11 +00:00
Justin Ruggles 6730e9f300 get the number of blocks from the ac3 parser and use in the ac3 decoder.
Originally committed as revision 13688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:29:03 +00:00
Justin Ruggles 7af26d14ac return error on frame sync error
Originally committed as revision 13654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-04 00:31:20 +00:00
Justin Ruggles fb2b88a816 cosmetics: add a comment, remove a comment
Originally committed as revision 13590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 22:12:49 +00:00
Justin Ruggles 9b57545934 simplify
Originally committed as revision 13589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 22:12:01 +00:00
Justin Ruggles 6e74513a48 set lfe params at frame init instead of in every block
Originally committed as revision 13588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 21:57:45 +00:00
Justin Ruggles b85a15fe73 only calculate number of exponent groups when exponents are not reused.
Originally committed as revision 13587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 21:53:31 +00:00
Justin Ruggles aa148649a4 cosmetics: remove unneeded braces
Originally committed as revision 13586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 21:37:28 +00:00
Justin Ruggles 7e13b31c19 10l: cosmetics
Originally committed as revision 13585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 19:59:10 +00:00
Justin Ruggles e25973a1fd new dba values requires running last 2 bit allocation stages
Originally committed as revision 13584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 19:56:54 +00:00
Justin Ruggles ff5d419e2f get_transform_coeffs() never returns an error, so make the function and its children return void.
Originally committed as revision 13582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 16:04:41 +00:00
Justin Ruggles fbe52e4188 use enum value for CRC error
Originally committed as revision 13580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 15:31:57 +00:00
Justin Ruggles c78c6d6c58 move header error logging to after CRC check
Originally committed as revision 13579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 15:30:55 +00:00
Justin Ruggles bd98e9e230 zero the upper frequencies of the correct coefficients
Originally committed as revision 13452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-27 00:43:39 +00:00
Justin Ruggles eccba2bc4b safer solution for setting audio parameters
Originally committed as revision 13402 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-25 20:02:24 +00:00
Justin Ruggles cf03a8173a set audio parameters if frame header is ok, even if crc fails
Originally committed as revision 13399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-25 18:54:17 +00:00