[FFmpeg-devel] [PATCH] ra144enc: fix use of scalarprod_int16
James Almer
jamrial at gmail.com
Wed Mar 5 23:19:00 CET 2014
On 05/03/14 5:50 PM, Christophe Gisquet wrote:
> Hi,
>
> 2014-03-05 19:51 GMT+01:00 James Almer <jamrial at gmail.com>:
>> This doesn't appear to have fixed the problem.
>
> I guess Michael's addition is the one not working?
No, i meant the usage of emms_c() in ra144enc.c
>
>> Adding
>>
>> %if mmsize == 8
>> emms
>> %endif
>>
>> at the end of scalarproduct_int16 in dsputil.c like it's done in other files
>> however worked for me.
>
> The issue here is that emms might be emitted quite frequently, which I
> believe was Michael's reason to do this. I have just verified he is
> right: the ssse3 version takes ~155 cycles, and adding unconditionally
> emms brings it to 185.
Michael's addition was correct in that, as you said, prevented calling it
unconditionally, but the actual change of using emms_c() in ra144enc.c is in
itself not working (at least not on the systems i tried).
Adding emms at the end of scalarproduct_int16 using the above code worked
for me, and is also used only for mmx.
>
> Anyway, this is weird. At this point, I think this is causing more
> headaches than encoding with such a codec is worth.
>
> I'd suggest reverting the change altogether, because adding emms to
> the dsp is probably more detrimental.
>
More information about the ffmpeg-devel
mailing list