[vlc-commits] opengl vout: fixed chroma issue with dated PowerPC-based Macs, which run OpenGL 1.3 only and don' t support the GL_ARB_fragment_program extension

Felix Paul Kühne git at videolan.org
Sun Jun 3 21:53:41 CEST 2012


vlc/vlc-2.0 | branch: master | Felix Paul Kühne <fkuehne at videolan.org> | Sun Jun  3 21:48:13 2012 +0200| [2c5cab2aeba49d1a5d9ba2a067f191c6103e5c58] | committer: Felix Paul Kühne

opengl vout: fixed chroma issue with dated PowerPC-based Macs, which run OpenGL 1.3 only and don't support the GL_ARB_fragment_program extension
(cherry picked from commit ac5631c730899f750338b1e47335f2159e72d407)

> http://git.videolan.org/gitweb.cgi/vlc/vlc-2.0.git/?a=commit;h=2c5cab2aeba49d1a5d9ba2a067f191c6103e5c58
---

 NEWS                          |    2 ++
 modules/video_output/opengl.c |   12 ++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/NEWS b/NEWS
index 0266811..6cba1ef 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,8 @@ Video Output:
  * Various fixes on Mac OS X, notably for crop, zoom, osd and menu support
  * Added menu support for libvlc / VLCKit applications on Mac OS X
  * Misc fixes in OpenGL module
+ * Fixed video output on PowerPC-based Macs equipped with an ATI Radeon 7500,
+   an ATI Radeon 9200 or a NVIDIA GeForceFX 5200 Ultra.
 
 Access:
  * Reworked Digital TV module for Windows. DVB-T and DVB-C work again.
diff --git a/modules/video_output/opengl.c b/modules/video_output/opengl.c
index af3235c..e64b219 100644
--- a/modules/video_output/opengl.c
+++ b/modules/video_output/opengl.c
@@ -263,6 +263,18 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
             list++;
         }
     }
+#if (defined (__ppc__) || defined (__ppc64__) || defined (__powerpc__)) && defined (__APPLE__)
+    /* This is a work-around for dated PowerPC-based Macs, which run OpenGL 1.3 only and don't
+     * support the GL_ARB_fragment_program extension.
+     * Affected devices are all Macs built between 2002 and 2005 with an ATI Radeon 7500,
+     * an ATI Radeon 9200 or a NVIDIA GeForceFX 5200 Ultra. */
+    else
+    {
+        vgl->tex_format   = GL_YCBCR_422_APPLE;
+        vgl->tex_type     = GL_UNSIGNED_SHORT_8_8_APPLE;
+        vgl->fmt.i_chroma = VLC_CODEC_YUYV;
+    }
+#endif
 
     vgl->chroma = vlc_fourcc_GetChromaDescription(vgl->fmt.i_chroma);
     vgl->use_multitexture = vgl->chroma->plane_count > 1;



More information about the vlc-commits mailing list