# HG changeset patch # User arpi # Date 1003802149 0 # Node ID af90fac426a683047926899fb94347ff9b122c9b # Parent f628c76bbc11b9cea586ce00ed9445f22472a320 h263 fixed diff -r f628c76bbc11 -r af90fac426a6 xacodec.c --- a/xacodec.c Tue Oct 23 01:46:55 2001 +0000 +++ b/xacodec.c Tue Oct 23 01:55:49 2001 +0000 @@ -701,7 +701,7 @@ yuv->y_w,yuv->y_h,yuv->uv_w,yuv->uv_h); #endif -if(imagex==image->width && imagey==image->height){ +if(i_x==image->width && i_y==image->height){ // printf("Direct render!!!\n"); image->planes[0]=yuv->Ybuf; if(image->out_fmt==IMGFMT_YV12){ @@ -711,11 +711,18 @@ image->planes[1]=yuv->Vbuf; image->planes[2]=yuv->Ubuf; } - image->stride[0]=imagex; // yuv->y_w - image->stride[1]=image->stride[2]=imagex/2; // yuv->uv_w + image->stride[0]=i_x; // yuv->y_w + image->stride[1]=image->stride[2]=i_x/2; // yuv->uv_w } else { - printf("partial YV12 not implemented!!!!!!\n"); - + int y; +// printf("partial YV12 not implemented!!!!!!\n"); + for(y=0;yplanes[0]+y*image->stride[0],yuv->Ybuf+y*i_x,i_x); + i_x>>=1; i_y>>=1; + for(y=0;yplanes[1]+y*image->stride[1],yuv->Ubuf+y*i_x,i_x); + memcpy(image->planes[2]+y*image->stride[2],yuv->Vbuf+y*i_x,i_x); + } } return; }