# HG changeset patch # User reimar # Date 1273364306 0 # Node ID 9acad2e25ea1d192ac92b335813b60a72d89e089 # Parent cca95ca6f52bb54de225dbba49275056ed7273ef Handle Y8/Y800 formats more similar to other YUV formats. diff -r cca95ca6f52b -r 9acad2e25ea1 libmpcodecs/img_format.c --- a/libmpcodecs/img_format.c Sun May 09 00:16:46 2010 +0000 +++ b/libmpcodecs/img_format.c Sun May 09 00:18:26 2010 +0000 @@ -151,13 +151,18 @@ xs = 0; ys = 1; break; + case IMGFMT_Y8: + case IMGFMT_Y800: + xs = 31; + ys = 31; + break; default: err = 1; break; } if (x_shift) *x_shift = xs; if (y_shift) *y_shift = ys; - bpp = 8 + (16 >> (xs + ys)); + bpp = 8 + ((16 >> xs) >> ys); if (format == IMGFMT_420A) bpp += 8; bpp *= bpp_factor; diff -r cca95ca6f52b -r 9acad2e25ea1 libmpcodecs/mp_image.c --- a/libmpcodecs/mp_image.c Sun May 09 00:16:46 2010 +0000 +++ b/libmpcodecs/mp_image.c Sun May 09 00:18:26 2010 +0000 @@ -153,8 +153,7 @@ case IMGFMT_Y800: case IMGFMT_Y8: /* they're planar ones, but for easier handling use them as packed */ -// mpi->flags|=MP_IMGFLAG_PLANAR; - mpi->bpp=8; + mpi->flags&=~MP_IMGFLAG_PLANAR; mpi->num_planes=1; return; case IMGFMT_UYVY: