View difference between Paste ID: 5EdwQ5De and 0azLQNBZ
SHOW: | | - or go back to the newest paste.
1
C code :
2
    for (y = 0; y < height; y++) {
3
        for (x = 0; x < width; x++)
4
            dst[x] = src[x] << (14 - BIT_DEPTH);
5
        src += srcstride;
6
        dst += dststride;
7
    }
8
asm : 
9
10
;	r0 : *dst
11
;	r1 : dststride
12
;	r2 : *src
13
; 	r3 : srcstride
14
;	r4 : width
15
;	r5 : height
16
17
cglobal put_hevc_mc_pixels_8, 9, 12
18
	pxor		xmm0,xmm0		;set register at zero
19
	mov			r6,0			;height
20
	;8 by 8
21
mc_pixels_h:	;for height
22
	mov		r7,0			;width
23
24
mc_pixels_w:	;for width
25
	mov 		r9,0
26-
	mov			r9,[r2+r7]
26+
	mov			r9b,[r2+r7]
27
	shl			r9,6
28-
	mov			[r0+r7],r9
28+
	mov			[r0+2*r7],r9w
29
	inc			r7
30
	cmp			r7, r4			;cmp width
31
	jl			mc_pixels_w		;width loop
32
	add			r0,r1			;dst += dststride
33
	add			r2,r3			;src += srcstride
34
	inc			r6
35
	cmp			r6,r5			;cmp height
36
	jl			mc_pixels_h		;height loop
37
    REP_RET