;
; jfdctfst.asm - fast integer FDCT (SSE2)
;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
;
; Based on
; 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 fast, not so accurate integer implementation of
; the forward DCT (Discrete Cosine Transform). The following code is
; based directly on the IJG's original jfdctfst.c; see the jfdctfst.c
; for more details.
;
; [TAB8]

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

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

%define CONST_BITS      8       ; 14 is also OK.

%if CONST_BITS == 8
F_0_382 equ      98             ; FIX(0.382683433)
F_0_541 equ     139             ; FIX(0.541196100)
F_0_707 equ     181             ; FIX(0.707106781)
F_1_306 equ     334             ; FIX(1.306562965)
%else
; NASM cannot do compile-time arithmetic on floating-point constants.
%define DESCALE(x,n)  (((x)+(1<<((n)-1)))>>(n))
F_0_382 equ     DESCALE( 410903207,30-CONST_BITS)       ; FIX(0.382683433)
F_0_541 equ     DESCALE( 581104887,30-CONST_BITS)       ; FIX(0.541196100)
F_0_707 equ     DESCALE( 759250124,30-CONST_BITS)       ; FIX(0.707106781)
F_1_306 equ     DESCALE(1402911301,30-CONST_BITS)       ; FIX(1.306562965)
%endif

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

; PRE_MULTIPLY_SCALE_BITS <= 2 (to avoid overflow)
; CONST_BITS + CONST_SHIFT + PRE_MULTIPLY_SCALE_BITS == 16 (for pmulhw)

%define PRE_MULTIPLY_SCALE_BITS   2
%define CONST_SHIFT     (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)

        alignz  16
        global  EXTN(jconst_fdct_ifast_sse2)

EXTN(jconst_fdct_ifast_sse2):

PW_F0707        times 8 dw  F_0_707 << CONST_SHIFT
PW_F0382        times 8 dw  F_0_382 << CONST_SHIFT
PW_F0541        times 8 dw  F_0_541 << CONST_SHIFT
PW_F1306        times 8 dw  F_1_306 << CONST_SHIFT

        alignz  16

; --------------------------------------------------------------------------
        SECTION SEG_TEXT
        BITS    32
;
; Perform the forward DCT on one block of samples.
;
; GLOBAL(void)
; jsimd_fdct_ifast_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          2

        align   16
        global  EXTN(jsimd_fdct_ifast_sse2)

