From 42be919947b84f9d621bd77e15b70c0c24aadcb0 Mon Sep 17 00:00:00 2001 From: alex Date: Sun, 7 Jul 2002 16:25:36 +0000 Subject: [PATCH] yuv handling simplified (using new mpi fields) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6668 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/vd_raw.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/libmpcodecs/vd_raw.c b/libmpcodecs/vd_raw.c index 1f1e433c1e..c2733cd22b 100644 --- a/libmpcodecs/vd_raw.c +++ b/libmpcodecs/vd_raw.c @@ -64,24 +64,18 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){ // TODO !!! mpi->planes[0]=data; mpi->stride[0]=mpi->width; - if(mpi->bpp == 12 && mpi->flags&MP_IMGFLAG_YUV) { + if(mpi->flags&MP_IMGFLAG_YUV) { // Support for some common Planar YUV formats /* YV12,I420,IYUV */ int cb=2, cr=1; if(mpi->flags&MP_IMGFLAG_SWAPPED) { cb=1; cr=2; } - mpi->planes[cb]=data+mpi->width*mpi->height; - mpi->stride[cb]=mpi->width/2; - mpi->planes[cr]=data+5*mpi->width*mpi->height/4; - mpi->stride[cr]=mpi->width/2; + mpi->planes[cb]=mpi->planes[0]+mpi->width*mpi->height; + mpi->stride[cb]=mpi->chroma_width; + mpi->planes[cr]=mpi->planes[cb]+mpi->chroma_width*mpi->chroma_height; + mpi->stride[cr]=mpi->chroma_width; } - else if (mpi->bpp==9 && mpi->flags&MP_IMGFLAG_YUV) { - /* YVU9 ! */ - mpi->stride[1]=mpi->stride[2]=mpi->width/4; - mpi->planes[2]=mpi->planes[0]+mpi->width*mpi->height; - mpi->planes[1]=mpi->planes[2]+(mpi->width>>2)*(mpi->height>>2); - } } else { mpi->planes[0]=data; mpi->stride[0]=mpi->width*(mpi->bpp/8); @@ -95,4 +89,3 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){ return mpi; } -