[FFmpeg-devel] [PATCH] Port mp=eq/eq2 to FFmpeg

Clément Bœsch u at pkh.me
Thu Jan 22 21:24:28 CET 2015


On Thu, Jan 22, 2015 at 09:45:04PM +0530, arwa arif wrote:
[...]
> I checked the runtime of the codes with and without asm, it turns out that
> there is not much difference. The difference is coming out to be in
> milliseconds.
> 
> 26.014s with asm and
> 26.129 without asm.
> 
>  So, should I remove the asm part?
> 

If you want to compare the speed of the ASM itself, you need to compare
with START_TIMER and STOP_TIMER macros.

But before you do that, I'd like to raise an issue (which might be kind of
off topic, sorry about that).

In 2009, this was committed: 973859f5230e77beea7bb59dc081870689d6d191

It disables the tree-vectorize optimizations (we compile FFmpeg at -O3
where it's enabled by default, but we explicitly disables it).

In this particular case, it seems that GCC is able to vectorize the C
version using SSE* code, which means it's actually potentially faster¹
than the home written MMX version we have²

I'd suggest we try to revert that commit, and next time we write or port
optimizations we make a fair comparison. That is, with code generated by a
modern compiler without such option. If the old MMX code is actually
making the code slower, we should not waste our time with it.

Benchmarks welcome.

[1] http://pastie.org/pastes/9852329/text (-O3)
[2] http://pastie.org/pastes/9852328/text (-O3 -fno-tree-vectorize / current)


-- 
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150122/8af624f9/attachment.asc>


More information about the ffmpeg-devel mailing list