summaryrefslogtreecommitdiff
path: root/libavcodec/adpcm.c
Commit message (Collapse)AuthorAge
...
* adpcm: fix IMA SMJPEG decodingPaul B Mahol2011-12-22
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* adpcm: Check for channels to be a non-zero integerShitiz Garg2011-12-17
| | | | | | | channels would be 0 sometimes and would cause floating point exception Fixes bugzilla #124 Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* 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.
* adpcm: use sign_extend()Mans Rullgard2011-10-24
| | | | | | This avoids warnings from the overflow checker and simplifies the code. Signed-off-by: Mans Rullgard <mans@mansr.com>
* adpcmdec: calculate actual number of output samples for each decoder.Justin Ruggles2011-10-14
| | | | | This also allows for removing some of the buf_size checks and using the sample count for some of the decoding loops.
* adpcmdec: check remaining buffer size before decoding next block in theJustin Ruggles2011-10-14
| | | | ADPCM IMA WAV decoder.
* adpcmdec: do not terminate early in ADPCM IMA Duck DK3 decoder.Justin Ruggles2011-10-14
| | | | | There are still 2 nibbles to decode once the last byte in the packet has been read. Updated FATE reference.
* adpcmdec: remove unneeded buf_size==0 check.Justin Ruggles2011-10-14
| | | | This is already done by avcodec_decode_audio3()
* adpcmdec: remove unneeded zeroing of *data_sizeJustin Ruggles2011-10-14
|
* adpcm: fix out of bound reads due to integer overflowLaurent Aimar2011-10-10
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* adpcm: move codec-specific variable declarations to the sections for the ↵Justin Ruggles2011-09-29
| | | | corresponding codecs.
* adpcm: check buffer size in Funcom ISS decoder before reading header.Justin Ruggles2011-09-29
| | | | | Also use the post-header data size to control termination of the main decoding loop.
* adpcm: simplify reading of Funcom ISS frame header.Justin Ruggles2011-09-29
|
* adpcm: check buffer size in IMA DK4 decoder before reading header.Justin Ruggles2011-09-29
| | | | | Also use the post-header data size to control termination of the main decoding loop.
* adpcm: simplify reading of IMA DK4 frame header.Justin Ruggles2011-09-29
|
* adpcm_ms: clean up reading of predictor coefficientsJustin Ruggles2011-09-29
|
* adpcm_4xm: process planar packets sequentially rather than simultaneously.Justin Ruggles2011-09-29
| | | | Also properly clip the right channel step_index.
* adpcm_ima_wav: process channel-interleaved blocks sequentially rather than ↵Justin Ruggles2011-09-29
| | | | | | simultaneously. Speeds up the ADPCM IMA WAV decoder by 15-20% overall.
* adpcm: update reference linksJustin Ruggles2011-09-29
| | | | | | | | Add Multimedia Wiki link. Mark dead links with [dead]. Some can still be accessed through archive.org. Update URLs for pages which have moved. Replace duplicated links in adpcmenc.c with a note to see the ADPCM decoder reference documents.
* adpcm: simplify packet size bounds checking in the ADPCM IMA QT decoder.Justin Ruggles2011-09-29
| | | | | This is easier to understand. It also avoids returning existing samples mixed with new samples when the packet is too small.
* adpcm: simplify and speed up several ADPCM decoders.Justin Ruggles2011-09-29
|
* adpcm: pretty-print tablesJustin Ruggles2011-09-29
|
* Use explicit struct initializers for AVCodec declarations.Diego Biurrun2011-09-24
|
* adpcmdec: Fix QT IMA ADPCM decoderBaptiste Coudurier2011-09-23
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* permit decoding of multichannel ADPCM_EA_XASPeter Ross2011-09-23
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Fix input buffer size check in adpcm_ea decoder.Reimar Döffinger2011-09-23
| | | | | | | | | | Unfortunately the output buffer size check assumes that the input buffer is never over-consumed, thus this actually also allowed to write outside the output buffer if "lucky". Based on: git.videolan.org/ffmpeg.git commit 701d0eb185192542c4a17f296e39e37cedf7abc6
* adpcm: split ADPCM encoders and decoders into separate files.Justin Ruggles2011-09-12
| | | | Move shared tables to a separate file as well.
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove final semicolon from some macrosMans Rullgard2011-02-10
| | | | | | This avoids double semicolons after macro expansion. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.Diego Elio Pettenò2011-01-26
| | | | | | | None of these symbols should be accessed directly, so declare them as hidden. Signed-off-by: Mans Rullgard <mans@mansr.com>
* adpcm: Skip samples whose ssd calculation has wrapped aroundMartin Storsjö2010-12-01
| | | | | | | | | | | | | | | Wraparound in ssd is mainly avoided by subtracting the ssd of the best node from all the others once it has grown large enough. If using very large trellis sizes (e.g. -trellis 15), the frontier is so large that the difference between the best and the worst is large enough to cause wraparound, even if the ssd of the best one is subtracted regularly. When using -trellis 10 on a 30 second sample, this causes only a slight slowdown, from 61 to 64 seconds. Originally committed as revision 25858 to svn://svn.ffmpeg.org/ffmpeg/trunk
* adpcm: Fix a comment in the trellis heap codeMartin Storsjö2010-11-20
| | | | | | This makes the wording consistent with how people usually talk about heaps. Originally committed as revision 25775 to svn://svn.ffmpeg.org/ffmpeg/trunk
* adpcm: Only increment heap_pos after finding a good enough sampleMartin Storsjö2010-11-19
| | | | | | | This increases the PSNR slightly (about 0.1 dB) for trellis sizes below 8, and gives equal PSNR for sizes above that. Originally committed as revision 25769 to svn://svn.ffmpeg.org/ffmpeg/trunk
* adpcm: Use a hash table to improve checking for duplicate samplesMartin Storsjö2010-11-19
| | | | | | | | | This lowers the run time from 158 to 21 seconds, for -trellis 8 with a 30 second sample on my machine. This requires 64 KB additional memory. Originally committed as revision 25768 to svn://svn.ffmpeg.org/ffmpeg/trunk
* adpcm: Fix a commentMartin Storsjö2010-11-14
| | | | Originally committed as revision 25751 to svn://svn.ffmpeg.org/ffmpeg/trunk
* adpcm: Replace any of the leaf nodes in the heapMartin Storsjö2010-11-12
| | | | | | | | | | | By not looking for the exactly largest node, we avoid an O(n) seek through the leaf nodes. Just pick one (not the same one every time) and try replacing that node with the new one. For -trellis 8, this lowers the run time from 190 to 158 seconds, for a 30 second 44 kHz mono sample, on my machine. Originally committed as revision 25733 to svn://svn.ffmpeg.org/ffmpeg/trunk
* ReindentMartin Storsjö2010-11-12
| | | | Originally committed as revision 25732 to svn://svn.ffmpeg.org/ffmpeg/trunk
* adpcm: Store the trellis nodes in a heap instead of a sorted arrayMartin Storsjö2010-11-12
| | | | | | | | | | This avoids having to memmove the large parts of the array when inserting into it. For -trellis 8, this lowers the run time from 245 seconds to 190 seconds, for a 30 second 44 kHz mono sample, on my machine. Originally committed as revision 25731 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enumStefano Sabatini2010-11-12
| | | | | | SampleFormat with AVSampleFormat. Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Flush the PutBitsContext at the end of each block when encoding ADPCM IMA QTMartin Storsjö2010-08-26
| | | | Originally committed as revision 24938 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Only 4-bit ADPCM IMA WAV files are supported.Carl Eugen Hoyos2010-07-25
| | | | Originally committed as revision 24493 to svn://svn.ffmpeg.org/ffmpeg/trunk
* adpcm: convert VLAs to malloc/freeMåns Rullgård2010-06-27
| | | | Originally committed as revision 23819 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove explicit filename from Doxygen @file commands.Diego Biurrun2010-04-20
| | | | | | | | 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
* Define AVMediaType enum, and use it instead of enum CodecType, whichStefano Sabatini2010-03-30
| | | | | | is deprecated and will be dropped at the next major bump. Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Revert Revision: 21362Michael Niedermayer2010-01-27
| | | | | | | | | | | | Log: Set CODEC_CAP_SUBFRAMES for adpcm decoders This makes ffmpeg stop printing millions of Multiple frames in a packet from stream 0 when decoding adpcm. Reason: adpcm has no subframes, the flag does not belong there Originally committed as revision 21481 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Set CODEC_CAP_SUBFRAMES for adpcm decodersMåns Rullgård2010-01-21
| | | | | | | | This makes ffmpeg stop printing millions of Multiple frames in a packet from stream 0 when decoding adpcm. Originally committed as revision 21362 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Build extradata in adpcm_ms encoder.Daniel Verkamp2009-10-22
| | | | | | This fixes issue #1244. Originally committed as revision 20349 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Indicate that AdaptCoeff1 and 2 are functions of the actual coefficients.Daniel Verkamp2009-10-22
| | | | Originally committed as revision 20345 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make sample_fmts and channel_layouts compound literals const to reduce size ofReimar Döffinger2009-09-06
| | | | | | .data section. Originally committed as revision 19787 to svn://svn.ffmpeg.org/ffmpeg/trunk
* ADPCM: remove unreachable break statement after returnMåns Rullgård2009-07-01
| | | | Originally committed as revision 19312 to svn://svn.ffmpeg.org/ffmpeg/trunk