Mercurial > mplayer.hg
changeset 6667:15efad628385
yuv handling simplified (using new mpi fields)
author | alex |
---|---|
date | Sun, 07 Jul 2002 16:25:36 +0000 |
parents | 349138a7b414 |
children | 4e3493443b36 |
files | libmpcodecs/vd_raw.c |
diffstat | 1 files changed, 5 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpcodecs/vd_raw.c Sun Jul 07 16:17:45 2002 +0000 +++ b/libmpcodecs/vd_raw.c Sun Jul 07 16:25:36 2002 +0000 @@ -64,24 +64,18 @@ // 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 @@ return mpi; } -