summaryrefslogtreecommitdiff
path: root/libavcodec/vorbisdec.c
Commit message (Collapse)AuthorAge
* lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-27
| | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: AV-prefix all codec flagsVittorio Giovara2015-07-27
| | | | | | Convert doxygen to multiline and express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Replace av_dlog and tprintf with internal macrosVittorio Giovara2015-04-19
|
* vorbis: Check the vlc value in setup_classifsLuca Barbato2015-03-08
| | | | | | | | The valid returned values are always at most 11bit. Remove the previous check that assumed larger values plausible and use a signed integer to check get_vlc2 return values. CC: libav-stable@libav.org
* vorbis: Use a local codebook variableLuca Barbato2015-03-08
| | | | Makes the code a little simpler.
* lavc: remove unused traces of fmtconvert usageAnton Khirnov2015-02-28
| | | | | Those decoders have been switched to float output and so do not use fmtconvert anymore.
* vorbisdec: Check memory allocationsVittorio Giovara2015-02-17
|
* avcodec: Don't anonymously typedef structsDiego Biurrun2015-02-14
|
* cosmetics: Group .name and .long_name together in codec/format declarationsDiego Biurrun2013-10-03
|
* vorbis: return meaningful errorsLuca Barbato2013-06-07
|
* vorbis: fallback to normal division instead of crashingLuca Barbato2013-05-19
| | | | | | | | The use of ff_inverse speeds up slightly arches + compilers that do not provide a division faster than the whole machinery, such as ppc32 + gcc4.7, but has operational limits. Drop the always-enable assert and provide a fallback.
* vorbis: simplify the inner loop in setup_classifsLuca Barbato2013-05-19
|
* vorbis: use normal integer values for iteratorsLuca Barbato2013-05-19
| | | | No need to use fixed-size integers.
* vorbis: refactor vorbis_residue_decode_internalLuca Barbato2013-05-19
|
* vorbisdec: do not leak the first frame.Anton Khirnov2013-03-10
|
* lavc decoders: work with refcounted frames.Anton Khirnov2013-03-08
|
* vorbisdec: check memory allocationsLuca Barbato2013-03-06
|
* vorbisdec: cosmetics: rename variable avccontext to avctxJustin Ruggles2013-02-25
| | | | This is consistent with the rest of libavcodec.
* vorbisdec: Accept 0 amplitude_bitsLuca Barbato2013-02-25
| | | | | | | | The specification does not prevent an encoder to write the amplitude 0 as 0 amplitude_bits. Our get_bits() implementation might not support a zero sized read properly, thus the additional branch.
* vorbisdec: Add missing checksLuca Barbato2013-02-25
| | | | | Rate and order must not be 0 even if the specification does not say that explicitly.
* vorbisdec: cosmeticsLuca Barbato2013-02-25
| | | | Use the commonly used "if (!var)" instead of "if (var == 0)".
* vorbisdec: Error on bark_map_size equal to 0.Michael Niedermayer2013-02-25
| | | | | | | | | | | | | | The value is used to calculate output LSP curve and a division by zero and out of array accesses would occur. CVE-2013-0894 CC: libav-stable@libav.org Reported-by: Dale Curtis <dalecurtis@chromium.org> Found-by: inferno@chromium.org Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* vorbis: decode directly to the user-provided AVFrameJustin Ruggles2013-02-12
|
* vorbisdsp: change block_size type from int to intptr_t.Ronald S. Bultje2013-01-20
| | | | This saves one instruction in the x86-64 assembly.
* Move vorbis_inverse_coupling from dsputil to vorbisdspcontext.Ronald S. Bultje2013-01-19
| | | | | Conveniently (together with Justin's earlier patches), this makes our vorbis decoder entirely independent of dsputil.
* lavc: Move vector_fmul_window to AVFloatDSPContextJustin Ruggles2013-01-16
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* miscellaneous typo fixesDiego Biurrun2012-12-21
|
* lavc: add a wrapper for AVCodecContext.get_buffer().Anton Khirnov2012-12-04
| | | | It will be useful in the upcoming transition to refcounted AVFrames.
* vorbisdec: use float planar sample formatJustin Ruggles2012-11-19
|
* vorbisdec: ensure FASTDIV denominator is never 1Luca Barbato2012-09-14
| | | | | | | | | | In both usages of FASTDIV the denominator might be 1. Using a branch could make the function slower than using a normal division. Both denominator and numerator can be multiplied by 2 safely and using shifts is faster than using a branch.
* vorbisdec: remove some pointless commentsMans Rullgard2012-08-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* vorbisdec: replace div/mod in loop with a counterMans Rullgard2012-06-18
| | | | | | 2x speedup of surround decoding on Cortex-A9. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Add a float DSP framework to libavutilJustin Ruggles2012-06-08
| | | | Move vector_fmul() from DSPContext to AVFloatDSPContext.
* vorbis: Validate that the floor 1 X values contain no duplicates.Alex Converse2012-06-05
| | | | | Duplicate values in this vector are explicitly banned by the Vorbis I spec and cause divide-by-zero crashes later on.
* cosmetics: Align codec declarationsMartin Storsjö2012-04-06
| | | | | | | 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>
* vorbisdec: avoid invalid memory accessAaron Colwell2012-03-08
| | | | | | | | | This fixes some invalid memory access caused later in the function by res_chan[] not being set for all channels. This happens when a channel doesn't appear a submap. This change simply returns a decoder error when this situation is detected. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avcodec: add a Vorbis parser to get packet durationJustin Ruggles2012-03-03
| | | | This also allows for removing some of the Vorbis-related hacks.
* vorbisdec: read the previous window flag for long windowsJustin Ruggles2012-03-03
| | | | | | When reading sequentially, we are using the actual flag from the previous frame, but when seeking we do not know what the previous window flag was, so we need to read it from the bitstream.
* vorbisdec: add a flush() functionJustin Ruggles2012-02-24
| | | | clear MDCT overlap buffer and reset previous window mode when seeking
* vorbis: Add ff_ prefix to nonstatic symbolsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* dsputil: Add ff_ prefix to the dsputil*_init* functionsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vlc/rl: Add ff_ prefix to the nonstatic symbolsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vorbis: fix overflows in floor1[] vector and inverse db table index.Ronald S. Bultje2012-02-02
|
* cosmetics: Remove extra newlines at EOFAlex Converse2012-01-27
|
* vorbis: An additional defense in the Vorbis codec.Chris Evans2012-01-08
| | | | | | | | Fixes Bug: #190 Chromium Bug: #100543 Related to CVE-2011-3893 Signed-off-by: Reinhard Tartler <siretart@tauware.de>
* vorbisdec: Fix decoding bug with channel handlingReinhard Tartler2012-01-07
| | | | | | | | Fixes Bug: #191 Chromium Bug: #101458 CVE-2011-3895 Signed-off-by: Reinhard Tartler <siretart@tauware.de>
* cosmetics: drop some pointless parenthesesDiego Biurrun2012-01-07
|
* Drop ALT_ prefix from BITSTREAM_READER_LE name.Diego Biurrun2011-12-22
| | | | | The prefix is a historic remnant that probably meant "alternative". Now that the A32 bitstream reader has been dropped it makes no sense anymore.
* Add avcodec_decode_audio4().Justin Ruggles2011-12-02
| | | | | | Deprecate avcodec_decode_audio3(). Implement audio support in avcodec_default_get_buffer(). Implement the new audio decoder API in all audio decoders.