summaryrefslogtreecommitdiffstats
path: root/libavcodec/mlpdec.c
Commit message (Collapse)AuthorAgeFilesLines
* vlc: Add header #include when the types are usedLuca Barbato2017-05-021-0/+1
| | | | | | Do not rely on indirectly including it from bitstream.h. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* mlp_parser: Drop in-parser downmix functionalityVittorio Giovara2017-04-271-1/+6
| | | | | | | | | | | | | | | | request_channel_layout is a decoder option and it makes no sense to have it in a parser. This feature was needed in the past when the decoder was allowed to reuse the avctx from the demuxer. Nowadays the decoder receives only the parameters from it, already containing the real channel layout (and the correct request_channel_layout option). After initialization the decoder overwrites the channel layout with the downmixed one that is actually output, so there is no need to preserve this functionality in the parser. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* mlp: Factor out channel layout subset checksVittorio Giovara2017-04-261-2/+2
|
* mlp: Rename the channel layout variableVittorio Giovara2017-04-261-12/+12
| | | | | Purely cosmetic change, will make code more readable once the new channel layout takes over.
* Use bitstream_init8() where appropriateDiego Biurrun2017-02-071-2/+2
|
* mlp: Convert to the new bitstream readerAlexandra Hájková2016-12-191-99/+102
|
* mlpdec: Fix a undefined left shift of negative numberGanesh Ajjanagadde2015-09-291-1/+1
| | | | | | This fixes a -Wshift-negative-value warning reported with clang 3.7+. Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* lavc: Drop deprecated request_channels related functionsVittorio Giovara2015-08-281-13/+0
| | | | Deprecated in 04/2011.
* lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-271-2/+2
| | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* mlpdec: support TrueHD streams with an Atmos substreamHendrik Leppkes2015-03-111-1/+3
| | | | | | | | | The fourth substream is being discarded, since its not raw audio data, but an encoded Atmos stream which needs a specialized decoder. Fixes decoding of the true hd stream from Transformers\ -\ Age\ of\ Extinction\ 2014\ 1080P-003.mkv Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mlpdec: support major sync headers with optional extension blocksHendrik Leppkes2015-03-111-1/+6
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mlpdec: check for negative indexVittorio Giovara2014-11-131-1/+1
| | | | | CC: libav-stable@libav.org Bug-Id: CID 970924
* truehd: break out part of output_data into platform-specific callback.Ben Avison2014-03-261-17/+23
| | | | | | | Verified with profiling that this doesn't have a measurable effect upon overall performance. Signed-off-by: Martin Storsjö <martin@martin.st>
* truehd: tune VLC decoding for ARM.Ben Avison2014-03-261-3/+10
| | | | | | | | | | | | | | | | | | | Profiling on a Raspberry Pi revealed the best performance to correspond with VLC_BITS = 5. Results for overall audio decode and the get_vlc2 function in particular are as follows: Before After Mean StdDev Mean StdDev Confidence Change 6:2 total 348.8 20.1 339.6 15.1 88.8% +2.7% (insignificant) 6:2 function 38.1 8.1 26.4 4.1 100.0% +44.5% 8:2 total 339.1 15.4 324.5 15.5 99.4% +4.5% 8:2 function 33.8 7.0 27.3 5.6 99.7% +23.6% 6:6 total 604.6 20.8 572.8 20.6 100.0% +5.6% 6:6 function 95.8 8.4 68.9 8.2 100.0% +39.1% 8:8 total 766.4 17.6 741.5 21.2 100.0% +3.4% 8:8 function 106.0 11.4 86.1 9.9 100.0% +23.1% Signed-off-by: Martin Storsjö <martin@martin.st>
* truehd: break out part of rematrix_channels into platform-specific callback.Ben Avison2014-03-261-25/+12
| | | | | | | Verified with profiling that this doesn't have a measurable effect upon overall performance. Signed-off-by: Martin Storsjö <martin@martin.st>
* mlpdec: fix request_channel_layout behavior.Michael Niedermayer2014-02-081-1/+1
| | | | | | | When request_channel_layout is 0, all substreams should be decoded. Signed-off-by: Tim Walker <tdskywalker@gmail.com>
* mlp: improve request_channel_layout behavior.Tim Walker2014-02-081-2/+2
| | | | | | | | | | 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.
* mlpdec: set AV_FRAME_DATA_MATRIXENCODING side data.Tim Walker2014-01-051-0/+4
|
* mlp: Parse TrueHD decoder channel modifiers and set the AVMatrixEncoding for ↵Tim Walker2014-01-051-0/+42
| | | | each substream.
* cosmetics: Group .name and .long_name together in codec/format declarationsDiego Biurrun2013-10-031-2/+2
|
* Disable deprecation warnings for cases where a replacement is availableDiego Biurrun2013-08-021-0/+3
|
* mlpdec: Do not set invalid context in read_restart_headerLuca Barbato2013-07-121-9/+14
| | | | | | | | The faulty values rippled further down the codepath causing a hard-to-track segfault in the assembly code. Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* avcodec: av_log_ask_for_sample() ---> avpriv_request_sample()Diego Biurrun2013-03-131-11/+13
|
* lavc decoders: work with refcounted frames.Anton Khirnov2013-03-081-1/+1
|
* mlpdec: do not try to allocate a zero-sized output buffer.Anton Khirnov2013-02-231-0/+5
| | | | CC:libav-stable@libav.org
* mlp/truehd: decode directly to the user-provided AVFrameJustin Ruggles2013-02-121-11/+6
|
* mlp: implement support for AVCodecContext.request_channel_layout.Tim Walker2013-01-221-4/+14
| | | | | | Also wrap usage of AVCodecContext.request_channels in FF_API_REQUEST_CHANNELS directives. Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* mlpdec: set the channel layout.Tim Walker2013-01-221-2/+4
| | | | | | | | Fixes bug 401. Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com> CC:libav-stable@libav.org
* mlpdec: TrueHD: use Libav channel order.Tim Walker2013-01-221-0/+36
| | | | | | | | Fixes bug 208. Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com> CC:libav-stable@libav.org
* mlp: store the channel layout for each substream.Tim Walker2013-01-221-0/+21
| | | | | | | | 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
* lavc: add a wrapper for AVCodecContext.get_buffer().Anton Khirnov2012-12-041-1/+2
| | | | It will be useful in the upcoming transition to refcounted AVFrames.
* dsputil: split out mlp dsp functionLuca Barbato2012-10-111-3/+3
|
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-071-9/+9
|
* cosmetics: Align codec declarationsMartin Storsjö2012-04-061-2/+2
| | | | | | | Also break some long lines, remove codec function placeholder comments and add spaces in sample/pixel format lists. Signed-off-by: Martin Storsjö <martin@martin.st>
* mlpdec: use av_log_ask_for_sample()Paul B Mahol2012-02-211-18/+12
| | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* dsputil: Add ff_ prefix to the dsputil*_init* functionsMartin Storsjö2012-02-151-1/+1
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* doxygen: eliminate Qt-style doxygen syntaxDiego Biurrun2011-12-051-27/+27
|
* Add avcodec_decode_audio4().Justin Ruggles2011-12-021-14/+25
| | | | | | Deprecate avcodec_decode_audio3(). Implement audio support in avcodec_default_get_buffer(). Implement the new audio decoder API in all audio decoders.
* mlpdec: return meaningful error codes instead of -1Justin Ruggles2011-10-131-54/+58
|
* mlpdec: remove unnecessary wrapper functionJustin Ruggles2011-10-131-12/+3
|
* mlpdec: only calculate output size onceJustin Ruggles2011-10-131-3/+7
|
* mlpdec: validate that the reported channel count matches the actual outputJustin Ruggles2011-10-131-1/+6
| | | | channel count
* lavc: use designated initialisers for all codecs.Anton Khirnov2011-07-291-16/+12
| | | | It's more readable and less prone to breakage.
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Update the url to the site website and change ffmpeg-devel to libav-develJohan Andersson2011-03-131-1/+1
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.Diego Elio Pettenò2011-01-261-2/+2
| | | | | | | None of these symbols should be accessed directly, so declare them as hidden. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enumStefano Sabatini2010-11-121-3/+3
| | | | | | SampleFormat with AVSampleFormat. Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix grammar errors in documentationMåns Rullgård2010-06-301-2/+2
| | | | Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
* mlpdec: Comment channel_params field in struct SubStream.Nick Brereton2010-05-111-0/+1
| | | | | | Patch by Nick Brereton <nick at nbrereton dot net> Originally committed as revision 23085 to svn://svn.ffmpeg.org/ffmpeg/trunk
* mlpdec: Allocate channel decoding parameters for each substream. Some fileNick Brereton2010-05-111-16/+18
| | | | | | | | 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> Originally committed as revision 23084 to svn://svn.ffmpeg.org/ffmpeg/trunk
OpenPOWER on IntegriCloud