summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* avformat/avio: privatize source of truth for AVIOContext::writtenJan Ekström2021-10-24
| | | | | | | | | | | Looking at 3f75e5116b900f1428aa13041fc7d6301bf1988a, the field was supposed to be private, but during merging the field and the group that had the comment about it got separated. Thus, move the actual privately utilized state of this variable into the private FFIOContext. Additionally, name the private field somewhat better, so that it does not get confused with the amount of bytes written out.
* avfilter/vf_dblur: add clippingPaul B Mahol2021-10-23
|
* avfilter/vf_dblur: use lrintf()Paul B Mahol2021-10-23
|
* avfilter/vf_dblur: fix artifactsPaul B Mahol2021-10-23
|
* avfilter/vf_convolution: improve runtime support for convolution filterPaul B Mahol2021-10-23
|
* avfilter/vf_convolution: unbreak runtime planes option functionalityPaul B Mahol2021-10-23
| | | | For non-convolution filters like sobel.
* avcodec/flac_parser: Consider AV_INPUT_BUFFER_PADDING_SIZEMichael Niedermayer2021-10-22
| | | | | | | | | Fixes: out if array read Fixes: 40109/clusterfuzz-testcase-minimized-ffmpeg_dem_FLAC_fuzzer-4805686811295744 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Mattias Wadman <mattias.wadman@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/vf_selectivecolor: no need to use doublesPaul B Mahol2021-10-22
|
* avfilter/vf_bilateral: add slice threading supportPaul B Mahol2021-10-22
|
* avfilter/vf_bilateral: add direct aka writable frame supportPaul B Mahol2021-10-22
|
* avfilter/vf_bilateral: properly round float resultPaul B Mahol2021-10-21
|
* avfilter/vf_bilateral: remove unused argumentsPaul B Mahol2021-10-21
|
* avfilter/vf_bilateral: remove unneeded multiplicationsPaul B Mahol2021-10-21
|
* avformat/mov: Do not hard fail if bit rate calculation overflows unless in ↵Derek Buitenhuis2021-10-21
| | | | | | | | | | explode mode bit_rate is not a critical field, and we shouln't hard fail if we can't caluclate it due to a large timebase - it needlessly breaks valid files. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avformat/mov: Use av_rescale when calculating bit rateDerek Buitenhuis2021-10-21
| | | | | | It is less susceptible to overflows. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avcodec/ttadsp: Fix integer overflows in tta_filter_process_c()Michael Niedermayer2021-10-21
| | | | | | | | Fixes: signed integer overflow: 822841647 + 1647055738 cannot be represented in type 'int' Fixes: 39935/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TTA_fuzzer-4592657142251520 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* tools/target_dec_fuzzer: Adjust threshold for MXPEGMichael Niedermayer2021-10-21
| | | | | | | | Fixes: Timeout Fixes: 39813/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MXPEG_fuzzer-6010298067189760 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/mathematics: Document av_rescale_rnd() behavior on non int64 resultsMichael Niedermayer2021-10-21
| | | | | Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/vf_eq: add support for alpha channelthe.real.laplace@gmail.com2021-10-21
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/filters: add notes for varblurGyan Doshi2021-10-21
|
* avcodec/atsc_a53: use AVERROR_INVALIDDATALimin Wang2021-10-20
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/hevc_sei: remove the duplicate checkLimin Wang2021-10-20
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/vf_showinfo: small adjustments for the HDR10+ dumpLimin Wang2021-10-20
| | | | | | | | | | | | | | | | | | | | summary for the adjustments: 1, remove the extra "," in the ,} ...{0.2004,0.3001,0.4008,0.5005,0.6002,0.7009,0.8006,0.9013,} to ...{0.2004,0.3001,0.4008,0.5005,0.6002,0.7009,0.8006,0.9013} 2, add "," between the } and new field } fraction_bright_pixels to }, fraction_bright_pixels 3, remove the extra space between "} }" ...{0.2004,0.3001,0.4008,0.5005,0.6002,0.7009,0.8006,0.9013,} } to ...{0.2004,0.3001,0.4008,0.5005,0.6002,0.7009,0.8006,0.9013,}} Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/af_replaygain: use fabsf() instead of fabs()Limin Wang2021-10-20
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/mpegtsenc: add AVSV format_identifier for AVS standardLimin Wang2021-10-20
| | | | | | | Listing of Registered Identifiers: https://smpte-ra.org/registered-mpeg-ts-ids Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/mpegts: add support for stream_type 0xd4, which is AVS3Limin Wang2021-10-20
| | | | | | | | GB/T 17975.1 Information technology-Generic coding of moving pictures and associated audio information-Part 1:Systems Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/vf_v360: make reset_rot option not lose its valuePaul B Mahol2021-10-20
| | | | Unless -1 value is provided then rotation is reset single time.
* avcodec/libx264: move sei_data_size out of the for loopJames Almer2021-10-20
| | | | | | Otherwise its value will be reset on each iteration. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mpegts: add support for stream_type 0xd2, which is AVS2Limin Wang2021-10-19
| | | | | | | | GB/T 17975.1 Information technology-Generic coding of moving pictures and associated audio information-Part 1:Systems Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/extract_extradata_bsf: add support for AVS3Limin Wang2021-10-19
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat: add raw avs3 muxerLimin Wang2021-10-19
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter: add varblur video filterPaul B Mahol2021-10-19
|
* avcodec/libx264: copy unregistered data SEI messages to the input x264 pictureJames Almer2021-10-18
| | | | | | Fixes undefined behavior. Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/af_alimiter: add timeline and commands supportPaul B Mahol2021-10-18
|
* libavcodec/flac_parser: Validate subframe zero bit and typeMattias Wadman2021-10-18
| | | | | | | Reduces the risk of finding false frames that happens to have valid values and CRC. Fixes ticket #9185 ffmpeg flac decoder incorrectly finds junk frame https://trac.ffmpeg.org/ticket/9185
* avfilter/vf_fftdnoiz: fix missing funcionalityPaul B Mahol2021-10-18
|
* avfilter/vf_fftdnoiz: add command options supportPaul B Mahol2021-10-18
|
* avfilter/vf_fftdnoiz: add slice threading supportPaul B Mahol2021-10-18
|
* avcodec/h264_picture: don't assume Film Grain Params side data will be presentJames Almer2021-10-18
| | | | | | | | | | | If a decoding error happens before frame side data is allocated, this assert may be triggered. And since applying film grain is not enforced (we just warn it wasn't applied and move on), we can just do that in such scenarios. Fixes: Assertion failure Fixes: clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_H264_fuzzer-5528650032742400 Signed-off-by: James Almer <jamrial@gmail.com>
* libavcodec/libx264: add user data unregistered SEI encodingBrad Hards2021-10-18
| | | | | | | | | | | | | MISB ST 0604 and ST 2101 require user data unregistered SEI messages (precision timestamps and sensor identifiers) to be included. That currently isn't supported for libx264. This patch adds support for user data unregistered SEI messages in accordance with ISO/IEC 14496-10:2020(E) section D.1.7 (syntax) and D.2.7 (semantics). This code is based on a similar change for libx265 (commit 1f58503013720700a5adfd72c708e6275aefc165). Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* seek: Fix crashes in ff_seek_frame_binary if built with latest Clang 14Martin Storsjö2021-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | Passing an uninitialized variable as argument to a function is undefined behaviour (UB). The compiler can assume that UB does not happen. Hence, the compiler can assume that the variables are never uninitialized when passed as argument, which means that the codepaths that initializes them must be taken. In ff_seek_frame_binary, this means that the compiler can assume that the codepaths that initialize pos_min and pos_max are taken, which means that the conditions "if (sti->index_entries)" and "if (index >= 0)" can be optimized out. Current Clang git versions (upcoming Clang 14) enabled an optimization that does this, which broke the current version of this function (which intentionally left the variables uninitialized, but silencing warnings about being uninitialized). See [1] for discussion on the matter. [1] https://reviews.llvm.org/D105169#3069555 Signed-off-by: Martin Storsjö <martin@martin.st>
* aarch64: h264qpel: Do vertical filtering without transposingMartin Storsjö2021-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gives rather big speedups on these functions: Before: put_h264_qpel_8_mc01_8_neon: 241.0 131.5 138.7 put_h264_qpel_8_mc02_8_neon: 214.7 121.2 127.5 put_h264_qpel_8_mc03_8_neon: 242.5 131.2 135.7 put_h264_qpel_8_mc11_8_neon: 421.2 218.7 251.0 put_h264_qpel_8_mc12_8_neon: 878.0 509.5 537.5 put_h264_qpel_8_mc13_8_neon: 423.7 217.0 252.0 put_h264_qpel_8_mc21_8_neon: 858.2 479.5 514.0 put_h264_qpel_8_mc22_8_neon: 649.7 385.2 403.0 put_h264_qpel_8_mc23_8_neon: 860.2 476.5 517.7 put_h264_qpel_8_mc31_8_neon: 437.2 219.5 252.5 put_h264_qpel_8_mc32_8_neon: 892.5 510.5 546.0 put_h264_qpel_8_mc33_8_neon: 438.2 218.5 257.0 put_h264_qpel_16_mc01_8_neon: 944.2 509.7 546.7 put_h264_qpel_16_mc02_8_neon: 878.7 469.5 509.7 put_h264_qpel_16_mc03_8_neon: 945.7 510.7 557.0 put_h264_qpel_16_mc11_8_neon: 1663.2 858.5 979.5 put_h264_qpel_16_mc12_8_neon: 3510.2 2027.7 2112.7 put_h264_qpel_16_mc13_8_neon: 1664.7 857.5 980.5 put_h264_qpel_16_mc21_8_neon: 3366.2 1928.5 2030.5 put_h264_qpel_16_mc22_8_neon: 2584.7 1514.7 1590.2 put_h264_qpel_16_mc23_8_neon: 3367.7 1927.7 2035.0 put_h264_qpel_16_mc31_8_neon: 1716.7 849.7 997.0 put_h264_qpel_16_mc32_8_neon: 3564.0 2044.2 3835.2 put_h264_qpel_16_mc33_8_neon: 1717.7 863.0 989.5 After: put_h264_qpel_8_mc01_8_neon: 136.0 73.7 76.0 put_h264_qpel_8_mc02_8_neon: 108.7 65.0 64.0 put_h264_qpel_8_mc03_8_neon: 137.5 72.7 73.0 put_h264_qpel_8_mc11_8_neon: 316.2 159.0 188.5 put_h264_qpel_8_mc12_8_neon: 653.0 375.5 384.7 put_h264_qpel_8_mc13_8_neon: 318.7 165.5 189.5 put_h264_qpel_8_mc21_8_neon: 739.2 385.7 432.5 put_h264_qpel_8_mc22_8_neon: 530.7 295.5 309.5 put_h264_qpel_8_mc23_8_neon: 741.2 393.7 421.0 put_h264_qpel_8_mc31_8_neon: 332.2 162.5 190.0 put_h264_qpel_8_mc32_8_neon: 667.5 378.2 390.5 put_h264_qpel_8_mc33_8_neon: 332.7 166.5 195.5 put_h264_qpel_16_mc01_8_neon: 524.2 285.2 294.0 put_h264_qpel_16_mc02_8_neon: 454.7 252.2 250.2 put_h264_qpel_16_mc03_8_neon: 525.7 286.0 283.0 put_h264_qpel_16_mc11_8_neon: 1243.2 630.7 726.7 put_h264_qpel_16_mc12_8_neon: 2610.2 1479.7 1481.2 put_h264_qpel_16_mc13_8_neon: 1250.5 631.7 727.7 put_h264_qpel_16_mc21_8_neon: 2890.2 1571.2 1679.7 put_h264_qpel_16_mc22_8_neon: 2108.7 1177.5 1223.5 put_h264_qpel_16_mc23_8_neon: 2891.7 1578.7 1667.7 put_h264_qpel_16_mc31_8_neon: 1296.7 630.5 752.5 put_h264_qpel_16_mc32_8_neon: 2664.0 1483.2 1503.5 put_h264_qpel_16_mc33_8_neon: 1297.7 632.5 747.2 I.e. overall a 20%-60% reduction in runtime of these functions. Signed-off-by: Martin Storsjö <martin@martin.st>
* arm/aarch64: Improve scheduling in the avg form of h264_qpelMartin Storsjö2021-10-18
| | | | | | | Don't use the loaded registers directly, avoiding stalls on in order cores. Use vrhadd.u8 with q registers where easily possible. Signed-off-by: Martin Storsjö <martin@martin.st>
* doc/filters: correct description of select filter variablesGyan Doshi2021-10-18
|
* avfilter/vf_w3fdif: do not output extra frame at start with deint=interlacedPaul B Mahol2021-10-18
|
* avcodec/speexdec: Seed should be unsigned otherwise the operations done on ↵Michael Niedermayer2021-10-17
| | | | | | | | | | | it are undefined Fixes: signed integer overflow: 1664525000 + 1013904223 cannot be represented in type 'int' Fixes: 39865/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SPEEX_fuzzer-4979694508834816 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/hevc_filter: Correct indentionLimin Wang2021-10-17
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/hevc_filter: remove unneeded headersLimin Wang2021-10-17
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/hevcdec: remove unused codeLimin Wang2021-10-17
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/rtpdec_rfc4175: add support for RANGELimin Wang2021-10-17
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>