Colors 精确的YUV 10位到8位转换

Colors 精确的YUV 10位到8位转换,colors,yuv,sdi,Colors,Yuv,Sdi,我有YUV422 10位SDI从相机,我需要准确地转换为8位。 我可以右移2位吗,还是不好 有很多信息:和 但是没有完全清晰。对于8位:Y范围是[16..235],U/V范围是[16..240] 对于10位:Y范围为[64..940],U/V范围为[64..960] 因此,将每个分量值向右移动2位将提供黑白点的正确转换:64=>16940=>235和960=>240。中间值也将正确转换。您可以确保正确提取这些10位值。是的,但我将8位YUV420发送到视频编码器,标准解码器和播放器(如VLC)将

我有YUV422 10位SDI从相机,我需要准确地转换为8位。 我可以右移2位吗,还是不好

有很多信息:和
但是没有完全清晰。

对于8位:Y范围是[16..235],U/V范围是[16..240]

对于10位:Y范围为[64..940],U/V范围为[64..960]


因此,将每个分量值向右移动2位将提供黑白点的正确转换:64=>16940=>235和960=>240。中间值也将正确转换。

您可以确保正确提取这些10位值。是的,但我将8位YUV420发送到视频编码器,标准解码器和播放器(如VLC)将执行RGB的反向转换。播放器不一定需要转换为RGB。无论如何,这是他们的一部分,您只需要正确地剥离两个最低位。事实上,“Y”的最小允许值为64(10位)和16(8位),也就是说,截断位就足够正确了。要实现正确的舍入,请在移位之前加2:
b=(a+2)>>2
。示例:
7>>1=1
7.0/4.0=1.75
round(7.0/4.0)=2.0
(7+2)>>2=2