EXTN(jsimd_fdct_ifast_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(0)], xmm7   ; wk(0)=(42 52 62 72 43 53 63 73)
        movdqa  XMMWORD [wk(1)], xmm2   ; wk(1)=(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(0)]   ; xmm2=(42 52 62 72 43 53 63 73)
        movdqa  xmm5, XMMWORD [wk(1)]   ; 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
        psubw   xmm3,xmm1               ; xmm3=tmp13
        psubw   xmm6,xmm7               ; xmm6=tmp12
        paddw   xmm4,xmm1               ; xmm4=tmp10
        paddw   xmm0,xmm7               ; xmm0=tmp11

        paddw   xmm6,xmm3
        psllw   xmm6,PRE_MULTIPLY_SCALE_BITS
        pmulhw  xmm6,[GOTOFF(ebx,PW_F0707)] ; xmm6=z1

        movdqa  xmm1,xmm4
        movdqa  xmm7,xmm3
        psubw   xmm4,xmm0               ; xmm4=data4
        psubw   xmm3,xmm6               ; xmm3=data6
        paddw   xmm1,xmm0               ; xmm1=data0
        paddw   xmm7,xmm6               ; xmm7=data2

        movdqa  xmm0, XMMWORD [wk(0)]   ; xmm0=tmp6
        movdqa  xmm6, XMMWORD [wk(1)]   ; xmm6=tmp7
        movdqa  XMMWORD [wk(0)], xmm4   ; wk(0)=data4
        movdqa  XMMWORD [wk(1)], xmm3   ; wk(1)=data6

        ; -- Odd part

        paddw   xmm2,xmm5               ; xmm2=tmp10
        paddw   xmm5,xmm0               ; xmm5=tmp11
        paddw   xmm0,xmm6               ; xmm0=tmp12, xmm6=tmp7

        psllw   xmm2,PRE_MULTIPLY_SCALE_BITS
        psllw   xmm0,PRE_MULTIPLY_SCALE_BITS

        psllw   xmm5,PRE_MULTIPLY_SCALE_BITS
        pmulhw  xmm5,[GOTOFF(ebx,PW_F0707)] ; xmm5=z3

        movdqa  xmm4,xmm2               ; xmm4=tmp10
        psubw   xmm2,xmm0
        pmulhw  xmm2,[GOTOFF(ebx,PW_F0382)] ; xmm2=z5
        pmulhw  xmm4,[GOTOFF(ebx,PW_F0541)] ; xmm4=MULTIPLY(tmp10,FIX_0_541196)
        pmulhw  xmm0,[GOTOFF(ebx,PW_F1306)] ; xmm0=MULTIPLY(tmp12,FIX_1_306562)
        paddw   xmm4,xmm2               ; xmm4=z2
        paddw   xmm0,xmm2               ; xmm0=z4

        movdqa  xmm3,xmm6
        psubw   xmm6,xmm5               ; xmm6=z13
        paddw   xmm3,xmm5               ; xmm3=z11

        movdqa  xmm2,xmm6
        movdqa  xmm5,xmm3
        psubw   xmm6,xmm4               ; xmm6=data3
        psubw   xmm3,xmm0               ; xmm3=data7
        paddw   xmm2,xmm4               ; xmm2=data5
        paddw   xmm5,xmm0               ; xmm5=data1

        ; ---- Pass 2: process columns.

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

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

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

        movdqa  xmm5, XMMWORD [wk(0)]   ; xmm5=col4
        movdqa  xmm6, XMMWORD [wk(1)]   ; xmm6=col6

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

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

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

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

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

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

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

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

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

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

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

        ; -- Even part

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

        paddw   xmm5,xmm3
        psllw   xmm5,PRE_MULTIPLY_SCALE_BITS
        pmulhw  xmm5,[GOTOFF(ebx,PW_F0707)] ; xmm5=z1

        movdqa  xmm6,xmm4
        movdqa  xmm2,xmm3
        psubw   xmm4,xmm1               ; xmm4=data4
        psubw   xmm3,xmm5               ; xmm3=data6
        paddw   xmm6,xmm1               ; xmm6=data0
        paddw   xmm2,xmm5               ; xmm2=data2

        movdqa  XMMWORD [XMMBLOCK(4,0,edx,SIZEOF_DCTELEM)], xmm4
        movdqa  XMMWORD [XMMBLOCK(6,0,edx,SIZEOF_DCTELEM)], xmm3
        movdqa  XMMWORD [XMMBLOCK(0,0,edx,SIZEOF_DCTELEM)], xmm6
        movdqa  XMMWORD [XMMBLOCK(2,0,edx,SIZEOF_DCTELEM)], xmm2

        ; -- Odd part

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

        paddw   xmm7,xmm0               ; xmm7=tmp10
        paddw   xmm0,xmm1               ; xmm0=tmp11
        paddw   xmm1,xmm5               ; xmm1=tmp12, xmm5=tmp7

        psllw   xmm7,PRE_MULTIPLY_SCALE_BITS
        psllw   xmm1,PRE_MULTIPLY_SCALE_BITS

        psllw   xmm0,PRE_MULTIPLY_SCALE_BITS
        pmulhw  xmm0,[GOTOFF(ebx,PW_F0707)] ; xmm0=z3

        movdqa  xmm4,xmm7               ; xmm4=tmp10
        psubw   xmm7,xmm1
        pmulhw  xmm7,[GOTOFF(ebx,PW_F0382)] ; xmm7=z5
        pmulhw  xmm4,[GOTOFF(ebx,PW_F0541)] ; xmm4=MULTIPLY(tmp10,FIX_0_541196)
        pmulhw  xmm1,[GOTOFF(ebx,PW_F1306)] ; xmm1=MULTIPLY(tmp12,FIX_1_306562)
        paddw   xmm4,xmm7               ; xmm4=z2
        paddw   xmm1,xmm7               ; xmm1=z4

        movdqa  xmm3,xmm5
        psubw   xmm5,xmm0               ; xmm5=z13
        paddw   xmm3,xmm0               ; xmm3=z11

        movdqa  xmm6,xmm5
        movdqa  xmm2,xmm3
        psubw   xmm5,xmm4               ; xmm5=data3
        psubw   xmm3,xmm1               ; xmm3=data7
        paddw   xmm6,xmm4               ; xmm6=data5
        paddw   xmm2,xmm1               ; xmm2=data1

        movdqa  XMMWORD [XMMBLOCK(3,0,edx,SIZEOF_DCTELEM)], xmm5
        movdqa  XMMWORD [XMMBLOCK(7,0,edx,SIZEOF_DCTELEM)], xmm3
        movdqa  XMMWORD [XMMBLOCK(5,0,edx,SIZEOF_DCTELEM)], xmm6
        movdqa  XMMWORD [XMMBLOCK(1,0,edx,SIZEOF_DCTELEM)], xmm2

;       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
