[FFmpeg-cvslog] r25254 - trunk/libavcodec/x86/h264dsp_mmx.c

Michael Niedermayer michaelni
Wed Sep 29 18:03:37 CEST 2010


On Wed, Sep 29, 2010 at 04:02:32PM +0200, rbultje wrote:
> Author: rbultje
> Date: Wed Sep 29 16:02:32 2010
> New Revision: 25254
> 
> Log:
> Remove d_idx as a variable, and instead load it as a constant in the asm.
> This has no measurable speed effect because the surrounding code doesn't
> take advantage of this yet.
[...]
> @@ -125,34 +124,41 @@ static av_always_inline void h264_loop_f
>                          "por           %%mm1, %%mm0 \n"
>                          "pshufw $0x4E, %%mm0, %%mm1 \n"
>                          "pminub        %%mm1, %%mm0 \n"
> -                        ::"r"(d_idx),
> -                          "r"(ref[0]+b_idx),
> -                          "r"(mv[0]+b_idx)
> +                        ::"r"(ref[0]+b_idx),
> +                          "r"(mv[0]+b_idx),
> +                          "i"(d_idx),
> +                          "i"(d_idx+40),
> +                          "i"(d_idx*4),
> +                          "i"(d_idx*4+8),
> +                          "i"(d_idx*4+160),
> +                          "i"(d_idx*4+168)

It appears that some gccs have difficulty with constant propagation, so i
suspect that this has to be changed to a macro instead of a always_inline
function

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Observe your enemies, for they first find out your faults. -- Antisthenes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20100929/84cdd125/attachment.pgp>



More information about the ffmpeg-cvslog mailing list