UYVY数据格式:
I420数据格式:
UYVY格式转换为I420格式:Y通道值不变,按序排放,UV则是相邻两行求均值获取的。如,,结果与7yuv转换后的结果二进制一致
RGB->YUV wiki链接
y = 0.257 * r + 0.504 * g + 0.098 * b + 16;
u = -0.148 * r - 0.291 * g + 0.439 * b + 128;
v = 0.439 * r - 0.368 * g - 0.071 * b + 128;
B = 1.164 * (Y - 16) + 2.018 * (U - 128);
G = 1.164 * (Y - 16) - 0.391 * (U - 128) - 0.813 * (V - 128);
R = 1.164 * (Y - 16) + 1.596 * (V - 128);
或者
y = 0.299 * r + 0.587 * g + 0.114 * b
u = -0.1687 * r - 0.3313 * g + 0.5 * b + 128
v = 0.5 * r - 0.4187 * g - 0.0813 * b + 128
r = y + 1.402 * (v - 128)
g = y - 0.34414 * (u - 128) - 0.71414 * (v - 128)
b = y + 1.772 * (u - 128)
以YV12->RGB为例:
Y00 | Y01 | Y02 | Y03 |
Y10 | Y11 | Y12 | Y13 |
Y20 | Y21 | Y22 | Y23 |
Y30 | Y31 | Y32 | Y33 |
U00 | U01 | U02 | U03 |
V00 | V01 | V02 | V03 |
在转RGB的时候,Y00, Y01, Y10, Y11使用U00和V00进行计算,Y02,Y03,Y12,Y13使用U01,V01进行计算。