From 747cc862f144eef7178ecdf0f7d9a906ad230912 Mon Sep 17 00:00:00 2001 From: arpi Date: Thu, 10 Oct 2002 01:09:23 +0000 Subject: don't honor stride hints if the next filter(chain) doesn't support stride git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7698 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/vf.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'libmpcodecs/vf.c') diff --git a/libmpcodecs/vf.c b/libmpcodecs/vf.c index 6be3b4b522..4a2e30e028 100644 --- a/libmpcodecs/vf.c +++ b/libmpcodecs/vf.c @@ -187,8 +187,17 @@ mp_image_t* vf_get_image(vf_instance_t* vf, unsigned int outfmt, int mp_imgtype, int align=(mpi->flags&MP_IMGFLAG_PLANAR && mpi->flags&MP_IMGFLAG_YUV) ? (8<chroma_x_shift)-1 : 15; // -- maybe FIXME - mpi->width=w2=((w+align)&(~align)); - mpi->chroma_width=w2>>mpi->chroma_x_shift; + w2=((w+align)&(~align)); + if(mpi->width!=w2){ + // we have to change width... check if we CAN co it: + int flags=vf->query_format(vf,outfmt); // should not fail + if(!(flags&3)) mp_msg(MSGT_DECVIDEO,MSGL_WARN,"??? vf_get_image{vf->query_format(outfmt)} failed!\n"); +// printf("query -> 0x%X \n",flags); + if(flags&VFCAP_ACCEPT_STRIDE){ + mpi->width=w2; + mpi->chroma_width=w2>>mpi->chroma_x_shift; + } + } } // IF09 - allocate space for 4. plane delta info - unused -- cgit v1.2.3