All pastes #2066203 Raw Edit

Something

public text v1 · immutable
#2066203 ·published 2011-05-21 12:50 UTC
rendered paste body
%include "x86inc.asm"
%include "x86util.asm"

;
; scale_frame( uint16_t *src, uint16_t *dst, int stride, int lshift, int rshift, int height )
;

INIT_XMM
cglobal scale_frame_sse2, 6,7
    movd   xmm2, r3d
    movd   xmm3, r4d
    sub    r1, r0

;   dst[k] = (src[k] << lshift) + (src[k] >> rshift);

.loop
    mov    r6, r2
    movdqa xmm0, [r0]
    movdqa xmm1, xmm0
    psllw  xmm0, xmm2
    psrlw  xmm1, xmm3
    paddw  xmm0, xmm1
    movdqa [r1+r0], xmm0 ;FIXME
    sub    r6d, 8
    lea    r0, [r0+16]
    jg .loop
    sub    r5d, 1
    jg .loop
    REP_RET