summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* avcodec/bsf: ff_list_bsf staticAndreas Rheinhardt2021-09-08
| | | | | | | | It is a special BSF that is only available via the av_bsf_list-API; it is not part of the list generated from the declarations in bitstream_filters.c and therefore needn't have external linkage. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* libavcodec/qsv: enabling d3d11va support, added mfxhdlpairArtem Galin2021-09-08
| | | | | | | | | Adding DX11 relevant device type checks and adjusting callbacks with proper MediaSDK pair type support. Extending structure for proper MediaSDK pair type support. Signed-off-by: Artem Galin <artem.galin@intel.com>
* avcodec/h264_parser: Fix nalsize checkMichael Niedermayer2021-09-08
| | | | | | | | Fixes: Assertion failure Fixes: 37463/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_H264_fuzzer-4914693494931456 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mlpenc: simplify some complicated expressions morePaul B Mahol2021-09-07
|
* avcodec/mlpenc: simplify strange pointer initializationsPaul B Mahol2021-09-07
|
* avcodec/mlpdec: fix integer sanitizer warning under clangPaul B Mahol2021-09-07
| | | | | Fixes: libavcodec/mlpdec.c:1108:37: runtime error: negation of 1 cannot be represented in type 'unsigned int'
* avcodec/siren: MSN Siren decoderPeter Ross2021-09-07
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Peter Ross <pross@xvid.org>
* avcodec/mlpenc: remove convoluted incomplete multiple substreams support codePaul B Mahol2021-09-07
| | | | | It is very hard to follow data structures indirections in current code, so just remove it for now.
* avcodec/mlpenc: use variables local to for loopsPaul B Mahol2021-09-07
|
* avcodec/nvenc: add constrainedFrame encoding supportLimin Wang2021-09-06
| | | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: add single slice intra refresh supportLimin Wang2021-09-06
| | | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: add intra refresh supportLimin Wang2021-09-06
| | | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: make number of slices per frame configurableLimin Wang2021-09-06
| | | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/jpeg2000dec: Check that atom header is within bytsetreamMichael Niedermayer2021-09-05
| | | | | | | | | Fixes: Infinite loop Fixes: 36666/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_fuzzer-5912760671141888 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>
* avcodec/apedec: Fix 2 integer overflows in filter_3800()Michael Niedermayer2021-09-05
| | | | | | | | | Fixes: signed integer overflow: 1683879955 - -466265224 cannot be represented in type 'int' Fixes: 37419/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APE_fuzzer-6074294407921664 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>
* avcodec/xpmdec: Move allocations down after more error checksMichael Niedermayer2021-09-05
| | | | | | | | | Fixes: Timeout Fixes: 37035/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_XPM_fuzzer-5142718576721920 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>
* avcodec/argo: Move U, fix shiftMichael Niedermayer2021-09-05
| | | | | | | | | Fixes: left shift of 255 by 24 places cannot be represented in type 'int' Fixes: 37249/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ARGO_fuzzer-5754862984888320 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>
* avcodec/mlp: move sync defines to common headerPaul B Mahol2021-09-05
|
* avcodec/mlpenc: remove frame_size array from private contextPaul B Mahol2021-09-05
| | | | | | | It is supposed to be used with different bit depth and/or sample rates per each substream, but such currently not implemented feature is not important and current state causes problems when implementing variable restart interval to fix decoding with sample rates not multiple of 40.
* avcodec/mlpenc: stop using hardcoded valuePaul B Mahol2021-09-05
|
* avcodec/mlpenc: use av_shrink_packet()Paul B Mahol2021-09-05
|
* avcodec/mlpenc: remove no more needed gotoPaul B Mahol2021-09-05
|
* avcodec/mlpenc: fix removal of packet timestamp/size from queuePaul B Mahol2021-09-05
|
* avcodec/mlpenc: remove not needed buf_size checksPaul B Mahol2021-09-05
|
* avcodec/mlpenc: fix indentationPaul B Mahol2021-09-05
|
* avcodec/mlpenc: stop returning packets with no dataPaul B Mahol2021-09-05
|
* avcodec/mlpenc: simplify compare_best_offset()Paul B Mahol2021-09-05
|
* avcodec/mlpenc: use ff_ctz()Paul B Mahol2021-09-05
|
* avcodec/mlpenc: remove unused itemPaul B Mahol2021-09-05
|
* avcodec/mlpenc: remove log messages when allocation fails at initPaul B Mahol2021-09-04
|
* avcodec/mlpenc: allocate filter buffers once at initPaul B Mahol2021-09-04
|
* avcodec/mlpenc: simplify allocations in mlp_encode_init()Paul B Mahol2021-09-04
|
* avcodec/omx: ReindentationAndreas Rheinhardt2021-09-04
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/omx: Check initializing mutexes/conditionsAndreas Rheinhardt2021-09-04
| | | | | | | | | | | | | The earlier code did not properly check these initializations: It only recorded whether the part of init where these initializations are has been reached, but it did not check whether the initializations were successful, although destroying them would be undefined behaviour if they had not been initialized successfully. Furthermore cleanup() always locked a mutex regardless of whether there was any attempt to initialize these mutexes at all. Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/frame_thread_encoder: Mark init and free functions as av_coldAndreas Rheinhardt2021-09-04
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/frame_thread_encoder: Return proper error codesAndreas Rheinhardt2021-09-04
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/frame_thread_encoder: Don't shadow variablesAndreas Rheinhardt2021-09-04
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/frame_thread_encoder: Reindent after the previous commitAndreas Rheinhardt2021-09-04
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/frame_thread_encoder: Check initializing mutexes/conditionsAndreas Rheinhardt2021-09-04
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/vp9: Remove vp9_free_entries()Andreas Rheinhardt2021-09-04
| | | | | | | | | | | Now that the mutexes and conditions are only initialized and destroyed once, said function only had one purpose: free the entries array. Given that vp9_alloc_entries() already does this if the array is already allocated it is unnecessary to call vp9_free_entries() anywhere except when closing. And then one can just inline the one free into vp9_decode_free(). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/vp9: Use av_freep() instead of av_free()Andreas Rheinhardt2021-09-04
| | | | | | | | Otherwise the context would be in an inconsistent state if vp9_alloc_entries() failed (and if this would be checked). Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/vp9: Don't free buffer known to be NULLAndreas Rheinhardt2021-09-04
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/vp9: Check initializing conditions/mutexesAndreas Rheinhardt2021-09-04
| | | | | | Also don't destroy uninitialized conditions/mutexes. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/pthread_frame: Move (init|free)_pthread() to pthread.cAndreas Rheinhardt2021-09-04
| | | | | | | | We have more mutexes/condition variables whose initialization is unchecked. Also use a proper namespace for these functions. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/vp9: Do not destroy uninitialized mutexes/conditionsAndreas Rheinhardt2021-09-04
| | | | | | | | | | | | | | | | Also do not destroy and reinitialize mutexes and conditions when certain input parameters change. Given that the decoder did not create these variables at all during init, uninitialized mutexes and conditions are destroyed before the very first initialization. This is undefined behaviour and certain threading implementations like pthreadGC2 crash when it is attempted. Fix this by initializing these objects once during init and freeing them in close. Reported-by: Steve Lhomme <robux4@ycbcr.xyz> Reviewed-by: Steve Lhomme <robux4@ycbcr.xyz> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h264_levels, h265_profile_level: Avoid relocationsAndreas Rheinhardt2021-09-04
| | | | | | | | | | | | | | H.264 and H.265 levels' names are usually of the form "x" or "x.y" with x and y being single digits; the one exception are the H.264 1b levels. All of those levels' names fit into a char[4] and it is likely that this future levels will do so, too. Therefore this commit changes the H26(4|5)LevelDescriptor structures to use such a char [4] instead of a pointer to a const char. This makes the structures smaller (when sizeof(char*) == 8) and avoids relocations, thereby moving the corresponding arrays from .data.rel.ro into .rodata. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/interplayacm: fix draining and last frame number of samplesPaul B Mahol2021-09-04
|
* avcodec/wmaprodec: unbreak old xma2 decodingPaul B Mahol2021-09-03
|
* avcodec/libdav1d: fix compilation after recent libdav1d API changesJames Almer2021-09-03
| | | | | | | | They were done in preparation for an upcoming 1.0 release. Keep supporting previous releases for the time being. Reviewed-by: BBB Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/wmaprodec: improve flushing for >2 channels in XMAPaul B Mahol2021-09-03
|