CDXLPlay added with permission from Fredik Wikstrom.
[AROS-Contrib.git] / MultiMedia / cdxlplay / ppc / p2c / p2c_2.s
blob650e83464a4782ae547aa4d872b85ba2506432a6
2 # Planar 2 Chunky routine (C) 2009 Fredrik Wikstrom
4 p2c_2:
5 add r3,r4,r4
6 add r11,r10,r4
8 mr r4,r6
9 p2c_2_001:
10 subi r7,r7,1
11 p2c_2_002:
12 lhzu r18,2(r10)
13 lhzu r19,2(r11)
15 subi r4,r4,1
17 # pixels 0, 4, 8 and 12
18 rlwinm r26,r18,9,7,7
19 rlwinm r27,r18,13,7,7
20 rlwinm r28,r18,17,7,7
21 rlwinm r29,r18,21,7,7
22 rlwimi r26,r19,10,6,6
23 rlwimi r27,r19,14,6,6
24 rlwimi r28,r19,18,6,6
25 rlwimi r29,r19,22,6,6
27 # pixels 1, 5, 9 and 13
28 rlwimi r26,r18,2,15,15
29 rlwimi r27,r18,6,15,15
30 rlwimi r28,r18,10,15,15
31 rlwimi r29,r18,14,15,15
32 rlwimi r26,r19,3,14,14
33 rlwimi r27,r19,7,14,14
34 rlwimi r28,r19,11,14,14
35 rlwimi r29,r19,15,14,14
37 # pixels 2, 6, 10 and 14
38 rlwimi r26,r18,27,23,23
39 rlwimi r27,r18,31,23,23
40 rlwimi r28,r18,3,23,23
41 rlwimi r29,r18,7,23,23
42 rlwimi r26,r19,28,22,22
43 rlwimi r27,r19,0,22,22
44 rlwimi r28,r19,4,22,22
45 rlwimi r29,r19,8,22,22
47 # pixels 3, 7, 11 and 15
48 rlwimi r26,r18,20,31,31
49 rlwimi r27,r18,24,31,31
50 rlwimi r28,r18,28,31,31
51 rlwimi r29,r18,0,31,31
52 rlwimi r26,r19,21,30,30
53 rlwimi r27,r19,25,30,30
54 rlwimi r28,r19,29,30,30
55 rlwimi r29,r19,1,30,30
57 cmpwi cr0,r4,0
59 stw r26,4(r5)
60 stw r27,8(r5)
61 stw r28,12(r5)
62 stwu r29,16(r5)
64 bne+ p2c_2_002
66 cmpwi cr0,r7,0
67 mr r4,r6
68 bne+ p2c_2_001
70 lmw r13,0(r1)
71 addi r1,r1,76
72 blr