最初の部分は、ファイルを開いてyuv1バッファーにロードすることです。次の段階は、YUV420pデータを正しく読み取ることです。私はwikiからこの式を使用します
size.total = size.width * size.height;
y = yuv[position.y * size.width + position.x];
u = yuv[(position.y / 2) * (size.width / 2) + (position.x / 2) + size.total];
v = yuv[(position.y / 2) * (size.width / 2) + (position.x / 2) + size.total + (size.total / 4)];
次の段階は、yuvから値を取得し、次の式を使用してrgbに変換することです。
B = 1.164(Y-16)+ 2.018(U-128)
G = 1.164(Y-16)-0.813(V-128)-0.391(U-128)
R = 1.164(Y-16)+ 1.596(V-128)
RGBを取得した後、それらをロードしてバッファに正しく戻し、ファイルを閉じます。
しかし、このエラーエラーC2064が発生しています。termは、3つの数式行で302個の引数を取る関数に評価されません。
誰かが私を助けることができますか
エラーコード
r1 = 1.164(y1 - 16) + 1.596(v1 - 128) + 0;
g1 = 1.164(y1 - 16) - 0.813(v1 - 128) - 0.391(u1 - 128);
b1 = 1.164(y1 - 16)+ 0 + 2.018(u1 - 128);