summaryrefslogtreecommitdiffstats
path: root/libavcodec/flacdsp.c
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/flacdsp: Fix: runtime error: signed integer overflow: -1027555328 + ↵Michael Niedermayer2017-02-261-1/+1
| | | | | | | | | | -1226681270 cannot be represented in type 'int' Fixes: 673/clusterfuzz-testcase-5948736536576000 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/flac: Fix several integer overflowsMichael Niedermayer2017-02-191-10/+2
| | | | | | Fixes: 686513-media Found-by: Matt Wolenetz <wolenetz@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Factor CHECKED out of DEBUG so it can be set seperatlyMichael Niedermayer2017-02-191-1/+1
| | | | | Suggested-by: Matt Wolenetz <wolenetz@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/flacdsp: Avoid undefined operations in non debug buildsMichael Niedermayer2017-02-041-3/+11
| | | | | | | | | | | | | | | | | | | | | This fixes ubsan warnings in non debug builds by using unsigned operations in debug builds the correct signed operations are retained so that overflows (which should not occur in valid files and may indicate problems in the DSP code or decoder) can be detected. Alternatively they can be changed to unsigned unconditionally, then its not possible though to detect overflows easily if someone wants to test the DSP code for overflows. The 2nd alternative would be to leave the code as it is and accept that there are undefined operations in the DSP code and that ubsan output is full of them in some cases. Similar changes would be needed in some other DSP routines Suggested-by: Matt Wolenetz <wolenetz@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/flac: Fix encoding and decoding with high lpc.Carl Eugen Hoyos2015-05-171-7/+4
| | | | | | Based on an analysis by trac user lvqcl. Fixes ticket #4421, reported by Chase Walker.
* x86/flacdsp: add SSE2 and AVX decorrelate functionsJames Almer2014-11-131-3/+3
| | | | Two to four times faster depending on instruction set, block size and channel count.
* lavc: fix flac encoder and decoder dependenciesJames Darnley2014-02-131-1/+1
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Fix compilation with --disable-everything --enable-encoder=flac.Carl Eugen Hoyos2014-02-081-1/+1
|
* flac/x86: add ff_flac_lpc_32_sse4()Loren Merritt2014-02-061-0/+2
| | | | | | | | | | | | benchmarked on sandybridge x86_64: 1358232 decicycles in flac_lpc_32_c 1244575 decicycles in flac_lpc_32_sse4, James Almer's patch 650045 decicycles in flac_lpc_32_sse4, this patch I haven't tested the edgecases such as odd block lengths odd block length tested-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-11-051-2/+7
|\ | | | | | | | | | | | | | | | | | | | | * qatar/master: FATE: add a 24-bit FLAC encoding test FATE: rename FLAC tests from flac-* to flac-16-* flacenc: use RICE2 entropy coding mode for 24-bit flacenc: add 24-bit encoding flacdsp: move lpc encoding from FLAC encoder to FLACDSPContext Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * flacdsp: move lpc encoding from FLAC encoder to FLACDSPContextJustin Ruggles2012-11-051-2/+7
| | | | | | | | | | Also, templatize the functions for 16-bit and 32-bit sample range. This will be used for 24-bit FLAC encoding.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-09-161-0/+4
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * qatar/master: mpegvideo: drop unnecessary arguments to hpel_motion() mpegvideo: drop 'inline' from some functions nellymoserdec: drop support for s16 output. bmpdec: only initialize palette for pal8. build: Properly remove object files while cleaning flacdsp: arm optimised lpc filter compat/vsnprintf: return number of bytes required on truncation. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * flacdsp: arm optimised lpc filterMans Rullgard2012-09-151-0/+4
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-07-191-14/+13
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * qatar/master: Print full compiler identification, not only version number flacdec: reverse lpc coeff order, simplify filter x86: dsputil: drop some unused CPU flag debug code Conflicts: cmdutils.c configure Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * flacdec: reverse lpc coeff order, simplify filterMans Rullgard2012-07-191-14/+13
| | | | | | | | | | | | | | Reversing the lpc coefficient order simplifies indexing in the filter. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-07-071-3/+32
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: configure: add functions for testing code fragments af_amix: avoid spurious EAGAIN. af_amix: return AVERROR(EAGAIN) when request_frame didn't produce output. af_amix: only consider negative return codes as errors. avconv: use only meaningful timestamps in start time check. avconv: fix the check for -ss as an output option. mss3: add forgotten 'static' qualifier for private table lavc: options: add planar names for request_sample_fmt flacdec: add planar output support flvdec: Treat all nellymoser versions as the same codec Conflicts: ffmpeg.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * flacdec: add planar output supportMans Rullgard2012-07-051-3/+32
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-07-041-4/+4
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (29 commits) lavfi: reclassify showfiltfmts as a TESTPROG graph2dot: fix printf format specifier swscale: yuv2planeX 8bit >=sse2 functions need aligned stack on x86-32. vp8: loopfilter >=sse2 functions need aligned stack on x86-32. amr: remove shift out of the AMR_BIT() macro. dsputilenc: group yasm and inline asm function pointer assignment. mov: use forward declaration of a function instead of a table. Clarify Doxygen comment for FF_API_* #defines. configure: simplify get_version() Create version.h headers for libraries that lack them gitignore: Use full path instead of relative path to specify patterns mpegvideo: remove VLAs Add XTEA encryption support in libavutil Add Blowfish encryption support in libavutil eval: Add the isinf() function and tests for it flacdec: move lpc filter to flacdsp flacdec: split off channel decorrelation as flacdsp avplay: Add an option for not limiting the input buffer size FATE: add a test for WMA cover art. FATE: add a test for apetag cover art ... Conflicts: .gitignore configure ffplay.c libavcodec/Makefile libavcodec/error_resilience.c libavcodec/mpegvideo.c libavcodec/ratecontrol.c libavdevice/avdevice.h libavfilter/Makefile libavfilter/filtfmts.c libavfilter/version.h libavformat/mov.c libavformat/version.h libavutil/Makefile libavutil/avutil.h libavutil/version.h libswscale/swscale.h libswscale/x86/swscale_mmx.c tests/fate/libavutil.mak tests/lavfi-regression.sh tools/graph2dot.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* flacdec: move lpc filter to flacdspMans Rullgard2012-07-041-0/+45
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* flacdec: split off channel decorrelation as flacdspMans Rullgard2012-07-041-0/+49
Signed-off-by: Mans Rullgard <mans@mansr.com>
OpenPOWER on IntegriCloud