[FFmpeg-cvslog] dsputil: fix optimized emu_edge function on Win64.

Ronald S. Bultje git at videolan.org
Sat Apr 14 22:52:15 CEST 2012


ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Fri Apr 13 11:06:39 2012 -0700| [b089ca871aaa1b59d43f81bce9d246fadb2e852b] | committer: Ronald S. Bultje

dsputil: fix optimized emu_edge function on Win64.

Recent register allocation changes (x86inc.asm update) changed the
register order and thus opcodes for the inner loops. One of them became
>128bytes, which confuses other parts of this function where it jumps
to fixed-offset positions to extend the edge by fixed amounts. A simple
register change fixes this.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b089ca871aaa1b59d43f81bce9d246fadb2e852b
---

 libavcodec/x86/dsputil_yasm.asm |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libavcodec/x86/dsputil_yasm.asm b/libavcodec/x86/dsputil_yasm.asm
index bec4063..807c641 100644
--- a/libavcodec/x86/dsputil_yasm.asm
+++ b/libavcodec/x86/dsputil_yasm.asm
@@ -594,7 +594,7 @@ cglobal emu_edge_core, 2, 7, 0
 %define valw2 r7w
 %define valw3 r3w
 %if WIN64
-%define valw4 r4w
+%define valw4 r7w
 %else ; unix64
 %define valw4 r3w
 %endif



More information about the ffmpeg-cvslog mailing list