В OpenGL ES 2.0 после считывания фреймбуфера и преобразования его в рамки RGBA. Я хочу преобразовать его в формат YUV.преобразование формата
Я пробовал использовать это table. Который игнорирует альфа-компонент. Когда я делаю это и вижу, что кадр YUV сгенерировал его искаженное.
Может кто-нибудь мне помочь, пожалуйста
yuvdata[i * j *1]= (0.257)*memory[i*j*1] + (0.504)*memory[i*j*2]+(0.098)*memory[i*j*3]+16;
yuvdata[i * j *3]= (0.439)*memory[i*j*1] - (0.368)*memory[i*j*2] -(0.071)*memory[i*j*3]+128;
yuvdata[i * j *2]= -(0.148)*memory[i*j*1] - (0.291)*memory[i*j*2] +(0.439)*memory[i*j*3]+128;
`
Нормализация не помогло памяти хранить RGBA и YUV свободное пространство для хранения YUV
я использовал RGB для YUV преобразования пренебрегая альфа компонент
Друзья эта проблема решена. Эта статья замечательна yuv2rgb. Спасибо Viktor Latypov и Mārtiņš Možeiko
оскорбительный код – Indy9000
@ Kip9000 Я добавил код. –
Есть YUV420p, YUV411, YUV422 и YUV444. Первые три должны быть преобразованы в YUV444 перед применением матрицы. Каков точный формат YUV, который вы хотите использовать? –