aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* lavd/avfoundation: Use correct preprocessing directiveVittorio Giovara2023-12-111-1/+1
| | | | | | | Fixes compilation, introduced in e37b15e. src/libavdevice/avfoundation.m:799:10: error: invalid preprocessing directive #elseif (TARGET_OS_OSX && __MAC_OS_X_VERSION_MAX_ALLOWED < 140000)
* lavc/aacencdsp: R-V V abs_pow34sunyuechi2023-12-115-1/+86
| | | | | | | | C908: abs_pow34_c: 535.5 abs_pow34_rvv_f32: 337.2 Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
* checkasm: test for abs_pow34sunyuechi2023-12-115-1/+77
| | | | Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
* lvac/aacenc: add ff_aac_dsp_initsunyuechi2023-12-112-10/+15
| | | | | | This is for clarity and use in testing, consistent with other parts of the code. Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
* lavc/lpc: R-V V apply_welch_windowRémi Denis-Courmont2023-12-115-1/+131
| | | | | | | apply_welch_window_even_c: 617.5 apply_welch_window_even_rvv_f64: 235.0 apply_welch_window_odd_c: 709.0 apply_welch_window_odd_rvv_f64: 256.5
* avdevice/audiotoolbox: silence warning with new apixufuji4562023-12-111-0/+4
| | | | | | Building with macOS platform, the compiler has a warning: 'kAudioObjectPropertyElementMaster' is deprecated in macOS 12.0 Signed-off-by: xufuji456 <839789740@qq.com>
* hwcontext_vulkan: guard unistd.h includeBenjamin Cheng2023-12-111-1/+1
| | | | | | win32 typically doesn't have unistd.h, so always including it will break MSVC builds. The usage of those POSIX functions are already guarded by _WIN32, so use that to guard unistd.h include as well.
* avdevice/avfoundation: replace deprecated AVCaptureDevicexufuji4562023-12-111-5/+60
| | | | | | Building with iOS platform, the compiler has a warning: "'devicesWithMediaType:' is deprecated: first deprecated in iOS 10.0 - Use AVCaptureDeviceDiscoverySession instead" Signed-off-by: xufuji456 <839789740@qq.com>
* doc/ffmpeg: fix -copy_ts typo, should be -copytsMarth642023-12-111-1/+1
| | | | Signed-off-by: Marth64 <marth64@proxyid.net>
* tools/general_assembly: avoid using DateTime->is_between()Anton Khirnov2023-12-111-2/+2
| | | | It was added relatively recently and is not available everywhere.
* MAINTAINERS: Remove older s3tc entryVittorio Giovara2023-12-101-1/+0
| | | | Missed from a5b2b22d9a45c9634e6947d43945ebafe121abec.
* avfilter/select: initialize prev_selected_n to NANGyan Doshi2023-12-101-0/+1
| | | | | As per the doc, prev_selected_n should be NAN at the start. However, this was never set.
* doc/bitstream_filters: add setts exampleMarth642023-12-101-0/+5
|
* doc/ffmpeg: AV_FMT_DISCONT typo should be AVFMT_TS_DISCONTMarth642023-12-101-2/+2
|
* avformat/webpenc: Write correct size for single images when unseekableAndreas Rheinhardt2023-12-091-27/+41
| | | | | | | | | | | The earlier code writes the file and then tries to patch up the size later. This is avoidable for the common case of a single image because one can know the complete size in advance and write it. Fixes ticket #4609. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/webpenc: Reindent after the previous commitAndreas Rheinhardt2023-12-091-47/+47
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/webpenc: Return early to reduce indentationAndreas Rheinhardt2023-12-091-3/+3
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_libvmaf: fix string comparison bugnilfm2023-12-081-15/+15
| | | | | | | | | | The libvmaf filter was doing substring checks in place of string equality comparisons. This led to a bug when the user specified the pooling method "harmonic_mean", since "mean" was checked first and the substring comparison returned true. This patch changes all substring comparisons for string equality comparisons. This is both correct and more efficient than the existing method. Signed-off-by: nilfm <nilf@netflix.com>
* riscv: test for assembler supportRémi Denis-Courmont2023-12-0813-16/+33
| | | | | This should fix the build on LLVM 16 and earlier, at the cost of turning all non-RVV optimisations off.
* lavc/vc1dsp: R-V V inv_transsunyuechi2023-12-085-0/+167
| | | | | | | | | | | | | | C908: vc1dsp.vc1_inv_trans_4x4_dc_c: 125.7 vc1dsp.vc1_inv_trans_4x4_dc_rvv_i32: 53.5 vc1dsp.vc1_inv_trans_4x8_dc_c: 230.7 vc1dsp.vc1_inv_trans_4x8_dc_rvv_i32: 65.5 vc1dsp.vc1_inv_trans_8x4_dc_c: 228.7 vc1dsp.vc1_inv_trans_8x4_dc_rvv_i64: 64.5 vc1dsp.vc1_inv_trans_8x8_dc_c: 476.5 vc1dsp.vc1_inv_trans_8x8_dc_rvv_i64: 80.2 Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
* lavc/aarch64: h264qpel, add 10-bit lowpass_8_10 based functionsMikhail Nitenko2023-12-072-2/+621
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Benchmarks A53 A55 A72 A76 avg_h264_qpel_8_mc01_10_c: 936.5 924.0 656.0 504.7 avg_h264_qpel_8_mc01_10_neon: 234.7 202.0 120.7 63.2 avg_h264_qpel_8_mc02_10_c: 921.0 920.0 669.2 493.7 avg_h264_qpel_8_mc02_10_neon: 202.0 173.2 102.7 58.5 avg_h264_qpel_8_mc03_10_c: 936.5 924.0 656.0 509.5 avg_h264_qpel_8_mc03_10_neon: 236.2 203.7 120.0 63.2 avg_h264_qpel_8_mc10_10_c: 1441.0 1437.7 806.7 478.5 avg_h264_qpel_8_mc10_10_neon: 325.7 324.0 153.7 94.2 avg_h264_qpel_8_mc11_10_c: 2160.7 2148.2 1366.7 906.7 avg_h264_qpel_8_mc11_10_neon: 492.0 464.0 242.5 134.5 avg_h264_qpel_8_mc13_10_c: 2157.0 2138.2 1357.0 908.2 avg_h264_qpel_8_mc13_10_neon: 494.0 467.2 242.0 140.0 avg_h264_qpel_8_mc20_10_c: 1433.5 1410.0 785.2 486.0 avg_h264_qpel_8_mc20_10_neon: 293.7 289.7 138.0 91.5 avg_h264_qpel_8_mc30_10_c: 1458.5 1461.7 813.7 483.2 avg_h264_qpel_8_mc30_10_neon: 341.7 339.2 154.0 95.2 avg_h264_qpel_8_mc31_10_c: 2194.7 2197.2 1358.7 928.0 avg_h264_qpel_8_mc31_10_neon: 520.0 495.0 245.5 142.5 avg_h264_qpel_8_mc33_10_c: 2188.0 2205.5 1356.7 910.7 avg_h264_qpel_8_mc33_10_neon: 521.0 494.5 245.7 145.7 avg_h264_qpel_16_mc01_10_c: 3717.2 3595.0 2610.0 2012.0 avg_h264_qpel_16_mc01_10_neon: 920.5 791.5 483.2 240.5 avg_h264_qpel_16_mc02_10_c: 3684.0 3633.0 2659.0 1919.7 avg_h264_qpel_16_mc02_10_neon: 790.7 678.2 409.2 217.0 avg_h264_qpel_16_mc03_10_c: 3726.5 3596.0 2606.7 2010.0 avg_h264_qpel_16_mc03_10_neon: 922.0 792.5 483.2 239.7 avg_h264_qpel_16_mc10_10_c: 5912.0 5803.2 3241.5 1916.7 avg_h264_qpel_16_mc10_10_neon: 1267.5 1277.2 616.5 365.0 avg_h264_qpel_16_mc11_10_c: 8599.2 8482.5 5338.0 3616.2 avg_h264_qpel_16_mc11_10_neon: 1913.0 1827.0 956.2 542.2 avg_h264_qpel_16_mc13_10_c: 8643.7 8488.5 5388.0 3628.5 avg_h264_qpel_16_mc13_10_neon: 1914.7 1828.7 969.2 530.5 avg_h264_qpel_16_mc20_10_c: 5719.5 5641.0 3147.0 1946.2 avg_h264_qpel_16_mc20_10_neon: 1139.5 1150.0 539.5 344.0 avg_h264_qpel_16_mc30_10_c: 5930.0 5872.5 3267.5 1918.0 avg_h264_qpel_16_mc30_10_neon: 1331.5 1341.2 616.5 369.5 avg_h264_qpel_16_mc31_10_c: 8758.7 8697.7 5353.0 3630.7 avg_h264_qpel_16_mc31_10_neon: 2018.7 1941.7 982.2 574.7 avg_h264_qpel_16_mc33_10_c: 8683.2 8675.2 5339.2 3634.7 avg_h264_qpel_16_mc33_10_neon: 2019.7 1940.2 994.5 566.0 put_h264_qpel_8_mc01_10_c: 854.2 843.0 599.2 478.0 put_h264_qpel_8_mc01_10_neon: 192.7 168.0 101.7 56.7 put_h264_qpel_8_mc02_10_c: 766.5 760.0 550.2 441.0 put_h264_qpel_8_mc02_10_neon: 160.0 139.2 88.7 53.0 put_h264_qpel_8_mc03_10_c: 854.2 843.0 599.2 479.0 put_h264_qpel_8_mc03_10_neon: 194.2 169.7 102.0 56.2 put_h264_qpel_8_mc10_10_c: 1352.7 1353.7 749.7 446.7 put_h264_qpel_8_mc10_10_neon: 289.7 294.2 135.5 88.5 put_h264_qpel_8_mc11_10_c: 2080.0 2066.2 1309.5 876.7 put_h264_qpel_8_mc11_10_neon: 450.0 429.7 229.7 131.2 put_h264_qpel_8_mc13_10_c: 2074.7 2060.2 1294.5 870.5 put_h264_qpel_8_mc13_10_neon: 452.5 434.5 226.5 130.0 put_h264_qpel_8_mc20_10_c: 1221.5 1216.0 684.5 399.7 put_h264_qpel_8_mc20_10_neon: 257.7 262.5 121.2 78.7 put_h264_qpel_8_mc30_10_c: 1379.0 1374.7 757.2 449.5 put_h264_qpel_8_mc30_10_neon: 305.7 310.2 135.5 86.5 put_h264_qpel_8_mc31_10_c: 2109.2 2119.7 1299.5 878.0 put_h264_qpel_8_mc31_10_neon: 478.0 458.5 226.0 137.2 put_h264_qpel_8_mc33_10_c: 2101.5 2115.2 1306.5 887.0 put_h264_qpel_8_mc33_10_neon: 479.0 458.7 229.7 141.7 put_h264_qpel_16_mc01_10_c: 3485.7 3396.7 2460.5 1914.5 put_h264_qpel_16_mc01_10_neon: 752.5 665.5 397.0 213.2 put_h264_qpel_16_mc02_10_c: 3103.5 3023.2 2154.7 1720.7 put_h264_qpel_16_mc02_10_neon: 622.7 551.2 347.7 196.2 put_h264_qpel_16_mc03_10_c: 3486.2 3394.0 2436.5 1917.7 put_h264_qpel_16_mc03_10_neon: 754.0 666.5 397.0 215.7 put_h264_qpel_16_mc10_10_c: 5533.0 5488.5 2989.0 1783.0 put_h264_qpel_16_mc10_10_neon: 1123.5 1165.2 535.2 334.7 put_h264_qpel_16_mc11_10_c: 8437.7 8281.2 5209.0 3510.7 put_h264_qpel_16_mc11_10_neon: 1745.0 1697.0 878.5 513.5 put_h264_qpel_16_mc13_10_c: 8567.7 8468.0 5221.5 3528.0 put_h264_qpel_16_mc13_10_neon: 1751.7 1698.2 889.2 507.0 put_h264_qpel_16_mc20_10_c: 4907.5 4885.0 2786.2 1607.5 put_h264_qpel_16_mc20_10_neon: 995.5 1034.5 475.5 307.0 put_h264_qpel_16_mc30_10_c: 5579.7 5537.7 3045.2 1789.5 put_h264_qpel_16_mc30_10_neon: 1187.5 1231.2 532.5 334.5 put_h264_qpel_16_mc31_10_c: 8677.2 8672.5 5204.2 3516.0 put_h264_qpel_16_mc31_10_neon: 1850.7 1813.2 893.0 545.2 put_h264_qpel_16_mc33_10_c: 8688.7 8671.2 5223.2 3512.0 put_h264_qpel_16_mc33_10_neon: 1851.7 1814.2 908.5 535.2 Signed-off-by: Mikhail Nitenko <mnitenko@gmail.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* lavu/hwcontext_qsv: Make sure hardware vendor is Intel for qsv on d3d11vaHaihao Xiang2023-12-071-0/+6
| | | | | | | | | When multiple hardwares are available, the default one might not be Intel Hardware. We can use option vendor_id to choose the required vendor. Tested-by: Artem Galin <artem.galin@intel.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* doc/ffmpeg: Update the description about d3d11vaHaihao Xiang2023-12-071-0/+15
| | | | Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* lavu/hwcontext_d3d11va: Add option vendor_idArtem Galin2023-12-071-1/+58
| | | | | | | | User may choose the hardware via option vendor_id when multiple hardwares are available. Signed-off-by: Artem Galin <artem.galin@intel.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* avfilter/bwdif: account for chroma sub-sampling in min size calculationCosmin Stejerean2023-12-073-15/+16
| | | | | | | | | | | | | | | | The current logic for detecting frames that are too small for the algorithm does not account for chroma sub-sampling, and so a sample where the luma plane is large enough, but the chroma planes are not will not be rejected. In that event, a heap overflow will occur. This change adjusts the logic to consider the chroma planes and makes the change to all three bwdif implementations. Fixes #10688 Signed-off-by: Cosmin Stejerean <cosmin@cosmin.at> Reviewed-by: Thomas Mundt <tmundt75@gmail.com> Signed-off-by: Philip Langdale <philipl@overt.org>
* lavc/ac3dsp: R-V V float_to_fixed24sunyuechi2023-12-063-0/+44
| | | | | | | | c910 float_to_fixed24_c: 2207.2 float_to_fixed24_rvv_f32: 696.2 Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
* avfilter/asrc_flite: use streaming functionPaul B Mahol2023-12-061-20/+64
| | | | Fix continuous accumulation of audio samples for big txt inputs.
* avfilter/asrc_flite: switch to activatePaul B Mahol2023-12-061-11/+13
| | | | Allows to set EOF timestamp.
* fftools/ffmpeg: make sure FrameData is writable when we modify itAnton Khirnov2023-12-063-6/+21
| | | | | Also, add a function that returns const FrameData* for cases that only read from it.
* fftools/ffmpeg_filter: track input/output index in {Input,Output}FilterPrivAnton Khirnov2023-12-061-0/+6
| | | | Will be useful in following commits.
* lavfi/buffersink: avoid leaking peeked_frame on uninitAnton Khirnov2023-12-061-0/+9
|
* MAINTAINERS: add myself as vvc maintainerNuo Mi2023-12-051-0/+1
|
* tests/fate: add asegment filter testsPaul B Mahol2023-12-055-0/+1115
|
* avcodec/qoadec: fix overreads and fix packet size checkPaul B Mahol2023-12-051-3/+3
|
* doc/developer: require asm for RISC-VJean-Baptiste Kempf2023-12-051-1/+1
| | | | | | | Explicitly document our usage of assembly, following suit with other architectures. Signed-off-by: J. Dekker <jdek@itanimul.li>
* avcodec/av1dec: Fix resolving zero divisorMichael Niedermayer2023-12-051-1/+1
| | | | | | | | | | Fixes: Out of array read Fixes: global-buffer-overflow-AV1 Found-by: "Leonelli, Matteo" <matteo.leonelli@cispa.de> Tested-by: "Wang, Fei W" <fei.w.wang@intel.com> Reviewed-by: "Wang, Fei W" <fei.w.wang@intel.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mov: Ignore duplicate ftypMichael Niedermayer2023-12-051-2/+6
| | | | | | Fixes: switch_1080p_720p.mp4 Found-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* fate/jpegxl: add parser test for extboxes and small filesLeo Izen2023-12-052-0/+17
| | | | | | | Add a fate test for the above commits fixing extremely small files or files with extended box sizes. Signed-off-by: Leo Izen <leo.izen@gmail.com>
* avcodec/jpegxl_parser: fix parsing sequences of extremely small filesLeo Izen2023-12-051-4/+10
| | | | | | | This patch allows the JXL parser to parse sequences of extremely small files concatenated together. (e.g. smaller than the parser buffer) Signed-off-by: Leo Izen <leo.izen@gmail.com>
* avcodec/jpegxl_parse{,r}: use correct ISOBMFF extended size locationLeo Izen2023-12-052-7/+8
| | | | | | | | According to ISO/IEC 14996-12, size == 1 means a 64-bit extended-size field occurs *after* the 32-bit box type, not before. This fix should allow correct parsing of JXL files with extended-size boxes. Signed-off-by: Leo Izen <leo.izen@gmail.com>
* lavfi/vf_vpp_qsv: set the default value of async_depth to 4Haihao Xiang2023-12-051-1/+1
| | | | | | | Both qsv encoders and decoders use 4 as the default value of async_depth, let's use 4 as the default value for vpp_qsv filter too. Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* lavu/hwcontext_qsv: use mfxImplDescription instead of mfxExtendedDeviceId on ↵Haihao Xiang2023-12-051-4/+4
| | | | | | | | | | | | | Linux mfxExtendedDeviceId mightn't be supported in certain configurations of oneVPL on Linux, so we can't ensure a property filter for mfxExtendedDeviceId.DeviceID or mfxExtendedDeviceId.VendorID works as expected. This fixed the issue mentioned in [1] [1] http://ffmpeg.org/pipermail/ffmpeg-user/2023-October/056983.html Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* lavc/qsvdec: reduce info message when more data is requiredHaihao Xiang2023-12-051-1/+1
| | | | | | demote the info to AV_LOG_VERBOSE Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* lavc/qsvdec: return 0 if more data is requiredHaihao Xiang2023-12-051-0/+3
| | | | | | | | The type of qsv decoders is FF_CODEC_CB_TYPE_DECODE which must not return AVERROR(EAGAIN). commit 42b20c9 added an assertion to check the returned value. Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* configure: don't warn deprecated symbols from libvplHaihao Xiang2023-12-051-0/+1
| | | | | | | | | | | libvpl deprecated some symbols (e.g. MFX_EXTBUFF_VPP_DENOISE2 is used to replace MFX_EXTBUFF_VPP_DENOISE), however the new symbols aren't support by MediaSDK runtime. In order to support the combination of libvpl and MediaSDK runtime on legacy devices, we continue to use the deprecated symbols in FFmpeg. This patch added -DMFX_DEPRECATED_OFF to CFLAGS to silence the corresponding compilation warnings. Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* lavu/hwcontext_vaapi: ignore nonexistent device in default DRM device selectionHaihao Xiang2023-12-051-2/+13
| | | | | | | | | | It is possible that renderD128 doesn't exist but renderD129 is available in a system (see [1]). This change can make sure the default DRM device selection works even if renderD128 doesn't exist. [1] https://github.com/intel/intel-device-plugins-for-kubernetes/blob/main/cmd/gpu_plugin/README.md#issues-with-media-workloads-on-multi-gpu-setups Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* avfilter/af_dialoguenhance: add double-floating point sample format supportPaul B Mahol2023-12-042-203/+300
|
* avfilter/af_surround: refactor some codePaul B Mahol2023-12-041-4/+8
|
* fate: Add tests for QOA decoderCosmin Stejerean2023-12-045-0/+196
|
* avfilter/libvmaf: small cleanup for style, whitespace, unused LIBVMAFContext ↵Kyle Swanson2023-12-041-9/+2
| | | | | | struct members Signed-off-by: Kyle Swanson <kswanson@netflix.com>