[FFmpeg-devel] [FFmpeg-cvslog] r11100	-	in	trunk/libavcodec/i386: cavsdsp_mmx.c	dsputil_mmx.c	dsputil_mmx.h	h264dsp_mmx.c mpegvideo_mmx.c	vc1dsp_mmx.c
    Uoti Urpala 
    uoti.urpala
       
    Fri Nov 30 18:04:42 CET 2007
    
    
  
On Fri, 2007-11-30 at 12:26 +0100, Michael Niedermayer wrote:
> On Thu, Nov 29, 2007 at 03:53:47PM -0700, Loren Merritt wrote:
> > (1) static (like it was before)
> > (2) #pragma GCC visibility ...
> > (3) ld -Bsymbolic
> > (4) ld --version-script ...
> > (5) implement full PIC access (double deference, not just rip-relative).
> > 
> > (2) obvisouly requires gcc. (3) and (4) require GNU ld. (5) makes the 
> > shared library slower (I have no idea how much).
Would (3) or (4) actually fix compilation in this case? I think the
addressing mode generated by the compiler causes the problems and AFAIK
the linker wouldn't change that.
> id accept a patch with (3) as well as (1) and reject (5) dunno about the
> others
> 
> also i suspect (3) could lead to some speedups for shared libs ...
Any linker stuff like (3) or (4) cannot give the full available speedup;
for that the addressing mode needs to be known at compile time. As I
wrote in another message the visibility should be marked in the headers
with either a pragma changing default visibility or a per-symbol macro.
Those produce identical results but differ in code maintenance
qualities.
    
    
More information about the ffmpeg-devel
mailing list