changeset 23651:604f56414432

Lots of cosmetics for gl2
author reimar
date Tue, 26 Jun 2007 16:33:43 +0000
parents 9c935f7e5b22
children 82443ed07f23
files libvo/vo_gl2.c
diffstat 1 files changed, 276 insertions(+), 322 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/vo_gl2.c	Tue Jun 26 15:51:51 2007 +0000
+++ b/libvo/vo_gl2.c	Tue Jun 26 16:33:43 2007 +0000
@@ -1,4 +1,4 @@
-/* 
+/*
  * video_out_gl.c, X11/OpenGL interface
  * based on video_out_x11 by Aaron Holtzman,
  * and WS opengl window manager by Pontscho/Fresh!
@@ -33,12 +33,12 @@
 #define TEXTURE_WIDTH 128
 #undef TEXTURE_WIDTH
 
-static vo_info_t info = 
+static vo_info_t info =
 {
-	"X11 (OpenGL) - multiple textures version",
-	"gl2",
-	"Arpad Gereoffy & Sven Goethel",
-	""
+  "X11 (OpenGL) - multiple textures version",
+  "gl2",
+  "Arpad Gereoffy & Sven Goethel",
+  ""
 };
 
 LIBVO_EXTERN(gl2)
@@ -124,25 +124,25 @@
   return TEXTUREFORMAT_ALWAYS;
 #else
   if(r_sz==3 && g_sz==3 && b_sz==2 && a_sz==0)
-	  return GL_R3_G3_B2;
+    return GL_R3_G3_B2;
   if(r_sz==4 && g_sz==4 && b_sz==4 && a_sz==0)
-	  return GL_RGB4;
+    return GL_RGB4;
   if(r_sz==5 && g_sz==5 && b_sz==5 && a_sz==0)
-	  return GL_RGB5;
+    return GL_RGB5;
   if(r_sz==8 && g_sz==8 && b_sz==8 && a_sz==0)
-	  return GL_RGB8;
+    return GL_RGB8;
   if(r_sz==10 && g_sz==10 && b_sz==10 && a_sz==0)
-	  return GL_RGB10;
+    return GL_RGB10;
   if(r_sz==2 && g_sz==2 && b_sz==2 && a_sz==2)
-	  return GL_RGBA2;
+    return GL_RGBA2;
   if(r_sz==4 && g_sz==4 && b_sz==4 && a_sz==4)
-	  return GL_RGBA4;
+    return GL_RGBA4;
   if(r_sz==5 && g_sz==5 && b_sz==5 && a_sz==1)
-	  return GL_RGB5_A1;
+    return GL_RGB5_A1;
   if(r_sz==8 && g_sz==8 && b_sz==8 && a_sz==8)
-	  return GL_RGBA8;
+    return GL_RGBA8;
   if(r_sz==10 && g_sz==10 && b_sz==10 && a_sz==2)
-	  return GL_RGB10_A2;
+    return GL_RGB10_A2;
 #endif
   return GL_RGB;
 }
@@ -170,12 +170,11 @@
   gl_internal_format = getInternalFormat();
 
   /* Test the max texture size */
-  do
-  {
+  do {
     glTexImage2D (GL_PROXY_TEXTURE_2D, 0,
-		  gl_internal_format,
-		  texture_width, texture_height,
-		  0, gl_bitmap_format, gl_bitmap_type, NULL); 
+                  gl_internal_format,
+                  texture_width, texture_height,
+                  0, gl_bitmap_format, gl_bitmap_type, NULL);
 
     glGetTexLevelParameteriv
       (GL_PROXY_TEXTURE_2D, 0, GL_TEXTURE_INTERNAL_FORMAT, &format);
@@ -183,7 +182,7 @@
     if (format != gl_internal_format)
     {
       mp_msg (MSGT_VO, MSGL_V, "[gl2] Needed texture [%dx%d] too big, trying ",
-		texture_height, texture_width);
+              texture_height, texture_width);
 
       if (texture_width > texture_height)
         texture_width /= 2;
@@ -192,10 +191,9 @@
 
       mp_msg (MSGT_VO, MSGL_V, "[%dx%d] !\n", texture_height, texture_width);
 
-      if(texture_width < 64 || texture_height < 64)
-      {
-      	mp_msg (MSGT_VO, MSGL_FATAL, "[gl2] Give up .. usable texture size not avaiable, or texture config error !\n");
-	return -1;
+      if(texture_width < 64 || texture_height < 64) {
+        mp_msg (MSGT_VO, MSGL_FATAL, "[gl2] Give up .. usable texture size not avaiable, or texture config error !\n");
+        return -1;
       }
     }
   }
