Commit Graph

41 Commits

Author SHA1 Message Date
Tim Walker c1e7de8f62 mlp_parser: fix request_channel_layout behavior.
When request_channel_layout is 0,
all substreams should be decoded.

Thanks to Michael Niedermayer for spotting.

Also fix a mismatch between the parser and
decoder when request_channel_layout is a
subset of Stereo.
2014-02-08 20:10:51 +01:00
Tim Walker c0c45188e5 mlp: improve request_channel_layout behavior.
Don't decode further substreams if request_channel_layout
is a subset of the current substream's channel_layout.

Before, we would only discard further substreams if
request_channel_layout matched the substream's
channel_layout extactly, thus decoding additional
channels which the caller would probably end up downmixing.
2014-02-08 13:39:37 +01:00
Tim Walker 4b7f1a7ced mlp: Parse TrueHD decoder channel modifiers and set the AVMatrixEncoding for each substream. 2014-01-05 16:41:56 +01:00
Diego Biurrun 7950e519bb Disable deprecation warnings for cases where a replacement is available 2013-08-02 19:19:02 +02:00
Tim Walker ed1b01131e mlp: implement support for AVCodecContext.request_channel_layout.
Also wrap usage of AVCodecContext.request_channels in FF_API_REQUEST_CHANNELS directives.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-01-22 16:10:02 -05:00
Tim Walker b0c7e3ffd0 mlp_parser: account for AVCodecContext.request_channels when setting the channel layout.
Allows users to configure the output based on what's actually decoded, rather than the full native layout.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-01-22 16:10:02 -05:00
Tim Walker 99ccd2ba10 mlp: store the channel layout for each substream.
Also stop storing the channel arrangement in the header info, as it's unused outside of ff_mlp_read_major_sync.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>

CC:libav-stable@libav.org
2013-01-22 16:10:02 -05:00
Justin Ruggles a903f8f087 Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
Also reorder some other #include when applicable.
2012-11-11 13:35:12 -05:00
Tim Walker 3844572887 mlp_parser: avoid mapping multiple disctinct TrueHD channels to the same Libav channel.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-12 18:26:53 -04:00
Anton Khirnov 36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Tim Walker 0a9efe4c6e mlp_parser: fix the channel mask value used for the top surround channel
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-25 17:24:43 -05:00
Tim Walker 6bbaf6e0dd mlpdec_parser: fix a few channel layouts.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-22 10:50:22 -05:00
Justin Ruggles b3a4c7e0f1 mlp parser: set duration instead of frame_size 2012-02-20 15:08:41 -05:00
Mans Rullgard cc276c85d1 Make channel layout masks unsigned
It makes more sense for a bit mask to use an unsigned type.
The change should be source and binary compatible on all
supported systems, hence micro version bump.

Fixes a few invalid shifts.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-25 13:19:54 +00:00
Anton Khirnov 5511ad14fe lavc: use designated initialisers for parsers. 2011-11-02 10:03:43 +01:00
Justin Ruggles 82be06bbb3 mlpdec: return meaningful error codes instead of -1 2011-10-13 15:13:02 -04:00
Anton Khirnov 6f3d3eacf6 lavc: add missing audioconvert includes 2011-04-02 16:17:01 +02:00
John Stebbins 4b6f097b21 mlp_parse.c: set AVCodecContext channel_layout
The channel layout isn't getting set for mlp and truehd audio.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-03-30 17:41:48 +02:00
Mans Rullgard 2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +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
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
Diego Biurrun ba87f0801d 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
2010-04-20 14:45:34 +00:00
Jai Menon 8790961d7e mlp_parser: Fix memleak.
ff_combine_frame() is called, which allocates ParseContext->buffer if needed,
so ff_parse_close() must be called to free it.
Patch by jai.

Originally committed as revision 22005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 16:54:05 +00:00
Reimar Döffinger 7e2ef1b9e1 Fix possible crashes in mlp parser, it tries to go back 7 bytes after
finding the 4-byte signature.
Add a check that ignores the signature if we do not have enough previous
data to go back at least 7 bytes.

Originally committed as revision 21487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 20:04:19 +00:00
Stefano Sabatini 9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Ramiro Polla 9ba4821d93 Split TrueHD decoder from MLP
Originally committed as revision 18045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 21:23:39 +00:00
Diego Biurrun bad5537e2c 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
2009-02-01 02:00:19 +00:00
Ramiro Polla ee1a8f6290 mlp: support bit-depths greater than 16 by default.
Originally committed as revision 16026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-07 00:57:26 +00:00
Mathieu Velten 97679e6e38 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
2008-12-06 16:28:48 +00:00
Laurent Aimar 7a2efd2e44 mlp: initialize all CRC tables in a common function.
This way the decoder does not have to depend on the parser being initialized
before.
Patch by Laurent Aimar <fenrir at via dot ecp dot fr>.

Originally committed as revision 15986 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-03 01:14:06 +00:00
Ramiro Polla ce15710f55 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
2008-08-13 18:47:03 +00:00
Ramiro Polla ee5b34d56e mlp_parser: Initialize crc data in its own function.
Originally committed as revision 14722 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 02:44:38 +00:00
Diego Biurrun 0e74e1ff3c Add required stdint.h header #include.
Originally committed as revision 14077 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-05 10:16:27 +00:00
Diego Biurrun 9906a2be76 spelling cosmetics
Originally committed as revision 14076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-05 10:11:42 +00:00
Ramiro Polla 5faf3a4449 Clarify comment about parity nibble.
Originally committed as revision 14047 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 12:24:50 +00:00
Ramiro Polla 49de8d1e9c Make ff_mlp_read_major_sync() take a GetBitContext instead of buffers.
Originally committed as revision 14044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-01 01:36:16 +00:00
Ramiro Polla ae10e1fd3d Seek the file forwards instead of backwards when sync is lost.
Originally committed as revision 14014 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-27 21:36:01 +00:00
Ramiro Polla c624c2195f Make it a little easier to spot that the code is not dealing only with
substream headers.

Originally committed as revision 13961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-25 12:08:39 +00:00
Diego Biurrun 245976da2a Use full path for #includes from another directory.
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Diego Biurrun f2c68f9c7e cosmetics: spelling fixes
Originally committed as revision 11155 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-03 11:03:16 +00:00
Ian Caulfield 6b493b2f2f MLP/TrueHD parser
Patch by Ian Caulfield, ian D caulfield <at> gmail D com
Thread: [PATCH] MLP/TrueHD decoder, 12 Oct 14:26

Originally committed as revision 11109 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-28 14:27:53 +00:00