[FFmpeg-devel] [PATCH] Implement a SIMD version of emulated_edge_mc() for x86.

Ronald S. Bultje rsbultje
Sun Jan 30 00:38:12 CET 2011


Hi guys,

On Sat, Jan 29, 2011 at 6:35 PM, Ronald S. Bultje <rsbultje at gmail.com> wrote:
> From ~550 cycles (C version) to 170 and 208 cycles on x86-64/32,
> respectively.
> ---
> ?libavcodec/x86/dsputil_mmx.c ? ?| ? 70 +++++-
> ?libavcodec/x86/dsputil_yasm.asm | ?530 +++++++++++++++++++++++++++++++++++++++
> ?2 files changed, 598 insertions(+), 2 deletions(-)

Just FYI, I've cleaned up (mostly documented) the function somewhat
better given he FIXMEs in the original email. It's mmx on x86-32 (this
causes a slight slow-down, but I don't want to make a mmx2/etc.
version because it's quite large), sse on x86-64, I made it a little
smaller+faster (~2 cycles) by merging the calls for bottom/top/body
extend/bopy.

If this looks OK (Jason? Loren?), I think this is ready to commit.

Ronald



More information about the ffmpeg-devel mailing list