[Mplayer-cvslog] CVS: main/libmpcodecs vd_ffmpeg.c,1.104,1.105

Roberto Togni r_togni at tiscali.it
Wed Oct 22 00:26:26 CEST 2003


On 2003.10.09 23:22, Michael Niedermayer CVS wrote:
> Update of /cvsroot/mplayer/main/libmpcodecs
> In directory mail:/var/tmp.root/cvs-serv31768
> 
> Modified Files:
> 	vd_ffmpeg.c
> Log Message:
> YUV422P dr1 fix
> 
> 
> Index: vd_ffmpeg.c
> ===================================================================
> RCS file: /cvsroot/mplayer/main/libmpcodecs/vd_ffmpeg.c,v
> retrieving revision 1.104
> retrieving revision 1.105
> diff -u -r1.104 -r1.105
> --- vd_ffmpeg.c	4 Oct 2003 17:28:59 -0000	1.104
> +++ vd_ffmpeg.c	9 Oct 2003 21:21:46 -0000	1.105
> @@ -128,7 +128,7 @@
>          case IMGFMT_I420:
>  	    // "converted" using pointer/stride modification
>  	    if(avctx->pix_fmt==PIX_FMT_YUV420P) return
> CONTROL_TRUE;// u/v swap
> -	    if(avctx->pix_fmt==PIX_FMT_YUV422P) return
> CONTROL_TRUE;// half stride
> +	    if(avctx->pix_fmt==PIX_FMT_YUV422P && !ctx->do_dr1)
> return CONTROL_TRUE;// half stride
>  	    break;
>  #ifdef HAVE_XVMC
>          case IMGFMT_XVMC_IDCT_MPEG2:
> @@ -170,9 +170,6 @@
> 
>      if(lavc_codec->capabilities&CODEC_CAP_DR1)
>  	ctx->do_dr1=1;
> -    //XXX:FIXME:HACK:UGLY 422P with direct rendering is buggy cuz of
> that chroma stride trick ...
> -    if(sh->format == mmioFOURCC('H','F','Y','U'))
> -        ctx->do_dr1=0;
>      ctx->b_age= ctx->ip_age[0]= ctx->ip_age[1]= 256*256*256*64;
>      ctx->ip_count= ctx->b_count= 0;
> 
> @@ -416,6 +413,7 @@
>  	default:
>  	    ctx->best_csp=0;
>  	}
> +
>      	if (!mpcodecs_config_vo(sh,sh->disp_w,sh->disp_h,
> ctx->best_csp))
>      		return -1;
>      }
> 
> _______________________________________________
> Mplayer-cvslog mailing list
> Mplayer-cvslog at mplayerhq.hu
> http://mplayerhq.hu/mailman/listinfo/mplayer-cvslog
>
Looks like this commit broke huffyuv support (it fixed RGB interlaced,  
it segfault with YUV).

- After this commit: RGB ok; YUV segfaults in swscaler (works with -sws  
0)
- Reversing this commit: RGB wrong colors if interlaced (width
288) (see huffyuv_decoding_problem.tat.bz2 in incoming), else ok;
YUV luma ok, chroma wrong
- Applying the //XXX FIXMe part only (removing the if): RGB ok; YUV  
luma ok, chroma wrong

If you can't reproduce please let me know.

Ciao,
 Roberto



More information about the MPlayer-cvslog mailing list