У меня есть буфер, в котором хранятся все данные yuyv 4: 2: 2.
y u y v y u y v
y u y v y u y v
Для декодирования из yuyv в rgb в шейдере я должен загрузить компонент y в текстуру и загрузить компонент uv в другой.
Вот мой способ загрузки текстуры с помощью pbo.
pbo = glGenBuffers(1)
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, pbo)
glBufferData(GL_PIXEL_UNPACK_BUFFER, num_bytes, pointer, GL_STATIC_DRAW)
glBindTexture(GL_TEXTURE_2D, texture)
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, None)
glBindTexture(GL_TEXTURE_2D, 0)
Как видите, все данные yuyv заполняются текстурой, потому что я не могу заполнить буфер вариант шага. Как я могу получить y-текстуру и uv-текстуру из непланарных yuyv данных?