This is an automated email from the git hooks/post-receive script.
Git pushed a commit to branch master
in repository ffmpeg.
The following commit(s) were added to refs/heads/master by this push:
new 2193727b88 avfilter/vf_dblur: Copy float rows once instead of once per
pixel
2193727b88 is described below
commit 2193727b88820d20466ba1426d9ca87cc1d8c575
Author: romainhedouin <[email protected]>
AuthorDate: Thu Oct 15 19:46:18 2026 +0200
Commit: Baptiste Coudurier <[email protected]>
CommitDate: Sat Oct 17 18:39:21 2026 +0000
avfilter/vf_dblur: Copy float rows once instead of once per pixel
The float input and output paths called memcpy() for a whole row inside
the per-pixel loop, so every row was copied width times.
1080p gbrpf32le: 1.84 s -> 37 ms per frame on a single thread. Output is
unchanged.
Found during a code review sweep of ffmpeg using an LLM.
Signed-off-by: romainhedouin <[email protected]>
---
libavfilter/vf_dblur.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/libavfilter/vf_dblur.c b/libavfilter/vf_dblur.c
index 517d4e5617..0b5085b92b 100644
--- a/libavfilter/vf_dblur.c
+++ b/libavfilter/vf_dblur.c
@@ -247,9 +247,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
}
} else {
for (y = 0; y < height; y++) {
- for (x = 0; x < width; x++) {
- memcpy(bptr, src32, width * sizeof(float));
- }
+ memcpy(bptr, src32, width * sizeof(float));
bptr += width;
src32 += in->linesize[plane] / 4;
}
@@ -276,9 +274,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
}
} else {
for (y = 0; y < height; y++) {
- for (x = 0; x < width; x++) {
- memcpy(dst32, bptr, width * sizeof(float));
- }
+ memcpy(dst32, bptr, width * sizeof(float));
bptr += width;
dst32 += out->linesize[plane] / 4;
}
--
To stop receiving notification emails like this one, please contact
[email protected].
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]