summaryrefslogtreecommitdiff
path: root/libavcodec/svq3.c
Commit message (Collapse)AuthorAge
* lavu/mem: move the DECLARE_ALIGNED macro family to mem_internal on next+1 bumpAnton Khirnov2021-01-01
| | | | They are not properly namespaced and not intended for public use.
* avcodec/svq3: Avoid overhead of AVBuffer APIAndreas Rheinhardt2020-09-17
| | | | | | | | | | | | Up until now, the SVQ3 decoder allocated several refcounted buffers, despite no sharing/refcounting happening at all: Their refcount never exceeds one and they are treated like ordinary buffers (with the exception that the pointer used to access them is in the middle of the allocated buffer, but this does not warrant using the AVBuffer API at all). Given that using the AVBuffer API incurs overhead, it is no longer used at all. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/svq3: Remove unused bufferAndreas Rheinhardt2020-09-17
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/svq3: Fix memleaks upon allocation errorAndreas Rheinhardt2020-09-17
| | | | | | | | | | | Commit b2361cfb94738298a6c4037cc348fe5015efb841e made all of the error paths in svq3_decode_init() call svq3_decode_end(); yet several new error paths that were added later (in merges from Libav) returned directly without cleaning up properly. This commit fixes the resulting potential memleaks by setting the FF_CODEC_CAP_INIT_CLEANUP flag. This also allows to simplify freeing by returning directly. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/svq3: Fix segfault on allocation error, avoid allocationsAndreas Rheinhardt2020-09-17
| | | | | | | | | | | | | | | | The very first thing the SVQ3 decoder currently does is allocating several SVQ3Frames, a structure which contains members that need to be freed on their own. If one of these allocations fails, the decoder calls its own close function to not leak the already allocated SVQ3Frames. Yet said function presumes that the SVQ3Frames have been successfully allocated as there is no check before freeing the members that need to be freed. This commit fixes this by making these frames part of the SVQ3Context, thereby avoiding the allocations altogether. Notice that the pointers to the frames have been retained in order to allow to just swap them as the code already does. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* libavcodec/svq: Remove ff_svq1_packet_checksum()Michael Niedermayer2020-02-19
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/svq3: Use ff_set_dimension()Michael Niedermayer2019-07-08
| | | | | | | | Fixes: OOM Fixes: 15410/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SVQ3_fuzzer-5659464805384192 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/svq3: Fix regression decoding some files.Nikolas Bowe2018-08-03
| | | | | | | | | | | Fixes some SVQ3 encoded files which fail to decode correctly after 6d6faa2a2d. These files exhibit lots of artifacts and logs show "Media key encryption is not implemented". However they decode without artifacts before 6d6faa2a2d. The attatched patch allows these files to successfully decode, but also reject media key files. Tested on the files in #6094 and http://samples.mplayerhq.hu/V-codecs/SVQ3/Vertical400kbit.sorenson3.mov Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/svq3: Do not write into memory defined as const.Carl Eugen Hoyos2018-01-21
| | | | | Fixes a warning on ppc: libavcodec/svq3.c:1055:21: warning: passing argument 1 of ‘av_write_bswap32’ discards 'const' qualifier from pointer target type
* Merge commit 'b2788fe9347c02b1355574f3d28d60bfe1250ea7'James Almer2017-10-03
|\ | | | | | | | | | | | | * commit 'b2788fe9347c02b1355574f3d28d60bfe1250ea7': svq3: fix the slice size check Merged-by: James Almer <jamrial@gmail.com>
| * svq3: fix the slice size checkAnton Khirnov2017-02-25
| | | | | | | | | | | | | | | | | | Currently it incorrectly compares bits with bytes. Also, move the check right before where it's relevant, so that the correct number of remaining bits is used. CC: libav-stable@libav.org
| * svq3: Convert to the new bitstream readerAlexandra Hájková2017-02-02
| |
| * golomb: Convert to the new bitstream readerDiego Biurrun2017-01-31
| |
| * svq3: Drop unused function dctcoef_get()Diego Biurrun2016-11-03
| | | | | | | | libavcodec/svq3.c:627:29: warning: unused function 'dctcoef_get' [-Wunused-function]
* | avcodec/svq3: Fix overflow in svq3_add_idct_c()Michael Niedermayer2017-09-22
| | | | | | | | | | | | | | | | Fixes: runtime error: signed integer overflow: 2147392585 + 524288 cannot be represented in type 'int' Fixes: 3348/clusterfuzz-testcase-minimized-4809500517203968 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/svq3: Fix runtime error: left shift of negative value -6Michael Niedermayer2017-05-16
| | | | | | | | | | | | | | Fixes: 1604/clusterfuzz-testcase-minimized-5312060206350336 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/svq3: Fix runtime error: signed integer overflow: 169 * 12717677 ↵Michael Niedermayer2017-05-13
| | | | | | | | | | | | | | | | | | cannot be represented in type 'int' Fixes: 1556/clusterfuzz-testcase-minimized-5027865978470400 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/svq3: Fix multiple runtime error: signed integer overflow: -237341 * ↵Michael Niedermayer2017-05-10
| | | | | | | | | | | | | | | | | | 24552 cannot be represented in type 'int' Fixes: 1429/clusterfuzz-testcase-minimized-5959951610544128 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/svq3: Fix multiple runtime error: signed integer overflow: 44161 * ↵Michael Niedermayer2017-05-07
| | | | | | | | | | | | | | | | | | 61694 cannot be represented in type 'int' Fixes: 1382/clusterfuzz-testcase-minimized-6013445293998080 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/svq3: Reject dx/dy beyond 16bitMichael Niedermayer2017-05-03
| | | | | | | | | | | | The code does use 16bit sized arrays later so larger deltas would not work Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/svq3: Increase offsets to prevent integer overflowsMichael Niedermayer2017-05-03
| | | | | | | | | | | | | | Fixes: 1280/clusterfuzz-testcase-minimized-6102353767825408 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavc/svq3: Remove an unused function.Carl Eugen Hoyos2017-02-27
| |
* | lavc/svq3: Fail for media key encryption.Carl Eugen Hoyos2017-01-24
| | | | | | | | | | | | Tested-by: ami_stuff Fixes a part of ticket #6094.
* | lavc: Remove CR/LF from avpriv_request_sample() calls.Carl Eugen Hoyos2016-12-03
| |
* | avcodec/svq3: Reintroduce slice_typeMichael Niedermayer2016-09-08
| | | | | | | | | | | | | | | | Fixes out of array read Fixes: 1642cd3962249d6aaf0eec2836023fb6/signal_sigsegv_2557a72_2995_04efaf2ff57a052f609a3b4a2ea4e622.mov Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/svq3: fix slice size checkMichael Niedermayer2016-08-20
| | | | | | | | | | | | | | | | Fixes out of array read Fixes: 09f46aa2175cade93e3e3932646a56a9/asan_heap-oob_4a5385_2995_498f6abfdc0248288cefe5f4b7ad316c.mov Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/vdpau: clean up vdpau_internal.hJames Almer2016-08-04
| | | | | | | | | | | | | | | | | | | | Also don't include it on files that don't need it. This reduces differences with libav Tested-by: Timothy Gu <timothygu99@gmail.com> Reveiwed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | Merge commit '4e2f6212483ae1b2a4043cddf0a1cb001b476abc'Clément Bœsch2016-07-29
|\| | | | | | | | | | | | | * commit '4e2f6212483ae1b2a4043cddf0a1cb001b476abc': svq3: stop using H264Picture Merged-by: Clément Bœsch <u@pkh.me>
| * svq3: stop using H264PictureAnton Khirnov2016-06-21
| | | | | | | | | | The SVQ3 decoder has been decoupled from the H.264 decoder, so it can now use its own data type.
* | Merge commit '9df889a5f116c1ee78c2f239e0ba599c492431aa'Clément Bœsch2016-07-29
|\| | | | | | | | | | | | | * commit '9df889a5f116c1ee78c2f239e0ba599c492431aa': h264: rename h264.[ch] to h264dec.[ch] Merged-by: Clément Bœsch <u@pkh.me>
| * h264: rename h264.[ch] to h264dec.[ch]Anton Khirnov2016-06-21
| | | | | | | | This is more consistent with the naming of other decoders.
* | Merge commit '4024b566d664a4b161d677554be52f32e7ad4236'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit '4024b566d664a4b161d677554be52f32e7ad4236': golomb: Give svq3_get_se_golomb()/svq3_get_ue_golomb() better names Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * golomb: Give svq3_get_se_golomb()/svq3_get_ue_golomb() better namesDiego Biurrun2016-05-25
| |
* | Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-21
|\| | | | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * svq3: drop the build dependency on the h264 decoderAnton Khirnov2016-03-28
| |
* | Merge commit 'a4d126dc59c39bb03e5e444432d1b27af26a45b4'Derek Buitenhuis2016-05-03
|\| | | | | | | | | | | | | * commit 'a4d126dc59c39bb03e5e444432d1b27af26a45b4': svq3: eliminate remaining H264Context usage. Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * svq3: eliminate remaining H264Context usage.Anton Khirnov2016-03-28
| |
* | Merge commit '7bbdae81e895a49125dba58bad01b98389966c39'Derek Buitenhuis2016-05-03
|\| | | | | | | | | | | | | * commit '7bbdae81e895a49125dba58bad01b98389966c39': svq3: move block_offset to SVQ3Context Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * svq3: move block_offset to SVQ3ContextAnton Khirnov2016-03-28
| |
* | Merge commit '1848a154a49d18c1f31f54ee75c7445dc49a7ecc'Derek Buitenhuis2016-05-03
|\| | | | | | | | | | | | | * commit '1848a154a49d18c1f31f54ee75c7445dc49a7ecc': svq3: stop using H264Context.gb Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * svq3: stop using H264Context.gbAnton Khirnov2016-03-28
| |
* | Merge commit 'ea6ab02a174bcc11f3eaa1b840c9a4c895968690'Derek Buitenhuis2016-05-03
|\| | | | | | | | | | | | | * commit 'ea6ab02a174bcc11f3eaa1b840c9a4c895968690': svq3: move the frame num variables to the SVQ3Context Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * svq3: move the frame num variables to the SVQ3ContextAnton Khirnov2016-03-28
| |
* | Merge commit '21b746932241246be846a133abb3c5f91b1cab85'Derek Buitenhuis2016-05-03
|\| | | | | | | | | | | | | * commit '21b746932241246be846a133abb3c5f91b1cab85': svq3: eliminate H264Context.cur_pic usage Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * svq3: eliminate H264Context.cur_pic usageAnton Khirnov2016-03-28
| | | | | | | | Use the SVQ3Context variable instead
* | Merge commit '939b388383db8d0db5b2ff483e3a197c27b79791'Derek Buitenhuis2016-05-03
|\| | | | | | | | | | | | | * commit '939b388383db8d0db5b2ff483e3a197c27b79791': svq3: eliminate remaining H264SliceContext usage Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * svq3: eliminate remaining H264SliceContext usageAnton Khirnov2016-03-28
| |
* | Merge commit '5a5db90edf71ef4c60db8ad7b0ebaa9a810c2d9e'Derek Buitenhuis2016-05-03
|\| | | | | | | | | | | | | * commit '5a5db90edf71ef4c60db8ad7b0ebaa9a810c2d9e': svq3: move pict_type to the SVQ3Context Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * svq3: move pict_type to the SVQ3ContextAnton Khirnov2016-03-28
| |