summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* checkasm: add hscale testJosh de Kock2020-05-15
| | | | | | | This tests the hscale 8bpp to 14/18bpp functions with different filter sizes. Signed-off-by: Josh de Kock <josh@itanimul.li>
* checkasm: add function to check and diff memoryMartin Storsjö2020-05-15
| | | | | | This was ported from dav1d (c950e7101bdf5f7117bfca816984a21e550509f0). Signed-off-by: Josh de Kock <josh@itanimul.li>
* swscale: fix NEON hscale initJosh de Kock2020-05-15
| | | | | | | | | | | | | The NEON hscale function only supports X8 filter sizes and should only be selected when these are being used. At the moment filterAlign is set to 8 but in the future when extra NEON assembly for specific sizes is added they will need to have checks here too. The immediate usecase for this change is making the hscale checkasm test easier and without NEON specific edge-cases (x86 already has these guards). Signed-off-by: Josh de Kock <josh@itanimul.li>
* avcodec/nvenc: use framerate if availableZachariah Brown2020-05-15
| | | | | | | | | | | | The h264_nvenc and hevc_nvenc encoders aren't respecting the framerate in the codec context. Instead it was using the timebase which in our use-case was 1/1000 so the encoder was behaving as if we wanted 1000fps. This resulted in poor encoding results due to an extremely low bitrate. Both the amf and qsv encoders already contain similar logic to first check the framerate before falling back to the timebase. Signed-off-by: Zachariah Brown <zachariah@renewedvision.com> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/option_table: mark venc_params as a video decoder flag opt typeJames Almer2020-05-14
| | | | | | | It's not meant for audio or subtitles, or for encoders of any kind. Reviewed-by: mypopy@gmail.com <mypopy@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* hwcontext_vulkan: fix incorrect print argumentLynne2020-05-14
|
* FATE: add fate test for minterpolate filterLimin Wang2020-05-14
| | | | | | | have tested on linux x86_32/64, mingw32/64 arm & mips qemu Tested-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/vf_minterpolate: change the default threshold to get better scene ↵Limin Wang2020-05-14
| | | | | | | | | | | | | | | | | | | | | | | | change detect result ./ffmpeg -loglevel debug -i ../fate-suite/svq3/Vertical400kbit.sorenson3.mov -vf minterpolate=fps=60:mi_mode=blend -an -f null - [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 1600 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 4120 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 5780 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 6700 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 8140 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 9740 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 14060 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 15680 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 18480 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 20020 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 21740 The results are consistent with tests/ref/fate/filter-metadata-scenedetect For the master, it'll detect more than 20 scene change for the same source. Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/vf_minterpolate: correct the mafd calculationLimin Wang2020-05-14
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* fate: add scdet metadata testLimin Wang2020-05-14
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/vf_minterpolate: if metadata lavfi.scd.mafd exists, we'll use it firstLimin Wang2020-05-14
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/vf_framerate: if metadata lavfi.scd.mafd exists, we'll use it firstLimin Wang2020-05-14
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/vf_scdet: add filter to detect scene changeLimin Wang2020-05-14
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/mpegtsenc: Remove two duplicated fieldsAndriy Gelman2020-05-14
| | | | | | | ts->{tsid,onid} stores the values of ts->{transport_stream_id,original_network_id} Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
* avformat/mpegtsenc: Don't use heap allocated array to store pidsAndriy Gelman2020-05-14
| | | | | | | | | | A temporary heap array currently stores pids from all streams. It is used to make sure there are no duplicated pids. However, this array is not needed because the pids from past streams are stored in the MpegTSWriteStream structs. Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
* FATE: add a test for colorbalanceLimin Wang2020-05-14
| | | | | | | Tested on x86-32/64, mingw32/64, arm & mips qemu Tested-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/vf_colorbalance:: Fix for framecrc bitexact for 32bit and 64bit systemlance.lmwang@gmail.com2020-05-14
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/mv30: fix warning: suggest braces around initialization of subobject ↵Limin Wang2020-05-14
| | | | | | [-Wmissing-braces] Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/tls_schannel: immediately return decrypted data if availableJan Ekström2020-05-13
| | | | | | | | | | | | | | Until now, we would have only attempted to utilize already decrypted data if it was enough to fill the size of buffer requested, that could very well be up to 32 kilobytes. With keep-alive connections this would just lead to recv blocking until rw_timeout had been reached, as the connection would not be officially closed after each transfer. This would also lead to a loop, as such timed out I/O request would just be attempted again. By just returning the available decrypted data, keep-alive based connectivity such as HLS playback is fixed with schannel.
* avformat/tls_schannel: always decrypt all received dataJan Ekström2020-05-13
| | | | | | | | | | | | | The dec_buf seems to be properly managed between read calls, and we have no logic to decrypt before attempting socket I/O. Thus - until now - such data would not be decrypted in case of connections such as HTTP keep-alive, as the recv call would always get executed first, block until rw_timeout, and then get retried by retry_transfer_wrapper. Thus - if data is received - decrypt all of it right away. This way it is available for the following requests in case they can be satisfied with it.
* pixblockdsp, avdct: Add get_pixels_unalignedMartin Storsjö2020-05-13
| | | | | | | | | | | | | Use this in vf_spp.c, where the get_pixels operation is done on unaligned source addresses. Hook up the x86 (mmx and sse) versions of get_pixels to this function pointer, as those implementations seem to support unaligned use. This fixes fate-filter-spp on armv7. Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/adpcm: Fix integer overflow in ADPCM THPMichael Niedermayer2020-05-13
| | | | | | | | | | The reference (thp.txt) uses floats so wrap around would seem incorrect. Fixes: signed integer overflow: 1073741824 + 1073741824 cannot be represented in type 'int' Fixes: 20658/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ADPCM_THP_fuzzer-5646302555930624 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/libopenh264enc: Add coder option to replace cabacLinjie Fu2020-05-13
| | | | | | | | | | | | | | | | | Set DEPRECATED flag to option cabac, replace with coder. The priority logic is: 1. s->coder; then 2. avctx->coder_type; then 3. s->cabac. Change the default option to -1 and allow the default cabac to be determined by profile. Add FF_API_OPENH264_CABAC macro for cabac to remove this option after LIBAVCODEC_VERSION_MAJOR = 59. Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Linjie Fu <linjie.fu@intel.com>
* lavc/libopenh264enc: Allow specifying the profile through AVCodecContextLinjie Fu2020-05-13
| | | | | | | | | | | | | | And determine the profile with following priority: 1. s->profile; then 2. avctx->profile; then 3. s->cabac; then 4. a default profile. This seems more natural in case user somehow sets both avctx->profile and s->profile. Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Linjie Fu <linjie.fu@intel.com>
* lavc/libopenh264enc: Rewrite profile handlingLinjie Fu2020-05-13
| | | | | | | | | | | | Support the profiles "constrained_baseline" and "high" for libopenh264 version >= 1.8, support "constrained_baseline" and "main" for earlier version. If option not supported with current version, convert to constrained baseline with a warning for users. Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Linjie Fu <linjie.fu@intel.com>
* hwcontext_vulkan: don't add the optional VK_KHR_surface extension by defaultLynne2020-05-12
| | | | Both API and CLI users can enable any extension they'd like using the options.
* hwcontext_vulkan: don't error on unavailable user-specified extensionsLynne2020-05-12
| | | | | | Only warn instead. API users can find out which extensions were unavailable by using the enabled_inst_extensions and enabled_dev_extensions fields. This eliminates having to trial-and-error to find which extensions were missing.
* hwcontext_vulkan: use the maximum amount of queues for each familyLynne2020-05-12
| | | | | | | | | | Due to our AVHWDevice infrastructure, where API users are offered a way to derive contexts rather than always create new one, our filterchains, being supported by a single hardware device context, can grow to considerable size. Hence, in such situations, using the maximum amount of queues the device offers can be benefitial to eliminating bottlenecks where queue submissions on the same family have to wait for the previous one to finish.
* hwcontext_vulkan: update prepare_frame() for multiple semaphores when exportingLynne2020-05-12
|
* avcodec/ralf: Check num_blocks before useMichael Niedermayer2020-05-12
| | | | | | | | Fixes: out of array access Fixes: 20659/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RALF_fuzzer-5739471895265280 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/iff: Test video_size being non zeroMichael Niedermayer2020-05-12
| | | | | | | | | Fixes: Out of array access Fixes: 20659/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_IFF_ILBM_fuzzer-5658548592967680 Fixes: 20659/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_IFF_ILBM_fuzzer-5723561177382912 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/cdtoons: Check sprite_offset is within the packetMichael Niedermayer2020-05-12
| | | | | | | | | Fixes: out of array read Fixes: 20659/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CDTOONS_fuzzer-5754518731227136 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>
* libavcodec/decode: Mark decode_simple_internal() as inlineMichael Niedermayer2020-05-12
| | | | | | | | This was suggested in https://github.com/google/oss-fuzz/issues/3787 to reduce the grouping errors by oss-fuzz Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/hlsenc: free options fix memleak in hls_write_trailerSteven Liu2020-05-12
| | | | Signed-off-by: Steven Liu <liuqi05@kuaishou.com>
* avformat/hlsenc: fix filename memleak in hls_write_packetSteven Liu2020-05-12
| | | | Signed-off-by: Steven Liu <liuqi05@kuaishou.com>
* avformat/hlsenc: move number out of hls_startSteven Liu2020-05-12
| | | | Signed-off-by: Steven Liu <liuqi05@kuaishou.com>
* vp9dec: support exporting QP tables through the AVVideoEncParams APIAnton Khirnov2020-05-12
|
* vp9dec: factorise freeing per-tile allocated dataAnton Khirnov2020-05-12
|
* lavc: add a flag for exporting AVVideoEncParams from decodersAnton Khirnov2020-05-12
|
* vf_showinfo: support AV_FRAME_DATA_VIDEO_ENC_PARAMSAnton Khirnov2020-05-12
|
* libavutil: add API for exporting video frame quantizersJuan De León2020-05-12
| | | | | | | | | | | | | | | This is intended to replace the deprecated the AV_FRAME_DATA_QP_TABLE* API and extend it to a wider range of codecs. In the future, it may also be extended to support other encoding parameters such as motion vectors. Additional changes by Anton Khirnov <anton@khirnov.net> with suggestions by Lynne <dev@lynne.ee>. Signed-off-by: Juan De León <juandl@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* doc/examples/muxing: convert to new encoding APIAnton Khirnov2020-05-12
|
* doc/examples/demuxing_decoding: convert to new decoding APIAnton Khirnov2020-05-12
|
* doc/examples/demuxing_decoding: drop -refcountAnton Khirnov2020-05-12
| | | | | Non-refcounted frames are deprecated and there is no good reason to use them.
* avcodec/utvideodec: Fix integer overflow in decode_plane()Michael Niedermayer2020-05-12
| | | | | | | | Fixes: signed integer overflow: 2147483594 + 142 cannot be represented in type 'int' Fixes: 20492/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_UTVIDEO_fuzzer-5658568101724160 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/ttadsp: Fix several integer overflows in tta_filter_process_c()Michael Niedermayer2020-05-12
| | | | | | | | Fixes: signed integer overflow: 1931744255 + 252497024 cannot be represented in type 'int' Fixes: 20492/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TTA_fuzzer-5763348114440192 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/ralf: Fix integer overflow in decode_block()Michael Niedermayer2020-05-12
| | | | | | | | Fixes: signed integer overflow: 289082077 - -2003141111 cannot be represented in type 'int' Fixes: 20492/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RALF_fuzzer-5196077752123392 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/nuv: widen buf_size typeMichael Niedermayer2020-05-12
| | | | | | | | Fixes: signed integer overflow: 65312 * 65312 cannot be represented in type 'int' Fixes: 20492/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_NUV_fuzzer-5740176118906880 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libswscale: fix for floating point formats, require full chromaMark Reid2020-05-12
| | | | | | upon more floating point testing, looks like I missed adding this bit. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* test: Add codecview testMichael Niedermayer2020-05-12
|