summaryrefslogtreecommitdiff
path: root/libavcodec/takdec.c
Commit message (Collapse)AuthorAge
* pthread_frame: merge the functionality for normal decoder init and ↵Anton Khirnov2020-04-10
| | | | | | | | | | | | | | | | init_thread_copy The current design, where - proper init is called for the first per-thread context - first thread's private data is copied into private data for all the other threads - a "fixup" function is called for all the other threads to e.g. allocate dynamically allocated data is very fragile and hard to follow, so it is abandoned. Instead, the same init function is used to init each per-thread context. Where necessary, AVCodecInternal.is_copy can be used to differentiate between the first thread and the other ones (e.g. for decoding the extradata just once).
* avcodec/takdec: Fix overflow with large sample ratesMichael Niedermayer2019-10-25
| | | | | | | | Fixes: signed integer overflow: 2147483647 + 511 cannot be represented in type 'int' Fixes: 17899/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TAK_fuzzer-5719753322135552 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/takdec: Fix integer overflow in decorrelate()Michael Niedermayer2019-09-11
| | | | | | | | Fixes: signed integer overflow: -2424832 - 2145653689 cannot be represented in type 'int' Fixes: 16138/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TAK_fuzzer-5643451346976768 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/takdec: Fix integer overflow in decode_lpc()Michael Niedermayer2017-09-24
| | | | | | | | Fixes: runtime error: signed integer overflow: 16748560 + 2143729712 cannot be represented in type 'int' Fixes: 3202/clusterfuzz-testcase-minimized-4988291642294272 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/takdec: Fix integer overflows in decode_subframe()Michael Niedermayer2017-09-24
| | | | | | | | Fixes: runtime error: signed integer overflow: -1562477869 + -691460395 cannot be represented in type 'int' Fixes: 3196/clusterfuzz-testcase-minimized-4528307146063872 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/takdec: Fix integer overflow in decode_subframe()Michael Niedermayer2017-07-29
| | | | | | | | Fixes: runtime error: signed integer overflow: -536870912 - 1972191120 cannot be represented in type 'int' Fixes: 2711/clusterfuzz-testcase-minimized-4975142398590976 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/takdec: Fix integer overflowMichael Niedermayer2017-06-23
| | | | | | | | Fixes: runtime error: signed integer overflow: 512 + 2147483146 cannot be represented in type 'int' Fixes: 2314/clusterfuzz-testcase-minimized-4519333877252096 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/takdec: Fixes: integer overflow in AV_SAMPLE_FMT_U8P outputMichael Niedermayer2017-06-18
| | | | | | | | Fixes: runtime error: signed integer overflow: 2147483543 + 128 cannot be represented in type 'int' Fixes: 2234/clusterfuzz-testcase-minimized-6266896041115648 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/takdec: Fix multiple runtime error: signed integer overflow: 637072 ↵Michael Niedermayer2017-06-06
| | | | | | | | | * 4096 cannot be represented in type 'int' Fixes: 2079/clusterfuzz-testcase-minimized-5345861779324928 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/takdec: Fix runtime error: signed integer overflow: 2146548196 + ↵Michael Niedermayer2017-05-22
| | | | | | | | | 2156738 cannot be represented in type 'int' Fixes: 1743/clusterfuzz-testcase-minimized-4994834022531072 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/takdec: Fix runtime error: left shift of negative value -360Michael Niedermayer2017-05-22
| | | | | | | Fixes: 1739/clusterfuzz-testcase-minimized-5399237707694080 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/takdec: Fix multiple runtime error: signed integer overflow: -512 * ↵Michael Niedermayer2017-05-22
| | | | | | | | | 4563386 cannot be represented in type 'int' Fixes: 1706/clusterfuzz-testcase-minimized-6112772670619648 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/takdec: Fix runtime error: signed integer overflow: 8192 * 524308 ↵Michael Niedermayer2017-05-21
| | | | | | | | | cannot be represented in type 'int' Fixes: 1630/clusterfuzz-testcase-minimized-6326111917047808 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/takdec: Fix runtime error: left shift of negative value -63Michael Niedermayer2017-05-21
| | | | | | | Fixes: 1713/clusterfuzz-testcase-minimized-5791887476654080 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/takdec: Fix runtime error: left shift of negative value -42Michael Niedermayer2017-05-17
| | | | | | | Fixes: 1635/clusterfuzz-testcase-minimized-4992749856096256 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/takdec: Fix multiple runtime error: left shift of negative value -1Michael Niedermayer2017-05-10
| | | | | | | Fixes: 1423/clusterfuzz-testcase-minimized-5063889899225088 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '67deba8a416d818f3d95aef0aa916589090396e2'Clément Bœsch2017-03-31
|\ | | | | | | | | | | | | * commit '67deba8a416d818f3d95aef0aa916589090396e2': Use avpriv_report_missing_feature() where appropriate Merged-by: Clément Bœsch <cboesch@gopro.com>
| * Use avpriv_report_missing_feature() where appropriateDiego Biurrun2016-11-08
| |
* | Merge commit 'b668662939de3a02454cfc9ba3e6d10b87527a40'Clément Bœsch2016-06-29
|\| | | | | | | | | | | | | | | | | | | * commit 'b668662939de3a02454cfc9ba3e6d10b87527a40': get_bits: Move BITSTREAM_READER_LE definition before all relevant #includes The merge commit also includes changes for libavcodec/interplayacm.c and libavcodec/truemotion2rt.c Merged-by: Clément Bœsch <clement@stupeflix.com>
| * get_bits: Move BITSTREAM_READER_LE definition before all relevant #includesDiego Biurrun2016-06-07
| | | | | | | | | | | | | | This avoids the danger that get_bits.h might get indirectly #included before BITSTREAM_READER_LE is defined. Also sort headers into canonical order where appropriate.
| * takdec: ensure chan2 is a valid channel indexAndreas Cadhalpun2016-03-20
| | | | | | | | | | | | | | | | If chan2 is not smaller than the number of channels, it can cause segmentation faults due to dereferencing a NULL pointer. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | avcodec/takdec: add code that got somehow lost in process of REingPaul B Mahol2016-04-20
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/takdec: fix decoding of some sample rates with multichannel coderPaul B Mahol2016-04-17
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/takdec: Skip last p2 sample (which is unused)Michael Niedermayer2015-11-15
| | | | | | | | | | | | | | | | Fixes out of array read Fixes: cb3f38b08b4541523974667c7d1eee9e/asan_heap-oob_2659e18_9838_021fd5cd635bf76cede6398cd9ecbcdd.tak Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/takdec: Use memove, avoid undefined memcpy() useMichael Niedermayer2015-11-07
| | | | | | | | | | | | | | Fixes: e214333cbd94c91228e624ff39329ce6/asan_generic_4a5159_6412_96cda2530e80607210ab41ccae3d456d.tak Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/takdec: add x86 SIMD for rest of decorrelation modesPaul B Mahol2015-10-09
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec: use HAVE_THREADS header guards to silence -Wunused-functionGanesh Ajjanagadde2015-10-04
| | | | | | | | | | | | | | | | | | | | When compiled with --disable-pthreads, e.g http://fate.ffmpeg.org/report.cgi?time=20150917015044&slot=alpha-debian-qemu-gcc-4.7, a bunch of -Wunused-functions are reported due to missing header guards around threading related functions. This patch should silence such warnings. Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer2015-07-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'def97856de6021965db86c25a732d78689bd6bb0': lavc: AV-prefix all codec capabilities Conflicts: cmdutils.c ffmpeg.c ffplay.c libavcodec/8svx.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/adpcm.c libavcodec/alac.c libavcodec/atrac3plusdec.c libavcodec/bink.c libavcodec/dnxhddec.c libavcodec/dvdec.c libavcodec/dvenc.c libavcodec/ffv1dec.c libavcodec/ffv1enc.c libavcodec/fic.c libavcodec/flacdec.c libavcodec/flacenc.c libavcodec/flvdec.c libavcodec/fraps.c libavcodec/frwu.c libavcodec/gifdec.c libavcodec/h261dec.c libavcodec/hevc.c libavcodec/iff.c libavcodec/imc.c libavcodec/libopenjpegdec.c libavcodec/libvo-aacenc.c libavcodec/libvorbisenc.c libavcodec/libvpxdec.c libavcodec/libvpxenc.c libavcodec/libx264.c libavcodec/mjpegbdec.c libavcodec/mjpegdec.c libavcodec/mpegaudiodec_float.c libavcodec/msmpeg4dec.c libavcodec/mxpegdec.c libavcodec/nvenc_h264.c libavcodec/nvenc_hevc.c libavcodec/pngdec.c libavcodec/qpeg.c libavcodec/ra288.c libavcodec/rv10.c libavcodec/s302m.c libavcodec/sp5xdec.c libavcodec/takdec.c libavcodec/tiff.c libavcodec/tta.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/vp6.c libavcodec/vp9.c libavcodec/wavpack.c libavcodec/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-27
| | | | | | | | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | takdec: ensure chan2 is a valid channel indexAndreas Cadhalpun2015-06-10
| | | | | | | | | | | | | | | | | | If chan2 is not smaller than the number of channels, it can cause segmentation faults due to dereferencing a NULL pointer. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Revert "takdec: pad filter coeff buffer for DSP functions"James Almer2015-02-23
| | | | | | | | | | | | | | This reverts commit e0c7ba40cf0bb521430f4a808ed1f1a408093f9c. Valgrind complains about invalid reads, which generate segfaults in some systems.
* | takdec: pad filter coeff buffer for DSP functionsChristophe Gisquet2015-02-22
| | | | | | | | | | | | | | | | | | Currently, a part of the loop has to be handled in plain C, because of DSP function requirements of having batches of 16 elements to process. Instead, pad the buffer with 0 where the DSP functions are overreading. Signed-off-by: James Almer <jamrial@gmail.com>
* | Merge commit '9abc80f1ed673141326341e26a05c3e1f78576d0'Michael Niedermayer2015-02-21
|\| | | | | | | | | | | | | | | | | | | * commit '9abc80f1ed673141326341e26a05c3e1f78576d0': libavcodec: Make use of av_clip functions Conflicts: libavcodec/takdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libavcodec: Make use of av_clip functionsPeter Meerwald2015-02-21
| | | | | | | | | | Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit '5ac06633cb63fcc51f2471a3478b44d3f010b16b'Michael Niedermayer2014-12-19
|\| | | | | | | | | | | | | * commit '5ac06633cb63fcc51f2471a3478b44d3f010b16b': takdec: check av_samples_get_buffer_size() return value Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * takdec: check av_samples_get_buffer_size() return valueVittorio Giovara2014-12-18
| | | | | | | | | | CC: libav-stable@libav.org Bug-Id: CID 747734
* | avcodec/takdec: remove unused variableMichael Niedermayer2014-08-03
| | | | | | | | | | | | Found-by: CSA Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/takdec: move tmp declaration to where its usedMichael Niedermayer2014-08-03
| | | | | | | | | | | | | | Makes the code a bit easier to read Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '9a9e2f1c8aa4539a261625145e5c1f46a8106ac2'Michael Niedermayer2014-06-22
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '9a9e2f1c8aa4539a261625145e5c1f46a8106ac2': dsputil: Split audio operations off into a separate context Conflicts: configure libavcodec/takdec.c libavcodec/x86/Makefile libavcodec/x86/dsputil.asm libavcodec/x86/dsputil_init.c libavcodec/x86/dsputil_mmx.c libavcodec/x86/dsputil_x86.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: Split audio operations off into a separate contextDiego Biurrun2014-06-22
| |
* | avcodec/takdec: Always initialize hsize, silence "may be used uninitialized" ↵Michael Niedermayer2014-05-08
| | | | | | | | | | | | warning Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/takdec: always check bits_per_raw_sampleMichael Niedermayer2014-01-31
| | | | | | | | | | | | | | Fixes out of array access Fixes: asan_heap-oob_19c7a94_6470_cov_1453611734_luckynight-partial.tak Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '23a211cbba0b7c9ee694040031b2e5da1be54a00'Michael Niedermayer2013-10-28
|\| | | | | | | | | | | | | | | | | | | | | * commit '23a211cbba0b7c9ee694040031b2e5da1be54a00': lavc: change all decoders to behave consistently with AV_EF_CRCCHECK. Conflicts: libavcodec/avcodec.h libavcodec/tta.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: change all decoders to behave consistently with AV_EF_CRCCHECK.Anton Khirnov2013-10-28
| | | | | | | | | | | | Just crccheck prints a warning, crccheck+explode returns an error. Also document this behavior.
* | avcodec/takdec: also do crc check when er compliant is setMichael Niedermayer2013-10-27
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2'Michael Niedermayer2013-10-04
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2': cosmetics: Group .name and .long_name together in codec/format declarations Conflicts: libavcodec/8svx.c libavcodec/alac.c libavcodec/cljr.c libavcodec/dnxhddec.c libavcodec/dnxhdenc.c libavcodec/dpxenc.c libavcodec/dvdec.c libavcodec/dvdsubdec.c libavcodec/dvdsubenc.c libavcodec/ffv1dec.c libavcodec/flacdec.c libavcodec/flvdec.c libavcodec/fraps.c libavcodec/frwu.c libavcodec/g726.c libavcodec/gif.c libavcodec/gifdec.c libavcodec/h261dec.c libavcodec/h263dec.c libavcodec/iff.c libavcodec/imc.c libavcodec/libopencore-amr.c libavcodec/libopenjpegdec.c libavcodec/libopenjpegenc.c libavcodec/libspeexenc.c libavcodec/libvo-amrwbenc.c libavcodec/libvorbisenc.c libavcodec/libvpxenc.c libavcodec/libx264.c libavcodec/libxavs.c libavcodec/libxvid.c libavcodec/ljpegenc.c libavcodec/mjpegbdec.c libavcodec/mjpegdec.c libavcodec/mpeg12dec.c libavcodec/mpeg4videodec.c libavcodec/msmpeg4dec.c libavcodec/pgssubdec.c libavcodec/pngdec.c libavcodec/pngenc.c libavcodec/proresdec_lgpl.c libavcodec/proresenc_kostya.c libavcodec/ra144enc.c libavcodec/rawdec.c libavcodec/rv10.c libavcodec/sp5xdec.c libavcodec/takdec.c libavcodec/tta.c libavcodec/v210dec.c libavcodec/vp6.c libavcodec/wavpack.c libavcodec/xbmenc.c libavcodec/yop.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: Group .name and .long_name together in codec/format declarationsDiego Biurrun2013-10-03
| |
| * avcodec: av_log_missing_feature(1) ---> avpriv_request_sample()Diego Biurrun2013-03-13
| |
* | tak: use crc table from lavuPaul B Mahol2013-07-10
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | lavc: copy AVCodecContext for threadsPaul B Mahol2013-06-13
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>