diff libvo/Attic/SHIT/video_out_gl.c.diff @ 1:3b5f5d1c5041

Initial revision
author arpi_esp
date Sat, 24 Feb 2001 20:28:24 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libvo/Attic/SHIT/video_out_gl.c.diff	Sat Feb 24 20:28:24 2001 +0000
@@ -0,0 +1,64 @@
+8,10d7
+< // Hmm. Enabling this makes about 20% speedup too! (Celeron2+G400+UtahGLX)
+< //#define TEXSUBIMAGE_BUG_WORKAROUND
+< 
+369,370c366,367
+< static inline uint32_t
+< draw_slice_x11(uint8_t *src[], uint32_t slice_num)
+---
+> //static inline uint32_t draw_slice_x11(uint8_t *src[], uint32_t slice_num)
+> static uint32_t draw_slice(uint8_t *src[], int stride[], int w,int h,int x,int y)
+372,375c369,372
+< 	uint8_t *dst;
+<   int i;
+< 
+< 	dst = ImageData;// + image_width * 16 * BYTES_PP * slice_num;
+---
+>     int i;
+>     int dstride=w*BYTES_PP;
+>     
+>     dstride=(dstride+15)&(~15);
+377,379c374,375
+< 	yuv2rgb(dst , src[0], src[1], src[2], 
+< 			image_width, 16, 
+< 			image_width*BYTES_PP, image_width, image_width/2 );
+---
+> 	yuv2rgb(ImageData, src[0], src[1], src[2], 
+> 			w,h, dstride, stride[0],stride[1]);
+383,384c379
+< #ifdef TEXSUBIMAGE_BUG_WORKAROUND
+<     for(i=0;i<16;i++){
+---
+>     for(i=0;i<h;i++){
+387,389c382,384
+< 		       0,              // x offset
+< 		       16*slice_num+i,              // y offset
+< 		       image_width,    // width
+---
+> 		       x,              // x offset
+> 		       y+i,            // y offset
+> 		       w,              // width
+393c388
+< 		       ImageData+i*BYTES_PP*image_width );        // *pixels
+---
+> 		       ImageData+i*dstride );        // *pixels
+395,406d389
+< #else
+< //printf("uploading slice \n");
+<       glTexSubImage2D( GL_TEXTURE_2D,  // target
+< 		       0,              // level
+< 		       0,              // x offset
+< 		       16*slice_num,              // y offset
+< 		       image_width,    // width
+< 		       16,              // height
+< 		       (BYTES_PP==4)?GL_RGBA:GL_RGB,        // format
+< 		       GL_UNSIGNED_BYTE, // type
+< 		       ImageData );        // *pixels
+< #endif
+409,414d391
+< }
+< 
+< static uint32_t
+< draw_slice(uint8_t *src[], uint32_t slice_num)
+< {
+< 		return draw_slice_x11(src,slice_num);