summaryrefslogtreecommitdiff
path: root/libavcodec/ac3dec.c
Commit message (Collapse)AuthorAgeFilesLines
* ac3: Return proper error codesLuca Barbato2013-08-271-15/+15
|
* ac3: Clean up the error pathsLuca Barbato2013-08-271-3/+6
|
* fmtconvert: Explicitly use int32_t instead of intChristophe Gisquet2013-07-171-1/+1
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* ac3dec: Don't consume more data than the actual input packet sizeMartin Storsjö2013-07-151-1/+1
| | | | | | | | | | | | | | | This was handled properly in the normal return case at the end of the function, but not in this special case. Returning a value larger than the input packet size can cause problems for certain library users. Returning the actual input buffer size unconditionally, since it is not guaranteed that frame_size is set to a sensible value at this point. Cc: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* ac3dec: Consistently use AC3_BLOCK_SIZE and sizeofMartin Storsjö2013-07-131-3/+3
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* ac3dec: Increment channel pointers only once per channelMartin Storsjö2013-07-131-3/+3
| | | | | | | | If the channel mapping map multiple output channels to one input channel, we should only increment the actual pointer once. Cc: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec: av_log_missing_feature(1) ---> avpriv_request_sample()Diego Biurrun2013-03-131-1/+1
|
* lavc decoders: work with refcounted frames.Anton Khirnov2013-03-081-1/+1
|
* ac3dec: validate channel output mode against channel countJustin Ruggles2013-02-231-6/+8
| | | | | | | Damaged frames can lead to a mismatch, which can cause a segfault due to using an incorrect channel mapping. CC:libav-stable@libav.org
* ac3: decode directly to the user-provided AVFrameJustin Ruggles2013-02-121-8/+5
|
* ac3dec: fix non-optimal dithering of zero bit mantissasMathias Rauen2013-01-201-1/+2
| | | | | | Use a noise range of -0.707 to 0.707 instead of -0.5 to 0.5 Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* lavc: Move vector_fmul_window to AVFloatDSPContextJustin Ruggles2013-01-161-4/+5
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* miscellaneous typo fixesDiego Biurrun2012-12-211-1/+1
|
* ac3dec: decode directly into output buffersMans Rullgard2012-12-091-7/+20
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ac3dec: make downmix() take array of pointers to channel dataMans Rullgard2012-12-091-3/+11
|
* ac3dec: output planar float onlyMans Rullgard2012-12-091-26/+6
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* lavc: add a wrapper for AVCodecContext.get_buffer().Anton Khirnov2012-12-041-1/+1
| | | | It will be useful in the upcoming transition to refcounted AVFrames.
* Use proper return values in case of missing featuresDiego Biurrun2012-10-121-1/+1
|
* ac3dec: ensure get_buffer() gets a buffer for the correct number of channelsJustin Ruggles2012-10-011-0/+1
| | | | | | | | | | | If there is an error during frame parsing, but AVCodecContext.channels was changed and AC3DecodeContext.out_channels was set previously, the two may not match. Fixes CVE-2012-2802 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* ac3: move ac3_downmix() from dsputil to ac3dspMans Rullgard2012-09-121-34/+6
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* avopt: Explicitly store float/double option defaults in .dblMartin Storsjö2012-09-041-1/+1
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-071-2/+2
|
* Replace memset(0) by zero initializations.Diego Biurrun2012-03-281-3/+1
| | | | Also remove one pointless zero initialization in rangecoder.c.
* mov: set channel layout for AC-3 streams based on the 'dac3' atom infoJustin Ruggles2012-02-221-1/+1
| | | | fixes Bug 225
* dsputil: Add ff_ prefix to the dsputil*_init* functionsMartin Storsjö2012-02-151-1/+1
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* ac3dec: Move center and surround mix level tables to the parser.Michael Niedermayer2012-02-091-14/+2
| | | | | | | | | | | | That way all mix levels as exported by avpriv_ac3_parse_header() will have the same meaning. Previously the 3-bit center mix level for E-AC-3 was used to index in a 4-entry table, leading to out-of-array reads. Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com> Signed-off-by: Alex Converse <alex.converse@gmail.com>
* lavc: remove disabled FF_API_DRC_SCALE cruft.Anton Khirnov2012-01-271-5/+0
|
* cosmetics: drop some pointless parenthesesDiego Biurrun2012-01-071-2/+2
|
* ac3dec: cosmetics: pretty-printingChris Berov2011-12-041-248/+261
| | | | Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* Add avcodec_decode_audio4().Justin Ruggles2011-12-021-8/+24
| | | | | | Deprecate avcodec_decode_audio3(). Implement audio support in avcodec_default_get_buffer(). Implement the new audio decoder API in all audio decoders.
* lavc: replace references to deprecated AVCodecContext.error_recognition to ↵Dustin Brody2011-10-221-1/+1
| | | | | | use AVCodecContext.err_recognition Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavc: use avpriv_ prefix for ff_ac3_parse_header.Anton Khirnov2011-10-201-1/+1
| | | | It's used in lavf.
* AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*Anton Khirnov2011-10-121-1/+1
|
* ac3dec: use get_sbits() instead of manually sign-extendingMans Rullgard2011-10-091-2/+2
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* lavc/lavf: use unique private classes.Anton Khirnov2011-10-051-2/+8
| | | | This is needed by the new AVOptions API.
* ac3dec: actually use drc_scale private optionAnton Khirnov2011-09-211-1/+6
|
* ac3dec: avoid pointless alloc and indirection for input_bufferReimar Döffinger2011-09-061-10/+0
| | | | | Since we now always allocate it, it can simply be made part of the context instead.
* ac3dec: add a drc_scale private optionAnton Khirnov2011-07-101-0/+17
| | | | | | Deprecate corresponding AVCodecContext option. This is the first test of decoder private options.
* Replace usages of av_get_bits_per_sample_fmt() with av_get_bytes_per_sample().Justin Ruggles2011-06-201-1/+1
| | | | av_get_bits_per_sample_fmt() is deprecated.
* Add floating-point sample format support to the ac3, eac3, dca, aac, and vorbisJustin Ruggles2011-05-181-6/+26
| | | | | | decoders. Based on patches by clsid2 in ffdshow-tryout.
* ac3dec: fix processing of delta bit allocation information.Justin Ruggles2011-04-171-2/+2
| | | | | The number of dba segments is the coded value + 1. The coupling dba offset starts at the first coupling band, not at zero.
* ac3: move ff_ac3_bit_alloc_calc_bap to ac3dspMans Rullgard2011-03-291-1/+2
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ac3enc: Add codec-specific options for writing AC-3 metadata.Justin Ruggles2011-03-271-10/+0
|
* Get audio_service_type for AC-3 based on bitstream mode in the AC-3 parserJustin Ruggles2011-03-251-0/+5
| | | | and decoder, and vice-versa for the AC-3 encoder.
* Detect byte-swapped AC-3 and support decoding it directly.Reimar Döffinger2011-03-221-0/+5
| | | | | | | 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.
* cosmetics: indentationJustin Ruggles2011-03-221-3/+3
|
* Always copy input data for AC3 decoder.Justin Ruggles2011-03-221-7/+2
| | | | | | | Depending on error_recognition is not correct, low values do certainly not mean it is ok to crash. Based on a patch by Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* Move ff_kbd_window_init() to a separate fileMans Rullgard2011-03-191-0/+1
| | | | | | | This function is not tightly coupled to mdct, and it's in the way of making a fixed-point mdct implementation. Signed-off-by: Mans Rullgard <mans@mansr.com>
* fft: remove inline wrappers for function pointersMans Rullgard2011-03-191-3/+3
| | | | | | | This removes the rather pointless wrappers (one not even inline) for calling the fft_calc and related function pointers. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>