Commit 2eb56319 authored by Sam Lantinga's avatar Sam Lantinga

Progress, maybe. :)

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403300
parent 535f3bf8
......@@ -45,14 +45,21 @@
static __inline__ int
bytes_per_pixel(const Uint32 format)
{
if (!SDL_ISPIXELFORMAT_FOURCC(format)) {
return SDL_BYTESPERPIXEL(format);
}
/* FOURCC format */
switch (format) {
case SDL_PIXELFORMAT_YV12:
case SDL_PIXELFORMAT_IYUV:
case SDL_PIXELFORMAT_YUY2:
case SDL_PIXELFORMAT_UYVY:
/* !!! FIXME: other YUV formats here... */
case SDL_PIXELFORMAT_YVYU:
return 2;
default:
return SDL_BYTESPERPIXEL(format);
return 1; /* shouldn't ever hit this. */
}
return -1; /* shouldn't ever hit this. */
}
......@@ -723,6 +730,11 @@ GL_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture)
data->texh = (GLfloat) texture->h / texture_h;
}
/* YUV formats use RGBA but are really two bytes per pixel */
if (internalFormat == GL_RGBA && bytes_per_pixel(texture->format) < 4) {
texture_w = (texture_w * bytes_per_pixel(texture->format)) / 4;
}
data->format = format;
data->formattype = type;
renderdata->glBindTexture(data->type, data->texture);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment