diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-10-23 01:55:49 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-10-23 01:55:49 +0000 |
commit | 0674a7d0847886d394b071516898850bc6ef010a (patch) | |
tree | 26567fe293782030e8777fdc1743ec2638a2bb04 /xacodec.c | |
parent | 5edd750badc44297a13b1866b949c7cf4af413c4 (diff) | |
download | mpv-0674a7d0847886d394b071516898850bc6ef010a.tar.bz2 mpv-0674a7d0847886d394b071516898850bc6ef010a.tar.xz |
h263 fixed
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2404 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'xacodec.c')
-rw-r--r-- | xacodec.c | 17 |
1 files changed, 12 insertions, 5 deletions
@@ -701,7 +701,7 @@ void XA_YUV221111_To_CLR8(unsigned char *image_p, unsigned int imagex, unsigned 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 @@ if(imagex==image->width && imagey==image->height){ 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;y<i_y;y++) + memcpy(image->planes[0]+y*image->stride[0],yuv->Ybuf+y*i_x,i_x); + i_x>>=1; i_y>>=1; + for(y=0;y<i_y;y++){ + memcpy(image->planes[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; } |