[FFmpeg-devel] [PATCH] SSE2 version of vf_idet's filter_line()

Michael Niedermayer michaelni at gmx.at
Tue Sep 2 18:39:06 CEST 2014


On Tue, Sep 02, 2014 at 05:13:08PM +0200, Pascal Massimino wrote:
> Hi,
> 
> Much faster.
> An example (time ffmpeg -i ... -vf idet -f null /dev/null)
> Raw C:     user 25.007s
> MMX:        user 16.818s
> MMXEXT: user 16.191s
> SSE2:       user 15.481s
> no idet filter:  user 15.025s
> 
> YMMV.
> skal

>  vf_idet.c          |   34 +--------
>  vf_idet.h          |   55 +++++++++++++++
>  x86/Makefile       |    2 
>  x86/vf_idet.asm    |  193 +++++++++++++++++++++++++++++++++++++++++++++++++++++
>  x86/vf_idet_init.c |   53 ++++++++++++++
>  5 files changed, 307 insertions(+), 30 deletions(-)
> 0caf7533ffffd437c2f14cb0b42fd701f467a2cd  idet_sse2.patch
> commit de5064a0126a0a5bed9d8f151fa79b07614729fe
> Author: skal <pascal.massimino at gmail.com>
> Date:   Tue Sep 2 16:55:29 2014 +0200

"git am" didnt like this, it needs git format-patch or
send-email output.


also fails to build on x86-32 after applying it with patch -p1

libavfilter/x86/vf_idet.asm:123: error: undefined symbol `r7d' (first use)
libavfilter/x86/vf_idet.asm:123: error:  (Each undefined symbol is reported only once.)
libavfilter/x86/vf_idet.asm:123: error: undefined symbol `ff_idet_filter_line_mmxext.end' (first use)
libavfilter/x86/vf_idet.asm:123: error: undefined symbol `r7' (first use)
libavfilter/x86/vf_idet.asm:123: warning: `movsxd' is an instruction in 64-bit mode
libavfilter/x86/vf_idet.asm:123: error: instruction expected after label
libavfilter/x86/vf_idet.asm:123: error: undefined symbol `movsxd.left_over_loop' (first use)
libavfilter/x86/vf_idet.asm:127: error: undefined symbol `ff_idet_filter_line_mmx.end' (first use)
libavfilter/x86/vf_idet.asm:127: warning: `movsxd' is an instruction in 64-bit mode
libavfilter/x86/vf_idet.asm:127: error: instruction expected after label
libavfilter/x86/vf_idet.asm:127: error: redefinition of `movsxd.end'
libavfilter/x86/vf_idet.asm:123: error: `movsxd.end' previously defined here
libavfilter/x86/vf_idet.asm:187: error: undefined symbol `ff_idet_filter_line_sse2.sse2_end' (first use)
libavfilter/x86/vf_idet.asm:189: warning: `movsxd' is an instruction in 64-bit mode
libavfilter/x86/vf_idet.asm:189: error: instruction expected after label

and if you want to maintain this, dont hesitate to add yourself to
the MAINTAINERs file

thx

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

it is not once nor twice but times without number that the same ideas make
their appearance in the world. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140902/087b7c91/attachment.asc>


More information about the ffmpeg-devel mailing list