Первая часть - открыть файл и загрузить его в буфер yuv1. Следующим этапом правильно считывать данные YUV420p я использовать эту формулу из викиyuv420p to rgb преобразование изображения
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 (У - 16) - 0,813 (V - 128) - 0,391 (U - 128)
R = 1,164 (У - 16) + 1,596 (V - 128)
После получения RGB мы загружаем их обратно в буфер правильно и закрываем файл.
Но я получаю эту ошибку ошибки C2064: термин не оценивает функцию, принимающую 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);
По крайней мере покажите нам строку, в которой происходит ошибка. – Henrik
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); Это ссылки, в которых происходит ошибка. Я отправил весь код. –