;
; jidctflt.asm - floating-point IDCT (3DNow! & MMX)
;
; 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 floating-point implementation of the inverse DCT
; (Discrete Cosine Transform). The following code is based directly on
; the IJG's original jidctflt.c; see the jidctflt.c for more details.
;
; [TAB8]

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

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

        alignz  16
        global  EXTN(jconst_idct_float_3dnow)

EXTN(jconst_idct_float_3dnow):

PD_1_414        times 2 dd  1.414213562373095048801689
PD_1_847        times 2 dd  1.847759065022573512256366
PD_1_082        times 2 dd  1.082392200292393968799446
PD_2_613        times 2 dd  2.613125929752753055713286
PD_RNDINT_MAGIC times 2 dd  100663296.0 ; (float)(0x00C00000 << 3)
PB_CENTERJSAMP  times 8 db  CENTERJSAMPLE

        alignz  16

; --------------------------------------------------------------------------
        SECTION SEG_TEXT
        BITS    32
;
; Perform dequantization and inverse DCT on one block of coefficients.
;
; GLOBAL(void)
; jsimd_idct_float_3dnow (void *dct_table, JCOEFPTR coef_block,
;                         JSAMPARRAY output_buf, JDIMENSION output_col)
;

%define dct_table(b)    (b)+8           ; void *dct_table
%define coef_block(b)   (b)+12          ; JCOEFPTR coef_block
%define output_buf(b)   (b)+16          ; JSAMPARRAY output_buf
%define output_col(b)   (b)+20          ; JDIMENSION output_col

%define original_ebp    ebp+0
%define wk(i)           ebp-(WK_NUM-(i))*SIZEOF_MMWORD  ; mmword wk[WK_NUM]
%define WK_NUM          2
%define workspace       wk(0)-DCTSIZE2*SIZEOF_FAST_FLOAT
                                        ; FAST_FLOAT workspace[DCTSIZE2]

        align   16
        global  EXTN(jsimd_idct_float_3dnow)

EXTN(jsimd_idct_float_3dnow):
        push    ebp
        mov     eax,esp                         ; eax = original ebp
        sub     esp, byte 4
        and     esp, byte (-SIZEOF_MMWORD)      ; align to 64 bits
        mov     [esp],eax
        mov     ebp,esp                         ; ebp = aligned ebp
        lea     esp, [workspace]
        push    ebx
;       push    ecx             ; need not be preserved
;       push    edx             ; need not be preserved
        push    esi
        push    edi

        get_GOT ebx             ; get GOT address

        ; ---- Pass 1: process columns from input, store into work array.

;       mov     eax, [original_ebp]
        mov     edx, POINTER [dct_table(eax)]           ; quantptr
        mov     esi, JCOEFPTR [coef_block(eax)]         ; inptr
        lea     edi, [workspace]                        ; FAST_FLOAT *wsptr
        mov     ecx, DCTSIZE/2                          ; ctr
        alignx  16,7
.columnloop:
%ifndef NO_ZERO_COLUMN_TEST_FLOAT_3DNOW
        mov     eax, DWORD [DWBLOCK(1,0,esi,SIZEOF_JCOEF)]
        or      eax, DWORD [DWBLOCK(2,0,esi,SIZEOF_JCOEF)]
        jnz     short .columnDCT

        pushpic ebx             ; save GOT address
        mov     ebx, DWORD [DWBLOCK(3,0,esi,SIZEOF_JCOEF)]
        mov     eax, DWORD [DWBLOCK(4,0,esi,SIZEOF_JCOEF)]
        or      ebx, DWORD [DWBLOCK(5,0,esi,SIZEOF_JCOEF)]
        or      eax, DWORD [DWBLOCK(6,0,esi,SIZEOF_JCOEF)]
        or      ebx, DWORD [DWBLOCK(7,0,esi,SIZEOF_JCOEF)]
        or      eax,ebx
        poppic  ebx             ; restore GOT address
        jnz     short .columnDCT

        ; -- AC terms all zero

        movd      mm0, DWORD [DWBLOCK(0,0,esi,SIZEOF_JCOEF)]

        punpcklwd mm0,mm0
        psrad     mm0,(DWORD_BIT-WORD_BIT)
        pi2fd     mm0,mm0

        pfmul     mm0, MMWORD [MMBLOCK(0,0,edx,SIZEOF_FLOAT_MULT_TYPE)]

        movq      mm1,mm0
        punpckldq mm0,mm0
        punpckhdq mm1,mm1

        movq    MMWORD [MMBLOCK(0,0,edi,SIZEOF_FAST_FLOAT)], mm0
        movq    MMWORD [MMBLOCK(0,1,edi,SIZEOF_FAST_FLOAT)], mm0
        movq    MMWORD [MMBLOCK(0,2,edi,SIZEOF_FAST_FLOAT)], mm0
        movq    MMWORD [MMBLOCK(0,3,edi,SIZEOF_FAST_FLOAT)], mm0
        movq    MMWORD [MMBLOCK(1,0,edi,SIZEOF_FAST_FLOAT)], mm1
        movq    MMWORD [MMBLOCK(1,1,edi,SIZEOF_FAST_FLOAT)], mm1
        movq    MMWORD [MMBLOCK(1,2,edi,SIZEOF_FAST_FLOAT)], mm1
        movq    MMWORD [MMBLOCK(1,3,edi,SIZEOF_FAST_FLOAT)], mm1
        jmp     near .nextcolumn
        alignx  16,7
