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

Reply via email to