dsputil: fix optimized emu_edge function on Win64.
authorRonald S. Bultje <rsbultje@gmail.com>
Fri, 13 Apr 2012 18:06:39 +0000 (11:06 -0700)
committerRonald S. Bultje <rsbultje@gmail.com>
Fri, 13 Apr 2012 18:28:30 +0000 (11:28 -0700)
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.

libavcodec/x86/dsputil_yasm.asm

index bec4063260f917f6679a69fa07276e47256d7033..807c64102bb34968ae31da203b9ba426b88233ca 100644 (file)
@@ -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