summaryrefslogtreecommitdiff
path: root/src/video_out/video_out_opengl2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_out/video_out_opengl2.c')
-rw-r--r--src/video_out/video_out_opengl2.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/video_out/video_out_opengl2.c b/src/video_out/video_out_opengl2.c
index dffee858a..548496e57 100644
--- a/src/video_out/video_out_opengl2.c
+++ b/src/video_out/video_out_opengl2.c
@@ -528,18 +528,22 @@ static void opengl2_overlay_clut_yuv2rgb(opengl2_driver_t *this, vo_overlay_t *
{
//fprintf(stderr, "opengl2_overlay_clut_yuv2rgb\n");
int i;
- clut_t* clut = (clut_t*) overlay->color;
+ uint32_t *rgb;
if (!overlay->rgb_clut) {
- for ( i=0; i<sizeof(overlay->color)/sizeof(overlay->color[0]); i++ ) {
- *((uint32_t *)&clut[i]) = this->ovl_yuv2rgb->yuv2rgb_single_pixel_fun(this->ovl_yuv2rgb, clut[i].y, clut[i].cb, clut[i].cr);
+ rgb = overlay->color;
+ for (i = sizeof (overlay->color) / sizeof (overlay->color[0]); i > 0; i--) {
+ clut_t *yuv = (clut_t *)rgb;
+ *rgb++ = this->ovl_yuv2rgb->yuv2rgb_single_pixel_fun (this->ovl_yuv2rgb, yuv->y, yuv->cb, yuv->cr);
}
overlay->rgb_clut++;
}
+
if (!overlay->hili_rgb_clut) {
- clut = (clut_t*) overlay->hili_color;
- for ( i=0; i<sizeof(overlay->color)/sizeof(overlay->color[0]); i++) {
- *((uint32_t *)&clut[i]) = this->ovl_yuv2rgb->yuv2rgb_single_pixel_fun(this->ovl_yuv2rgb, clut[i].y, clut[i].cb, clut[i].cr);
+ rgb = overlay->hili_color;
+ for (i = sizeof (overlay->color) / sizeof (overlay->color[0]); i > 0; i--) {
+ clut_t *yuv = (clut_t *)rgb;
+ *rgb++ = this->ovl_yuv2rgb->yuv2rgb_single_pixel_fun (this->ovl_yuv2rgb, yuv->y, yuv->cb, yuv->cr);
}
overlay->hili_rgb_clut++;
}