Statistics
| Branch: | Revision:

ffmpeg / libavcodec / mlpdec.c @ d3f126df

History | View | Annotate | Download (39.9 KB)

# Date Author Comment
d3f126df 04/19/2011 01:18 AM Carl Eugen Hoyos

Also set the MLP/TrueHD channel layout in the decoder.

Applications might not use the parser,

6daf513c 04/14/2011 01:43 AM Carl Eugen Hoyos

Fix channel order for 7.1 TrueHD samples.

939a12e2 04/14/2011 01:33 AM Carl Eugen Hoyos

Fix channel order for some MLP samples.

e7e2df27 01/28/2011 02:15 AM 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 <>
(cherry picked from commit d36beb3f6902b1217beda576aa18abf7eb72b03c)

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

49bd8e4b 06/30/2010 03:38 PM Måns Rullgård

Fix grammar errors in documentation

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

857c30ec 05/11/2010 01:46 AM Nick Brereton

mlpdec: Comment channel_params field in struct SubStream.
Patch by Nick Brereton <nick at nbrereton dot net>

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

22fb814c 05/11/2010 01:44 AM Nick Brereton

mlpdec: Allocate channel decoding parameters for each substream. Some file
was encountered with a channel range that overlapped the previous substreams,
and the code assumed no such overlap was possible.
Patch by Nick Brereton <nick at nbrereton dot net>
...

ba87f080 04/20/2010 02:45 PM Diego Biurrun

Remove explicit filename from Doxygen @file commands.

Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 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

d780511b 01/27/2010 08:02 PM Reimar Döffinger

Reduce log level of "Extracting .. channel downmix" to AV_LOG_DEBUG, the
message is pointless to ordinary users and is printed once per frame.

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

0b882b40 01/24/2010 06:07 PM Reimar Döffinger

Fix crash in MLP decoder due to integer overflow.
Probably only DoS, init_get_bits sets buffer to NULL, thus causing a
NULL-dereference directly after.

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

547fc46c 12/29/2009 05:20 PM Diego Biurrun

Remove pointless CONFIG_MLP_DECODER preprocessor check.
The file is only ever compiled if the MLP decoder is enabled.

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

52ae1e86 10/16/2009 04:12 PM Ramiro Polla

mlp: Indent.

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

7fd88069 10/16/2009 04:10 PM Ramiro Polla

mlp: Only initialize VLC tables once. This caused a crash when multiple
instances of the decoder were started at different times.
Bug reported by Maxim Anisiutkin.

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

13bd2044 05/15/2009 03:34 PM Ramiro Polla

mlp: Simplify adressing of state and coeffs arrays for both filters by making
the arrays sequential.

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

e2822726 05/06/2009 04:01 PM Ramiro Polla

mlpdec: Fix possible writing out of array bounds introduced by being
under-paranoid in r18651.

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

e8d341ce 05/06/2009 03:46 PM Ramiro Polla

mlpdec: Split sync word error and MLP sync word check.
The previous code would print the wrong error message for MLP streams with
TrueHD noise type.

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

aff42ee0 05/06/2009 03:37 PM Ramiro Polla

mlpdec: Fix indentation that got mangled from copy&paste.

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

bf4f19dc 04/30/2009 12:30 PM Ramiro Polla

mlpdec: Move MLP's filter_channel() to dsputils.

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

77b12f80 04/26/2009 08:37 PM Ramiro Polla

mlpdec: Simplify filtering code by using only one counter variable.

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

420df930 04/21/2009 10:53 PM Ramiro Polla

mlpdec: Don't overallocate buffers.
Now that max channels and primitive matrices are properly validated, there is
no need to be paranoid that random data will be overwritten.
As a bonus this makes matrix_coeff 16-byte aligned between matrices.

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

309616b2 04/21/2009 10:32 PM Ramiro Polla

mlpdec: Validate num_primitive_matrices.

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

868170c4 04/21/2009 10:12 PM Ramiro Polla

mlpdec: Validate max_channel and max_matrix_channel.

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

46958efe 04/21/2009 09:57 PM Ramiro Polla

mlpdec: Restart header sync must be 0x31ea for MLP.

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

a256445e 04/18/2009 08:23 PM Ramiro Polla

mlpdec: Read context variable to local variable to make code cleaner.

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

f95f6ab9 04/18/2009 07:52 PM Ramiro Polla

mlpdec: {}- and whitespace-related cosmetics.

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

63ad832d 04/18/2009 07:46 PM Ramiro Polla

mlpdec: Use some context arrays with local variables in rematrix_channels().

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

15e6748b 04/18/2009 07:39 PM Ramiro Polla

truehd: Simplify rematrix_channels() as per Michael's original review.

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

95c14b1e 04/18/2009 06:54 PM Ramiro Polla

mlpdec: Make read_matrix_params() take unsigned int substr for consistency.

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

5d9e4eaa 04/18/2009 06:51 PM Ramiro Polla

mlpdec: Check for {matrix,filter}_changed as soon as they are incremented.

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

9106a698 04/13/2009 04:20 PM Stefano Sabatini

Rename bitstream.h to get_bits.h.

Originally committed as revision 18494 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....

75428fa4 04/06/2009 12:58 AM Ramiro Polla

mlpdec: Filters and matrices may change only once per substream per access unit.

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

89e39be3 04/05/2009 08:54 PM Ramiro Polla

mlpdec: There must be no extraword for MLP.

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

cc9c5126 04/05/2009 08:46 PM Ramiro Polla

mlpdec: Validate non-restart bit from the substream header.

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

0091d8a1 04/05/2009 08:11 PM Ramiro Polla

