[FFmpeg-devel] [PATCH] Make vp3dsp*.c compilation optional
Aurelien Jacobs
aurel
Sat May 19 16:05:24 CEST 2007
On Mon, 14 May 2007 14:27:04 +0200
Panagiotis Issaris <takis.issaris at uhasselt.be> wrote:
> Hi,
>
> The attached patch tries to make the vp3dsp*.c compilation optional.
> Again, not meant for direct inclusion, as I am not sure about the
> correctness... I am a bit confused about Theora decoding:
>
> In dsputil_init() it seems ff_vp3_idct_* functions are being used to
> decode Theora:
> 3886 }else if(avctx->idct_algo==FF_IDCT_VP3){
> 3887 c->idct_put= ff_vp3_idct_put_c;
> 3888 c->idct_add= ff_vp3_idct_add_c;
> 3889 c->idct = ff_vp3_idct_c;
> 3890 c->idct_permutation_type= FF_NO_IDCT_PERM;
>
>
> While in dsputil_init_mmx() it seems they are explicitly avoided for
> decoding Theora:
> 3282 }else if(idct_algo==FF_IDCT_VP3 &&
> 3283 avctx->codec->id!=CODEC_ID_THEORA &&
> 3284 !(avctx->flags & CODEC_FLAG_BITEXACT)){
> 3285 if(mm_flags & MM_SSE2){
> 3286 c->idct_put= ff_vp3_idct_put_sse2;
> 3287 c->idct_add= ff_vp3_idct_add_sse2;
> 3288 c->idct = ff_vp3_idct_sse2;
> 3289 c->idct_permutation_type=
> FF_TRANSPOSE_IDCT_PERM;
> 3290 }else{
>
> Is something fishy or am I just misinterpreting the code?
The MMX and SSE2 versions of vp3dsp produce artifacts when decoding
theora (but they are ok when decoding vp*). They need to be fixed,
but in the mean time, they are simply disabled for theora.
So for now, you can consider this is the expected behavior.
> The attached patch assumes the current code mentioned above is correct.
Patch mostly ok. See my remark.
> OBJS-$(CONFIG_GPL) += i386/idct_mmx.o
> OBJS-$(CONFIG_CAVS_DECODER) += i386/cavsdsp_mmx.o
> OBJS-$(CONFIG_SNOW_DECODER) += i386/snowdsp_mmx.o
> +OBJS-$(CONFIG_VP3_DECODER) += i386/vp3dsp_mmx.o i386/vp3dsp_sse2.o
> +OBJS-$(CONFIG_VP5_DECODER) += i386/vp3dsp_mmx.o i386/vp3dsp_sse2.o
> +OBJS-$(CONFIG_VP6_DECODER) += i386/vp3dsp_mmx.o i386/vp3dsp_sse2.o
> +OBJS-$(CONFIG_THEORA_DECODER) += i386/vp3dsp_mmx.o i386/vp3dsp_sse2.o
> endif
The MMX and SSE2 versions don't need to be built for theora...
Except that, patch is ok.
Aurel
More information about the ffmpeg-devel
mailing list