Update of /cvsroot/mplayer/main/libvo In directory mail:/var/tmp.root/cvs-serv30604/libvo Modified Files: vo_directx.c Log Message: 10l - my system is very tolerant it seems Index: vo_directx.c =================================================================== RCS file: /cvsroot/mplayer/main/libvo/vo_directx.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- vo_directx.c 18 Dec 2002 07:34:32 -0000 1.7 +++ vo_directx.c 19 Dec 2002 12:01:50 -0000 1.8 @@ -118,13 +118,13 @@ case IMGFMT_I420 : case IMGFMT_IYUV : case IMGFMT_YVU9 : - vo_draw_alpha_yv12(w,h,src,srca,stride,((uint8_t *) image) + image_width*y0 + x0,image_width); + vo_draw_alpha_yv12(w,h,src,srca,stride,((uint8_t *) image) + dstride*y0 + x0,dstride); break; case IMGFMT_YUY2 : - vo_draw_alpha_yuy2(w,h,src,srca,stride,((uint8_t *) image)+ 2*image_width*y0 + 2*x0 ,2*image_width); + vo_draw_alpha_yuy2(w,h,src,srca,stride,((uint8_t *) image)+ dstride*y0 + 2*x0 ,dstride); break; case IMGFMT_UYVY : - vo_draw_alpha_yuy2(w,h,src,srca,stride,((uint8_t *) image) + 2*image_width*y0 + 2*x0 + 1,dstride); + vo_draw_alpha_yuy2(w,h,src,srca,stride,((uint8_t *) image) + dstride*y0 + 2*x0 + 1,dstride); break; case IMGFMT_RGB15: case IMGFMT_BGR15: @@ -1047,19 +1047,19 @@ } if(dxresult != DD_OK)mp_msg(MSGT_VO, MSGL_ERR,"<vo_directx><ERROR>can't flip page\n"); } + g_lpddsBack->lpVtbl->Unlock (g_lpddsBack,NULL); + if(nooverlay) + { + DDBLTFX ddbltfx; + // ask for the "NOTEARING" option + memset( &ddbltfx, 0, sizeof(DDBLTFX) ); + ddbltfx.dwSize = sizeof(DDBLTFX); + ddbltfx.dwDDFX = DDBLTFX_NOTEARING; + g_lpddsPrimary->lpVtbl->Blt(g_lpddsPrimary, &rd, g_lpddsBack, NULL, DDBLT_WAIT, &ddbltfx); + } g_lpddsBack->lpVtbl->Lock(g_lpddsBack,NULL,&ddsdsf, DDLOCK_NOSYSLOCK | DDLOCK_WAIT , NULL); - g_lpddsBack->lpVtbl->Unlock (g_lpddsBack,NULL); dstride = ddsdsf.lPitch; image = ddsdsf.lpSurface; - if(nooverlay == 1) - { - DDBLTFX ddbltfx; - // ask for the "NOTEARING" option - memset( &ddbltfx, 0, sizeof(DDBLTFX) ); - ddbltfx.dwSize = sizeof(DDBLTFX); - ddbltfx.dwDDFX = DDBLTFX_NOTEARING; - g_lpddsPrimary->lpVtbl->Blt(g_lpddsPrimary, &rd, g_lpddsBack, NULL, DDBLT_WAIT, &ddbltfx); - } } static uint32_t draw_frame(uint8_t *src[]) @@ -1241,7 +1241,6 @@ memset(&ddsdsf, 0,sizeof(DDSURFACEDESC)); ddsdsf.dwSize = sizeof (DDSURFACEDESC); g_lpddsBack->lpVtbl->Lock(g_lpddsBack,NULL,&ddsdsf, DDLOCK_NOSYSLOCK | DDLOCK_WAIT, NULL); - g_lpddsBack->lpVtbl->Unlock (g_lpddsBack,NULL); dstride = ddsdsf.lPitch; image = ddsdsf.lpSurface; if(image_format==IMGFMT_I420||image_format==IMGFMT_IYUV)
participants (4)
-
Diego Biurrun -
Felix Buenemann -
Sascha Sommer -
Sascha Sommer CVS