mlpdec: matrix_out_ch must not be greater than max_matrix_channel, and not max_channel.

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

ab79fa44 03/30/2009 03:46 AM Ramiro Polla

mlpdec: Simplify check for substream_parity_present.

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

01aaf092 03/30/2009 03:44 AM Ramiro Polla

mlpdec: Simplify no restart header seen error.

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

d7952be3 03/30/2009 03:42 AM Ramiro Polla

mlpdec: Simplify substream length mismatch error.

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

d544dcdf 03/30/2009 03:37 AM Ramiro Polla

mlpdec: Prettify substream parity check.

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

7b18e13a 03/30/2009 03:34 AM Ramiro Polla

mlpdec: Cleaner and better termination word check.

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

125cf771 03/30/2009 03:20 AM Ramiro Polla

mlpdec: More validation for read_channel_params()

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

06e34be8 03/30/2009 03:12 AM Ramiro Polla

mlpdec: whitespace cosmetics.

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

a44b9f95 03/30/2009 03:08 AM Ramiro Polla

mlpdec: Simplify &foo0 to foo and use index (which has just been initialized
to MAX_BLOCKSIZE) instead of MAX_BLOCKSIZE, so both copies to/from state data
look alike.

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

e71365f4 03/30/2009 03:05 AM Ramiro Polla

mlpdec: Split filter_state_buffer into [fi]irbuf and fp to [fi]ir.

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

0ae59bb0 03/30/2009 02:59 AM Ramiro Polla

mlpdec: Unroll copying filter state data and filtering for the two filters.

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

0c5670a0 03/30/2009 02:54 AM Ramiro Polla

mlpdec: Max filter orders for FIR and IIR are 8 and 4 respectively.

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

fa937fab 03/28/2009 12:53 AM Ramiro Polla

mlpdec: Remove few random dprintf()s.

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

b864098c 03/27/2009 11:55 PM Ramiro Polla

mlpdec: Check for blocksize in proper range.

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

8e9ee714 03/27/2009 11:48 PM Ramiro Polla

mlpdec: quant_step_size can be any value from 0 to 0xF.

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

6fae7cbd 03/27/2009 11:47 PM Ramiro Polla

mlpdec: output_shift can be any value from -8 to 7.

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

af048026 03/27/2009 11:45 PM Ramiro Polla

mlpdec: output_shift is signed

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

43ee5fe0 03/27/2009 11:42 PM Ramiro Polla

mlpdec: Split read_channel_params() into its own function.

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

f8e6293b 03/27/2009 11:32 PM Ramiro Polla

mlpdec: Split read_matrix_params() into its own function.

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

9731e7f1 03/20/2009 01:07 PM Ramiro Polla

mlp, truehd: support non 1:1 channel mapping.

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

cbf3cf19 03/20/2009 01:04 PM Ramiro Polla

Support "next parameter flags present" flag.

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

932cee5d 03/20/2009 01:02 PM Ramiro Polla

truehd: support up to 3 substreams.

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

9ba4821d 03/19/2009 09:23 PM Ramiro Polla

Split TrueHD decoder from MLP

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

0ffbc258 03/02/2009 05:18 AM Diego Biurrun

Change a bunch of codec long_names to be more consistent and descriptive.

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

bad5537e 02/01/2009 02:00 AM Diego Biurrun

Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

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

dc8a7c93 01/30/2009 06:38 PM Diego Biurrun

Add missing void keyword to parameterless function declarations.

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

0fa5f24c 12/25/2008 03:49 PM Diego Biurrun

Change mplayerhq.hu references to ffmpeg.org where appropriate.

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

c687643c 12/07/2008 12:58 AM Ramiro Polla

mlp: cosmetics: remove {}s over one-lined if.

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

ee1a8f62 12/07/2008 12:57 AM Ramiro Polla

mlp: support bit-depths greater than 16 by default.

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

97679e6e 12/06/2008 04:28 PM Mathieu Velten

mlp: Fix compilation under CONFIG_AUDIO_NONSHORT.

Patch by Mathieu Velten < matmaul at gmail dot com >

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

1e8bd10c 08/14/2008 07:38 PM Ramiro Polla

mlp: Define End-of-Stream code in common header file and use it in decoder.

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

a7cc783d 08/14/2008 03:58 AM Ramiro Polla

mlp: split simple inline function that xors 4 bytes into one.

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

ce15710f 08/13/2008 06:47 PM Ramiro Polla

mlp: Split common code from parser and decoder to be used by encoder.

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

5dae0dd2 08/13/2008 01:41 AM Ramiro Polla

mlpdec: Put some doxy comments to the right of vars instead of interleaved.

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

f53acb7b 08/13/2008 01:36 AM Ramiro Polla

mlpdec: Split channel parameters from context into their own struct.

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

db01fa13 08/12/2008 06:05 PM Ramiro Polla

mlpdec: whitespace and line-breaking cosmetics.

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

d6aa052d 08/12/2008 05:53 PM Ramiro Polla

mlpdec: Split filter parameters from context into their own struct.

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

fd76c37f 07/31/2008 10:47 AM Peter Ross

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

eb2cd99c 07/13/2008 02:59 PM Ramiro Polla

mlpdec: Check for bits left before each read of End-of-Stream indicator and
Substream parity check independently. This allows decoding of streams that
have EOS but don't have Substream parity check.

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

0e74e1ff 07/05/2008 10:16 AM Diego Biurrun

Add required stdint.h header #include.

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

9906a2be 07/05/2008 10:11 AM Diego Biurrun

spelling cosmetics

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

b517af05 07/04/2008 03:44 PM Ramiro Polla

MLP/TrueHD decoder.

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