[vlc-commits] No functionnal changes (opengl).
Laurent Aimar
git at videolan.org
Wed May 25 22:34:56 CEST 2011
vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Wed May 25 22:21:49 2011 +0200| [537817e750d2a9eaa4795139946a74c28dafe40e] | committer: Laurent Aimar
No functionnal changes (opengl).
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=537817e750d2a9eaa4795139946a74c28dafe40e
---
modules/video_output/opengl.c | 12 ++++--------
1 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/modules/video_output/opengl.c b/modules/video_output/opengl.c
index 7e60c99..a1d9bd5 100644
--- a/modules/video_output/opengl.c
+++ b/modules/video_output/opengl.c
@@ -96,8 +96,8 @@ struct vout_display_opengl_t {
vlc_gl_t *gl;
video_format_t fmt;
+ const vlc_chroma_description_t *chroma;
- int tex_pixel_size;
int tex_width;
int tex_height;
@@ -127,10 +127,8 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
/* TODO: We use YCbCr on Mac which is Y422, but on OSX it seems to == YUY2. Verify */
#if defined(WORDS_BIGENDIAN) && VLCGL_FORMAT == GL_YCBCR_422_APPLE
fmt->i_chroma = VLC_CODEC_YUYV;
- vgl->tex_pixel_size = 2;
#elif defined(GL_YCBCR_422_APPLE) && (VLCGL_FORMAT == GL_YCBCR_422_APPLE)
fmt->i_chroma = VLC_CODEC_UYVY;
- vgl->tex_pixel_size = 2;
#elif VLCGL_FORMAT == GL_RGB
# if VLCGL_TYPE == GL_UNSIGNED_BYTE
fmt->i_chroma = VLC_CODEC_RGB24;
@@ -143,7 +141,6 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
fmt->i_gmask = 0x0000ff00;
fmt->i_bmask = 0x00ff0000;
# endif
- vgl->tex_pixel_size = 3;
# else
fmt->i_chroma = VLC_CODEC_RGB16;
# if defined(WORDS_BIGENDIAN)
@@ -155,7 +152,6 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
fmt->i_gmask = 0x07e0;
fmt->i_bmask = 0x001f;
# endif
- vgl->tex_pixel_size = 2;
# endif
#else
fmt->i_chroma = VLC_CODEC_RGB32;
@@ -168,10 +164,10 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
fmt->i_gmask = 0x0000ff00;
fmt->i_bmask = 0x00ff0000;
# endif
- vgl->tex_pixel_size = 4;
#endif
vgl->fmt = *fmt;
+ vgl->chroma = vlc_fourcc_GetChromaDescription(vgl->fmt.i_chroma);
/* */
for (int i = 0; i < VLCGL_TEXTURE_COUNT; i++) {
@@ -340,7 +336,7 @@ picture_pool_t *vout_display_opengl_GetPool(vout_display_opengl_t *vgl)
for (i = 0; i < VLCGL_TEXTURE_COUNT; i++) {
/* TODO memalign would be way better */
- vgl->buffer[i] = malloc(vgl->tex_width * vgl->tex_height * vgl->tex_pixel_size);
+ vgl->buffer[i] = malloc(vgl->tex_width * vgl->tex_height * vgl->chroma->pixel_size);
if (!vgl->buffer[i])
break;
@@ -355,7 +351,7 @@ picture_pool_t *vout_display_opengl_GetPool(vout_display_opengl_t *vgl)
}
#endif
rsc.p[0].p_pixels = vgl->buffer[i];
- rsc.p[0].i_pitch = vgl->fmt.i_width * vgl->tex_pixel_size;
+ rsc.p[0].i_pitch = vgl->fmt.i_width * vgl->chroma->pixel_size;
rsc.p[0].i_lines = vgl->fmt.i_height;
picture[i] = picture_NewFromResource(&vgl->fmt, &rsc);
More information about the vlc-commits
mailing list