neon filters: support optional color space conversion

This commit is contained in:
notaz 2012-11-02 02:59:44 +02:00
parent 67381db0f4
commit 6ce097ba2f
3 changed files with 53 additions and 4 deletions

View file

@ -309,10 +309,16 @@
vorn q3, q10, q3 @ tmp3 = < C0 || !(H == F) >
vbsl q2, q12, q14 @ E2 = < (C0 || !(D == H)) ? E : D >
vst2.16 {q0-q1}, [\dst1] @ [dst] = E0,E1
vbsl q3, q12, q15 @ E3 = < (C0 || !(H == F)) ? E : F >
#ifdef DO_BGR_TO_RGB
bgr1555_to_rgb565 q0, q1, q12, q14, q15
bgr1555_to_rgb565 q2, q3, q12, q14, q15
#endif
vst2.16 {q0-q1}, [\dst1] @ [dst] = E0,E1
bic \counter, \counter, #7
.ifeqs "\qB", "q11"
add \src1, \src1, \reg1, lsl #1
@ -379,12 +385,18 @@
vorn q3, q10, q3 @ tmp3 = < C0 || !(H == F) >
vbsl q2, q12, q14 @ E2 = < (C0 || !(D == H)) ? E : D >
vbsl q3, q12, q15 @ E3 = < (C0 || !(H == F)) ? E : F >
#ifdef DO_BGR_TO_RGB
bgr1555_to_rgb565 q0, q1, q12, q14, q15
bgr1555_to_rgb565 q2, q3, q12, q14, q15
#endif
vst2.16 {q0-q1}, [\aldst1]! @ [dst] = E0,E1; dst1 += 2*2*8
cmp \counter, #8
vbsl q3, q12, q15 @ E3 = < (C0 || !(H == F)) ? E : F >
vst2.16 {q2-q3}, [\aldst2]! @ [dst + dststride] = E2,E3; dst2 += 2*2*8
bhi 2b
@ -432,10 +444,16 @@
vorn q3, q10, q3 @ tmp3 = < C0 || !(H == F) >
vbsl q2, q12, q14 @ E2 = < (C0 || !(D == H)) ? E : D >
vst2.16 {q0-q1}, [\aldst1]! @ [dst] = E0,E1; dst1 += 2*2*8
vbsl q3, q12, q15 @ E3 = < (C0 || !(H == F)) ? E : F >
#ifdef DO_BGR_TO_RGB
bgr1555_to_rgb565 q0, q1, q12, q14, q15
bgr1555_to_rgb565 q2, q3, q12, q14, q15
#endif
vst2.16 {q0-q1}, [\aldst1]! @ [dst] = E0,E1; dst1 += 2*2*8
vst2.16 {q2-q3}, [\aldst2]! @ [dst + dststride] = E2,E3; dst2 += 2*2*8
.endm