Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-27avcodec: add adpcm_ima_ssi encoderZane van Iperen
Signed-off-by: Zane van Iperen <zane@zanevaniperen.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-05-24avcodec: move avcodec_flush_buffers from decode.c to utils.cJames Almer
It's not a decoding exclusive function anymore. Signed-off-by: James Almer <jamrial@gmail.com>
2020-05-21avcodec/decode: remove ff_decode_bsfs_uninit()James Almer
It's been a wrapper for a simple av_bsf_free() call since c96904f525. Signed-off-by: James Almer <jamrial@gmail.com>
2020-05-05avcodec/utils: simplify, remove duplicate codeLimin Wang
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-04-26lavc: Rename hwaccel.h to hwconfig.hMark Thompson
This already applied to decoders as well as hwaccels, and adding encoder support was going to make the name even more inaccurate.
2020-04-10lavc: do not implicitly share the frame pool between threadsAnton Khirnov
Currently the frame pool used by the default get_buffer2() implementation is a single struct, allocated when opening the decoder. A pointer to it is simply copied to each frame thread and we assume that no thread attempts to modify it at an unexpected time. This is rather fragile and potentially dangerous. With this commit, the frame pool is made refcounted, with the reference being propagated across threads along with other context variables. The frame pool is now also immutable - when the stream parameters change we drop the old reference and create a new one.
2020-03-20avcodec/utils: Fix ff_add_cpb_side_data() add twiceNicolas Gaullier
Makes it behave similarly to av_stream_add_side_data(). Signed-off-by: Anton Khirnov <anton@khirnov.net>
2020-03-17avcodec: add derf dpcm decoderPaul B Mahol
2020-02-23avcodec: add an AVCodecContext field to signal types of packet, frame, and ↵James Almer
coded stream side data to export Add an initial mvs flag to is, analog to the export_mvs flags2 one. Signed-off-by: James Almer <jamrial@gmail.com>
2020-02-16avcodec: fix pcm zork decoderPaul B Mahol
Fixes #1939
2020-02-01avcodec/utils: remove extra bracketsleozhang
Signed-off-by: leozhang <leozhang@qiyi.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-01-10avcodec/utils: replace avctx->internal with avci for better readabilityLimin Wang
Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-01-07Silence "string-plus-int" warning shown by clang.Carl Eugen Hoyos
libswscale/utils.c:89:42: warning: adding 'unsigned long' to a string does not append to the string [-Wstring-plus-int]
2019-12-31avcodec/utils: remove access of AV_SAMPLE_FMT_NBZhao Zhili
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-12-12lavc/utils.c: fix code indentationsLinjie Fu
Introduced since 4b4a02b8. Signed-off-by: Linjie Fu <linjie.fu@intel.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-11-01avcodec/utils: Check block_alignMichael Niedermayer
Fixes: out of array access Fixes: 18432/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMAV2_fuzzer-5675574936207360 Fixes: 18326/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMAV2_fuzzer-5071752362721280 Fixes: 18384/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMAV1_fuzzer-5769439500304384 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-09-30avcodec/utils: Check sample_rate before opening the decoderMichael Niedermayer
Fixes: signed integer overflow: 2 * -1306460384 cannot be represented in type 'int' Fixes: 17685/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AAC_fuzzer-5747390337777664 Fixes: 17688/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_INTERPLAY_ACM_fuzzer-5739287210885120 Fixes: 17699/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_INTERPLAY_ACM_fuzzer-5678394531905536 Fixes: 17738/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TAK_fuzzer-5763415733174272 Fixes: 17746/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_BINKAUDIO_RDFT_fuzzer-5703008159006720 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-09-24avcodec/utils: Optimize ff_color_frame() using memcpy()Michael Niedermayer
4650975 -> 4493240 dezicycles This optimizes lines 2 and later. Line 1 still uses av_memcpy_backptr() This change originally fixed ossfuzz 10790 but this is now fixed by other optimizations already Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-09-24avcodec/utils: Use av_memcpy_backptr() in ff_color_frame()Michael Niedermayer
Fixes: Timeout (191sec -> 53sec) Fixes: 16908/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_H264_fuzzer-5711207859748864 Fixes: 10709/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_H264_fuzzer-5630617975259136 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-09-21avcodec/utils: Check channels fully earlierMichael Niedermayer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-09-16libavcodec/utils: Free threads on init failureMichael Niedermayer
Fixes: Multiple memleaks Fixes: ffmpeg-memory-leak Found-by: Francis Provencher <francis@protekresearchlab.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-07-25avcodec/utils: fix leak of subtitle_header on error pathMichael Niedermayer
Fixes: memleak Fixes: 15528/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_STL_fuzzer-5735993371525120 Fixes: 15792/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SAMI_fuzzer-5737754232619008 Fixes: 16008/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SSA_fuzzer-5650582821404672 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-07-21avcodec/utils: Check close before calling itMichael Niedermayer
Fixes: NULL pointer dereference Fixes: 15733/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_IDF_fuzzer-5658616977162240 Reviewed-by: Paul B Mahol <onemda@gmail.com> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-07-10avcodec/utils, avcodec_open2: close codec on failureJames Zern
after a successful init if the function fails for another reason close the codec without requiring FF_CODEC_CAP_INIT_CLEANUP which is meant to cover init failures themselves. fixes a memory leak in those cases. BUG=oss-fuzz:15529 Signed-off-by: James Zern <jzern@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-06-26avcodec/utils: Check bits_per_coded_sampleMichael Niedermayer
This avoids the need for each decoder separately having to handle this case Fixes: shift exponent -100663046 is negative Fixes: out of array access Fixes: 15270/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_IFF_ILBM_fuzzer-5727829913763840 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-03avcodec/utils: remove commented out obsolete codePaul B Mahol
2018-12-23avcodec: add g732_1 parserPaul B Mahol
2018-12-04avcodec/utils : add ff_int_from_list_or_default funcMartin Vignali
to check valid value, or return default_value
2018-12-02avcodec/utils : add YUVA444P12 and YUVA422P12 to pixfmt who need height ↵Martin Vignali
padding in avcodec_align_dimensions2
2018-10-26avcodec: Implement Archimedes VIDC encoder/decoderCameron Cawley
Signed-off-by: Cameron Cawley <ccawley2011@gmail.com>
2018-08-17avcodec/decode: flush the internal bsfs instead of constantly reinitalizing themJames Almer
Initialize the bsfs once when opening the codec and uninitialize them once when closing it, instead of at every codec flush/seek. Signed-off-by: James Almer <jamrial@gmail.com>
2018-07-13avcodec/utils: report insane channel count errorsMarton Balint
More than 64 is not *that* insane, so let's report the error at least. Signed-off-by: Marton Balint <cus@passwd.hu>
2018-07-03lavc: implement an ATRAC9 decoderRostislav Pehlivanov
This commit implements a full ATRAC9 decoder, a simple low-delay codec developed by Sony and used in most PSVita games, some PS3 games and some PS4 games. Its similar to AAC in that it uses Huffman coded scalefactors but instead of vector quantization it just Huffman codes the spectral coefficients (in a way similar to how Opus splits band energy coding into coarse and fine precision). It opts to write rather large Huffman codes by packing several small coefficients into one Huffman coded symbol, though I don't believe this increases efficiency at all. Band extension implements SBC in a simple way, first it mirrors the lower spectrum onto the higher frequencies and then it uses one of 5 filters to shape it. Noise substitution is implemented via 2 of them. Unlike previous ATRAC codecs, there's no QMF, this is a standard MDCT codec. Based off of the reverse engineering work of Alex Barney. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2018-04-13avcodec/utils: Enforce minimum width also for VP5/6Michael Niedermayer
Fixes: out of array access Fixes: poc_0411 Found-by: GwanYeong Kim <gy741.kim@gmail.com> Tested-by: GwanYeong Kim <gy741.kim@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-02-06lavc: add new API for iterating codecs and codec parsersJosh de Kock
Based on an unfinished patch by atomnuker.
2018-02-05avcodec/me_cmp: remove ff_me_cmp_init_static()Muhammad Faiz
Precalculate and constify ff_square_tab. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2018-01-13avcodec/utils: Avoid hardcoding duplicated types in sizeof()Michael Niedermayer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-01-05avcodec/util: use a mutex instead of atomics in avcodec_register()James Almer
Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-26lavc: remove complex debug code around avcodec init lockingwm4
This is just a lot of complicated and confusing code that had no purpose anymore. Also, the functions return values were checked only sometimes. Locking shouldn't fail anyway, so remove the return values. Barely any other pthread lock calls check the return value (including more important code that is more likely to fail horribly if locking fails). It could be argued that it might be helpful in some debugging situations, or when the user built FFmpeg without thread support against all good advice. But there are dummy atomics too, so the atomic check won't help with ensuring correctness absolutely. You gain very little. Also, for debugging, you can just raise the ASSERT_LEVEL, and then libavutil/thread.h will redefine the locking functions to explicitly check the return values.
2017-12-26lavc, lavf: move avformat static mutex from avcodec to avformatwm4
It's completely absurd that libavcodec would care about libavformat locking, but it was there because the lock manager was in libavcodec. This is more stright forward. Changes ABI, but we don't require ABI compatibility currently.
2017-12-26lavc: replace and deprecate the lock managerwm4
Use static mutexes instead of requiring a lock manager. The behavior should be roughly the same before and after this change for API users which did not set the lock manager at all (except that a minor memory leak disappears).
2017-12-11Revert "libavcodec/utils.c: simplify avcodec locking with atomics"Hendrik Leppkes
This reverts commit 590136e78da3d091ea99ab5432543d47a559a461. Atomics are not required for this variable, because it is protected through the lock manager, and the use of atomics here is not compatible with the c11 emulation wrappersi. Fixes FATE on MSVC, among other setups which use the compat wrappers.
2017-11-27lavc: Deprecate av_hwaccel_next() and av_register_hwaccel()Mark Thompson
2017-11-27lavc: Add codec metadata to indicate hardware supportMark Thompson
2017-11-26libavcodec/utils.c: simplify avcodec locking with atomicsRostislav Pehlivanov
Also makes it more robust than using volatiles. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-11-26lavc/utils.c: use C11 atomics for entangled thread handlingRostislav Pehlivanov
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-11-15avcodec: deprecate getters and setters for AVCodecContext and AVCodec fieldsJames Almer
The fields can be accessed directly, so these are not needed anymore. Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-11avcodec: fix wrong duration of packets (dvd, bluray)Aleksandr Slobodeniuk
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-23avcodec: drop deprecated vismv optionJames Almer
Deprecated in 08/2014. Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-23Merge commit '48bb0da050329e5111b00a12dfc154b7e78fb3a3'James Almer
* commit '48bb0da050329e5111b00a12dfc154b7e78fb3a3': lavc: Drop deprecated way of setting audio delay on encode Merged-by: James Almer <jamrial@gmail.com>