Re: [FFmpeg-devel] [FFmpeg-cvslog] avformat/tls_schannel: add DTLS support

2025-07-12 Thread Hendrik Leppkes
On Sun, Jul 13, 2025 at 4:59 AM James Almer wrote: > > On 7/12/2025 9:32 PM, Michael Niedermayer wrote: > > On Fri, Jul 11, 2025 at 04:04:17PM +, Timo Rothenpieler wrote: > >> ffmpeg | branch: master | Timo Rothenpieler | Tue > >> Jun 24 19:30:19 2025 +0200| [90fa9636efff84ec5a4b06815722c081

Re: [FFmpeg-devel] [FFmpeg-cvslog] avformat/tls_schannel: add DTLS support

2025-07-12 Thread James Almer
On 7/12/2025 9:32 PM, Michael Niedermayer wrote: On Fri, Jul 11, 2025 at 04:04:17PM +, Timo Rothenpieler wrote: ffmpeg | branch: master | Timo Rothenpieler | Tue Jun 24 19:30:19 2025 +0200| [90fa9636efff84ec5a4b06815722c08188dca551] | committer: Timo Rothenpieler avformat/tls_schannel: a

Re: [FFmpeg-devel] [PATCH v2 1/3] avformat/sapenc: fix leak in sap_write_header()

2025-07-12 Thread Lidong Yan
Michael Niedermayer write: > On Thu, Jul 10, 2025 at 10:20:45AM +0800, Lidong Yan wrote: > > In sap_write_header(), ff_format_set_url() assign new allocated new_url > > to contexts[i]->url but forgot to free it later. Add for loop to free > > contexts[i]->url before av_free(context). > > > > To p

[FFmpeg-devel] [PATCH 5/5] avcodec/osq: Fix 32bit sample overflow

2025-07-12 Thread Michael Niedermayer
Fixes: signed integer overflow: 2147483565 + 128 cannot be represented in type 'int' Fixes: 428055715/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_OSQ_fuzzer-6358069900804096 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by:

[FFmpeg-devel] [PATCH 4/5] avcodec/mpegvideo_dec: Fix lowres=3 field select interlaced mpeg4 frame

2025-07-12 Thread Michael Niedermayer
Fixes: out of array read in the chroma plane Fixes: 428034092/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_DEC_fuzzer-5582608941776896.test Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- liba

[FFmpeg-devel] [PATCH 3/5] avcodec/h264chroma_template: Replace variable by constant in chroma mc

2025-07-12 Thread Michael Niedermayer
Signed-off-by: Michael Niedermayer --- libavcodec/h264chroma_template.c | 30 +++--- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/libavcodec/h264chroma_template.c b/libavcodec/h264chroma_template.c index b9d24f5a0cd..b20811a71ae 100644 --- a/libavcodec/h

[FFmpeg-devel] [PATCH 2/5] avformat/concatdec: Clip duration in one more case in get_best_effort_duration()

2025-07-12 Thread Michael Niedermayer
Fixes: signed integer overflow: 4 - -922337203685477 cannot be represented in type 'long' Fixes: 427262541/clusterfuzz-testcase-minimized-ffmpeg_dem_CONCAT_fuzzer-4831506940100608 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-

[FFmpeg-devel] [PATCH 1/5] avformat/flvdec: Check for EOF in AudioPacketTypeMultichannelConfig

2025-07-12 Thread Michael Niedermayer
Fixes: Infinite loop Fixes: 427538726/clusterfuzz-testcase-minimized-ffmpeg_dem_FLV_fuzzer-6582567304495104 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- libavformat/flvdec.c | 3 +++ 1 file changed, 3

Re: [FFmpeg-devel] [FFmpeg-cvslog] avformat/tls_schannel: add DTLS support

2025-07-12 Thread Michael Niedermayer
On Fri, Jul 11, 2025 at 04:04:17PM +, Timo Rothenpieler wrote: > ffmpeg | branch: master | Timo Rothenpieler | Tue Jun > 24 19:30:19 2025 +0200| [90fa9636efff84ec5a4b06815722c08188dca551] | > committer: Timo Rothenpieler > > avformat/tls_schannel: add DTLS support > > > http://git.videolan

[FFmpeg-devel] [PATCH v2 13/13] WIP vp9: add Vulkan VP9 hwaccel

2025-07-12 Thread Lynne
--- configure| 2 + libavcodec/Makefile | 1 + libavcodec/hwaccels.h| 1 + libavcodec/vp9.c | 18 +- libavcodec/vulkan_decode.c | 24 +++ libavcodec/vulkan_decode.h | 1 + libavcodec/vulkan_vp9.c | 366

[FFmpeg-devel] [PATCH v2 11/13] scale_vulkan: add support for basic Debayering

2025-07-12 Thread Lynne
--- libavfilter/vf_scale_vulkan.c | 60 +-- libavfilter/vulkan/Makefile | 1 + libavfilter/vulkan/debayer.comp | 102 3 files changed, 159 insertions(+), 4 deletions(-) create mode 100644 libavfilter/vulkan/debayer.comp diff --git a/libav

[FFmpeg-devel] [PATCH v2 12/13] lavc/vp9dec: use cbs_vp9 to parse the frame header

2025-07-12 Thread Lynne
--- configure | 2 +- libavcodec/vp9.c | 40 libavcodec/vp9dec.h| 6 ++ libavcodec/vp9shared.h | 4 4 files changed, 51 insertions(+), 1 deletion(-) diff --git a/configure b/configure index eeb81d7aa3..92ee54c7a6 100755 -

[FFmpeg-devel] [PATCH v2 09/13] lavc: add a ProRes RAW Vulkan hwaccel

2025-07-12 Thread Lynne
This commit adds a ProRes RAW hardware implementation written in Vulkan. Both version 0 and version 1 streams are supported. The implementation is highly parallelized, with 512 invocations dispatched per every tile, with generally 4k tiles on a 5.8k stream. Thanks to unlord for the 8-point iDCT.

[FFmpeg-devel] [PATCH v2 10/13] scale_vulkan: refactor shader initialization

2025-07-12 Thread Lynne
--- libavfilter/vf_scale_vulkan.c | 160 ++ 1 file changed, 85 insertions(+), 75 deletions(-) diff --git a/libavfilter/vf_scale_vulkan.c b/libavfilter/vf_scale_vulkan.c index 1d6492e213..46b1476933 100644 --- a/libavfilter/vf_scale_vulkan.c +++ b/libavfilter/vf_sca

[FFmpeg-devel] [PATCH v2 06/13] lavc: add codec ID and profiles for ProRes RAW

2025-07-12 Thread Lynne
--- libavcodec/codec_desc.c | 8 libavcodec/codec_id.h | 1 + libavcodec/defs.h | 3 +++ libavcodec/profiles.c | 6 ++ libavcodec/profiles.h | 1 + libavformat/isom_tags.c | 4 6 files changed, 23 insertions(+) diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_

[FFmpeg-devel] [PATCH v2 08/13] lavc: add a ProRes RAW decoder

2025-07-12 Thread Lynne
--- configure | 1 + libavcodec/Makefile | 1 + libavcodec/allcodecs.c | 1 + libavcodec/prores_raw.c | 525 libavcodec/prores_raw.h | 60 + 5 files changed, 588 insertions(+) create mode 100644 libavcodec/prores_raw.c create

[FFmpeg-devel] [PATCH v2 07/13] lavc: add a ProRes RAW parser

2025-07-12 Thread Lynne
Simple parser that only parses frame information. This helps avoid requiring the software decoder on init to decode a single frame, since the decoder can be quite slow. --- libavcodec/Makefile| 1 + libavcodec/parsers.c | 1 + libavcodec/prores_raw_parser.c | 72 +++

[FFmpeg-devel] [PATCH v2 05/13] lavc/vulkan/common: sign-ify lengths

2025-07-12 Thread Lynne
This makes left_bits return useful data rather than overflowing, and also saves some 64-bit integer operations, which is still always a plus sadly. --- libavcodec/vulkan/common.comp | 22 +++--- libavcodec/vulkan/ffv1_dec_setup.comp | 2 +- libavcodec/vulkan/ffv1_vlc.comp

[FFmpeg-devel] [PATCH v2 03/13] hwcontext_vulkan: enable uniformBufferStandardLayout

2025-07-12 Thread Lynne
--- libavutil/hwcontext_vulkan.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 5a9b995eb9..c20ebde36d 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -280,6 +280,7 @@ static void device_feature

[FFmpeg-devel] [PATCH v2 04/13] vulkan: add support for 16-bit RGGB Bayer pixfmt

2025-07-12 Thread Lynne
--- libavutil/hwcontext_vulkan.c | 3 +++ libavutil/vulkan.c | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index c20ebde36d..e818099fdb 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcont

[FFmpeg-devel] [PATCH v2 02/13] hwcontext_vulkan: temporarily disable host_image_copy

2025-07-12 Thread Lynne
NVIDIA's support for it is a disaster. Of no benefit to other vendors. NVIDIA are working on fixing it, but it may take time. --- libavutil/hwcontext_vulkan.c | 1 - 1 file changed, 1 deletion(-) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 894bc3dae1..5a9b995eb

[FFmpeg-devel] [PATCH v2 01/13] vf_libplacebo: add support for specifying a LUT for the input

2025-07-12 Thread Lynne
This makes it possible to apply Adobe .cube files to inputs. --- doc/filters.texi| 30 ++ libavfilter/vf_libplacebo.c | 36 2 files changed, 66 insertions(+) diff --git a/doc/filters.texi b/doc/filters.texi index ed2956f

Re: [FFmpeg-devel] [PATCH v2 1/3] avformat/sapenc: fix leak in sap_write_header()

2025-07-12 Thread Michael Niedermayer
On Thu, Jul 10, 2025 at 10:20:45AM +0800, Lidong Yan wrote: > In sap_write_header(), ff_format_set_url() assign new allocated new_url > to contexts[i]->url but forgot to free it later. Add for loop to free > contexts[i]->url before av_free(context). > > To prevent from writing free-for-loop in eve

Re: [FFmpeg-devel] [PATCH v2] libavcodec/alsdec.c: Add check for av_malloc_array() and av_calloc()

2025-07-12 Thread Michael Niedermayer
On Thu, Jul 10, 2025 at 04:26:39PM +, Jiasheng Jiang wrote: > Add check for the return value of av_malloc_array() and av_calloc() > to avoid potential NULL pointer dereference. > > Fixes: dcfd24b10c ("avcodec/alsdec: Implement floating point sample data > decoding") > Signed-off-by: Jiasheng

[FFmpeg-devel] [PATCH v2] fftools/cmdutils: Add av_freep() to avoid memory leak

2025-07-12 Thread Jiasheng Jiang
Add av_freep() to free new_elem to avoid memory leak. Fixes: 2d0bfbd0fa ("fftools/cmdutils: Use av_dynarray_add_nofree()") Signed-off-by: Jiasheng Jiang --- Changlog: v1 -> v2: 1. Remove the unnecessary return NULL. --- fftools/cmdutils.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletio

[FFmpeg-devel] [PATCH v3 4/6] WHIP: X509 cert serial number should be positive.

2025-07-12 Thread Jack Lau
From: winlin See RFC5280 4.1.2.2 Co-authored-by: Jack Lau Signed-off-by: winlin --- libavformat/tls_openssl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c index 2a01fb387d..285ea166ac 100644 --- a/libavformat/tls_o

[FFmpeg-devel] [PATCH v3 6/6] avformat/whip: reindent whip options

2025-07-12 Thread Jack Lau
Signed-off-by: Jack Lau --- libavformat/whip.c | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libavformat/whip.c b/libavformat/whip.c index d954e80830..f7eb6e1323 100644 --- a/libavformat/whip.c +++ b/libavformat/whip.c @@ -2089,13 +2089,13 @@ static int whip_c

[FFmpeg-devel] [PATCH v3 5/6] avformat/whip: implement NACK and RTX suppport

2025-07-12 Thread Jack Lau
RTP retransmission described in RFC4588 (RTX) is an effective packet loss recovery technique for real-time applications with relaxed delay bounds. This patch provides a minimal implementation for RTX and RTCP NACK (RFC3940) and its associated SDP signaling and negotiation. Co-authored-by: Sergio

[FFmpeg-devel] [PATCH v3 3/6] avformat/whip: fix H264 profile_iop bit map for SDP

2025-07-12 Thread Jack Lau
AVCodecParameters::profile only contains constraint_set1_flag (AV_PROFILE_H264_CONSTRAINED 1<<9). So add H264 constraints flag fully parse refer to hlsenc write_codec_attr Signed-off-by: Jack Lau --- libavformat/whip.c | 47 -- 1 file changed, 16 inser

[FFmpeg-devel] [PATCH v3 2/6] avformat/whip: fix typos

2025-07-12 Thread Jack Lau
Remove redundant "WHIP: " prefix in log context since it already add whip context. Fix grammers in whip options descriptions Signed-off-by: Jack Lau --- libavformat/whip.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavformat/whip.c b/libavformat/whip.c index e

[FFmpeg-devel] [PATCH v3 1/6] avformat/whip: add whip_flags ignore_ipv6 to skip IPv6 ICE candidates

2025-07-12 Thread Jack Lau
mark this ignore_ipv6 flag could ignore any IPv6 ICE candidate, preventing “No route to host” errors on devices without IPv6 connectivity. Signed-off-by: Jack Lau --- libavformat/whip.c | 17 - 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/libavformat/whip.c b/lib

[FFmpeg-devel] [PATCH v3 0/6] avformat/whip: Add NACK and RTX support

2025-07-12 Thread Jack Lau
Version 3 of https://ffmpeg.org/pipermail/ffmpeg-devel/2025-July/346052.html This patchset rebase latest commit Jack Lau (5): avformat/whip: add whip_flags ignore_ipv6 to skip IPv6 ICE candidates avformat/whip: fix typos avformat/whip: fix H264 profile_iop bit map for SDP avformat/whip: i

Re: [FFmpeg-devel] [PATCH, v5] avcodec/d3d12va_encode: texture array support for HEVC

2025-07-12 Thread Tong Wu
Araz Iusubov: > -Original Message- > From: ffmpeg-devel On Behalf Of Araz > Iusubov > Sent: Monday, July 7, 2025 9:52 PM > To: ffmpeg-devel@ffmpeg.org > Cc: Araz Iusubov > Subject: [FFmpeg-devel] [PATCH, v5] avcodec/d3d12va_encode: texture array > support for HEVC > > This patch adds s

Re: [FFmpeg-devel] [PATCH 7/7] lavc: add a ProRes RAW Vulkan hwaccel

2025-07-12 Thread Michael Niedermayer
Hi lynne On Fri, Jul 11, 2025 at 12:13:35AM +0900, Lynne wrote: > This commit adds a ProRes RAW hardware implementation written in Vulkan. > Both version 0 and version 1 streams are supported. > The implementation is highly parallelized, with 512 invocations dispatched > per every tile, with gener

Re: [FFmpeg-devel] [PATCH 6/7] lavc: add a ProRes RAW decoder

2025-07-12 Thread Michael Niedermayer
Hi Lynne On Fri, Jul 11, 2025 at 12:13:34AM +0900, Lynne wrote: > --- > configure | 1 + > libavcodec/Makefile| 1 + > libavcodec/allcodecs.c | 1 + > libavcodec/proresdec_raw.c | 519 + > libavcodec/proresdec_raw.h | 60

[FFmpeg-devel] [PATCH] avfilter/vf_thumbnail: unroll and use multiple histograms

2025-07-12 Thread Niklas Haas
From: Niklas Haas This naive hist[p[x]]++ loop suffers badly when there are large regions of identical values in the image, because of store-to-load forwarding delay. Splitting up the histogram into four "parallel" histograms and processing them one at a time speeds things up significantly, abou

[FFmpeg-devel] [PATCH v8 02/18] swscale/format: rename legacy format conversion table

2025-07-12 Thread Niklas Haas
From: Niklas Haas --- libswscale/format.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/libswscale/format.c b/libswscale/format.c index 53162f8756..ac130a2595 100644 --- a/libswscale/format.c +++ b/libswscale/format.c @@ -24,14 +24,14 @@ #include "form

Re: [FFmpeg-devel] [PATCH v3 1/2] avcodec/aac_ac3_parser: simplify

2025-07-12 Thread Michael Niedermayer
On Fri, Jul 11, 2025 at 11:54:29AM +0200, Nicolas Gaullier wrote: > Remove unused USAC/ADTS code: ff_adts_header_parse() parse the > object_type from a 2 bits field. > See also 696ea1c2236842572df88d573e24a39be3f19c98. > > Use ff_adts_header_parse_buf() wrapper to simplify as GetBitContext is > no

[FFmpeg-devel] [PATCH v8 03/18] swscale/format: add ff_fmt_clear()

2025-07-12 Thread Niklas Haas
From: Niklas Haas Reset an SwsFormat to its fully unset/invalid state. --- libswscale/format.h | 14 ++ 1 file changed, 14 insertions(+) diff --git a/libswscale/format.h b/libswscale/format.h index 3b6d745159..be92038f4f 100644 --- a/libswscale/format.h +++ b/libswscale/format.h @@

[FFmpeg-devel] [PATCH v8 10/18] swscale/ops: add dispatch layer

2025-07-12 Thread Niklas Haas
From: Niklas Haas This handles the low-level execution of an op list, and integration into the SwsGraph infrastructure. To handle frames with insufficient padding in the stride (or a width smaller than one block size), we use a fallback loop that pads the last column of pixels using `memcpy` into

[FFmpeg-devel] [PATCH v8 17/18] swscale/format: add new format decode/encode logic

2025-07-12 Thread Niklas Haas
From: Niklas Haas This patch adds format handling code for the new operations. This entails fully decoding a format to standardized RGB, and the inverse. Handling it this way means we can always guarantee that a conversion path exists from A to B without having to explicitly cover logic for each

[FFmpeg-devel] [PATCH v8 12/18] swscale/ops_chain: add internal abstraction for kernel linking

2025-07-12 Thread Niklas Haas
From: Niklas Haas See doc/swscale-v2.txt for design details. --- libswscale/Makefile| 1 + libswscale/ops_chain.c | 291 + libswscale/ops_chain.h | 134 +++ 3 files changed, 426 insertions(+) create mode 100644 libswscale/ops_chain.c

[FFmpeg-devel] [PATCH v8 11/18] swscale/optimizer: add packed shuffle solver

2025-07-12 Thread Niklas Haas
From: Niklas Haas This can turn any compatible sequence of operations into a single packed shuffle, including packed swizzling, grayscale->RGB conversion, endianness swapping, RGB bit depth conversions, rgb24->rgb0 alpha clearing and more. --- libswscale/ops_internal.h | 28 +++ libswsc

[FFmpeg-devel] [PATCH v8 09/18] swscale/ops_internal: add internal ops backend API

2025-07-12 Thread Niklas Haas
From: Niklas Haas This adds an internal API for ops backends, which are responsible for compiling op lists into executable functions. --- libswscale/ops.c | 65 +++ libswscale/ops_internal.h | 108 ++ 2 files changed, 173 insertio

[FFmpeg-devel] [PATCH v8 08/18] swscale/optimizer: add high-level ops optimizer

2025-07-12 Thread Niklas Haas
From: Niklas Haas This is responsible for taking a "naive" ops list and optimizing it as much as possible. Also includes a small analyzer that generates component metadata for use by the optimizer. --- libswscale/Makefile| 1 + libswscale/ops.h | 12 + libswscale/ops_optimiz

[FFmpeg-devel] [PATCH v8 07/18] swscale/ops: introduce new low level framework

2025-07-12 Thread Niklas Haas
From: Niklas Haas See docs/swscale-v2.txt for an in-depth introduction to the new approach. This commit merely introduces the ops definitions and boilerplate functions. The subsequent commits will flesh out the underlying implementation. --- libswscale/Makefile | 1 + libswscale/ops.c| 52

[FFmpeg-devel] [PATCH v8 06/18] swscale: add SWS_UNSTABLE flag

2025-07-12 Thread Niklas Haas
From: Niklas Haas Give users and developers a way to opt in to the new format conversion code, and more code from the swscale rewrite in general, even while development is still ongoing. --- doc/APIchanges | 3 +++ doc/scaler.texi | 4 libswscale/options.c | 1 + libswscale/swsca

[FFmpeg-devel] [PATCH v8 16/18] tests/checkasm: add checkasm tests for swscale ops

2025-07-12 Thread Niklas Haas
From: Niklas Haas Because of the lack of an external ABI on low-level kernels, we cannot directly test internal functions. Instead, we construct a minimal op chain consisting of a read, the op to be tested, and a write. The bigger complication arises from the fact that the backend may generate a

[FFmpeg-devel] [PATCH v8 18/18] swscale/graph: allow experimental use of new format handler

2025-07-12 Thread Niklas Haas
From: Niklas Haas The humor originally contained in this commit message has been redacted to comply with the strict FFmpeg code quality standards. --- libswscale/graph.c | 84 -- 1 file changed, 82 insertions(+), 2 deletions(-) diff --git a/libswscale

[FFmpeg-devel] [PATCH v8 14/18] swscale/ops_memcpy: add 'memcpy' backend for plane->plane copies

2025-07-12 Thread Niklas Haas
From: Niklas Haas Provides a generic fast path for any operation list that can be decomposed into a series of memcpy and memset operations. 25% faster than the x86 backend for yuv444p -> yuva444p 33% faster than the x86 backend for gray -> yuvj444p --- libswscale/Makefile | 1 + libswscal

[FFmpeg-devel] [PATCH v8 15/18] swscale/x86: add SIMD backend

2025-07-12 Thread Niklas Haas
From: Niklas Haas This covers most 8-bit and 16-bit ops, and some 32-bit ops. It also covers all floating point operations. While this is not yet 100% coverage, it's good enough for the vast majority of formats out there. Of special note is the packed shuffle fast path, which uses pshufb at vect

[FFmpeg-devel] [PATCH v8 05/18] tests/checkasm: generalize DEF_CHECKASM_CHECK_FUNC to floats

2025-07-12 Thread Niklas Haas
From: Niklas Haas We split the standard macro into its body (implementation) and declaration, and use a macro argument in place of the raw `memcmp` call, with the major difference that we now take the number of pixels to compare instead of the number of bytes (to match the signature of float_near

[FFmpeg-devel] [PATCH v8 13/18] swscale/ops_backend: add reference backend basend on C templates

2025-07-12 Thread Niklas Haas
From: Niklas Haas This will serve as a reference for the SIMD backends to come. That said, with auto-vectorization enabled, the performance of this is not atrocious. It easily beats the old C code and sometimes even the old SIMD. In theory, we can dramatically speed it up by using GCC vectors in

[FFmpeg-devel] [PATCH v8 04/18] tests/checkasm: increase number of runs in between measurements

2025-07-12 Thread Niklas Haas
From: Niklas Haas Sometimes, when measuring very small functions, rdtsc is not accurate enough to get a reliable measurement. This increases the number of runs inside the inner loop from 4 to 32, which should help a lot. Less important when using the more precise linux-perf API, but still useful.

[FFmpeg-devel] [PATCH v8 01/18] swscale/graph: pass per-pass image pointers to setup()

2025-07-12 Thread Niklas Haas
From: Niklas Haas This behavior had no real justification and was just incredibly confusing, since the in/out pointers passet to setup() did not match those passed to run(), all for what is arguably an exception anyways (the palette setup). --- libswscale/graph.c | 10 +++--- libswscale/grap

[FFmpeg-devel] [PATCH] lavc/vvc: Add max parameter to kth_order_egk_decode

2025-07-12 Thread Frank Plowman
Prior to this patch, kth_order_egk_decode could read arbitrarily large values which then overflowed and caused various issues. Patch fixes this by making kth_order_egk_decode falliable, requiring the caller to specify an upper bound and returning an error if the read value would exceed that bound.

Re: [FFmpeg-devel] [PATCH] avfilter/vf_frei0r: fix time not being passed in seconds

2025-07-12 Thread Stefan Breunig via ffmpeg-devel
Hi Michael, This affects users, so it needs to be documented. Good hint. I assume you meant in the Changelog, even if it is otherwise relatively high level compared to this change? Do you know someone who may be interrested in maintaining vf_frei0r in ffmpeg ? Unfortunately not. The upstream

Re: [FFmpeg-devel] [PATCH v7 01/18] swscale/graph: pass per-pass image pointers to setup()

2025-07-12 Thread Niklas Haas
On Fri, 20 Jun 2025 15:17:21 +0200 Niklas Haas wrote: > Changes since v6: > - fix one MSVC build failure > > Will merge this version in ~24H assuming patchwork passes. For the sake of the record, the reason this one cas not merged yet was because there was a bug where older versions of clang misc

[FFmpeg-devel] [PATCH 2/4] tests/checkasm: add scene_sad checkasm test

2025-07-12 Thread Niklas Haas
From: Niklas Haas --- tests/checkasm/Makefile| 1 + tests/checkasm/checkasm.c | 3 ++ tests/checkasm/checkasm.h | 1 + tests/checkasm/scene_sad.c | 73 ++ 4 files changed, 78 insertions(+) create mode 100644 tests/checkasm/scene_sad.c diff --git a/t

[FFmpeg-devel] [PATCH 4/4] avfilter/x86/scene_sad: add high bit depth AVX2/AVX512 version

2025-07-12 Thread Niklas Haas
From: Niklas Haas Since psadbw only exists for 8-bits, we have to emulate it for 16-bit inputs. The simplest sequence is to use a normal subtraction, which is safe as long as the inputs do not exceed 32767 - so limit this implementation to 15-bit inputs and below. For 16-bit inputs, we could in

[FFmpeg-devel] [PATCH 1/4] avfilter/scene_sad: pass true depth to ff_scene_sad_get_fn()

2025-07-12 Thread Niklas Haas
From: Niklas Haas I need to be able to distinguish between 10/12/14 and 16 bit depths, for overflow reasons. --- libavfilter/f_select.c | 2 +- libavfilter/scene_sad.c | 5 ++--- libavfilter/vf_framerate.c | 2 +- libavfilter/vf_freezedetect.c| 2 +- libavfilter/vf_i

[FFmpeg-devel] [PATCH 3/4] avfilter/x86/scene_sad: add AVX512 implementation

2025-07-12 Thread Niklas Haas
From: Niklas Haas Trivial to add, but a lot faster (on my machine). scene_sad8_c: 114476.4 ( 1.00x) scene_sad8_sse2: 8644.3 (13.24x) scene_sad8_avx2: 4520.1 (25.33x) scene_sad8_avx512: