;
; jfdctint.asm - accurate integer FDCT (SSE2)
;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
;
; Based on the x86 SIMD extension for IJG JPEG library
; Copyright (C) 1999-2006, MIYASAKA Masaru.
; For conditions of distribution and use, see copyright notice in jsimdext.inc
;
; This file should be assembled with NASM (Netwide Assembler),
; can *not* be assembled with Microsoft's MASM or any compatible
; assembler (including Borland's Turbo Assembler).
; NASM is available from http://nasm.sourceforge.net/ or
; http://sourceforge.net/project/showfiles.php?group_id=6208
;
; This file contains a slow-but-accurate integer implementation of the
; forward DCT (Discrete Cosine Transform). The following code is based
; directly on the IJG's original jfdctint.c; see the jfdctint.c for
; more details.
;
; [TAB8]

%include "jsimdext.inc"
%include "jdct.inc"

; --------------------------------------------------------------------------

%define CONST_BITS      13
%define PASS1_BITS      2

%define DESCALE_P1      (CONST_BITS-PASS1_BITS)
%define DESCALE_P2      (CONST_BITS+PASS1_BITS)

%if CONST_BITS == 13
F_0_298 equ      2446           ; FIX(0.298631336)
F_0_390 equ      3196           ; FIX(0.390180644)
F_0_541 equ      4433           ; FIX(0.541196100)
F_0_765 equ      6270           ; FIX(0.765366865)
F_0_899 equ      7373           ; FIX(0.899976223)
F_1_175 equ      9633           ; FIX(1.175875602)
F_1_501 equ     12299           ; FIX(1.501321110)
F_1_847 equ     15137           ; FIX(1.847759065)
F_1_961 equ     16069           ; FIX(1.961570560)
F_2_053 equ     16819           ; FIX(2.053119869)
F_2_562 equ     20995           ; FIX(2.562915447)
F_3_072 equ     25172           ; FIX(3.072711026)
%else
; NASM cannot do compile-time arithmetic on floating-point constants.
%define DESCALE(x,n)  (((x)+(1<<((n)-1)))>>(n))
F_0_298 equ     DESCALE( 320652955,30-CONST_BITS)       ; FIX(0.298631336)
F_0_390 equ     DESCALE( 418953276,30-CONST_BITS)       ; FIX(0.390180644)
F_0_541 equ     DESCALE( 581104887,30-CONST_BITS)       ; FIX(0.541196100)
F_0_765 equ     DESCALE( 821806413,30-CONST_BITS)       ; FIX(0.765366865)
F_0_899 equ     DESCALE( 966342111,30-CONST_BITS)       ; FIX(0.899976223)
F_1_175 equ     DESCALE(1262586813,30-CONST_BITS)       ; FIX(1.175875602)
F_1_501 equ     DESCALE(1612031267,30-CONST_BITS)       ; FIX(1.501321110)
F_1_847 equ     DESCALE(1984016188,30-CONST_BITS)       ; FIX(1.847759065)
F_1_961 equ     DESCALE(2106220350,30-CONST_BITS)       ; FIX(1.961570560)
F_2_053 equ     DESCALE(2204520673,30-CONST_BITS)       ; FIX(2.053119869)
F_2_562 equ     DESCALE(2751909506,30-CONST_BITS)       ; FIX(2.562915447)
F_3_072 equ     DESCALE(3299298341,30-CONST_BITS)       ; FIX(3.072711026)
%endif

; --------------------------------------------------------------------------
        SECTION SEG_CONST

        alignz  16
        global  EXTN(jconst_fdct_islow_sse2) PRIVATE

EXTN(jconst_fdct_islow_sse2):

PW_F130_F054    times 4 dw  (F_0_541+F_0_765), F_0_541
PW_F054_MF130   times 4 dw  F_0_541, (F_0_541-F_1_847)
PW_MF078_F117   times 4 dw  (F_1_175-F_1_961), F_1_175
PW_F117_F078    times 4 dw  F_1_175, (F_1_175-F_0_390)
PW_MF060_MF089  times 4 dw  (F_0_298-F_0_899),-F_0_899
PW_MF089_F060   times 4 dw -F_0_899, (F_1_501-F_0_899)
PW_MF050_MF256  times 4 dw  (F_2_053-F_2_562),-F_2_562
PW_MF256_F050   times 4 dw -F_2_562, (F_3_072-F_2_562)
PD_DESCALE_P1   times 4 dd  1 << (DESCALE_P1-1)
PD_DESCALE_P2   times 4 dd  1 << (DESCALE_P2-1)
PW_DESCALE_P2X  times 8 dw  1 << (PASS1_BITS-1)

        alignz  16

; --------------------------------------------------------------------------
        SECTION SEG_TEXT
        BITS    32
;
; Perform the forward DCT on one block of samples.
;
; GLOBAL(void)
; jsimd_fdct_islow_sse2 (DCTELEM *data)
;

%define data(b)         (b)+8           ; DCTELEM *data

%define original_ebp    ebp+0
%define wk(i)           ebp-(WK_NUM-(i))*SIZEOF_XMMWORD ; xmmword wk[WK_NUM]
%define WK_NUM          6

        align   16
        global  EXTN(jsimd_fdct_islow_sse2) PRIVATE

EXTN(jsimd_fdct_islow_sse2):
        push    ebp
        mov     eax,esp                         ; eax = original ebp
        sub     esp, byte 4
        and     esp, byte (-SIZEOF_XMMWORD)     ; align to 128 bits
        mov     [esp],eax
        mov     ebp,esp                         ; ebp = aligned ebp
        lea     esp, [wk(0)]
        pushpic ebx
;       push    ecx             ; unused
;       push    edx             ; need not be preserved
;       push    esi             ; unused
;       push    edi             ; unused

        get_GOT ebx             ; get GOT address

        ; ---- Pass 1: process rows.

        mov     edx, POINTER [data(eax)]        ; (DCTELEM *)

        movdqa  xmm0, XMMWORD [XMMBLOCK(0,0,edx,SIZEOF_DCTELEM)]
        movdqa  xmm1, XMMWORD [XMMBLOCK(1,0,edx,SIZEOF_DCTELEM)]
        movdqa  xmm2, XMMWORD [XMMBLOCK(2,0,edx,SIZEOF_DCTELEM)]
        movdqa  xmm3, XMMWORD [XMMBLOCK(3,0,edx,SIZEOF_DCTELEM)]

        ; xmm0=(00 01 02 03 04 05 06 07), xmm2=(20 21 22 23 24 25 26 27)
        ; xmm1=(10 11 12 13 14 15 16 17), xmm3=(30 31 32 33 34 35 36 37)

        movdqa    xmm4,xmm0             ; transpose coefficients(phase 1)
        punpcklwd xmm0,xmm1             ; xmm0=(00 10 01 11 02 12 03 13)
        punpckhwd xmm4,xmm1             ; xmm4=(04 14 05 15 06 16 07 17)
        movdqa    xmm5,xmm2             ; transpose coefficients(phase 1)
        punpcklwd xmm2,xmm3             ; xmm2=(20 30 21 31 22 32 23 33)
        punpckhwd xmm5,xmm3             ; xmm5=(24 34 25 35 26 36 27 37)

        movdqa  xmm6, XMMWORD [XMMBLOCK(4,0,edx,SIZEOF_DCTELEM)]
        movdqa  xmm7, XMMWORD [XMMBLOCK(5,0,edx,SIZEOF_DCTELEM)]
        movdqa  xmm1, XMMWORD [XMMBLOCK(6,0,edx,SIZEOF_DCTELEM)]
        movdqa  xmm3, XMMWORD [XMMBLOCK(7,0,edx,SIZEOF_DCTELEM)]

        ; xmm6=( 4 12 20 28 36 44 52 60), xmm1=( 6 14 22 30 38 46 54 62)
        ; xmm7=( 5 13 21 29 37 45 53 61), xmm3=( 7 15 23 31 39 47 55 63)

        movdqa  XMMWORD [wk(0)], xmm2   ; wk(0)=(20 30 21 31 22 32 23 33)
        movdqa  XMMWORD [wk(1)], xmm5   ; wk(1)=(24 34 25 35 26 36 27 37)

        movdqa    xmm2,xmm6             ; transpose coefficients(phase 1)
        punpcklwd xmm6,xmm7             ; xmm6=(40 50 41 51 42 52 43 53)
        punpckhwd xmm2,xmm7             ; xmm2=(44 54 45 55 46 56 47 57)
        movdqa    xmm5,xmm1             ; transpose coefficients(phase 1)
        punpcklwd xmm1,xmm3             ; xmm1=(60 70 61 71 62 72 63 73)
        punpckhwd xmm5,xmm3             ; xmm5=(64 74 65 75 66 76 67 77)

        movdqa    xmm7,xmm6             ; transpose coefficients(phase 2)
        punpckldq xmm6,xmm1             ; xmm6=(40 50 60 70 41 51 61 71)
        punpckhdq xmm7,xmm1             ; xmm7=(42 52 62 72 43 53 63 73)
        movdqa    xmm3,xmm2             ; transpose coefficients(phase 2)
        punpckldq xmm2,xmm5             ; xmm2=(44 54 64 74 45 55 65 75)
        punpckhdq xmm3,xmm5             ; xmm3=(46 56 66 76 47 57 67 77)

        movdqa  xmm1, XMMWORD [wk(0)]   ; xmm1=(20 30 21 31 22 32 23 33)
        movdqa  xmm5, XMMWORD [wk(1)]   ; xmm5=(24 34 25 35 26 36 27 37)
        movdqa  XMMWORD [wk(2)], xmm7   ; wk(2)=(42 52 62 72 43 53 63 73)
        movdqa  XMMWORD [wk(3)], xmm2   ; wk(3)=(44 54 64 74 45 55 65 75)

        movdqa    xmm7,xmm0             ; transpose coefficients(phase 2)
        punpckldq xmm0,xmm1             ; xmm0=(00 10 20 30 01 11 21 31)
        punpckhdq xmm7,xmm1             ; xmm7=(02 12 22 32 03 13 23 33)
        movdqa    xmm2,xmm4             ; transpose coefficients(phase 2)
        punpckldq xmm4,xmm5             ; xmm4=(04 14 24 34 05 15 25 35)
        punpckhdq xmm2,xmm5             ; xmm2=(06 16 26 36 07 17 27 37)

        movdqa     xmm1,xmm0            ; transpose coefficients(phase 3)
        punpcklqdq xmm0,xmm6            ; xmm0=(00 10 20 30 40 50 60 70)=data0
        punpckhqdq xmm1,xmm6            ; xmm1=(01 11 21 31 41 51 61 71)=data1
        movdqa     xmm5,xmm2            ; transpose coefficients(phase 3)
        punpcklqdq xmm2,xmm3            ; xmm2=(06 16 26 36 46 56 66 76)=data6
        punpckhqdq xmm5,xmm3            ; xmm5=(07 17 27 37 47 57 67 77)=data7

        movdqa  xmm6,xmm1
        movdqa  xmm3,xmm0
        psubw   xmm1,xmm2               ; xmm1=data1-data6=tmp6
        psubw   xmm0,xmm5               ; xmm0=data0-data7=tmp7
        paddw   xmm6,xmm2               ; xmm6=data1+data6=tmp1
        paddw   xmm3,xmm5               ; xmm3=data0+data7=tmp0

        movdqa  xmm2, XMMWORD [wk(2)]   ; xmm2=(42 52 62 72 43 53 63 73)
        movdqa  xmm5, XMMWORD [wk(3)]   ; xmm5=(44 54 64 74 45 55 65 75)
        movdqa  XMMWORD [wk(0)], xmm1   ; wk(0)=tmp6
        movdqa  XMMWORD [wk(1)], xmm0   ; wk(1)=tmp7

        movdqa     xmm1,xmm7            ; transpose coefficients(phase 3)
        punpcklqdq xmm7,xmm2            ; xmm7=(02 12 22 32 42 52 62 72)=data2
        punpckhqdq xmm1,xmm2            ; xmm1=(03 13 23 33 43 53 63 73)=data3
        movdqa     xmm0,xmm4            ; transpose coefficients(phase 3)
        punpcklqdq xmm4,xmm5            ; xmm4=(04 14 24 34 44 54 64 74)=data4
        punpckhqdq xmm0,xmm5            ; xmm0=(05 15 25 35 45 55 65 75)=data5

        movdqa  xmm2,xmm1
        movdqa  xmm5,xmm7
        paddw   xmm1,xmm4               ; xmm1=data3+data4=tmp3
        paddw   xmm7,xmm0               ; xmm7=data2+data5=tmp2
        psubw   xmm2,xmm4               ; xmm2=data3-data4=tmp4
        psubw   xmm5,xmm0               ; xmm5=data2-data5=tmp5

        ; -- Even part

        movdqa  xmm4,xmm3
        movdqa  xmm0,xmm6
        paddw   xmm3,xmm1               ; xmm3=tmp10
        paddw   xmm6,xmm7               ; xmm6=tmp11
        psubw   xmm4,xmm1               ; xmm4=tmp13
        psubw   xmm0,xmm7               ; xmm0=tmp12

        movdqa  xmm1,xmm3
        paddw   xmm3,xmm6               ; xmm3=tmp10+tmp11
        psubw   xmm1,xmm6               ; xmm1=tmp10-tmp11

        psllw   xmm3,PASS1_BITS         ; xmm3=data0
        psllw   xmm1,PASS1_BITS         ; xmm1=data4

        movdqa  XMMWORD [wk(2)], xmm3   ; wk(2)=data0
        movdqa  XMMWORD [wk(3)], xmm1   ; wk(3)=data4

        ; (Original)
        ; z1 = (tmp12 + tmp13) * 0.541196100;
        ; data2 = z1 + tmp13 * 0.765366865;
        ; data6 = z1 + tmp12 * -1.847759065;
        ;
        ; (This implementation)
        ; data2 = tmp13 * (0.541196100 + 0.765366865) + tmp12 * 0.541196100;
        ; data6 = tmp13 * 0.541196100 + tmp12 * (0.541196100 - 1.847759065);

        movdqa    xmm7,xmm4             ; xmm4=tmp13
        movdqa    xmm6,xmm4
        punpcklwd xmm7,xmm0             ; xmm0=tmp12
        punpckhwd xmm6,xmm0
        movdqa    xmm4,xmm7
        movdqa    xmm0,xmm6
        pmaddwd   xmm7,[GOTOFF(ebx,PW_F130_F054)]       ; xmm7=data2L
        pmaddwd   xmm6,[GOTOFF(ebx,PW_F130_F054)]       ; xmm6=data2H
        pmaddwd   xmm4,[GOTOFF(ebx,PW_F054_MF130)]      ; xmm4=data6L
        pmaddwd   xmm0,[GOTOFF(ebx,PW_F054_MF130)]      ; xmm0=data6H

        paddd   xmm7,[GOTOFF(ebx,PD_DESCALE_P1)]
        paddd   xmm6,[GOTOFF(ebx,PD_DESCALE_P1)]
        psrad   xmm7,DESCALE_P1
        psrad   xmm6,DESCALE_P1
        paddd   xmm4,[GOTOFF(ebx,PD_DESCALE_P1)]
        paddd   xmm0,[GOTOFF(ebx,PD_DESCALE_P1)]
        psrad   xmm4,DESCALE_P1
        psrad   xmm0,DESCALE_P1

        packssdw  xmm7,xmm6             ; xmm7=data2
        packssdw  xmm4,xmm0             ; xmm4=data6

        movdqa  XMMWORD [wk(4)], xmm7   ; wk(4)=data2
        movdqa  XMMWORD [wk(5)], xmm4   ; wk(5)=data6

        ; -- Odd part

        movdqa  xmm3, XMMWORD [wk(0)]   ; xmm3=tmp6
        movdqa  xmm1, XMMWORD [wk(1)]   ; xmm1=tmp7

        movdqa  xmm6,xmm2               ; xmm2=tmp4
        movdqa  xmm0,xmm5               ; xmm5=tmp5
        paddw   xmm6,xmm3               ; xmm6=z3
        paddw   xmm0,xmm1               ; xmm0=z4

        ; (Original)
        ; z5 = (z3 + z4) * 1.175875602;
        ; z3 = z3 * -1.961570560;  z4 = z4 * -0.390180644;
        ; z3 += z5;  z4 += z5;
        ;
        ; (This implementation)
        ; z3 = z3 * (1.175875602 - 1.961570560) + z4 * 1.175875602;
        ; z4 = z3 * 1.175875602 + z4 * (1.175875602 - 0.390180644);

        movdqa    xmm7,xmm6
        movdqa    xmm4,xmm6
        punpcklwd xmm7,xmm0
        punpckhwd xmm4,xmm0
        movdqa    xmm6,xmm7
        movdqa    xmm0,xmm4
        pmaddwd   xmm7,[GOTOFF(ebx,PW_MF078_F117)]      ; xmm7=z3L
        pmaddwd   xmm4,[GOTOFF(ebx,PW_MF078_F117)]      ; xmm4=z3H
        pmaddwd   xmm6,[GOTOFF(ebx,PW_F117_F078)]       ; xmm6=z4L
        pmaddwd   xmm0,[GOTOFF(ebx,PW_F117_F078)]       ; xmm0=z4H

        movdqa  XMMWORD [wk(0)], xmm7   ; wk(0)=z3L
        movdqa  XMMWORD [wk(1)], xmm4   ; wk(1)=z3H

        ; (Original)
        ; z1 = tmp4 + tmp7;  z2 = tmp5 + tmp6;
        ; tmp4 = tmp4 * 0.298631336;  tmp5 = tmp5 * 2.053119869;
        ; tmp6 = tmp6 * 3.072711026;  tmp7 = tmp7 * 1.501321110;
        ; z1 = z1 * -0.899976223;  z2 = z2 * -2.562915447;
        ; data7 = tmp4 + z1 + z3;  data5 = tmp5 + z2 + z4;
        ; data3 = tmp6 + z2 + z3;  data1 = tmp7 + z1 + z4;
        ;
        ; (This implementation)
        ; tmp4 = tmp4 * (0.298631336 - 0.899976223) + tmp7 * -0.899976223;
        ; tmp5 = tmp5 * (2.053119869 - 2.562915447) + tmp6 * -2.562915447;
        ; tmp6 = tmp5 * -2.562915447 + tmp6 * (3.072711026 - 2.562915447);
        ; tmp7 = tmp4 * -0.899976223 + tmp7 * (1.501321110 - 0.899976223);
        ; data7 = tmp4 + z3;  data5 = tmp5 + z4;
        ; data3 = tmp6 + z3;  data1 = tmp7 + z4;

        movdqa    xmm7,xmm2
        movdqa    xmm4,xmm2
        punpcklwd xmm7,xmm1
        punpckhwd xmm4,xmm1
        movdqa    xmm2,xmm7
        movdqa    xmm1,xmm4
        pmaddwd   xmm7,[GOTOFF(ebx,PW_MF060_MF089)]     ; xmm7=tmp4L
        pmaddwd   xmm4,[GOTOFF(ebx,PW_MF060_MF089)]     ; xmm4=tmp4H
        pmaddwd   xmm2,[GOTOFF(ebx,PW_MF089_F060)]      ; xmm2=tmp7L
        pmaddwd   xmm1,[GOTOFF(ebx,PW_MF089_F060)]      ; xmm1=tmp7H

        paddd   xmm7, XMMWORD [wk(0)]   ; xmm7=data7L
        paddd   xmm4, XMMWORD [wk(1)]   ; xmm4=data7H
        paddd   xmm2,xmm6               ; xmm2=data1L
        paddd   xmm1,xmm0               ; xmm1=data1H

        paddd   xmm7,[GOTOFF(ebx,PD_DESCALE_P1)]
        paddd   xmm4,[GOTOFF(ebx,PD_DESCALE_P1)]
        psrad   xmm7,DESCALE_P1
        psrad   xmm4,DESCALE_P1
        paddd   xmm2,[GOTOFF(ebx,PD_DESCALE_P1)]
        paddd   xmm1,[GOTOFF(ebx,PD_DESCALE_P1)]
        psrad   xmm2,DESCALE_P1
        psrad   xmm1,DESCALE_P1

        packssdw  xmm7,xmm4             ; xmm7=data7
        packssdw  xmm2,xmm1             ; xmm2=data1

        movdqa    xmm4,xmm5
        movdqa    xmm1,xmm5
        punpcklwd xmm4,xmm3
        punpckhwd xmm1,xmm3
        movdqa    xmm5,xmm4
        movdqa    xmm3,xmm1
        pmaddwd   xmm4,[GOTOFF(ebx,PW_MF050_MF256)]     ; xmm4=tmp5L
        pmaddwd   xmm1,[GOTOFF(ebx,PW_MF050_MF256)]     ; xmm1=tmp5H
        pmaddwd   xmm5,[GOTOFF(ebx,PW_MF256_F050)]      ; xmm5=tmp6L
        pmaddwd   xmm3,[GOTOFF(ebx,PW_MF256_F050)]      ; xmm3=tmp6H

        paddd   xmm4,xmm6               ; xmm4=data5L
        paddd   xmm1,xmm0               ; xmm1=data5H
        paddd   xmm5, XMMWORD [wk(0)]   ; xmm5=data3L
        paddd   xmm3, XMMWORD [wk(1)]   ; xmm3=data3H

        paddd   xmm4,[GOTOFF(ebx,PD_DESCALE_P1)]
        paddd   xmm1,[GOTOFF(ebx,PD_DESCALE_P1)]
        psrad   xmm4,DESCALE_P1
        psrad   xmm1,DESCALE_P1
        paddd   xmm5,[GOTOFF(ebx,PD_DESCALE_P1)]
        paddd   xmm3,[GOTOFF(ebx,PD_DESCALE_P1)]
        psrad   xmm5,DESCALE_P1
        psrad   xmm3,DESCALE_P1

        packssdw  xmm4,xmm1             ; xmm4=data5
        packssdw  xmm5,xmm3             ; xmm5=data3

        ; ---- Pass 2: process columns.

;       mov     edx, POINTER [data(eax)]        ; (DCTELEM *)

        movdqa  xmm6, XMMWORD [wk(2)]   ; xmm6=col0
        movdqa  xmm0, XMMWORD [wk(4)]   ; xmm0=col2

        ; xmm6=(00 10 20 30 40 50 60 70), xmm0=(02 12 22 32 42 52 62 72)
        ; xmm2=(01 11 21 31 41 51 61 71), xmm5=(03 13 23 33 43 53 63 73)

        movdqa    xmm1,xmm6             ; transpose coefficients(phase 1)
        punpcklwd xmm6,xmm2             ; xmm6=(00 01 10 11 20 21 30 31)
        punpckhwd xmm1,xmm2             ; xmm1=(40 41 50 51 60 61 70 71)
        movdqa    xmm3,xmm0             ; transpose coefficients(phase 1)
        punpcklwd xmm0,xmm5             ; xmm0=(02 03 12 13 22 23 32 33)
        punpckhwd xmm3,xmm5             ; xmm3=(42 43 52 53 62 63 72 73)

        movdqa  xmm2, XMMWORD [wk(3)]   ; xmm2=col4
        movdqa  xmm5, XMMWORD [wk(5)]   ; xmm5=col6

        ; xmm2=(04 14 24 34 44 54 64 74), xmm5=(06 16 26 36 46 56 66 76)
        ; xmm4=(05 15 25 35 45 55 65 75), xmm7=(07 17 27 37 47 57 67 77)

        movdqa  XMMWORD [wk(0)], xmm0   ; wk(0)=(02 03 12 13 22 23 32 33)
        movdqa  XMMWORD [wk(1)], xmm3   ; wk(1)=(42 43 52 53 62 63 72 73)

        movdqa    xmm0,xmm2             ; transpose coefficients(phase 1)
        punpcklwd xmm2,xmm4             ; xmm2=(04 05 14 15 24 25 34 35)
        punpckhwd xmm0,xmm4             ; xmm0=(44 45 54 55 64 65 74 75)
        movdqa    xmm3,xmm5             ; transpose coefficients(phase 1)
        punpcklwd xmm5,xmm7             ; xmm5=(06 07 16 17 26 27 36 37)
        punpckhwd xmm3,xmm7             ; xmm3=(46 47 56 57 66 67 76 77)

        movdqa    xmm4,xmm2             ; transpose coefficients(phase 2)
        punpckldq xmm2,xmm5             ; xmm2=(04 05 06 07 14 15 16 17)
        punpckhdq xmm4,xmm5             ; xmm4=(24 25 26 27 34 35 36 37)
        movdqa    xmm7,xmm0             ; transpose coefficients(phase 2)
        punpckldq xmm0,xmm3             ; xmm0=(44 45 46 47 54 55 56 57)
        punpckhdq xmm7,xmm3             ; xmm7=(64 65 66 67 74 75 76 77)

        movdqa  xmm5, XMMWORD [wk(0)]   ; xmm5=(02 03 12 13 22 23 32 33)
        movdqa  xmm3, XMMWORD [wk(1)]   ; xmm3=(42 43 52 53 62 63 72 73)
        movdqa  XMMWORD [wk(2)], xmm4   ; wk(2)=(24 25 26 27 34 35 36 37)
        movdqa  XMMWORD [wk(3)], xmm0   ; wk(3)=(44 45 46 47 54 55 56 57)

        movdqa    xmm4,xmm6             ; transpose coefficients(phase 2)
        punpckldq xmm6,xmm5             ; xmm6=(00 01 02 03 10 11 12 13)
        punpckhdq xmm4,xmm5             ; xmm4=(20 21 22 23 30 31 32 33)
        movdqa    xmm0,xmm1             ; transpose coefficients(phase 2)
        punpckldq xmm1,xmm3             ; xmm1=(40 41 42 43 50 51 52 53)
        punpckhdq xmm0,xmm3             ; xmm0=(60 61 62 63 70 71 72 73)

        movdqa     xmm5,xmm6            ; transpose coefficients(phase 3)
        punpcklqdq xmm6,xmm2            ; xmm6=(00 01 02 03 04 05 06 07)=data0
        punpckhqdq xmm5,xmm2            ; xmm5=(10 11 12 13 14 15 16 17)=data1
        movdqa     xmm3,xmm0            ; transpose coefficients(phase 3)
        punpcklqdq xmm0,xmm7            ; xmm0=(60 61 62 63 64 65 66 67)=data6
        punpckhqdq xmm3,xmm7            ; xmm3=(70 71 72 73 74 75 76 77)=data7

        movdqa  xmm2,xmm5
        movdqa  xmm7,xmm6
        psubw   xmm5,xmm0               ; xmm5=data1-data6=tmp6
        psubw   xmm6,xmm3               ; xmm6=data0-data7=tmp7
        paddw   xmm2,xmm0               ; xmm2=data1+data6=tmp1
        paddw   xmm7,xmm3               ; xmm7=data0+data7=tmp0

        movdqa  xmm0, XMMWORD [wk(2)]   ; xmm0=(24 25 26 27 34 35 36 37)
        movdqa  xmm3, XMMWORD [wk(3)]   ; xmm3=(44 45 46 47 54 55 56 57)
        movdqa  XMMWORD [wk(0)], xmm5   ; wk(0)=tmp6
        movdqa  XMMWORD [wk(1)], xmm6   ; wk(1)=tmp7

        movdqa     xmm5,xmm4            ; transpose coefficients(phase 3)
        punpcklqdq xmm4,xmm0            ; xmm4=(20 21 22 23 24 25 26 27)=data2
        punpckhqdq xmm5,xmm0            ; xmm5=(30 31 32 33 34 35 36 37)=data3
        movdqa     xmm6,xmm1            ; transpose coefficients(phase 3)
        punpcklqdq xmm1,xmm3            ; xmm1=(40 41 42 43 44 45 46 47)=data4
        punpckhqdq xmm6,xmm3            ; xmm6=(50 51 52 53 54 55 56 57)=data5

        movdqa  xmm0,xmm5
        movdqa  xmm3,xmm4
        paddw   xmm5,xmm1               ; xmm5=data3+data4=tmp3
        paddw   xmm4,xmm6               ; xmm4=data2+data5=tmp2
        psubw   xmm0,xmm1               ; xmm0=data3-data4=tmp4
        psubw   xmm3,xmm6               ; xmm3=data2-data5=tmp5

        ; -- Even part

        movdqa  xmm1,xmm7
        movdqa  xmm6,xmm2
        paddw   xmm7,xmm5               ; xmm7=tmp10
        paddw   xmm2,xmm4               ; xmm2=tmp11
        psubw   xmm1,xmm5               ; xmm1=tmp13
        psubw   xmm6,xmm4               ; xmm6=tmp12

        movdqa  xmm5,xmm7
        paddw   xmm7,xmm2               ; xmm7=tmp10+tmp11
        psubw   xmm5,xmm2               ; xmm5=tmp10-tmp11

        paddw   xmm7,[GOTOFF(ebx,PW_DESCALE_P2X)]
        paddw   xmm5,[GOTOFF(ebx,PW_DESCALE_P2X)]
        psraw   xmm7,PASS1_BITS         ; xmm7=data0
        psraw   xmm5,PASS1_BITS         ; xmm5=data4

        movdqa  XMMWORD [XMMBLOCK(0,0,edx,SIZEOF_DCTELEM)], xmm7
        movdqa  XMMWORD [XMMBLOCK(4,0,edx,SIZEOF_DCTELEM)], xmm5

        ; (Original)
        ; z1 = (tmp12 + tmp13) * 0.541196100;
        ; data2 = z1 + tmp13 * 0.765366865;
        ; data6 = z1 + tmp12 * -1.847759065;
        ;
        ; (This implementation)
        ; data2 = tmp13 * (0.541196100 + 0.765366865) + tmp12 * 0.541196100;
        ; data6 = tmp13 * 0.541196100 + tmp12 * (0.541196100 - 1.847759065);

        movdqa    xmm4,xmm1             ; xmm1=tmp13
        movdqa    xmm2,xmm1
        punpcklwd xmm4,xmm6             ; xmm6=tmp12
        punpckhwd xmm2,xmm6
        movdqa    xmm1,xmm4
        movdqa    xmm6,xmm2
        pmaddwd   xmm4,[GOTOFF(ebx,PW_F130_F054)]       ; xmm4=data2L
        pmaddwd   xmm2,[GOTOFF(ebx,PW_F130_F054)]       ; xmm2=data2H
        pmaddwd   xmm1,[GOTOFF(ebx,PW_F054_MF130)]      ; xmm1=data6L
        pmaddwd   xmm6,[GOTOFF(ebx,PW_F054_MF130)]      ; xmm6=data6H

        paddd   xmm4,[GOTOFF(ebx,PD_DESCALE_P2)]
        paddd   xmm2,[GOTOFF(ebx,PD_DESCALE_P2)]
        psrad   xmm4,DESCALE_P2
        psrad   xmm2,DESCALE_P2
        paddd   xmm1,[GOTOFF(ebx,PD_DESCALE_P2)]
        paddd   xmm6,[GOTOFF(ebx,PD_DESCALE_P2)]
        psrad   xmm1,DESCALE_P2
        psrad   xmm6,DESCALE_P2

        packssdw  xmm4,xmm2             ; xmm4=data2
        packssdw  xmm1,xmm6             ; xmm1=data6

        movdqa  XMMWORD [XMMBLOCK(2,0,edx,SIZEOF_DCTELEM)], xmm4
        movdqa  XMMWORD [XMMBLOCK(6,0,edx,SIZEOF_DCTELEM)], xmm1

        ; -- Odd part

        movdqa  xmm7, XMMWORD [wk(0)]   ; xmm7=tmp6
        movdqa  xmm5, XMMWORD [wk(1)]   ; xmm5=tmp7

        movdqa  xmm2,xmm0               ; xmm0=tmp4
        movdqa  xmm6,xmm3               ; xmm3=tmp5
        paddw   xmm2,xmm7               ; xmm2=z3
        paddw   xmm6,xmm5               ; xmm6=z4

        ; (Original)
        ; z5 = (z3 + z4) * 1.175875602;
        ; z3 = z3 * -1.961570560;  z4 = z4 * -0.390180644;
        ; z3 += z5;  z4 += z5;
        ;
        ; (This implementation)
        ; z3 = z3 * (1.175875602 - 1.961570560) + z4 * 1.175875602;
        ; z4 = z3 * 1.175875602 + z4 * (1.175875602 - 0.390180644);

        movdqa    xmm4,xmm2
        movdqa    xmm1,xmm2
        punpcklwd xmm4,xmm6
        punpckhwd xmm1,xmm6
        movdqa    xmm2,xmm4
        movdqa    xmm6,xmm1
        pmaddwd   xmm4,[GOTOFF(ebx,PW_MF078_F117)]      ; xmm4=z3L
        pmaddwd   xmm1,[GOTOFF(ebx,PW_MF078_F117)]      ; xmm1=z3H
        pmaddwd   xmm2,[GOTOFF(ebx,PW_F117_F078)]       ; xmm2=z4L
        pmaddwd   xmm6,[GOTOFF(ebx,PW_F117_F078)]       ; xmm6=z4H

        movdqa  XMMWORD [wk(0)], xmm4   ; wk(0)=z3L
        movdqa  XMMWORD [wk(1)], xmm1   ; wk(1)=z3H

        ; (Original)
        ; z1 = tmp4 + tmp7;  z2 = tmp5 + tmp6;
        ; tmp4 = tmp4 * 0.298631336;  tmp5 = tmp5 * 2.053119869;
        ; tmp6 = tmp6 * 3.072711026;  tmp7 = tmp7 * 1.501321110;
        ; z1 = z1 * -0.899976223;  z2 = z2 * -2.562915447;
        ; data7 = tmp4 + z1 + z3;  data5 = tmp5 + z2 + z4;
        ; data3 = tmp6 + z2 + z3;  data1 = tmp7 + z1 + z4;
        ;
        ; (This implementation)
        ; tmp4 = tmp4 * (0.298631336 - 0.899976223) + tmp7 * -0.899976223;
        ; tmp5 = tmp5 * (2.053119869 - 2.562915447) + tmp6 * -2.562915447;
        ; tmp6 = tmp5 * -2.562915447 + tmp6 * (3.072711026 - 2.562915447);
        ; tmp7 = tmp4 * -0.899976223 + tmp7 * (1.501321110 - 0.899976223);
        ; data7 = tmp4 + z3;  data5 = tmp5 + z4;
        ; data3 = tmp6 + z3;  data1 = tmp7 + z4;

        movdqa    xmm4,xmm0
        movdqa    xmm1,xmm0
        punpcklwd xmm4,xmm5
        punpckhwd xmm1,xmm5
        movdqa    xmm0,xmm4
        movdqa    xmm5,xmm1
        pmaddwd   xmm4,[GOTOFF(ebx,PW_MF060_MF089)]     ; xmm4=tmp4L
        pmaddwd   xmm1,[GOTOFF(ebx,PW_MF060_MF089)]     ; xmm1=tmp4H
        pmaddwd   xmm0,[GOTOFF(ebx,PW_MF089_F060)]      ; xmm0=tmp7L
        pmaddwd   xmm5,[GOTOFF(ebx,PW_MF089_F060)]      ; xmm5=tmp7H

        paddd   xmm4, XMMWORD [wk(0)]   ; xmm4=data7L
        paddd   xmm1, XMMWORD [wk(1)]   ; xmm1=data7H
        paddd   xmm0,xmm2               ; xmm0=data1L
        paddd   xmm5,xmm6               ; xmm5=data1H

        paddd   xmm4,[GOTOFF(ebx,PD_DESCALE_P2)]
        paddd   xmm1,[GOTOFF(ebx,PD_DESCALE_P2)]
        psrad   xmm4,DESCALE_P2
        psrad   xmm1,DESCALE_P2
        paddd   xmm0,[GOTOFF(ebx,PD_DESCALE_P2)]
        paddd   xmm5,[GOTOFF(ebx,PD_DESCALE_P2)]
        psrad   xmm0,DESCALE_P2
        psrad   xmm5,DESCALE_P2

        packssdw  xmm4,xmm1             ; xmm4=data7
        packssdw  xmm0,xmm5             ; xmm0=data1

        movdqa  XMMWORD [XMMBLOCK(7,0,edx,SIZEOF_DCTELEM)], xmm4
        movdqa  XMMWORD [XMMBLOCK(1,0,edx,SIZEOF_DCTELEM)], xmm0

        movdqa    xmm1,xmm3
        movdqa    xmm5,xmm3
        punpcklwd xmm1,xmm7
        punpckhwd xmm5,xmm7
        movdqa    xmm3,xmm1
        movdqa    xmm7,xmm5
        pmaddwd   xmm1,[GOTOFF(ebx,PW_MF050_MF256)]     ; xmm1=tmp5L
        pmaddwd   xmm5,[GOTOFF(ebx,PW_MF050_MF256)]     ; xmm5=tmp5H
        pmaddwd   xmm3,[GOTOFF(ebx,PW_MF256_F050)]      ; xmm3=tmp6L
        pmaddwd   xmm7,[GOTOFF(ebx,PW_MF256_F050)]      ; xmm7=tmp6H

        paddd   xmm1,xmm2               ; xmm1=data5L
        paddd   xmm5,xmm6               ; xmm5=data5H
        paddd   xmm3, XMMWORD [wk(0)]   ; xmm3=data3L
        paddd   xmm7, XMMWORD [wk(1)]   ; xmm7=data3H

        paddd   xmm1,[GOTOFF(ebx,PD_DESCALE_P2)]
        paddd   xmm5,[GOTOFF(ebx,PD_DESCALE_P2)]
        psrad   xmm1,DESCALE_P2
        psrad   xmm5,DESCALE_P2
        paddd   xmm3,[GOTOFF(ebx,PD_DESCALE_P2)]
        paddd   xmm7,[GOTOFF(ebx,PD_DESCALE_P2)]
        psrad   xmm3,DESCALE_P2
        psrad   xmm7,DESCALE_P2

        packssdw  xmm1,xmm5             ; xmm1=data5
        packssdw  xmm3,xmm7             ; xmm3=data3

        movdqa  XMMWORD [XMMBLOCK(5,0,edx,SIZEOF_DCTELEM)], xmm1
        movdqa  XMMWORD [XMMBLOCK(3,0,edx,SIZEOF_DCTELEM)], xmm3

;       pop     edi             ; unused
;       pop     esi             ; unused
;       pop     edx             ; need not be preserved
;       pop     ecx             ; unused
        poppic  ebx
        mov     esp,ebp         ; esp <- aligned ebp
        pop     esp             ; esp <- original ebp
        pop     ebp
        ret

; For some reason, the OS X linker does not honor the request to align the
; segment unless we do this.
        align   16
