Statistics
| Branch: | Revision:

ffmpeg / libavcodec / ac3dec.c @ b5ec6383

History | View | Annotate | Download (51.9 KB)

# Date Author Comment
b5ec6383 01/28/2011 12:21 AM Justin Ruggles

cosmetics: indentation and spacing

9d06d7bc 01/28/2011 12:07 AM Justin Ruggles

Remove the add bias hack for the C version of DSPContext.float_to_int16_*().

d36beb3f 01/26/2011 04:08 PM Diego Elio Pettenò

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 <>

4c57cde9 01/26/2011 03:35 PM Justin Ruggles

Add ff_ prefix to ac3_common_init().

Signed-off-by: Mans Rullgard <>

5d6e4c16 11/12/2010 11:04 AM Stefano Sabatini

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

eb0a4d32 05/13/2010 08:41 PM Carl Eugen Hoyos

Fix compilation of AC3 decoder if E-AC3 decoder was disabled.

Originally committed as revision 23131 to svn://svn.ffmpeg.org/ffmpeg/trunk

cc8538ff 04/22/2010 09:43 PM Justin Ruggles

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

2874c81c 04/03/2010 02:15 PM Stefano Sabatini

Replace all remaining occurrences of AVERROR_NOMEM with
AVERROR.

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

72415b2a 03/30/2010 11:30 PM Stefano Sabatini

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

ca6e7708 03/30/2010 10:09 PM Carl Eugen Hoyos

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

2c2cdc0b 01/28/2010 11:19 PM Justin Ruggles

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

008f872f 01/24/2010 11:55 PM Justin Ruggles

Only check frame size if the header is valid.

Originally committed as revision 21439 to svn://svn.ffmpeg.org/ffmpeg/trunk

1460c790 01/12/2010 11:02 PM Reimar Döffinger

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

7934cbb3 11/14/2009 12:25 AM Justin Ruggles

ac3dec: apply dynamic range compression to correct channels in dual-mono mode.

Originally committed as revision 20533 to svn://svn.ffmpeg.org/ffmpeg/trunk

187bc061 11/08/2009 03:06 AM Justin Ruggles

ac3dec: revert r20089. The change was just wrong. 10l for me.

Originally committed as revision 20473 to svn://svn.ffmpeg.org/ffmpeg/trunk

535497f1 10/01/2009 12:06 AM Justin Ruggles

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

3fdccca0 09/30/2009 09:51 PM Justin Ruggles

10l: wrong operation in stereo rematrixing

Originally committed as revision 20106 to svn://svn.ffmpeg.org/ffmpeg/trunk

2ed44396 09/30/2009 01:25 AM Justin Ruggles

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

16c91d2b 09/30/2009 01:09 AM Justin Ruggles

remove unneeded assignment in inner loop. rematrixing bands are contiguous.

Originally committed as revision 20089 to svn://svn.ffmpeg.org/ffmpeg/trunk

8b11b44e 09/27/2009 07:16 AM Justin Ruggles

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

3b6c5ad2 09/27/2009 06:38 AM Justin Ruggles

Move variable declaration to inside of loop.

Originally committed as revision 20053 to svn://svn.ffmpeg.org/ffmpeg/trunk

02587373 09/27/2009 06:38 AM Justin Ruggles

Cosmetics: Rename some variables.

Originally committed as revision 20052 to svn://svn.ffmpeg.org/ffmpeg/trunk

b5f4639b 09/27/2009 06:33 AM Justin Ruggles

Simplify coupling band loop.

Originally committed as revision 20051 to svn://svn.ffmpeg.org/ffmpeg/trunk

a521aadf 08/05/2009 02:31 AM Justin Ruggles

cosmetics: reindent after last commit

Originally committed as revision 19589 to svn://svn.ffmpeg.org/ffmpeg/trunk

25dcd182 08/05/2009 02:30 AM Justin Ruggles

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

b972c06a 08/05/2009 01:58 AM Justin Ruggles

cosmetics: indentation and line wrap

Originally committed as revision 19587 to svn://svn.ffmpeg.org/ffmpeg/trunk

c36ea060 08/05/2009 01:14 AM Justin Ruggles

