From ef6466d9adfb2f31dfc65d2a33a6bc8e1f2c5b0e Mon Sep 17 00:00:00 2001 From: reimar Date: Mon, 30 Aug 2004 21:06:52 +0000 Subject: [PATCH] Using updated colorspace specifications from colorspaces.txt. All by manyfmts suboption supported formats should display correctly now. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13207 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/vo_gl.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/libvo/vo_gl.c b/libvo/vo_gl.c index 2f3f68d027..9cfc0d2f02 100644 --- a/libvo/vo_gl.c +++ b/libvo/vo_gl.c @@ -77,7 +77,7 @@ static int find_gl_format (uint32_t format) gl_format = GL_RGB; gl_type = GL_UNSIGNED_BYTE; break; - case IMGFMT_RGB32: + case IMGFMT_RGBA: gl_texfmt = 4; gl_format = GL_RGBA; gl_type = GL_UNSIGNED_BYTE; @@ -92,15 +92,15 @@ static int find_gl_format (uint32_t format) #ifdef GL_VERSION_1_2 case IMGFMT_RGB8: gl_format = GL_RGB; - gl_type = GL_UNSIGNED_BYTE_3_3_2; + gl_type = GL_UNSIGNED_BYTE_2_3_3_REV; break; case IMGFMT_RGB15: gl_format = GL_RGBA; - gl_type = GL_UNSIGNED_SHORT_5_5_5_1; + gl_type = GL_UNSIGNED_SHORT_1_5_5_5_REV; break; case IMGFMT_RGB16: gl_format = GL_RGB; - gl_type = GL_UNSIGNED_SHORT_5_6_5; + gl_type = GL_UNSIGNED_SHORT_5_6_5_REV; break; case IMGFMT_BGR8: // special case as red and blue have a differen number of bits. @@ -108,21 +108,21 @@ static int find_gl_format (uint32_t format) // by nVidia drivers, and in addition would give more bits to // blue than to red, which isn't wanted gl_format = GL_RGB; - gl_type = GL_UNSIGNED_BYTE_2_3_3_REV; + gl_type = GL_UNSIGNED_BYTE_3_3_2; break; case IMGFMT_BGR15: gl_format = GL_BGRA; - gl_type = GL_UNSIGNED_SHORT_5_5_5_1; + gl_type = GL_UNSIGNED_SHORT_1_5_5_5_REV; break; case IMGFMT_BGR16: gl_format = GL_RGB; - gl_type = GL_UNSIGNED_SHORT_5_6_5_REV; + gl_type = GL_UNSIGNED_SHORT_5_6_5; break; case IMGFMT_BGR24: gl_format = GL_BGR; gl_type = GL_UNSIGNED_BYTE; break; - case IMGFMT_BGR32: + case IMGFMT_BGRA: gl_texfmt = 4; gl_format = GL_BGRA; gl_type = GL_UNSIGNED_BYTE; @@ -340,7 +340,7 @@ uint8_t *ImageData=src[0]; static uint32_t query_format(uint32_t format) { - if ((format == IMGFMT_RGB24) || (format == IMGFMT_RGB32)) + if ((format == IMGFMT_RGB24) || (format == IMGFMT_RGBA)) return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW; if (many_fmts && find_gl_format(format)) return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW;