[FFmpeg-cvslog] r28996 - trunk/libswscale/rgb2rgb_template.c

Måns Rullgård mans
Thu Mar 19 09:46:24 CET 2009


Michael Niedermayer <michaelni at gmx.at> writes:

> On Thu, Mar 19, 2009 at 01:19:07AM +0100, Michael Niedermayer wrote:
>> On Wed, Mar 18, 2009 at 11:11:50PM +0100, reimar wrote:
>> > Author: reimar
>> > Date: Wed Mar 18 23:11:50 2009
>> > New Revision: 28996
>> > 
>> > Log:
>> > Fix libswscale compilation on non-x86, hopefully without breaking MinGW64 again.
>> 
>> [...]
>> > @@ -1628,10 +1634,11 @@ static inline void RENAME(yuvPlanartouyv
>> >                                             long lumStride, long chromStride, long dstStride, long vertLumPerChroma)
>> >  {
>> >      long y;
>> > -    const x86_reg chromWidth= width>>1;
>> > +    const long chromWidth= width>>1;
>> >      for (y=0; y<height; y++)
>> >      {
>> >  #if HAVE_MMX
>> > +        x86_reg cw = chromWidth;
>> >  //FIXME handle 2 lines at once (fewer prefetches, reuse some chroma, but very likely memory-limited anyway)
>> >          __asm__ volatile(
>> >          "xor                %%"REG_a", %%"REG_a"    \n\t"
>> 
>> are the object files identical on x86 ?
>> if not what is the difference in the generated code?
>> is it slower?
>
> after a second thought
>
> the correct solution is to
> typedef x86_reg to int on non x86 and maybe rename x86_reg to native_reg

Using something called x86_reg on non-x86 is almost as ugly as
Reimar's quick fix.

-- 
M?ns Rullg?rd
mans at mansr.com




More information about the ffmpeg-cvslog mailing list