summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* libswscale: Make sws_init_context thread safe.Peter Lundblad2021-07-01
| | | | | | | Call ff_sws_rgb2rgb_init via ff_thread_once instead of checking one of the variables it updates. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/muxers: note atomic_writing in image2Gyan Doshi2021-06-30
| | | | Fixes #9308
* doc: remove duplicate @end commandJames Almer2021-06-29
| | | | | | Fixes regression since e11fd47f8df2631db9da14b22d34e3c390d91ba8 Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/vf_v360: add cylindrical equal area formatPaul B Mahol2021-06-30
|
* avcodec/cpia: Fix missing src_size updateMichael Niedermayer2021-06-29
| | | | | | | | Fixes: out of array read Fixes: 35210/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CPIA_fuzzer-5669199688105984 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/exr: Better size checksMichael Niedermayer2021-06-29
| | | | | | | | Fixes: signed integer overflow: 3530839700044513368 + 8386093932303352321 cannot be represented in type 'long long' Fixes: 35182/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EXR_fuzzer-5398383270428672 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/clearvideo: Check tile_size to be not too largeMichael Niedermayer2021-06-29
| | | | | | | | Fixes: left shift of 1 by 31 places cannot be represented in type 'int' Fixes: 35023/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CLEARVIDEO_fuzzer-6740166587842560 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/utils: Use 64bit for intermediate in AV_CODEC_ID_ADPCM_THP* duration ↵Michael Niedermayer2021-06-29
| | | | | | | | | | calculation Fixes: signed integer overflow: 486539264 * 14 cannot be represented in type 'int' Fixes: 35281/clusterfuzz-testcase-minimized-ffmpeg_dem_RSD_fuzzer-6068262742917120 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/h264_metadata_bsf: Allow zeroing constraint_set4_flag and ↵Derek Buitenhuis2021-06-29
| | | | | | | | | | | constraint_set5_flag These bits are reserved in earlier versions of the H.264 spec, and some poor hardware decoders require they are zero. Thus, it is useful to be able to zero these on streams that may have them set. The result is still a valid H.264 bitstream. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avformat/movenc: Support encryption of H.265 stream in AnnexB formatVadym Bezdushnyi2021-06-29
| | | | | | | | | | | | | | | | Steps to test: 1. Create h265 test files - mp4 and h265 AnnexB streams: ffmpeg -f lavfi -i testsrc=duration=10:size=640x480:rate=30 -c:v hevc input_h265.mp4 ffmpeg -f lavfi -i testsrc=duration=10:size=640x480:rate=30 -c:v hevc -bsf:v hevc_mp4toannexb input_h265.h265 2. Encrypt and decrypt files. Put appropriate input file name here: input_h265.mp4 or input_h265.h265 ffmpeg -i input_h265.h265 -vcodec copy -acodec copy -encryption_scheme cenc-aes-ctr \ -encryption_key 00000000000000000000000000000000 -encryption_kid 00000000000000000000000000000000 \ encrypted_h265.mp4 ffplay -i encrypted_h265.mp4 -decryption_key 00000000000000000000000000000000 Signed-off-by: Vadym Bezdushnyi <vadim.bezdush@gmail.com>
* avfilter/vf_guided: support single inputXuewei Meng2021-06-29
| | | | | | | | | | | | Support single input for guided filter by adding guidance mode. If the guidance mode is off, single input is required. And edge-preserving smoothing is conducted. If the mode is on, two inputs are needed. The second input serves as the guidance. For this mode, more tasks are supported, such as detail enhancement, dehazing and so on. Signed-off-by: Xuewei Meng <xwmeng96@gmail.com> Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
* doc/filters: mention availability of mcdeint, usppGyan Doshi2021-06-27
| | | | | | Filters are present in tree of master and in docs but were hard-disabled in 95054bfa48. They remain available in v4.4 or earlier.
* avformat/http: Stop cookie_dict leaking on errors.Robert Bengtsson-Ölund2021-06-26
| | | | | | This solves the memory leak reported in https://trac.ffmpeg.org/ticket/9273 Signed-off-by: Robert Bengtsson-Ölund <robert.bengtsson-olund@intinor.se>
* lavc: fix and extend AVCodecContext.get_format doxyAnton Khirnov2021-06-26
| | | | | | | Remove some incorrect (or at least misleading) statements, such as the formats being ordered by quality, or the first format being the native one. Neither of those are true for hardware acceleration, which is the main use of this callback.
* avcodec/libx264: Separate headers not supported in AVC-Intra modeLimin Wang2021-06-25
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/libx264: Add support for Sony XAVC Class 300 and 480Limin Wang2021-06-25
| | | | | Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/scale_cuda: add support for pixel format conversionTimo Rothenpieler2021-06-25
|
* avfilter/scale_cuda: combine separate CUDA sourcesTimo Rothenpieler2021-06-24
|
* avfilter/cuda: fix ptx inflation with large payloadsTimo Rothenpieler2021-06-24
|
* avcodec: Pass HDR10+ metadata to packet side data in VP9 encoderMohammad Izadi2021-06-24
| | | | | | | | | | | | | HDR10+ metadata is stored in the bit stream for HEVC. The story is different for VP9 and cannot store the metadata in the bit stream. HDR10+ should be passed to packet side data an stored in the container (mkv) for VP9. This CL is taking HDR10+ from AVFrame side data in libvpxenc and is passing it to the AVPacket side data. Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Zern <jzern@google.com>
* libavfilter: Fix fate-source after 072788c46e36a21ca9e8f1e3cc19a1944db5b89cMartin Storsjö2021-06-23
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avfilter: compress CUDA PTX code if possibleTimo Rothenpieler2021-06-22
|
* configure: msys also has .exe suffixTimo Rothenpieler2021-06-22
|
* avcodec/crystalhd: signal that the decoder sets all output frame propertiesJames Almer2021-06-21
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cuviddec: signal that the decoder sets all output frame propertiesJames Almer2021-06-21
| | | | | | Fixes memleaks described in ticket #9082. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cuviddec: remove unused AVCodec.decode() callbackJames Almer2021-06-21
| | | | | | The AVCodec.receive_frame() callback takes precedence. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/decode: reindent after the previous commitJames Almer2021-06-21
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/decode: add an internal codec flag to signal a decoder sets all ↵James Almer2021-06-21
| | | | | | | | | | output frame properties Decoders like cuviddec ignore and overwrite all the properties set by the generic code as derived from AVCodecInternal.last_pkt_props. This flag ensures libavcodec will not store and potentially queue input packets that ultimately will not be used. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/decode: fetch packets from the pkt_props FIFO on every frame returnedJames Almer2021-06-21
| | | | | | | Fixes memleaks on decoders that don't call ff_decode_frame_props(), like libdav1d. Signed-off-by: James Almer <jamrial@gmail.com>
* doc/protocols: Add remark about TCP_NODELAY to documentation of TCPThilo Borgmann2021-06-20
|
* lavf/rtmp: Add option to set TCP_NODELAY for rtmpNick Ruff2021-06-20
| | | | Suggested-By: ffmpeg@fb.com
* lavf/webmdashenc.c: Allow AV1 video in WebMMatthieu Patou2021-06-20
| | | | Suggested-By: ffmpeg@fb.com
* avformat/aaxdec: Check avio_seek() in header readingMichael Niedermayer2021-06-20
| | | | | | | | Fixes: Timeout Fixes: 32450/clusterfuzz-testcase-minimized-ffmpeg_dem_AAX_fuzzer-4875522262827008 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hevc_sei: Use get_bits_long() for time_offset_valueMichael Niedermayer2021-06-20
| | | | | | | | Fixes: assertion failure Fixes: crash_1 Found-by: Thuan Pham <tpham.unimelb@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavfi/vf_vpp_qsv: fix the time_base for outlinkHaihao Xiang2021-06-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 89ffcd1, the status pts of the output link is set to a value in the input link time base, not in the output link time base when EOF is reached. Usually this pst value is larger than the required one because the output link time base is more greater than the input link time base. When "-vf vpp_qsv,fps" is used, user has to wait a long time for the ending of the pipeline because fps filter output a huge number of frames until the wrong status pts is hit. The issue can be triggered with the command below (use a clip with 1000 frames in this case): $> time ffmpeg -hwaccel qsv -c:v hevc_qsv -i input.h265 -vf "vpp_qsv=w=1920:h=1080,fps=fps=30" -f null - ... [out_0_0 @ 0x564ccd27e020] 10000000 buffers queued in out_0_0, something may be wrong. frame=40119596 fps=88080 q=-0.0 Lsize=N/A time=371:28:39.96 bitrate=N/A speed=2.94e+03x video:17238889kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown real 9m7.451s user 2m34.102s sys 0m39.734s In order to avoid the above issue, the same time base for input and ouput links is used in this patch. Fixes ticket #9286 Signed-off-by: Zhong Li <zhongli_dev@126.com>
* lavc/qsvdec: fix ptsHaihao Xiang2021-06-20
| | | | | | | | | | | | | | | | | The time base used for compressed bitstream and video frame in the SDK is { 1, 90000 }. [1][2] This can avoid the error message below from the muxer. $> ffmpeg -hwaccel qsv -c:v hevc_qsv -i input.h265 -f null - ... [null @ 0x561c24f6f2f0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 2 >= 2 [1]https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxbitstream [2]https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxframedata Signed-off-by: Zhong Li <zhongli_dev@126.com>
* lavfi/dnn_backend_openvino.c: fix crash when target is not specifiedGuo Yejun2021-06-19
|
* avcodec/ccaption_dec: Make real-time latency configurablePavel Koshevoy2021-06-18
| | | | | | | | | | | Un-hardcode the 200ms minimum latency between emitting subtitle events so that those that wish to receive a subtitle event for every screen change could do so. The problem with delaying realtime output by any amount is that it is unknown when the next byte pair that would trigger output will happen. It may be within 200ms, or it may be several seconds later -- that's not realtime at all.
* doc/mailing-list-faq.texi: remove remaining references to FreenodeJames Almer2021-06-18
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/rmdec: Check old_format len for overflowMichael Niedermayer2021-06-18
| | | | | | | | | | | Maybe such large values could be disallowed earlier and closer to where they are set. Fixes: signed integer overflow: 538976288 * 8224 cannot be represented in type 'int' Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_RM_fuzzer-6704350354341888 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/realtextdec: Check the pts difference before using it for the ↵Michael Niedermayer2021-06-18
| | | | | | | | | | duration computation Fixes: signed integer overflow: 5404200000 - -9223372031709351616 cannot be represented in type 'long' Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_REALTEXT_fuzzer-6737340551790592 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/qcp: Avoid negative nb_ratesMichael Niedermayer2021-06-18
| | | | | | | | Fixes: signed integer overflow: 2 * -1725947872 cannot be represented in type 'int' Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_QCP_fuzzer-6726807632084992 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/pp_bnk: Use 64bit in bitrate computationMichael Niedermayer2021-06-18
| | | | | | | | Fixes: signed integer overflow: 1207959552 * 4 cannot be represented in type 'int' Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_PP_BNK_fuzzer-6747301169201152 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/nutdec: Check tmp_sizeMichael Niedermayer2021-06-18
| | | | | | | | Fixes: signed integer overflow: 2147483647 + 1 cannot be represented in type 'int' Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_NUT_fuzzer-6739990530883584 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/msf: Check that channels doesnt overflow during extradata constructionMichael Niedermayer2021-06-18
| | | | | | | | Fixes: signed integer overflow: 2048 * 1122336 cannot be represented in type 'int' Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_MSF_fuzzer-6726959600107520 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/subtitles: Check pts difference before useMichael Niedermayer2021-06-18
| | | | | | | | Fixes: signed integer overflow: 0 - -9223372036854775808 cannot be represented in type 'long' Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_MPL2_fuzzer-6747053545881600 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mpc8: Check for position overflow in mpc8_handle_chunk()Michael Niedermayer2021-06-18
| | | | | | | | | Fixes: signed integer overflow: 15 + 9223372036854775796 cannot be represented in type 'long' Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_MPC8_fuzzer-6723520756318208 Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_MPC8_fuzzer-6739833034768384 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mccdec: Fix overflows in num/denMichael Niedermayer2021-06-18
| | | | | | | | Fixes: signed integer overflow: 6365816 * 1000 cannot be represented in type 'int' Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_MCC_fuzzer-6737934184218624 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/iff: Use 64bit in duration computationMichael Niedermayer2021-06-18
| | | | | | | | Fixes: signed integer overflow: 588 * 16719904 cannot be represented in type 'int' Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_IFF_fuzzer-6748331936186368 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/dxa: Check fps to be within the supported range more precisselyMichael Niedermayer2021-06-18
| | | | | | | | | Fixes: negation of -2147483648 cannot be represented in type 'int32_t' (aka 'int'); cast to an unsigned type to negate this value to itself Fixes: assertion failure Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_DXA_fuzzer-6744985740378112 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>