summaryrefslogtreecommitdiff
path: root/libavcodec/apedec.c
Commit message (Collapse)AuthorAge
* cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* ape: Unbreak adaptcoeffs computationLuca Barbato2016-04-24
| | | | | | And simplify and explain the expression. Fault introduced in f3fdef108eb06b1e71b29152bf6822519e787efe
* ape: Avoid undefined behaviourLuca Barbato2016-04-19
| | | | | | Avoid the clang warning "warning: shifting a negative signed value is undefined"
* lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-27
| | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* ape: Support _0000 files with nblock smaller than 64Andreas Cadhalpun2015-05-08
| | | | | | | | The decode_array_0000 assumed that 64 is the minimal block size while it is not. CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dsputil: Split bswap*_buf() off into a separate contextDiego Biurrun2014-06-22
|
* ape: Replace memset(0) by zero initializationDiego Biurrun2014-06-22
|
* dsputil: Move APE-specific bits into apedspDiego Biurrun2014-05-29
|
* avcodec: more correct printf specifiersDiego Biurrun2014-03-22
|
* cosmetics: Group .name and .long_name together in codec/format declarationsDiego Biurrun2013-10-03
|
* apedec: do not buffer decoded samples over AVPacketsRafaël Carré2013-08-28
| | | | | | | | | | | | | | | | | | | | | | | Only consume an AVPacket when all the samples have been read. When the rate of samples output is limited (by the default value of max_samples), consuming the first packet immediately will cause timing problems: - The first packet with PTS 0 will output 4608 samples and be consumed entirely - The second packet with PTS 64 will output the remaining samples (typically, a lot, that's why max_samples exist) until the decoded samples of the first packet have been exhausted, at which point the samples of the second packet will be decoded and output when av_decode_frame is called with the next packet). That means there's a PTS jump since the first packet is 'decoded' immediately, which can be seen with avplay or mplayer: the timing jumps immediately to 6.2s (which is the size of a packet). Sample: http://streams.videolan.org/issues/6348/Goldwave-MAClib.ape Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* ape: 3.80-3.92 decoding supportKostya Shishkov2013-03-25
|
* add support for Monkey's Audio versions from 3.93Kostya Shishkov2013-03-15
|
* ape: provide two additional bytes in buffer for old MAC versionsKostya Shishkov2013-03-15
| | | | Range coder in 3.90-3.95 overread two bytes in the final normalize.
* ape: make version-dependent decoding functions called via pointersKostya Shishkov2013-03-15
| | | | | | | This will help in supporting old versions, e.g. version 3.93 uses the same range coder but different predictor and version 3.82 uses different range coder and predictor. Also this should not make decoding newer versions slower by introducing additional checks on versions.
* avcodec: av_log_ask_for_sample() ---> avpriv_request_sample()Diego Biurrun2013-03-13
|
* lavc decoders: work with refcounted frames.Anton Khirnov2013-03-08
|
* ape: decode directly to the user-provided AVFrameJustin Ruggles2013-02-12
|
* lavc: add a wrapper for AVCodecContext.get_buffer().Anton Khirnov2012-12-04
| | | | It will be useful in the upcoming transition to refcounted AVFrames.
* Include libavutil/channel_layout.h instead of libavutil/audioconvert.hJustin Ruggles2012-11-11
| | | | Also reorder some other #include when applicable.
* apedec: output in planar sample formatJustin Ruggles2012-10-01
|
* avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union memberMartin Storsjö2012-09-04
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union memberMartin Storsjö2012-09-04
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* ape: Use unsigned integer mathsChristophe Gisquet2012-05-10
| | | | | | This involves a division that should be a shift. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* 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>
* apedec: check bits <= 32.Michael Niedermayer2012-03-31
| | | | | | | | | | Fixes a floating-point exception further down. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* dsputil: Add ff_ prefix to the dsputil*_init* functionsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* apedec: allow the user to set the maximum number of output samples per callJustin Ruggles2012-02-07
| | | | | | | It makes sense in some cases to split up the output packet to save on memory usage (ape frames can be very large), but the current/default size is arbitrary. Allowing the user to configure this gives more flexibility and requires minimal additional code.
* apedec: do not unnecessarily zero output samples for mono framesJustin Ruggles2012-02-07
|
* apedec: allocate a single flat buffer for decoded samplesJustin Ruggles2012-02-07
| | | | | This will allow the decoder to return samples for the full packet, and it also makes the decoded buffer pointers aligned.
* apedec: use sizeof(field) instead of sizeof(type)Justin Ruggles2012-02-07
|
* apedec: 8bit and 24bit supportPaul B Mahol2012-02-04
| | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* apedec: remove unneeded #include of get_bits.h and associated macroJustin Ruggles2012-02-02
|
* apedec: av_fast_malloc() instead of av_realloc()Justin Ruggles2012-02-02
| | | | | av_realloc() does not guarantee alignment, which is required for DSPContext.bswap_buf().
* apedec: fix handling of packet sizes that are not a multiple of 4 bytesJustin Ruggles2012-02-02
|
* 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.
* apedec: fix signed integer overflowsMans Rullgard2011-11-26
| | | | | | | This bit manipulation is equivalent but avoids undefined shifts and overflows. Signed-off-by: Mans Rullgard <mans@mansr.com>
* apedec: consume the whole packet when copying to the decoder buffer.Justin Ruggles2011-11-10
| | | | | This avoids artifically consuming a partial packet but ignoring remaining data in subsequent calls.
* apedec: do not needlessly copy s->samples to nblocks.Justin Ruggles2011-11-10
| | | | also move nblocks to the local scope where it is used.
* apedec: check output buffer size after calculating actual output sizeJustin Ruggles2011-11-10
|
* apedec: remove unneeded entropy decoder normalization.Justin Ruggles2011-11-10
| | | | | | The decoder already skips data at the end of the packet without this. Also remove 2 APEContext fields that were only used for the end-of-frame normalization.
* apedec: assert that s->samples is not negative before trying to decodeJustin Ruggles2011-10-28
|
* apedec: use FFALIGN macro for internal data buffer sizeJustin Ruggles2011-10-28
|
* apedec: do not keep incrementing the input data pointer past the end of theJustin Ruggles2011-10-28
| | | | | | | | buffer during entropy decoding. The pointer address could overflow, which would likely segfault. Instead set the context error flag to indicate that the decoder tried to read past the end of the packet data.
* apedec: check for input buffer overflow while reading frame headerJustin Ruggles2011-10-28
|
* apedec: use unsigned int for offsetJustin Ruggles2011-10-28
| | | | | avoids implementation-defined unsigned-to-signed conversion and simplifies the bounds checking.
* apedec: remove pointless increment of 'buf'Justin Ruggles2011-10-28
| | | | The variable is not used anymore at that point.
* apedec: set s->currentframeblocks after validating nblocksJustin Ruggles2011-10-28
|