Mercurial > mplayer.hg
changeset 16474:01d27e023ae4
Improved glFindFormat
author | reimar |
---|---|
date | Tue, 13 Sep 2005 15:56:32 +0000 |
parents | d9697b778be2 |
children | 55b04cfc255c |
files | libvo/gl_common.c libvo/vo_gl.c |
diffstat | 2 files changed, 7 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/libvo/gl_common.c Tue Sep 13 11:38:39 2005 +0000 +++ b/libvo/gl_common.c Tue Sep 13 15:56:32 2005 +0000 @@ -94,9 +94,9 @@ return "Unknown format!"; } -#undef TEXTUREFORMAT_ALWAYS //! always return this format as internal texture format in glFindFormat #define TEXTUREFORMAT_ALWAYS GL_RGB8 +#undef TEXTUREFORMAT_ALWAYS /** * \brief find the OpenGL settings coresponding to format. @@ -113,6 +113,7 @@ int glFindFormat(uint32_t fmt, uint32_t *bpp, GLint *gl_texfmt, GLenum *gl_format, GLenum *gl_type) { + int supported = 1; int dummy1; GLenum dummy2; GLint dummy3; @@ -133,6 +134,8 @@ *gl_format = GL_RGBA; *gl_type = GL_UNSIGNED_BYTE; break; + case IMGFMT_YV12: + supported = 0; // no native YV12 support case IMGFMT_Y800: case IMGFMT_Y8: *gl_texfmt = 1; @@ -187,12 +190,12 @@ *gl_texfmt = 4; *gl_format = GL_RGBA; *gl_type = GL_UNSIGNED_BYTE; - return 0; + supported = 0; } #ifdef TEXTUREFORMAT_ALWAYS *gl_texfmt = TEXTUREFORMAT_ALWAYS; #endif - return 1; + return supported; } static void *setNull(const GLubyte *s) {
--- a/libvo/vo_gl.c Tue Sep 13 11:38:39 2005 +0000 +++ b/libvo/vo_gl.c Tue Sep 13 15:56:32 2005 +0000 @@ -187,10 +187,9 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format) { - int tmp; image_height = height; image_width = width; - glFindFormat(format, &tmp, &gl_texfmt, &gl_format, &gl_type); + glFindFormat(format, NULL, &gl_texfmt, &gl_format, &gl_type); int_pause = 0;