From dcc7263b0e7935b6864e43465cfeca423bdf9e77 Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Wed, 10 Jan 2024 10:05:46 +0100 Subject: [PATCH] fftools/ffplay: add missing YUV metadata to buffersrc This commit lets ffplay properly propagate YUV metadata into the filter graph, avoiding such issues as e.g. accidentally passing YCgCo into a filter that can't support it. Also fixes an error related to this missing metadata from buffersrc (since commit 2d555dc82d) See-Also: https://trac.ffmpeg.org/ticket/10839 --- fftools/ffplay.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fftools/ffplay.c b/fftools/ffplay.c index 61edf2c2ef..132f50a5a1 100644 --- a/fftools/ffplay.c +++ b/fftools/ffplay.c @@ -1894,10 +1894,12 @@ static int configure_video_filters(AVFilterGraph *graph, VideoState *is, const c graph->scale_sws_opts = av_strdup(sws_flags_str); snprintf(buffersrc_args, sizeof(buffersrc_args), - "video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d", + "video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d:" + "colorspace=%d:range=%d", frame->width, frame->height, frame->format, is->video_st->time_base.num, is->video_st->time_base.den, - codecpar->sample_aspect_ratio.num, FFMAX(codecpar->sample_aspect_ratio.den, 1)); + codecpar->sample_aspect_ratio.num, FFMAX(codecpar->sample_aspect_ratio.den, 1), + frame->colorspace, frame->color_range); if (fr.num && fr.den) av_strlcatf(buffersrc_args, sizeof(buffersrc_args), ":frame_rate=%d/%d", fr.num, fr.den);