@@ -216,7 +214,7 @@
     texnumy++;
 
   mp_msg(MSGT_VO, MSGL_V, "[gl2] Creating %dx%d textures of size %dx%d ...\n",
-	texnumx, texnumy, texture_width,texture_height);
+         texnumx, texnumy, texture_width,texture_height);
 
   /* Allocate the texture memory */
 
@@ -230,15 +228,12 @@
   raw_line_len = image_width * image_bytes;
 
   mp_msg (MSGT_VO, MSGL_DBG2, "[gl2] texture-usage %d*width=%d, %d*height=%d\n",
-		 (int) texnumx, (int) texture_width, (int) texnumy,
-		 (int) texture_height);
+          (int) texnumx, (int) texture_width, (int) texnumy,
+          (int) texture_height);
 
   tsq = texgrid;
-  for (y = 0; y < texnumy; y++)
-  {
-    for (x = 0; x < texnumx; x++)
-    {
-
+  for (y = 0; y < texnumy; y++) {
+    for (x = 0; x < texnumx; x++) {
       tsq->fx = x * texpercx;
       tsq->fy = y * texpercy;
       tsq->fw = texpercx;
@@ -274,9 +269,9 @@
       }
 
       tsq++;
-    }	/* for all texnumx */
+    }  /* for all texnumx */
   }  /* for all texnumy */
-  
+
   return 0;
 }
 
@@ -288,15 +283,13 @@
 
   line_start = (unsigned char *) imageSource;
 
-  for (y = 0; y < texnumy; y++)
-  {
+  for (y = 0; y < texnumy; y++) {
     texdata_start = line_start;
-    for (x = 0; x < texnumx; x++)
-    {
+    for (x = 0; x < texnumx; x++) {
       tsq->texture = texdata_start;
       texdata_start += texture_width * image_bytes;
       tsq++;
-    }	/* for all texnumx */
+    }  /* for all texnumx */
     line_start += texture_height * raw_line_len;
   }  /* for all texnumy */
 }
@@ -306,51 +299,40 @@
   int x, y;
 
   if(val>=0)
-	  gl_bilinear = val;
-  else 
-	  gl_bilinear++;
+    gl_bilinear = val;
+  else
+    gl_bilinear++;
 
   gl_bilinear=gl_bilinear%2;
   /* no mipmap yet .. */
 
-  for (y = 0; y < texnumy; y++)
-  {
-      for (x = 0; x < texnumx; x++)
-      {
-        glBindTexture (GL_TEXTURE_2D, texgrid[y * texnumx + x].texobj);
+  for (y = 0; y < texnumy; y++) {
+    for (x = 0; x < texnumx; x++) {
+      glBindTexture (GL_TEXTURE_2D, texgrid[y * texnumx + x].texobj);
 
-	switch (gl_bilinear)
-	{
-		case 0:
-			glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, 
-				GL_NEAREST);
-			glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, 
-				GL_NEAREST);
-			mp_msg(MSGT_VO, MSGL_INFO, "[gl2] bilinear off\n");
-			break;
-		case 1:
-			glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, 
-				GL_LINEAR);
-			glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, 
-				GL_LINEAR);
-			mp_msg(MSGT_VO, MSGL_INFO, "[gl2] bilinear linear\n");
-			break;
-		case 2:
-			glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, 
-				GL_LINEAR_MIPMAP_NEAREST);
-			glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, 
-				GL_LINEAR_MIPMAP_NEAREST);
-			mp_msg(MSGT_VO, MSGL_INFO, "[gl2] bilinear mipmap nearest\n");
-			break;
-		case 3:
-			glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, 
-				GL_LINEAR_MIPMAP_LINEAR);
-			glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, 
-				GL_LINEAR_MIPMAP_LINEAR);
-			mp_msg(MSGT_VO, MSGL_INFO, "[gl2] bilinear mipmap linear\n");
-			break;
-        }
+      switch (gl_bilinear) {
+        case 0:
+          glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+          glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+          mp_msg(MSGT_VO, MSGL_INFO, "[gl2] bilinear off\n");
+          break;
+        case 1:
+          glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+          glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+          mp_msg(MSGT_VO, MSGL_INFO, "[gl2] bilinear linear\n");
+          break;
+        case 2:
+          glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
+          glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_NEAREST);
+          mp_msg(MSGT_VO, MSGL_INFO, "[gl2] bilinear mipmap nearest\n");
+          break;
+        case 3:
+          glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
+          glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_LINEAR);
+          mp_msg(MSGT_VO, MSGL_INFO, "[gl2] bilinear mipmap linear\n");
+          break;
       }
+    }
   }
 }
 
@@ -358,16 +340,13 @@
 {
   gl_antialias=val;
 
-  if (gl_antialias)
-  {
+  if (gl_antialias) {
     glShadeModel (GL_SMOOTH);
     glEnable (GL_POLYGON_SMOOTH);
     glEnable (GL_LINE_SMOOTH);
     glEnable (GL_POINT_SMOOTH);
     mp_msg(MSGT_VO, MSGL_INFO, "[gl2] antialiasing on\n");
-  }
-  else
-  {
+  } else {
     glShadeModel (GL_FLAT);
     glDisable (GL_POLYGON_SMOOTH);
     glDisable (GL_LINE_SMOOTH);
@@ -386,13 +365,11 @@
 
   if (image_format == IMGFMT_YV12)
     glEnableYUVConversion(GL_TEXTURE_2D, use_yuv);
-  for (y = 0; y < texnumy; y++)
-  {
+  for (y = 0; y < texnumy; y++) {
     int thish = texture_height;
     if (y == texnumy - 1 && image_height % texture_height)
       thish = image_height % texture_height;
-    for (x = 0; x < texnumx; x++)
-    {
+    for (x = 0; x < texnumx; x++) {
       int thisw = texture_width;
       if (x == texnumx - 1 && image_width % texture_width)
         thisw = image_width % texture_width;
@@ -406,11 +383,9 @@
       }
 
       if (texdirty) {
-	glUploadTex(GL_TEXTURE_2D, gl_bitmap_format,  gl_bitmap_type,
-		 square->texture, image_width * image_bytes,
-		 0, 0,
-		 thisw, thish,
-		 0);
+        glUploadTex(GL_TEXTURE_2D, gl_bitmap_format,  gl_bitmap_type,
+                    square->texture, image_width * image_bytes,
+                    0, 0, thisw, thish, 0);
       }
 
       glDrawTex(square->fx, square->fy, square->fw, square->fh,
@@ -428,22 +403,21 @@
 
 static void resize(int *x,int *y){
   mp_msg(MSGT_VO,MSGL_V,"[gl2] Resize: %dx%d\n",*x,*y);
-  if( vo_fs )
-  {
-	  glClear(GL_COLOR_BUFFER_BIT);
-	  aspect(x, y, A_ZOOM);
-	  panscan_calc();
-	  *x += vo_panscan_x;
-	  *y += vo_panscan_y;
-	  glViewport( (vo_screenwidth-*x)/2, (vo_screenheight-*y)/2, *x, *y);
-  } else { 
-	  //aspect(x, y, A_NOZOOM);
-	if (WinID >= 0) {
-	  int top = 0, left = 0, w = *x, h = *y;
-	  geometry(&top, &left, &w, &h, vo_screenwidth, vo_screenheight);
-	  glViewport(top, left, w, h);
-	} else
-	  glViewport( 0, 0, *x, *y );
+  if( vo_fs ) {
+    glClear(GL_COLOR_BUFFER_BIT);
+    aspect(x, y, A_ZOOM);
+    panscan_calc();
+    *x += vo_panscan_x;
+    *y += vo_panscan_y;
+    glViewport( (vo_screenwidth-*x)/2, (vo_screenheight-*y)/2, *x, *y);
+  } else {
+    //aspect(x, y, A_NOZOOM);
+    if (WinID >= 0) {
+      int top = 0, left = 0, w = *x, h = *y;
+      geometry(&top, &left, &w, &h, vo_screenwidth, vo_screenheight);
+      glViewport(top, left, w, h);
+    } else
+      glViewport( 0, 0, *x, *y );
   }
 
   glMatrixMode(GL_PROJECTION);
@@ -476,71 +450,71 @@
 #ifdef GL_WIN32
 
 static int config_w32(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format) {
-    if (!vo_w32_config(d_width, d_height, flags))
-	return -1;
+  if (!vo_w32_config(d_width, d_height, flags))
+    return -1;
 
-    if (vo_fs)
-	aspect(&d_width, &d_height, A_ZOOM);
+  if (vo_fs)
+    aspect(&d_width, &d_height, A_ZOOM);
 
-    return 0;
+  return 0;
 }
 
 #else
 
 static int choose_glx_visual(Display *dpy, int scr, XVisualInfo *res_vi)
 {
-	XVisualInfo template, *vi_list;
-	int vi_num, i, best_i, best_weight;
-	
-	template.screen = scr;
-	vi_list = XGetVisualInfo(dpy, VisualScreenMask, &template, &vi_num);
-	if (!vi_list) return -1;
-	best_weight = 1000000; best_i=0;
-	for (i = 0; i < vi_num; i++) {
-		int val, res, w = 0;
-		/* of course, the visual must support OpenGL rendering... */
-		res = glXGetConfig(dpy, vi_list + i, GLX_USE_GL, &val);
-		if (res || val == False) continue;
-		/* also it must be doublebuffered ... */
-		res = glXGetConfig(dpy, vi_list + i, GLX_DOUBLEBUFFER, &val);
-		if (res || val == False) continue;
-		/* furthermore it must be RGBA (not color indexed) ... */
-		res = glXGetConfig(dpy, vi_list + i, GLX_RGBA, &val);
-		if (res || val == False) continue;
-		/* prefer less depth buffer size, */
-		res = glXGetConfig(dpy, vi_list + i, GLX_DEPTH_SIZE, &val);
-		if (res) continue;
-		w += val*2;
-		/* stencil buffer size */
-		res = glXGetConfig(dpy, vi_list + i, GLX_STENCIL_SIZE, &val);
-		if (res) continue;
-		w += val*2;
-		/* and colorbuffer alpha size */
-		res = glXGetConfig(dpy, vi_list + i, GLX_ALPHA_SIZE, &val);
-		if (res) continue;
-		w += val;
-		/* and finally, prefer DirectColor-ed visuals to allow color corrections */
-		if (vi_list[i].class != DirectColor) w += 100;
+  XVisualInfo template, *vi_list;
+  int vi_num, i, best_i, best_weight;
 
-		// avoid bad-looking visual with less that 8bit per color
-		res = glXGetConfig(dpy, vi_list + i, GLX_RED_SIZE, &val);
-		if (res) continue;
-		if (val < 8) w += 50;
-		res = glXGetConfig(dpy, vi_list + i, GLX_GREEN_SIZE, &val);
-		if (res) continue;
-		if (val < 8) w += 70;
-		res = glXGetConfig(dpy, vi_list + i, GLX_BLUE_SIZE, &val);
-		if (res) continue;
-		if (val < 8) w += 50;
+  template.screen = scr;
+  vi_list = XGetVisualInfo(dpy, VisualScreenMask, &template, &vi_num);
+  if (!vi_list) return -1;
+  best_weight = 1000000; best_i=0;
+  for (i = 0; i < vi_num; i++) {
+    int val, res, w = 0;
+    /* of course, the visual must support OpenGL rendering... */
+    res = glXGetConfig(dpy, vi_list + i, GLX_USE_GL, &val);
+    if (res || val == False) continue;
+    /* also it must be doublebuffered ... */
+    res = glXGetConfig(dpy, vi_list + i, GLX_DOUBLEBUFFER, &val);
+    if (res || val == False) continue;
+    /* furthermore it must be RGBA (not color indexed) ... */
+    res = glXGetConfig(dpy, vi_list + i, GLX_RGBA, &val);
+    if (res || val == False) continue;
+    /* prefer less depth buffer size, */
+    res = glXGetConfig(dpy, vi_list + i, GLX_DEPTH_SIZE, &val);
+    if (res) continue;
+    w += val*2;
+    /* stencil buffer size */
+    res = glXGetConfig(dpy, vi_list + i, GLX_STENCIL_SIZE, &val);
+    if (res) continue;
+    w += val*2;
+    /* and colorbuffer alpha size */
+    res = glXGetConfig(dpy, vi_list + i, GLX_ALPHA_SIZE, &val);
+    if (res) continue;
+    w += val;
+    /* and finally, prefer DirectColor-ed visuals to allow color corrections */
+    if (vi_list[i].class != DirectColor) w += 100;
 
-		if (w < best_weight) {
-			best_weight = w;
-			best_i = i;
-		}
-	}
-	if (best_weight < 1000000) *res_vi = vi_list[best_i];
-	XFree(vi_list);
-	return (best_weight < 1000000) ? 0 : -1;
+    // avoid bad-looking visual with less that 8bit per color
+    res = glXGetConfig(dpy, vi_list + i, GLX_RED_SIZE, &val);
+    if (res) continue;
+    if (val < 8) w += 50;
+    res = glXGetConfig(dpy, vi_list + i, GLX_GREEN_SIZE, &val);
+    if (res) continue;
+    if (val < 8) w += 70;
+    res = glXGetConfig(dpy, vi_list + i, GLX_BLUE_SIZE, &val);
+    if (res) continue;
+    if (val < 8) w += 50;
+
+    if (w < best_weight) {
+      best_weight = w;
+      best_i = i;
+    }
+  }
+  if (best_weight < 1000000) *res_vi = vi_list[best_i];
+  XFree(vi_list);
+  return (best_weight < 1000000) ? 0 : -1;
 }
 
 static int config_glx(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format) {
@@ -551,63 +525,58 @@
              ButtonPressMask | ButtonReleaseMask | ExposureMask);
     return 0;
   }
-  if ( vo_window == None ) 
-  {
-	XSizeHints hint;
-	XVisualInfo *vinfo, vinfo_buf;
-	XEvent xev;
+  if ( vo_window == None ) {
+    XSizeHints hint;
+    XVisualInfo *vinfo, vinfo_buf;
+    XEvent xev;
 
-		hint.x = vo_dx;
-		hint.y = vo_dy;
-		hint.width = d_width;
-		hint.height = d_height;
-		hint.flags = PPosition | PSize;
+    hint.x = vo_dx;
+    hint.y = vo_dy;
+    hint.width = d_width;
+    hint.height = d_height;
+    hint.flags = PPosition | PSize;
 
-	/* Make the window */
-  vinfo = choose_glx_visual(mDisplay,mScreen,&vinfo_buf) < 0 ? NULL : &vinfo_buf;
-  if (vinfo == NULL)
-  {
-    mp_msg(MSGT_VO, MSGL_FATAL, "[gl2] no GLX support present\n");
-    return -1;
-  }
+    /* Make the window */
+    vinfo = choose_glx_visual(mDisplay,mScreen,&vinfo_buf) < 0 ? NULL : &vinfo_buf;
+    if (vinfo == NULL) {
+      mp_msg(MSGT_VO, MSGL_FATAL, "[gl2] no GLX support present\n");
+      return -1;
+    }
 
     vo_fs = VO_FALSE;
-    vo_window = vo_x11_create_smooth_window(mDisplay, RootWindow(mDisplay,mScreen), 
-		                            vinfo->visual, hint.x, hint.y, hint.width, hint.height, vinfo->depth, vo_x11_create_colormap(vinfo));
+    vo_window = vo_x11_create_smooth_window(mDisplay, RootWindow(mDisplay,mScreen),
+                            vinfo->visual, hint.x, hint.y, hint.width, hint.height, vinfo->depth, vo_x11_create_colormap(vinfo));
 
     vo_x11_classhint( mDisplay,vo_window,"gl2" );
     vo_hidecursor(mDisplay,vo_window);
 
-	XSelectInput(mDisplay, vo_window, StructureNotifyMask);
+    XSelectInput(mDisplay, vo_window, StructureNotifyMask);
 
-	/* Tell other applications about this window */
+    /* Tell other applications about this window */
 
-	XSetStandardProperties(mDisplay, vo_window, title, title, None, NULL, 0, &hint);
+    XSetStandardProperties(mDisplay, vo_window, title, title, None, NULL, 0, &hint);
 
-	/* Map window. */
-	XMapWindow(mDisplay, vo_window);
-	vo_x11_sizehint( hint.x, hint.y, hint.width, hint.height,0 );
-        XClearWindow(mDisplay,vo_window);
+    /* Map window. */
+    XMapWindow(mDisplay, vo_window);
+    vo_x11_sizehint( hint.x, hint.y, hint.width, hint.height,0 );
+    XClearWindow(mDisplay,vo_window);
 
-	/* Wait for map. */
-	do 
-	{
-		XNextEvent(mDisplay, &xev);
-	}
-	while (xev.type != MapNotify || xev.xmap.event != vo_window);
+    /* Wait for map. */
+    do {
+      XNextEvent(mDisplay, &xev);
+    } while (xev.type != MapNotify || xev.xmap.event != vo_window);
 
-	XSync(mDisplay, False);
+    XSync(mDisplay, False);
 
-	//XSelectInput(mDisplay, vo_window, StructureNotifyMask); // !!!!
-        vo_x11_selectinput_witherr(mDisplay, vo_window, StructureNotifyMask | KeyPressMask | PointerMotionMask
-		 | ButtonPressMask | ButtonReleaseMask | ExposureMask
-        );
+    //XSelectInput(mDisplay, vo_window, StructureNotifyMask); // !!!!
+    vo_x11_selectinput_witherr(mDisplay, vo_window, StructureNotifyMask | KeyPressMask | PointerMotionMask |
+                               ButtonPressMask | ButtonReleaseMask | ExposureMask);
   }
   vo_x11_nofs_sizepos(vo_dx, vo_dy, d_width, d_height);
   if (vo_fs ^ (flags & VOFLAG_FULLSCREEN))
     vo_x11_fullscreen();
 
-        return 0;
+  return 0;
 }
 #endif
 
@@ -624,7 +593,7 @@
   if (initTextures() < 0)
     return -1;
 
-  glDisable(GL_BLEND); 
+  glDisable(GL_BLEND);
   glDisable(GL_DEPTH_TEST);
   glDepthMask(GL_FALSE);
   glDisable(GL_CULL_FACE);
@@ -653,9 +622,9 @@
 
   gl_set_antialias(0);
   gl_set_bilinear(1);
-  
+
   mp_msg(MSGT_VO, MSGL_V, "[gl2] Using image_bpp=%d, image_bytes=%d, \n\tgl_bitmap_format=%s, gl_bitmap_type=%s, \n\trgb_size=%d (%d,%d,%d), a_sz=%d, \n\tgl_internal_format=%s\n",
-        image_bpp, image_bytes, 
+        image_bpp, image_bytes,
         glValName(gl_bitmap_format), glValName(gl_bitmap_type),
         rgb_sz, r_sz, g_sz, b_sz, a_sz, glValName(gl_internal_format));
 
@@ -672,54 +641,50 @@
 /* connect to server, create and map window,
  * allocate colors and (shared) memory
  */
-static int 
+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)
 {
-        const unsigned char * glVersion;
+  const unsigned char * glVersion;
 
-	image_height = height;
-	image_width = width;
-	image_format = format;
+  image_height = height;
+  image_width = width;
+  image_format = format;
+
+  int_pause = 0;
 
-	int_pause = 0;
-  
 #ifdef HAVE_NEW_GUI
-	if (use_gui) {
-	  if (config_glx_gui(d_width, d_height) == -1)
-	    return -1;
-	}
-#ifndef GL_WIN32	
-	else
+  if (use_gui) {
+    if (config_glx_gui(d_width, d_height) == -1)
+      return -1;
+  }
+#ifndef GL_WIN32
+  else
 #endif
 #endif
 #ifdef GL_WIN32
-	if (config_w32(width, height, d_width, d_height, flags, title, format) == -1)
+  if (config_w32(width, height, d_width, d_height, flags, title, format) == -1)
 #else
-	if (config_glx(width, height, d_width, d_height, flags, title, format) == -1)
+  if (config_glx(width, height, d_width, d_height, flags, title, format) == -1)
 #endif
-	    return -1;
-	
+    return -1;
+
   setGlWindow(&gl_vinfo, &gl_context, vo_window);
 
   glVersion = glGetString(GL_VERSION);
 
   mp_msg(MSGT_VO, MSGL_V, "[gl2] OpenGL Driver Information:\n");
-  mp_msg(MSGT_VO, MSGL_V, "\tvendor: %s,\n\trenderer %s,\n\tversion %s\n", 
-  	glGetString(GL_VENDOR), 
-	glGetString(GL_RENDERER),
-	glVersion);
+  mp_msg(MSGT_VO, MSGL_V, "\tvendor: %s,\n\trenderer %s,\n\tversion %s\n",
+         glGetString(GL_VENDOR), glGetString(GL_RENDERER), glVersion);
 
-  if(glVersion[0]>'1' ||
-     (glVersion[0]=='1' && glVersion[2]>='2') )
-	  isGL12 = GL_TRUE;
+  if(glVersion[0]>'1' || (glVersion[0]=='1' && glVersion[2]>='2') )
+    isGL12 = GL_TRUE;
   else
-	  isGL12 = GL_FALSE;
+    isGL12 = GL_FALSE;
 
-  if(isGL12)
-  {
-	mp_msg(MSGT_VO, MSGL_INFO, "[gl2] You have OpenGL >= 1.2 capable drivers, GOOD (16bpp and BGR is ok!)\n");
+  if(isGL12) {
+    mp_msg(MSGT_VO, MSGL_INFO, "[gl2] You have OpenGL >= 1.2 capable drivers, GOOD (16bpp and BGR is ok!)\n");
   } else {
-	mp_msg(MSGT_VO, MSGL_INFO, "[gl2] You have OpenGL < 1.2 drivers, BAD (16bpp and BGR may be damaged!)\n");
+    mp_msg(MSGT_VO, MSGL_INFO, "[gl2] You have OpenGL < 1.2 drivers, BAD (16bpp and BGR may be damaged!)\n");
   }
 
   glFindFormat(format, &image_bpp, &gl_internal_format, &gl_bitmap_format, &gl_bitmap_type);
@@ -728,75 +693,65 @@
 
   draw_alpha_fnc=draw_alpha_null;
 
-  switch(image_bpp)
-  {
-  	case 15:
-			     draw_alpha_fnc=draw_alpha_15;
-			break;
-  	case 16:	
-			     draw_alpha_fnc=draw_alpha_16;
-			break;
-  	case 24:	
-			draw_alpha_fnc=draw_alpha_24; break;
-  	case 32:	
-			draw_alpha_fnc=draw_alpha_32; break;
+  switch(image_bpp) {
+    case 15:
+      draw_alpha_fnc=draw_alpha_15; break;
+    case 16:
+      draw_alpha_fnc=draw_alpha_16; break;
+    case 24:
+      draw_alpha_fnc=draw_alpha_24; break;
+    case 32:
+      draw_alpha_fnc=draw_alpha_32; break;
   }
 
   if (initGl(vo_dwidth, vo_dheight) == -1)
-      return -1;
+    return -1;
 #ifndef GL_WIN32
-      if (vo_ontop) vo_x11_setlayer(mDisplay,vo_window, vo_ontop);
+  if (vo_ontop) vo_x11_setlayer(mDisplay,vo_window, vo_ontop);
 #endif
 
-	return 0;
+  return 0;
 }
 
 static int gl_handlekey(int key)
 {
-	if(key=='a'||key=='A')
-	{
-		gl_set_antialias(!gl_antialias);
-		return 0;
-	}
-	else if(key=='b'||key=='B')
-	{
-		gl_set_bilinear(-1);
-		return 0;
-	}
-	return 1;
+  if(key=='a'||key=='A') {
+    gl_set_antialias(!gl_antialias);
+    return 0;
+  } else if(key=='b'||key=='B') {
+    gl_set_bilinear(-1);
+    return 0;
+  }
+  return 1;
 }
 
 static void check_events(void)
 {
-	 int e;
+  int e;
 #ifndef GL_WIN32
-	 XEvent         Event;
-	 char           buf[100];
-	 KeySym         keySym;
-	 int            key;
-	 static XComposeStatus stat;
-         
-	 while ( XPending( mDisplay ) )
-	 {
-	      XNextEvent( mDisplay,&Event );
-	      if( Event.type == KeyPress )
-	      {
+  XEvent         Event;
+  char           buf[100];
+  KeySym         keySym;
+  int            key;
+  static XComposeStatus stat;
 
-		       XLookupString( &Event.xkey,buf,sizeof(buf),&keySym,&stat );
-		       key = (keySym&0xff00) != 0? ( (keySym&0x00ff) + 256 ) 
-		                                 : ( keySym ) ;
-		       if(gl_handlekey(key))
-			       XPutBackEvent(mDisplay, &Event);
-		       break;
-	      } else {
-	      	       XPutBackEvent(mDisplay, &Event);
-	               break;
-	      }
-         }
+  while ( XPending( mDisplay ) ) {
+    XNextEvent( mDisplay,&Event );
+    if( Event.type == KeyPress ) {
+      XLookupString( &Event.xkey,buf,sizeof(buf),&keySym,&stat );
+      key = (keySym&0xff00) != 0 ? (keySym&0x00ff) + 256 : keySym;
+      if(gl_handlekey(key))
+        XPutBackEvent(mDisplay, &Event);
+      break;
+    } else {
+      XPutBackEvent(mDisplay, &Event);
+      break;
+    }
+  }
 #endif
-	 e=vo_check_events();
-         if(e&VO_EVENT_RESIZE) resize(&vo_dwidth, &vo_dheight);
-         if(e&VO_EVENT_EXPOSE && int_pause) flip_page();
+  e=vo_check_events();
+  if(e&VO_EVENT_RESIZE) resize(&vo_dwidth, &vo_dheight);
+  if(e&VO_EVENT_EXPOSE && int_pause) flip_page();
 }
 
 static void draw_osd(void)
@@ -808,7 +763,6 @@
 static void
 flip_page(void)
 {
-
   drawTextureDisplay();
 
 //  glFlush();
@@ -887,7 +841,7 @@
 static int
 query_format(uint32_t format)
 {
-    switch(format){
+  switch(format) {
     case IMGFMT_YV12:
       if (use_yuv)
         return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_OSD |
@@ -902,8 +856,8 @@
 //    case IMGFMT_BGR32:
 #endif
         return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_OSD;
-    }
-    return 0;
+  }
+  return 0;
 }
 
 
@@ -954,56 +908,56 @@
 static int control(uint32_t request, void *data, ...)
 {
   switch (request) {
-  case VOCTRL_PAUSE: return (int_pause=1);
-  case VOCTRL_RESUME: return (int_pause=0);
-  case VOCTRL_QUERY_FORMAT:
-    return query_format(*((uint32_t*)data));
-  case VOCTRL_GUISUPPORT:
-        return VO_TRUE;
-  case VOCTRL_ONTOP:
-    vo_ontop();
-    return VO_TRUE;
-  case VOCTRL_FULLSCREEN:
-    vo_fullscreen();
-    if (setGlWindow(&gl_vinfo, &gl_context, vo_window) == SET_WINDOW_REINIT)
-      initGl(vo_dwidth, vo_dheight);
-    resize(&vo_dwidth, &vo_dheight);
-    return VO_TRUE;
+    case VOCTRL_PAUSE: return (int_pause=1);
+    case VOCTRL_RESUME: return (int_pause=0);
+    case VOCTRL_QUERY_FORMAT:
+      return query_format(*((uint32_t*)data));
+    case VOCTRL_GUISUPPORT:
+      return VO_TRUE;
+    case VOCTRL_ONTOP:
+      vo_ontop();
+      return VO_TRUE;
+    case VOCTRL_FULLSCREEN:
+      vo_fullscreen();
+      if (setGlWindow(&gl_vinfo, &gl_context, vo_window) == SET_WINDOW_REINIT)
+        initGl(vo_dwidth, vo_dheight);
+      resize(&vo_dwidth, &vo_dheight);
+      return VO_TRUE;
 #ifdef GL_WIN32
-  case VOCTRL_BORDER:
-    vo_w32_border();
-    return VO_TRUE;
+    case VOCTRL_BORDER:
+      vo_w32_border();
+      return VO_TRUE;
 #endif
-  case VOCTRL_GET_PANSCAN:
-    return VO_TRUE;
-  case VOCTRL_SET_PANSCAN:
-    resize (&vo_dwidth, &vo_dheight);
-    return VO_TRUE;
+    case VOCTRL_GET_PANSCAN:
+      return VO_TRUE;
+    case VOCTRL_SET_PANSCAN:
+      resize (&vo_dwidth, &vo_dheight);
+      return VO_TRUE;
 #ifndef GL_WIN32
-  case VOCTRL_SET_EQUALIZER:
+    case VOCTRL_SET_EQUALIZER:
     {
       va_list ap;
       int value;
-    
+
       va_start(ap, data);
       value = va_arg(ap, int);
       va_end(ap);
       return vo_x11_set_equalizer(data, value);
-	}
-  case VOCTRL_GET_EQUALIZER:
+    }
+    case VOCTRL_GET_EQUALIZER:
     {
       va_list ap;
       int *value;
-    
+
       va_start(ap, data);
       value = va_arg(ap, int *);
       va_end(ap);
       return vo_x11_get_equalizer(data, value);
     }
 #endif
-  case VOCTRL_UPDATE_SCREENINFO:
-    update_xinerama_info();
-    return VO_TRUE;
+    case VOCTRL_UPDATE_SCREENINFO:
+      update_xinerama_info();
+      return VO_TRUE;
   }
   return VO_NOTIMPL;
 }