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;
 }
-