%endif
.columnDCT:

        ; -- Even part

        movd      mm0, DWORD [DWBLOCK(0,0,esi,SIZEOF_JCOEF)]
        movd      mm1, DWORD [DWBLOCK(2,0,esi,SIZEOF_JCOEF)]
        movd      mm2, DWORD [DWBLOCK(4,0,esi,SIZEOF_JCOEF)]
        movd      mm3, DWORD [DWBLOCK(6,0,esi,SIZEOF_JCOEF)]

        punpcklwd mm0,mm0
        punpcklwd mm1,mm1
        psrad     mm0,(DWORD_BIT-WORD_BIT)
        psrad     mm1,(DWORD_BIT-WORD_BIT)
        pi2fd     mm0,mm0
        pi2fd     mm1,mm1

        pfmul     mm0, MMWORD [MMBLOCK(0,0,edx,SIZEOF_FLOAT_MULT_TYPE)]
        pfmul     mm1, MMWORD [MMBLOCK(2,0,edx,SIZEOF_FLOAT_MULT_TYPE)]

        punpcklwd mm2,mm2
        punpcklwd mm3,mm3
        psrad     mm2,(DWORD_BIT-WORD_BIT)
        psrad     mm3,(DWORD_BIT-WORD_BIT)
        pi2fd     mm2,mm2
        pi2fd     mm3,mm3

        pfmul     mm2, MMWORD [MMBLOCK(4,0,edx,SIZEOF_FLOAT_MULT_TYPE)]
        pfmul     mm3, MMWORD [MMBLOCK(6,0,edx,SIZEOF_FLOAT_MULT_TYPE)]

        movq    mm4,mm0
        movq    mm5,mm1
        pfsub   mm0,mm2                 ; mm0=tmp11
        pfsub   mm1,mm3
        pfadd   mm4,mm2                 ; mm4=tmp10
        pfadd   mm5,mm3                 ; mm5=tmp13

        pfmul   mm1,[GOTOFF(ebx,PD_1_414)]
        pfsub   mm1,mm5                 ; mm1=tmp12

        movq    mm6,mm4
        movq    mm7,mm0
        pfsub   mm4,mm5                 ; mm4=tmp3
        pfsub   mm0,mm1                 ; mm0=tmp2
        pfadd   mm6,mm5                 ; mm6=tmp0
        pfadd   mm7,mm1                 ; mm7=tmp1

        movq    MMWORD [wk(1)], mm4     ; tmp3
        movq    MMWORD [wk(0)], mm0     ; tmp2

        ; -- Odd part

        movd      mm2, DWORD [DWBLOCK(1,0,esi,SIZEOF_JCOEF)]
        movd      mm3, DWORD [DWBLOCK(3,0,esi,SIZEOF_JCOEF)]
        movd      mm5, DWORD [DWBLOCK(5,0,esi,SIZEOF_JCOEF)]
        movd      mm1, DWORD [DWBLOCK(7,0,esi,SIZEOF_JCOEF)]

        punpcklwd mm2,mm2
        punpcklwd mm3,mm3
        psrad     mm2,(DWORD_BIT-WORD_BIT)
        psrad     mm3,(DWORD_BIT-WORD_BIT)
        pi2fd     mm2,mm2
        pi2fd     mm3,mm3

        pfmul     mm2, MMWORD [MMBLOCK(1,0,edx,SIZEOF_FLOAT_MULT_TYPE)]
        pfmul     mm3, MMWORD [MMBLOCK(3,0,edx,SIZEOF_FLOAT_MULT_TYPE)]

        punpcklwd mm5,mm5
        punpcklwd mm1,mm1
        psrad     mm5,(DWORD_BIT-WORD_BIT)
        psrad     mm1,(DWORD_BIT-WORD_BIT)
        pi2fd     mm5,mm5
        pi2fd     mm1,mm1

        pfmul     mm5, MMWORD [MMBLOCK(5,0,edx,SIZEOF_FLOAT_MULT_TYPE)]
        pfmul     mm1, MMWORD [MMBLOCK(7,0,edx,SIZEOF_FLOAT_MULT_TYPE)]

        movq    mm4,mm2
        movq    mm0,mm5
        pfadd   mm2,mm1                 ; mm2=z11
        pfadd   mm5,mm3                 ; mm5=z13
        pfsub   mm4,mm1                 ; mm4=z12
        pfsub   mm0,mm3                 ; mm0=z10

        movq    mm1,mm2
        pfsub   mm2,mm5
        pfadd   mm1,mm5                 ; mm1=tmp7

        pfmul   mm2,[GOTOFF(ebx,PD_1_414)]      ; mm2=tmp11

        movq    mm3,mm0
        pfadd   mm0,mm4
        pfmul   mm0,[GOTOFF(ebx,PD_1_847)]      ; mm0=z5
        pfmul   mm3,[GOTOFF(ebx,PD_2_613)]      ; mm3=(z10 * 2.613125930)
        pfmul   mm4,[GOTOFF(ebx,PD_1_082)]      ; mm4=(z12 * 1.082392200)
        pfsubr  mm3,mm0                 ; mm3=tmp12
        pfsub   mm4,mm0                 ; mm4=tmp10

        ; -- Final output stage

        pfsub   mm3,mm1                 ; mm3=tmp6
        movq    mm5,mm6
        movq    mm0,mm7
        pfadd   mm6,mm1                 ; mm6=data0=(00 01)
        pfadd   mm7,mm3                 ; mm7=data1=(10 11)
        pfsub   mm5,mm1                 ; mm5=data7=(70 71)
        pfsub   mm0,mm3                 ; mm0=data6=(60 61)
        pfsub   mm2,mm3                 ; mm2=tmp5

        movq      mm1,mm6               ; transpose coefficients
        punpckldq mm6,mm7               ; mm6=(00 10)
        punpckhdq mm1,mm7               ; mm1=(01 11)
        movq      mm3,mm0               ; transpose coefficients
        punpckldq mm0,mm5               ; mm0=(60 70)
        punpckhdq mm3,mm5               ; mm3=(61 71)

        movq    MMWORD [MMBLOCK(0,0,edi,SIZEOF_FAST_FLOAT)], mm6
        movq    MMWORD [MMBLOCK(1,0,edi,SIZEOF_FAST_FLOAT)], mm1
        movq    MMWORD [MMBLOCK(0,3,edi,SIZEOF_FAST_FLOAT)], mm0
        movq    MMWORD [MMBLOCK(1,3,edi,SIZEOF_FAST_FLOAT)], mm3

        movq    mm7, MMWORD [wk(0)]     ; mm7=tmp2
        movq    mm5, MMWORD [wk(1)]     ; mm5=tmp3

        pfadd   mm4,mm2                 ; mm4=tmp4
        movq    mm6,mm7
        movq    mm1,mm5
        pfadd   mm7,mm2                 ; mm7=data2=(20 21)
        pfadd   mm5,mm4                 ; mm5=data4=(40 41)
        pfsub   mm6,mm2                 ; mm6=data5=(50 51)
        pfsub   mm1,mm4                 ; mm1=data3=(30 31)

        movq      mm0,mm7               ; transpose coefficients
        punpckldq mm7,mm1               ; mm7=(20 30)
        punpckhdq mm0,mm1               ; mm0=(21 31)
        movq      mm3,mm5               ; transpose coefficients
        punpckldq mm5,mm6               ; mm5=(40 50)
        punpckhdq mm3,mm6               ; mm3=(41 51)

        movq    MMWORD [MMBLOCK(0,1,edi,SIZEOF_FAST_FLOAT)], mm7
        movq    MMWORD [MMBLOCK(1,1,edi,SIZEOF_FAST_FLOAT)], mm0
        movq    MMWORD [MMBLOCK(0,2,edi,SIZEOF_FAST_FLOAT)], mm5
        movq    MMWORD [MMBLOCK(1,2,edi,SIZEOF_FAST_FLOAT)], mm3

