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
From c484a4976c54083770c8749f954394c35dfd9c63 Mon Sep 17 00:00:00 2001 From: Vladimir Petrov <vppetrov...@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 <vppetrov...@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
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".