[FFmpeg-cvslog] r28500 - trunk/libswscale/swscale-example.c

Ivan Kalvachev ikalvachev
Mon Feb 9 22:02:02 CET 2009


On 2/9/09, Diego Biurrun <diego at biurrun.de> wrote:
> On Mon, Feb 09, 2009 at 08:13:55PM +0000, M?ns Rullg?rd wrote:
>> Diego Biurrun <diego at biurrun.de> writes:
>>
>> > On Mon, Feb 09, 2009 at 08:53:27PM +0100, Michael Niedermayer wrote:
>> >> On Mon, Feb 09, 2009 at 07:04:19PM +0100, diego wrote:
>> >> >
>> >> > Log:
>> >> > Add config.h #include for ARCH_X86 definition.
>> >>
>> >> config.h is not a public header there is no way how swscale-example
>> >> could
>> >> include it.
>> >> Please keep in mind this is a example on how people should use swscale
>> >> from
>> >> their code, you wouldnt want them to include our config.h would you?
>> >
>> > Unfortunately this example program was broken in multiple ways.  I fixed
>> > compilation so that at least 'make tests' can run, but yes, it still has
>> > issues.  It contains
>> >
>> >   #if ARCH_X86
>> >
>> > which implicitly relies on config.h being available.
>>
>> Then that should be fixed, not more breakage added.
>
> Do you have bright suggestions?  Is there a way to avoid the
>
> #if ARCH_X86
>     __asm__ volatile ("emms\n\t");
> #endif

This instruction clears the fpu registers after they have been used by mmx.
The real question is:
Is this really necessary? Does swscale leave the fpu registers in mmx
state to boost speed on K6?
>From quick look in the template it looks like - no.

I guess this is ancient workaround for bug fixed long time ago.




More information about the ffmpeg-cvslog mailing list