.nextcolumn:
        add     esi, byte 2*SIZEOF_JCOEF                ; coef_block
        add     edx, byte 2*SIZEOF_FLOAT_MULT_TYPE      ; quantptr
        add     edi, byte 2*DCTSIZE*SIZEOF_FAST_FLOAT   ; wsptr
        dec     ecx                                     ; ctr
        jnz     near .columnloop

        ; -- Prefetch the next coefficient block

        prefetch [esi + (DCTSIZE2-8)*SIZEOF_JCOEF + 0*32]
        prefetch [esi + (DCTSIZE2-8)*SIZEOF_JCOEF + 1*32]
        prefetch [esi + (DCTSIZE2-8)*SIZEOF_JCOEF + 2*32]
        prefetch [esi + (DCTSIZE2-8)*SIZEOF_JCOEF + 3*32]

        ; ---- Pass 2: process rows from work array, store into output array.

        mov     eax, [original_ebp]
        lea     esi, [workspace]                        ; FAST_FLOAT *wsptr
        mov     edi, JSAMPARRAY [output_buf(eax)]       ; (JSAMPROW *)
        mov     eax, JDIMENSION [output_col(eax)]
        mov     ecx, DCTSIZE/2                          ; ctr
        alignx  16,7
.rowloop:

        ; -- Even part

        movq    mm0, MMWORD [MMBLOCK(0,0,esi,SIZEOF_FAST_FLOAT)]
        movq    mm1, MMWORD [MMBLOCK(2,0,esi,SIZEOF_FAST_FLOAT)]
        movq    mm2, MMWORD [MMBLOCK(4,0,esi,SIZEOF_FAST_FLOAT)]
        movq    mm3, MMWORD [MMBLOCK(6,0,esi,SIZEOF_FAST_FLOAT)]

        movq    mm4,mm0
        movq    mm5,mm1
        pfsub   mm0,mm2                 ; mm0=tmp11
        pfsub   mm1,mm3
        pfadd   mm4,mm2                 ; mm4=tmp10
        pfadd   mm5,mm3                 ; mm5=tmp13

        pfmul   mm1,[GOTOFF(ebx,PD_1_414)]
        pfsub   mm1,mm5                 ; mm1=tmp12

        movq    mm6,mm4
        movq    mm7,mm0
        pfsub   mm4,mm5                 ; mm4=tmp3
        pfsub   mm0,mm1                 ; mm0=tmp2
        pfadd   mm6,mm5                 ; mm6=tmp0
        pfadd   mm7,mm1                 ; mm7=tmp1

        movq    MMWORD [wk(1)], mm4     ; tmp3
        movq    MMWORD [wk(0)], mm0     ; tmp2

        ; -- Odd part

        movq    mm2, MMWORD [MMBLOCK(1,0,esi,SIZEOF_FAST_FLOAT)]
        movq    mm3, MMWORD [MMBLOCK(3,0,esi,SIZEOF_FAST_FLOAT)]
        movq    mm5, MMWORD [MMBLOCK(5,0,esi,SIZEOF_FAST_FLOAT)]
        movq    mm1, MMWORD [MMBLOCK(7,0,esi,SIZEOF_FAST_FLOAT)]

        movq    mm4,mm2
        movq    mm0,mm5
        pfadd   mm2,mm1                 ; mm2=z11
        pfadd   mm5,mm3                 ; mm5=z13
        pfsub   mm4,mm1                 ; mm4=z12
        pfsub   mm0,mm3                 ; mm0=z10

        movq    mm1,mm2
        pfsub   mm2,mm5
        pfadd   mm1,mm5                 ; mm1=tmp7

        pfmul   mm2,[GOTOFF(ebx,PD_1_414)]      ; mm2=tmp11

        movq    mm3,mm0
        pfadd   mm0,mm4
        pfmul   mm0,[GOTOFF(ebx,PD_1_847)]      ; mm0=z5
        pfmul   mm3,[GOTOFF(ebx,PD_2_613)]      ; mm3=(z10 * 2.613125930)
        pfmul   mm4,[GOTOFF(ebx,PD_1_082)]      ; mm4=(z12 * 1.082392200)
        pfsubr  mm3,mm0                 ; mm3=tmp12
        pfsub   mm4,mm0                 ; mm4=tmp10

        ; -- Final output stage

        pfsub   mm3,mm1                 ; mm3=tmp6
        movq    mm5,mm6
        movq    mm0,mm7
        pfadd   mm6,mm1                 ; mm6=data0=(00 10)
        pfadd   mm7,mm3                 ; mm7=data1=(01 11)
        pfsub   mm5,mm1                 ; mm5=data7=(07 17)
        pfsub   mm0,mm3                 ; mm0=data6=(06 16)
        pfsub   mm2,mm3                 ; mm2=tmp5

        movq    mm1,[GOTOFF(ebx,PD_RNDINT_MAGIC)]       ; mm1=[PD_RNDINT_MAGIC]
        pcmpeqd mm3,mm3
        psrld   mm3,WORD_BIT            ; mm3={0xFFFF 0x0000 0xFFFF 0x0000}

        pfadd   mm6,mm1                 ; mm6=roundint(data0/8)=(00 ** 10 **)
        pfadd   mm7,mm1                 ; mm7=roundint(data1/8)=(01 ** 11 **)
        pfadd   mm0,mm1                 ; mm0=roundint(data6/8)=(06 ** 16 **)
        pfadd   mm5,mm1                 ; mm5=roundint(data7/8)=(07 ** 17 **)

        pand    mm6,mm3                 ; mm6=(00 -- 10 --)
        pslld   mm7,WORD_BIT            ; mm7=(-- 01 -- 11)
        pand    mm0,mm3                 ; mm0=(06 -- 16 --)
        pslld   mm5,WORD_BIT            ; mm5=(-- 07 -- 17)
        por     mm6,mm7                 ; mm6=(00 01 10 11)
        por     mm0,mm5                 ; mm0=(06 07 16 17)

        movq    mm1, MMWORD [wk(0)]     ; mm1=tmp2
        movq    mm3, MMWORD [wk(1)]     ; mm3=tmp3

        pfadd   mm4,mm2                 ; mm4=tmp4
        movq    mm7,mm1
        movq    mm5,mm3
        pfadd   mm1,mm2                 ; mm1=data2=(02 12)
        pfadd   mm3,mm4                 ; mm3=data4=(04 14)
        pfsub   mm7,mm2                 ; mm7=data5=(05 15)
        pfsub   mm5,mm4                 ; mm5=data3=(03 13)

        movq    mm2,[GOTOFF(ebx,PD_RNDINT_MAGIC)]       ; mm2=[PD_RNDINT_MAGIC]
        pcmpeqd mm4,mm4
        psrld   mm4,WORD_BIT            ; mm4={0xFFFF 0x0000 0xFFFF 0x0000}

        pfadd   mm3,mm2                 ; mm3=roundint(data4/8)=(04 ** 14 **)
        pfadd   mm7,mm2                 ; mm7=roundint(data5/8)=(05 ** 15 **)
        pfadd   mm1,mm2                 ; mm1=roundint(data2/8)=(02 ** 12 **)
        pfadd   mm5,mm2                 ; mm5=roundint(data3/8)=(03 ** 13 **)

        pand    mm3,mm4                 ; mm3=(04 -- 14 --)
        pslld   mm7,WORD_BIT            ; mm7=(-- 05 -- 15)
        pand    mm1,mm4                 ; mm1=(02 -- 12 --)
        pslld   mm5,WORD_BIT            ; mm5=(-- 03 -- 13)
        por     mm3,mm7                 ; mm3=(04 05 14 15)
        por     mm1,mm5                 ; mm1=(02 03 12 13)

        movq      mm2,[GOTOFF(ebx,PB_CENTERJSAMP)]      ; mm2=[PB_CENTERJSAMP]

        packsswb  mm6,mm3               ; mm6=(00 01 10 11 04 05 14 15)
        packsswb  mm1,mm0               ; mm1=(02 03 12 13 06 07 16 17)
        paddb     mm6,mm2
        paddb     mm1,mm2

        movq      mm4,mm6               ; transpose coefficients(phase 2)
        punpcklwd mm6,mm1               ; mm6=(00 01 02 03 10 11 12 13)
        punpckhwd mm4,mm1               ; mm4=(04 05 06 07 14 15 16 17)

        movq      mm7,mm6               ; transpose coefficients(phase 3)
        punpckldq mm6,mm4               ; mm6=(00 01 02 03 04 05 06 07)
        punpckhdq mm7,mm4               ; mm7=(10 11 12 13 14 15 16 17)

        pushpic ebx                     ; save GOT address

        mov     edx, JSAMPROW [edi+0*SIZEOF_JSAMPROW]
        mov     ebx, JSAMPROW [edi+1*SIZEOF_JSAMPROW]
        movq    MMWORD [edx+eax*SIZEOF_JSAMPLE], mm6
        movq    MMWORD [ebx+eax*SIZEOF_JSAMPLE], mm7

        poppic  ebx                     ; restore GOT address

        add     esi, byte 2*SIZEOF_FAST_FLOAT   ; wsptr
        add     edi, byte 2*SIZEOF_JSAMPROW
        dec     ecx                             ; ctr
        jnz     near .rowloop

        femms           ; empty MMX/3DNow! state

        pop     edi
        pop     esi
;       pop     edx             ; need not be preserved
;       pop     ecx             ; need not be preserved
        pop     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
