[FFmpeg-devel] [PATCH] MMX/SSE2 qpel functions for RV40

Mathieu Velten matmaul
Mon Jan 5 01:25:38 CET 2009


2009/1/4 David Conrad <lessen42 at gmail.com>:
> Just wanted to note that this breaks the OS X shared build (possibly
> linux x86_32 with -fPIC as well, but that seems to be already broken
> for me) since gcc fails to find enough registers. I'm trying to figure
> out a workaround, but it's not as simple as cavs since gcc wants to
> use three registers for C1_reg, C2_reg, and rnd_reg but leaves SHIFT
> on the stack... Although perhaps it should be under HAVE_7REGS since
> I'm not sure if it's possible to use fewer than 7 without inlining
> this function?

the shift and rnd_reg have only two correlated values : 5/ff_pw_16 and
6/ff_pw_32
so I can use two distinct functions (rv40_qpel8or16_v_lowpass_shift_5
and rv40_qpel8or16_v_lowpass_shift_6 for example) and use one less
register, but this will duplicate code.

Mathieu Velten




More information about the ffmpeg-devel mailing list