Mercurial > mplayer.hg
changeset 6738:77f2713ae7fd
svq1 direct rendering
author | michael |
---|---|
date | Mon, 15 Jul 2002 21:33:46 +0000 |
parents | 39619804c8b6 |
children | 8a680d5f3a17 |
files | libmpcodecs/vd_ffmpeg.c |
diffstat | 1 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpcodecs/vd_ffmpeg.c Mon Jul 15 14:30:12 2002 +0000 +++ b/libmpcodecs/vd_ffmpeg.c Mon Jul 15 21:33:46 2002 +0000 @@ -251,7 +251,11 @@ // int flags= MP_IMGFLAG_ALIGNED_STRIDE; int flags= MP_IMGFLAG_ACCEPT_STRIDE; int type= MP_IMGTYPE_IPB; - + int align=15; + + if(avctx->pix_fmt == PIX_FMT_YUV410P) + align=63; //yes seriously, its really needed (16x16 chroma blocks in SVQ1 -> 64x64) + if(init_vo(sh)<0){ printf("init_vo failed\n"); return; @@ -273,8 +277,7 @@ mp_msg(MSGT_DECVIDEO,MSGL_DBG2, type== MP_IMGTYPE_IPB ? "using IPB\n" : "using IP\n"); mpi= mpcodecs_get_image(sh,type, flags, -// MN: arpi, is the next line ok? (i doubt it), its needed for height%16!=0 files - (width+15)&(~15), (height+15)&(~15)); + (width+align)&(~align), (height+align)&(~align)); // ok, lets see what did we get: if( mpi->flags&MP_IMGFLAG_DRAW_CALLBACK && @@ -338,7 +341,7 @@ &got_picture, data, len); if(ret<0) mp_msg(MSGT_DECVIDEO,MSGL_WARN, "Error while decoding frame!\n"); if(!got_picture) return NULL; // skipped image - + if(init_vo(sh)<0) return NULL; #if LIBAVCODEC_BUILD > 4615