X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=libpicofe.git;a=blobdiff_plain;f=arm%2Fneon_normalxx.Sinc;h=0546ac268a4dcd7e706307996134d12f4cc72919;hp=0391e12b369f870da55dd7f98c483315bf1f4f08;hb=6ce097ba2f3cd1c269bacd032b775b6d296433fc;hpb=67381db0f42d389fa4abe7520ab81e9d96226ea1 diff --git a/arm/neon_normalxx.Sinc b/arm/neon_normalxx.Sinc index 0391e12..0546ac2 100644 --- a/arm/neon_normalxx.Sinc +++ b/arm/neon_normalxx.Sinc @@ -30,6 +30,20 @@ #define A256 :256 #endif +.macro bgr1555_to_rgb565 dr0 dr1 t0 t1 t2 + str r0, [sp, #-4] + mov r0, #0x07c0 + vshl.u16 \t0, \dr0, #11 + vshl.u16 \t1, \dr1, #11 + vshl.u16 \dr0, \dr0, #1 + vshl.u16 \dr1, \dr1, #1 + vdup.16 \t2, r0 + vsri.u16 \t0, \dr0, #11 + vsri.u16 \t1, \dr1, #11 + ldr r0, [sp, #-4] + vbif \dr0, \t0, \t2 + vbif \dr1, \t1, \t2 +.endm .macro _neon_normalxx_8_16_line_middle src, dst, pal, counter, reg1, reg2, reg3, reg4, reg5, reg6, reg7, reg8, reg9, dststride, dA, dB ldr \reg1, [\src] @ reg1 = src[0-3]