cosmetics after last commit

Originally committed as revision 19586 to svn://svn.ffmpeg.org/ffmpeg/trunk

3f937168 08/05/2009 01:13 AM Justin Ruggles

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

60313902 08/05/2009 01:00 AM Justin Ruggles

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

eb98cdfa 08/03/2009 10:05 PM Justin Ruggles

cosmetics: add more detailed information to the documentation for
decode_band_structure().

Originally committed as revision 19577 to svn://svn.ffmpeg.org/ffmpeg/trunk

d1515324 07/23/2009 02:33 AM Diego Biurrun

refactoring: properly separate AC-3 and E-AC-3 code

Originally committed as revision 19501 to svn://svn.ffmpeg.org/ffmpeg/trunk

89547cfb 07/23/2009 12:15 AM Diego Biurrun

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

ce863d7f 06/29/2009 07:07 PM Ronald S. Bultje

Rename ff_log_missing_feature() to av_log_missing_feature().

Originally committed as revision 19294 to svn://svn.ffmpeg.org/ffmpeg/trunk

ae04de31 05/21/2009 12:09 AM Justin Ruggles

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

1754fe4d 05/19/2009 10:58 PM Diego Biurrun

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

d869a460 05/19/2009 09:29 PM Jason Garrett-Glaser

LGPL version of ac3_decode_transform_coeffs_ch, ~12.4% faster.

Originally committed as revision 18875 to svn://svn.ffmpeg.org/ffmpeg/trunk

9a7a71ed 05/17/2009 06:53 AM Justin Ruggles

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

1ac7d1ac 05/16/2009 05:02 PM Justin Ruggles

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

7d485f16 05/16/2009 02:17 PM Siarhei Siamashka

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....

778bc09b 05/06/2009 01:48 AM Justin Ruggles

cosmetics: line wrap and vertical alignment

Originally committed as revision 18752 to svn://svn.ffmpeg.org/ffmpeg/trunk

396b73c7 05/06/2009 01:47 AM Justin Ruggles

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

52dc3fc8 05/05/2009 11:39 PM Justin Ruggles

cosmetics: indentation after last commit

Originally committed as revision 18750 to svn://svn.ffmpeg.org/ffmpeg/trunk

13ec9428 05/05/2009 11:38 PM Justin Ruggles

ac3dec: move channel remapping to outside of block loop

Originally committed as revision 18749 to svn://svn.ffmpeg.org/ffmpeg/trunk

bfeca7be 04/19/2009 03:05 PM Justin Ruggles

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

95f3019a 04/17/2009 08:43 AM Justin Ruggles

ac3dec: reorder output channels to SMPTE channel order

Originally committed as revision 18542 to svn://svn.ffmpeg.org/ffmpeg/trunk

7a00bbad 04/07/2009 03:59 PM Thilo Borgmann

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....

406792e7 01/19/2009 03:46 PM Diego Biurrun

cosmetics: Remove pointless period after copyright statement non-sentences.

Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk

11d6f38c 01/07/2009 06:10 PM Alex Converse

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

dbbec0c2 12/08/2008 09:21 PM Stefano Sabatini

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

20e04726 12/08/2008 03:15 AM Justin Ruggles

cosmetics: alignment after last commit

Originally committed as revision 16035 to svn://svn.ffmpeg.org/ffmpeg/trunk

72a6244b 12/08/2008 03:13 AM Justin Ruggles

ac3: detect dba errors and prevent writing past end of array

Originally committed as revision 16034 to svn://svn.ffmpeg.org/ffmpeg/trunk

2ceccf04 12/06/2008 04:33 PM Justin Ruggles

ac3dec: simplify exponent bounds checking

Originally committed as revision 16022 to svn://svn.ffmpeg.org/ffmpeg/trunk

96f229d6 12/06/2008 03:46 PM Justin Ruggles

ac3dec: unroll inner loop in exponent decoding. 46% faster decode_exponents().

Originally committed as revision 16018 to svn://svn.ffmpeg.org/ffmpeg/trunk

80670324 12/06/2008 03:38 PM Justin Ruggles

cosmetics: vertical alignment

