[FFmpeg-devel] [PATCH] Fix emulated_edge_mc SSE code to not contain SSE2 instructions on x86-32.
Michael Niedermayer
michaelni at gmx.at
Thu Oct 10 13:35:26 CEST 2013
On Wed, Oct 09, 2013 at 09:24:20PM -0400, Ronald S. Bultje wrote:
> ---
> libavcodec/x86/videodsp.asm | 64 +++++++++++++++++++++++++-----------------
> libavcodec/x86/videodsp_init.c | 11 ++++++--
> 2 files changed, 47 insertions(+), 28 deletions(-)
>
> diff --git a/libavcodec/x86/videodsp.asm b/libavcodec/x86/videodsp.asm
> index cc2105d..aa865f5 100644
> --- a/libavcodec/x86/videodsp.asm
> +++ b/libavcodec/x86/videodsp.asm
> @@ -100,7 +100,7 @@ cglobal emu_edge_hvar, 5, 6, 1, dst, dst_stride, start_x, n_words, h, w
> ; FIXME also write a ssse3 version using pshufb
> movzx wd, byte [dstq+start_xq] ; w = read(1)
> imul wd, 0x01010101 ; w *= 0x01010101
> - movd m0, wd
> + movd m0, wd ; FIXME this is sse2, not sse
[...]
> diff --git a/libavcodec/x86/videodsp_init.c b/libavcodec/x86/videodsp_init.c
> index a709d03..b5bab72 100644
> --- a/libavcodec/x86/videodsp_init.c
> +++ b/libavcodec/x86/videodsp_init.c
> @@ -219,9 +219,14 @@ static av_noinline void emulated_edge_mc_sse(uint8_t *buf, ptrdiff_t buf_stride,
> int block_w, int block_h,
> int src_x, int src_y, int w, int h)
> {
> - emulated_edge_mc(buf, buf_stride, src, src_stride, block_w, block_h,
> - src_x, src_y, w, h, vfixtbl_sse, &ff_emu_edge_vvar_sse,
> - hfixtbl_sse, &ff_emu_edge_hvar_sse);
> + emulated_edge_mc(buf, buf_stride, src, src_stride, block_w, block_h, src_x,
> + src_y, w, h, vfixtbl_sse, &ff_emu_edge_vvar_sse, hfixtbl_sse,
> +#if ARCH_X86_64
> + &ff_emu_edge_hvar_sse
> +#else
> + &ff_emu_edge_hvar_mmx
> +#endif
this is a bit ugly but more important is to fix that bug so
applied
thanks
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
I know you won't believe me, but the highest form of Human Excellence is
to question oneself and others. -- Socrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20131010/21c453b3/attachment.asc>
More information about the ffmpeg-devel
mailing list