[FFmpeg-cvslog] avfilter/vf_zscale: fix output color_range discrepancy

Pavel Koshevoy git at videolan.org
Fri Sep 17 22:36:24 EEST 2021


ffmpeg | branch: master | Pavel Koshevoy <pkoshevoy at gmail.com> | Thu Sep 16 20:09:13 2021 -0600| [4fc0b75973d20425df22a9178fc2b735710a5f40] | committer: Pavel Koshevoy

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

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4fc0b75973d20425df22a9178fc2b735710a5f40
---

 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;



More information about the ffmpeg-cvslog mailing list