Originally committed as revision 16017 to svn://svn.ffmpeg.org/ffmpeg/trunk

1cdd567f 12/06/2008 03:37 PM Justin Ruggles

cosmetics: reindent after last commit

Originally committed as revision 16016 to svn://svn.ffmpeg.org/ffmpeg/trunk

ce7d842f 12/06/2008 03:36 PM Justin Ruggles

ac3dec: detect out-of-range exponents

Originally committed as revision 16015 to svn://svn.ffmpeg.org/ffmpeg/trunk

f23dc1e1 12/04/2008 02:56 AM Justin Ruggles

silence gcc warning: ‘n_bands’ may be used uninitialized

Originally committed as revision 15999 to svn://svn.ffmpeg.org/ffmpeg/trunk

75b53b21 12/04/2008 02:51 AM Justin Ruggles

ac3dec: use uint8_t for band sizes

Originally committed as revision 15998 to svn://svn.ffmpeg.org/ffmpeg/trunk

af2272b2 12/03/2008 03:34 AM Justin Ruggles

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

e202cc25 11/13/2008 10:38 PM Justin Ruggles

revert r15812 (E-AC-3 Spectral Extension) pending further review

Originally committed as revision 15818 to svn://svn.ffmpeg.org/ffmpeg/trunk

3f3ca7ac 11/13/2008 03:18 AM Justin Ruggles

cosmetics: vertical alignment

Originally committed as revision 15815 to svn://svn.ffmpeg.org/ffmpeg/trunk

c763f867 11/13/2008 03:18 AM Justin Ruggles

silence a gcc warning about using an uninitialized variable

Originally committed as revision 15814 to svn://svn.ffmpeg.org/ffmpeg/trunk

66561189 11/13/2008 03:18 AM Justin Ruggles

cosmetics: indentation

Originally committed as revision 15813 to svn://svn.ffmpeg.org/ffmpeg/trunk

0cc51734 11/13/2008 03:18 AM Justin Ruggles

add support for spectral extension

Originally committed as revision 15812 to svn://svn.ffmpeg.org/ffmpeg/trunk

0c5d750d 11/13/2008 03:18 AM Justin Ruggles

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

6c6f9272 11/13/2008 03:18 AM Justin Ruggles

add a line break in error message text

Originally committed as revision 15810 to svn://svn.ffmpeg.org/ffmpeg/trunk

6ee6d068 11/13/2008 03:17 AM Justin Ruggles

simplify decoding of coupling frequency range

Originally committed as revision 15809 to svn://svn.ffmpeg.org/ffmpeg/trunk

24834c19 11/13/2008 03:17 AM Justin Ruggles

cosmetics: rename two variables

Originally committed as revision 15808 to svn://svn.ffmpeg.org/ffmpeg/trunk

047599a4 09/08/2008 06:18 PM Michael Niedermayer

Rename error_resilience to error_recognition.

Originally committed as revision 15270 to svn://svn.ffmpeg.org/ffmpeg/trunk

2988c93d 09/01/2008 02:33 PM Justin Ruggles

create a separate codec_id for E-AC-3

Originally committed as revision 15143 to svn://svn.ffmpeg.org/ffmpeg/trunk

1f6a594d 08/31/2008 03:08 AM Justin Ruggles

turn on E-AC-3 decoding support and update the Changelog

Originally committed as revision 15103 to svn://svn.ffmpeg.org/ffmpeg/trunk

f2e4eb62 08/31/2008 02:32 AM Justin Ruggles

cosmetics: indentation

Originally committed as revision 15089 to svn://svn.ffmpeg.org/ffmpeg/trunk

8dfc56ec 08/31/2008 02:30 AM Justin Ruggles

commit more OKed parts of the E-AC-3 decoder

Originally committed as revision 15087 to svn://svn.ffmpeg.org/ffmpeg/trunk

225c3042 08/30/2008 11:19 PM Justin Ruggles

commit more OKed parts of the E-AC-3 decoder

Originally committed as revision 15068 to svn://svn.ffmpeg.org/ffmpeg/trunk

ea364c74 08/30/2008 05:51 PM Justin Ruggles

cosmetics: update comment about dithering

