[vlc-commits] opengl: fixes macosx vout issue.
Sebastien Zwickert
git at videolan.org
Mon Sep 5 14:05:20 CEST 2011
vlc | branch: master | Sebastien Zwickert <dilaroga at free.fr> | Mon Sep 5 01:31:41 2011 +0200| [c44ee8e1dae17e4b73475f717fea7c5add6a1fd4] | committer: Felix Paul Kühne
opengl: fixes macosx vout issue.
Signed-off-by: Felix Paul Kühne <fkuehne at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c44ee8e1dae17e4b73475f717fea7c5add6a1fd4
---
modules/video_output/opengl.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/modules/video_output/opengl.c b/modules/video_output/opengl.c
index 897a85d..f33ef37 100644
--- a/modules/video_output/opengl.c
+++ b/modules/video_output/opengl.c
@@ -216,7 +216,7 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
# endif
vgl->tex_target = GL_TEXTURE_RECTANGLE_EXT;
vgl->tex_format = GL_YCBCR_422_APPLE;
- vgl->tex_internal = GL_YCBCR_422_APPLE;
+ vgl->tex_internal = GL_RGBA;
vgl->tex_type = GL_UNSIGNED_SHORT_8_8_APPLE;
#else
vgl->fmt.i_chroma = VLC_CODEC_RGB32;
@@ -506,6 +506,7 @@ picture_pool_t *vout_display_opengl_GetPool(vout_display_opengl_t *vgl, unsigned
for (int i = 0; i < VLCGL_TEXTURE_COUNT; i++) {
glGenTextures(vgl->chroma->plane_count, vgl->texture[i]);
for (unsigned j = 0; j < vgl->chroma->plane_count; j++) {
+ uint8_t *buffer = NULL;
if (vgl->use_multitexture)
vgl->ActiveTextureARB(GL_TEXTURE0_ARB + j);
glBindTexture(vgl->tex_target, vgl->texture[i][j]);
@@ -527,6 +528,8 @@ picture_pool_t *vout_display_opengl_GetPool(vout_display_opengl_t *vgl, unsigned
glEnable(GL_UNPACK_CLIENT_STORAGE_APPLE);
glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_TRUE);
+ buffer = picture[i]->p[j].p_pixels;
+
/* Use AGP texturing */
glTexParameteri(vgl->tex_target, GL_TEXTURE_STORAGE_HINT_APPLE,
GL_STORAGE_SHARED_APPLE);
@@ -535,7 +538,7 @@ picture_pool_t *vout_display_opengl_GetPool(vout_display_opengl_t *vgl, unsigned
/* Call glTexImage2D only once, and use glTexSubImage2D later */
glTexImage2D(vgl->tex_target, 0,
vgl->tex_internal, vgl->tex_width[j], vgl->tex_height[j],
- 0, vgl->tex_format, vgl->tex_type, NULL);
+ 0, vgl->tex_format, vgl->tex_type, buffer);
}
}
More information about the vlc-commits
mailing list