On Thu, Oct 11, 2012 at 01:45:54AM +0200, Janne Grunau wrote: > On 2012-10-10 23:47:27 +0200, Diego Biurrun wrote: > > --- a/libavcodec/x86/Makefile > > +++ b/libavcodec/x86/Makefile > > @@ -1,9 +1,17 @@ > > -OBJS += x86/fmtconvert_init.o > > +OBJS += x86/dsputil_mmx.o \ > > + x86/fdct.o \ > > + x86/fmtconvert_init.o \ > > + x86/idct_mmx_xvid.o \ > > + x86/idct_sse2_xvid.o \ > > + x86/simple_idct.o \ > > all added files have inline mmx*/sse2 asm only under #if HAVE_INLINE_ASM > resulting in bloat or build errors with historic compilers not > supporting those instructions. That's arguably already the case if only > MMX is enabled/supported. But unconditionally compiling unused code > seems wrong.
What compilers would that be? Something supporting gcc inline assembly, but not SSE instructions? > > --- a/libswscale/x86/Makefile > > +++ b/libswscale/x86/Makefile > > @@ -1,9 +1,9 @@ > > -OBJS-$(CONFIG_XMM_CLOBBER_TEST) += x86/w64xmmtest.o > > - > > -MMX-OBJS += x86/rgb2rgb.o \ > > +OBJS += x86/rgb2rgb.o \ > > this one has the same problem as the libavcodec files > > x86/swscale.o \ > > x86/yuv2rgb.o \ > > those are ok after fixing my remark below > > > +OBJS-$(CONFIG_XMM_CLOBBER_TEST) += x86/w64xmmtest.o > > + > > YASM-OBJS += x86/input.o \ > > x86/output.o \ > > x86/scale.o \ > > diff --git a/libswscale/x86/swscale.c b/libswscale/x86/swscale.c > > index ba7990e..4b9ed19 100644 > > --- a/libswscale/x86/swscale.c > > +++ b/libswscale/x86/swscale.c > > @@ -302,18 +302,18 @@ INPUT_FUNCS(sse2); > > INPUT_FUNCS(ssse3); > > INPUT_FUNCS(avx); > > updateMMXDitherTables further above in the file should be wrapped with > #if HAVE_MMX_INLINE Why? It's called under that condition, so with --disable-mmx it will be unused, but that should be harmless... Diego _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel