fixed raw i420/iyuv to some extent, so that cb/cr channels are no

longer reversed. this should make it possible for bttv users to
play/record video (-tv outfmt=i420) once again without bogus colors.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5954 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
rfelker 2002-05-03 19:45:43 +00:00
parent 64cab0e9b9
commit 4bdb6dbc36
1 changed files with 8 additions and 4 deletions

View File

@ -65,10 +65,14 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
mpi->stride[0]=mpi->width;
if(mpi->bpp == 12 && mpi->flags&MP_IMGFLAG_YUV) {
// Support for some common Planar YUV formats
mpi->planes[2]=data+mpi->width*mpi->height;
mpi->stride[2]=mpi->width/2;
mpi->planes[1]=data+5*mpi->width*mpi->height/4;
mpi->stride[1]=mpi->width/2;
int cb=2, cr=1;
if (sh->format == IMGFMT_IYUV || sh->format == IMGFMT_I420) {
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;
}
} else {
mpi->planes[0]=data;