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 |