Originally committed as revision 15051 to svn://svn.ffmpeg.org/ffmpeg/trunk

e522bd49 08/29/2008 12:09 AM Justin Ruggles

cosmetics: change another "get" to "decode"

Originally committed as revision 15014 to svn://svn.ffmpeg.org/ffmpeg/trunk

164e169f 08/29/2008 12:06 AM Justin Ruggles

cosmetics: change "get" to "decode"

Originally committed as revision 15013 to svn://svn.ffmpeg.org/ffmpeg/trunk

86662b1c 08/28/2008 11:16 PM Justin Ruggles

cosmetics: indentation

Originally committed as revision 15012 to svn://svn.ffmpeg.org/ffmpeg/trunk

260e0930 08/28/2008 11:04 PM Justin Ruggles

remove unneeded variable, dither_all

Originally committed as revision 15011 to svn://svn.ffmpeg.org/ffmpeg/trunk

aec0407f 08/27/2008 11:23 PM Justin Ruggles

cosmetics: indent after last commit

Originally committed as revision 15001 to svn://svn.ffmpeg.org/ffmpeg/trunk

6b4bfed9 08/27/2008 11:11 PM Justin Ruggles

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

0ffea243 08/27/2008 01:40 AM Justin Ruggles

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

e43b29ab 08/27/2008 01:36 AM Justin Ruggles

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

6a68105e 08/27/2008 01:24 AM Justin Ruggles

cosmetics: rename some functions from get_ to decode_

Originally committed as revision 14988 to svn://svn.ffmpeg.org/ffmpeg/trunk

63d72fb1 08/23/2008 03:30 AM Justin Ruggles

fix decoding of coupling leak info for normal AC-3

Originally committed as revision 14913 to svn://svn.ffmpeg.org/ffmpeg/trunk

0569993e 08/23/2008 01:55 AM Justin Ruggles

cosmetics: indentation

Originally committed as revision 14911 to svn://svn.ffmpeg.org/ffmpeg/trunk

6fafb020 08/23/2008 01:51 AM Justin Ruggles

add some approved parts of the E-AC-3 decoder

Originally committed as revision 14910 to svn://svn.ffmpeg.org/ffmpeg/trunk

ab2a942a 08/20/2008 01:02 AM Justin Ruggles

cosmetics: indentation

Originally committed as revision 14863 to svn://svn.ffmpeg.org/ffmpeg/trunk

bf09b550 08/20/2008 12:32 AM Justin Ruggles

commit the OKed parts of the E-AC-3 decoder

Originally committed as revision 14860 to svn://svn.ffmpeg.org/ffmpeg/trunk

e6300276 08/20/2008 12:15 AM Justin Ruggles

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

8e33132b 08/20/2008 12:08 AM Justin Ruggles

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

46dd2738 08/17/2008 07:56 PM Justin Ruggles

remove some unneeded header includes

Originally committed as revision 14819 to svn://svn.ffmpeg.org/ffmpeg/trunk

ec0350c9 08/17/2008 05:41 PM Justin Ruggles

use LFG instead of Mersenne Twister for AC-3 PRNG

Originally committed as revision 14815 to svn://svn.ffmpeg.org/ffmpeg/trunk

38c1a5c4 08/16/2008 10:42 PM Justin Ruggles

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

911e21a3 08/13/2008 11:35 PM Loren Merritt

simd int->float
20% faster ac3 if downmixing, 15% if not

Originally committed as revision 14743 to svn://svn.ffmpeg.org/ffmpeg/trunk

ac2e5564 08/13/2008 11:33 PM Loren Merritt

simd downmix
13% faster ac3 if downmixing

Originally committed as revision 14742 to svn://svn.ffmpeg.org/ffmpeg/trunk

45d9d618 08/13/2008 11:30 PM Loren Merritt

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

3b6516f7 08/13/2008 11:30 PM Loren Merritt

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

557ac0c4 08/12/2008 11:45 PM Loren Merritt

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

72745cff 08/12/2008 03:01 AM Loren Merritt

use float_to_int16_interleave in ac3

Originally committed as revision 14706 to svn://svn.ffmpeg.org/ffmpeg/trunk