[Ffmpeg-cvslog] CVS: ffmpeg/libavcodec h263dec.c,1.169,1.170

matthieu castet castet.matthieu
Sat Sep 10 19:24:31 CEST 2005


Michael Niedermayer CVS wrote:
> Update of /cvsroot/ffmpeg/ffmpeg/libavcodec
> In directory mail:/var2/tmp/cvs-serv28550
> 
> Modified Files:
> 	h263dec.c 
> Log Message:
> select xvid idct for xvid files if possible
> 
> 
> Index: h263dec.c
> ===================================================================
> RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/h263dec.c,v
> retrieving revision 1.169
> retrieving revision 1.170
> diff -u -d -r1.169 -r1.170
> --- h263dec.c	14 Jul 2005 21:39:35 -0000	1.169
> +++ h263dec.c	10 Sep 2005 17:09:54 -0000	1.170
> @@ -636,9 +636,9 @@
>  }
>  #endif
>  
> -#ifdef HAVE_MMX
> +#if defined(HAVE_MMX) && defined(CONFIG_GPL)
>      if(s->codec_id == CODEC_ID_MPEG4 && s->xvid_build && avctx->idct_algo == FF_IDCT_AUTO && (mm_flags & MM_MMX) && !(s->flags&CODEC_FLAG_BITEXACT)){
> -        avctx->idct_algo= FF_IDCT_LIBMPEG2MMX;
> +        avctx->idct_algo= FF_IDCT_XVIDMMX;
>          avctx->coded_width= 0; // force reinit
>      }
>  #endif
> 
That don't seem nice as LGPL user won't have MMX IDCT (FF_IDCT_LIBMPEG2MMX).

why not just do a
#defined(CONFIG_GPL)
avctx->idct_algo= FF_IDCT_XVIDMMX;
#else
avctx->idct_algo= FF_IDCT_LIBMPEG2MMX;
#endif
?

or in case of no-GPL #define FF_IDCT_XVIDMMX FF_IDCT_LIBMPEG2MMX
?

Also is there any speed difference ?
Shouldn't be only enable for xvid file that have this problem ?


Matthieu





More information about the ffmpeg-cvslog mailing list