diff mbox series

[FFmpeg-devel] avfilter/vsrc_testsrc: fix colorchart black stripe

Message ID CAF96VJ66LDq-nNsqRf50bkKeSDc2o8L=yCZQp9zvuYe_DSga7Q@mail.gmail.com
State New
Headers show
Series [FFmpeg-devel] avfilter/vsrc_testsrc: fix colorchart black stripe | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Vladimir Petrov Jan. 12, 2024, 11:58 a.m. UTC
There is a typo at 'libavfilter/vsrc_testsrc.c' in
'colorchart_fill_picture()' regarding patch height when using
colorchart test image source. With current default size 64x64 all is
fine, but when move to any non-square patch size, there is unexpected
behavior:

Test examples:

[Blackstripe on bottom if height > width]
ffmpeg -f lavfi -i colorchart=duration=30:rate=25:patch_size=120x144
-f mp4 -c:v libx264 colorchart1.m4v

[Segmentation fault if height < width]
ffmpeg -f lavfi -i colorchart=duration=30:rate=25:patch_size=120x100
-f mp4 -c:v libx264 colorchart2.m4v

Comments

Michael Niedermayer Jan. 12, 2024, 10:41 p.m. UTC | #1
On Fri, Jan 12, 2024 at 01:58:03PM +0200, Vladimir Petrov wrote:
> There is a typo at 'libavfilter/vsrc_testsrc.c' in
> 'colorchart_fill_picture()' regarding patch height when using
> colorchart test image source. With current default size 64x64 all is
> fine, but when move to any non-square patch size, there is unexpected
> behavior:
> 
> Test examples:
> 
> [Blackstripe on bottom if height > width]
> ffmpeg -f lavfi -i colorchart=duration=30:rate=25:patch_size=120x144
> -f mp4 -c:v libx264 colorchart1.m4v
> 
> [Segmentation fault if height < width]
> ffmpeg -f lavfi -i colorchart=duration=30:rate=25:patch_size=120x100
> -f mp4 -c:v libx264 colorchart2.m4v

>  vsrc_testsrc.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 0a5e124445e68daed7d6481a25cc877d45696b8e  0001-avfilter-vsrc_testsrc-fix-colorchart-black-stripe.patch
> From c484a4976c54083770c8749f954394c35dfd9c63 Mon Sep 17 00:00:00 2001
> From: Vladimir Petrov <vppetrovmms@gmail.com>
> Date: Tue, 9 Jan 2024 18:42:19 +0200
> Subject: [PATCH] avfilter/vsrc_testsrc: fix colorchart black stripe
> 
> Fixed blackstripe on bottom or segmentation fault in case
> when patch width and height differ.
> 
> Signed-off-by: Vladimir Petrov <vppetrovmms@gmail.com>
> ---
>  libavfilter/vsrc_testsrc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

will apply

thx

[...]
diff mbox series

Patch

From c484a4976c54083770c8749f954394c35dfd9c63 Mon Sep 17 00:00:00 2001
From: Vladimir Petrov <vppetrovmms@gmail.com>
Date: Tue, 9 Jan 2024 18:42:19 +0200
Subject: [PATCH] avfilter/vsrc_testsrc: fix colorchart black stripe

Fixed blackstripe on bottom or segmentation fault in case
when patch width and height differ.

Signed-off-by: Vladimir Petrov <vppetrovmms@gmail.com>
---
 libavfilter/vsrc_testsrc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavfilter/vsrc_testsrc.c b/libavfilter/vsrc_testsrc.c
index da17e950d8..3b5536badc 100644
--- a/libavfilter/vsrc_testsrc.c
+++ b/libavfilter/vsrc_testsrc.c
@@ -1977,7 +1977,7 @@  static void colorchart_fill_picture(AVFilterContext *ctx, AVFrame *frame)
     const int w = colorchart_presets[preset].w;
     const int h = colorchart_presets[preset].h;
     const int pw = test->pw;
-    const int ph = test->pw;
+    const int ph = test->ph;
 
     for (int y = 0; y < h; y++) {
         for (int x = 0; x < w; x++) {
-- 
2.43.0