From 4fc0b75973d20425df22a9178fc2b735710a5f40 Mon Sep 17 00:00:00 2001 From: Pavel Koshevoy Date: Thu, 16 Sep 2021 20:09:13 -0600 Subject: [PATCH] avfilter/vf_zscale: fix output color_range discrepancy This filter chain was supposed to convert from narrow range to full range yuv444p, but didn't: buffer=width=1280:height=720:pix_fmt=yuv444p:frame_rate=25/1:\ time_base=1/25:sar=1/1,zscale=min=709:rin=limited:pin=709:\ tin=709:t=linear,format=gbrpf32le,zscale=tin=linear:p=709:m=709:\ r=full:t=709,format=pix_fmts=yuv444p,buffersink --- libavfilter/vf_zscale.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/vf_zscale.c b/libavfilter/vf_zscale.c index dfea00f9eb..06a025e6e6 100644 --- a/libavfilter/vf_zscale.c +++ b/libavfilter/vf_zscale.c @@ -676,7 +676,7 @@ static int filter_frame(AVFilterLink *link, AVFrame *in) out->color_primaries = (int)s->dst_format.color_primaries; if (s->range != -1) - out->color_range = (int)s->dst_format.pixel_range; + out->color_range = (int)s->dst_format.pixel_range + 1; if (s->trc != -1) out->color_trc = (int)s->dst_format.transfer_characteristics;