10c1bc742181ded4930842b46e9507372f0b1b963James Dong/* 20c1bc742181ded4930842b46e9507372f0b1b963James Dong * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved. 30c1bc742181ded4930842b46e9507372f0b1b963James Dong * 40c1bc742181ded4930842b46e9507372f0b1b963James Dong */ 50c1bc742181ded4930842b46e9507372f0b1b963James Dong 60c1bc742181ded4930842b46e9507372f0b1b963James Dong .eabi_attribute 24, 1 70c1bc742181ded4930842b46e9507372f0b1b963James Dong .eabi_attribute 25, 1 80c1bc742181ded4930842b46e9507372f0b1b963James Dong 90c1bc742181ded4930842b46e9507372f0b1b963James Dong .arm 100c1bc742181ded4930842b46e9507372f0b1b963James Dong .fpu neon 110c1bc742181ded4930842b46e9507372f0b1b963James Dong .text 120c1bc742181ded4930842b46e9507372f0b1b963James Dong 130c1bc742181ded4930842b46e9507372f0b1b963James Dong .global armVCM4P10_DecodeCoeffsToPair 140c1bc742181ded4930842b46e9507372f0b1b963James Dong .func armVCM4P10_DecodeCoeffsToPair 150c1bc742181ded4930842b46e9507372f0b1b963James DongarmVCM4P10_DecodeCoeffsToPair: 160c1bc742181ded4930842b46e9507372f0b1b963James Dong PUSH {r4-r12,lr} 170c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB sp,sp,#0x40 180c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r10,[r0,#0] 190c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r12,[r1,#0] 2022e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel LDR r6, .LarmVCM4P10_CAVLCCoeffTokenTables 2122e06318d04074d1a7c90caa173857abdcfd153eArd BiesheuvelP0: ADD r6, pc 220c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r4,[sp,#0x68] 230c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRB r9,[r10,#2] 240c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRB r8,[r10,#1] 250c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRB r11,[r10],#3 260c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r12,r12,#8 270c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r6,[r6,r4,LSL #2] 280c1bc742181ded4930842b46e9507372f0b1b963James Dong ORR r9,r9,r8,LSL #8 290c1bc742181ded4930842b46e9507372f0b1b963James Dong ORR r11,r9,r11,LSL #16 300c1bc742181ded4930842b46e9507372f0b1b963James Dong LSLS r8,r11,r12 310c1bc742181ded4930842b46e9507372f0b1b963James Dong MOVS r7,#0x1e 320c1bc742181ded4930842b46e9507372f0b1b963James Dong AND r7,r7,r8,LSR #27 330c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r12,r12,#8 340c1bc742181ded4930842b46e9507372f0b1b963James DongL0x44: 350c1bc742181ded4930842b46e9507372f0b1b963James Dong BCC L1 360c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRB r8,[r10],#1 370c1bc742181ded4930842b46e9507372f0b1b963James DongL1: 380c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRH r7,[r6,r7] 390c1bc742181ded4930842b46e9507372f0b1b963James Dong ADDCC r12,r12,#8 400c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r12,r12,#4 410c1bc742181ded4930842b46e9507372f0b1b963James Dong ORRCS r11,r8,r11,LSL #8 420c1bc742181ded4930842b46e9507372f0b1b963James Dong LSRS r8,r7,#1 430c1bc742181ded4930842b46e9507372f0b1b963James Dong BCS L0x74 440c1bc742181ded4930842b46e9507372f0b1b963James Dong LSLS r8,r11,r12 450c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r12,r12,#0xa 460c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r7,r7,r8,LSR #29 470c1bc742181ded4930842b46e9507372f0b1b963James Dong BIC r7,r7,#1 480c1bc742181ded4930842b46e9507372f0b1b963James Dong B L0x44 490c1bc742181ded4930842b46e9507372f0b1b963James DongL0x74: 500c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB r12,r12,r7,LSR #13 510c1bc742181ded4930842b46e9507372f0b1b963James Dong BIC r7,r8,#0xf000 520c1bc742181ded4930842b46e9507372f0b1b963James Dong LSRS r5,r7,#2 530c1bc742181ded4930842b46e9507372f0b1b963James Dong STRB r5,[r2,#0] 540c1bc742181ded4930842b46e9507372f0b1b963James Dong BEQ L0x344 550c1bc742181ded4930842b46e9507372f0b1b963James Dong CMP r7,#0x44 560c1bc742181ded4930842b46e9507372f0b1b963James Dong BGE L0x33c 570c1bc742181ded4930842b46e9507372f0b1b963James Dong STR r0,[sp,#0] 580c1bc742181ded4930842b46e9507372f0b1b963James Dong STR r1,[sp,#4] 590c1bc742181ded4930842b46e9507372f0b1b963James Dong STR r3,[sp,#8] 600c1bc742181ded4930842b46e9507372f0b1b963James Dong ANDS r1,r7,#3 610c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r2,sp,#0xc 620c1bc742181ded4930842b46e9507372f0b1b963James Dong BEQ L0xd8 630c1bc742181ded4930842b46e9507372f0b1b963James Dong MOV r0,r1 640c1bc742181ded4930842b46e9507372f0b1b963James DongL0xac: 650c1bc742181ded4930842b46e9507372f0b1b963James Dong LSLS r7,r11,r12 660c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r12,r12,#7 670c1bc742181ded4930842b46e9507372f0b1b963James Dong BCC L2 680c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRB r8,[r10],#1 690c1bc742181ded4930842b46e9507372f0b1b963James DongL2: 700c1bc742181ded4930842b46e9507372f0b1b963James Dong ADDCC r12,r12,#8 710c1bc742181ded4930842b46e9507372f0b1b963James Dong LSR r7,r7,#31 720c1bc742181ded4930842b46e9507372f0b1b963James Dong ORRCS r11,r8,r11,LSL #8 730c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r0,r0,#1 740c1bc742181ded4930842b46e9507372f0b1b963James Dong MOV r8,#1 750c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB r8,r8,r7,LSL #1 760c1bc742181ded4930842b46e9507372f0b1b963James Dong STRH r8,[r2],#2 770c1bc742181ded4930842b46e9507372f0b1b963James Dong BGT L0xac 780c1bc742181ded4930842b46e9507372f0b1b963James DongL0xd8: 790c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r0,r5,r1 800c1bc742181ded4930842b46e9507372f0b1b963James Dong BEQ L0x1b8 810c1bc742181ded4930842b46e9507372f0b1b963James Dong MOV r4,#1 820c1bc742181ded4930842b46e9507372f0b1b963James Dong CMP r5,#0xa 830c1bc742181ded4930842b46e9507372f0b1b963James Dong MOVLE r4,#0 840c1bc742181ded4930842b46e9507372f0b1b963James Dong CMP r1,#3 850c1bc742181ded4930842b46e9507372f0b1b963James Dong MOVLT r1,#4 860c1bc742181ded4930842b46e9507372f0b1b963James Dong MOVGE r1,#2 870c1bc742181ded4930842b46e9507372f0b1b963James Dong MOVGE r4,#0 880c1bc742181ded4930842b46e9507372f0b1b963James DongL0xfc: 890c1bc742181ded4930842b46e9507372f0b1b963James Dong LSLS r7,r11,r12 900c1bc742181ded4930842b46e9507372f0b1b963James Dong CLZ r7,r7 910c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r12,r12,r7 920c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r12,r12,#7 930c1bc742181ded4930842b46e9507372f0b1b963James Dong BCC L3 940c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRB r8,[r10],#1 950c1bc742181ded4930842b46e9507372f0b1b963James Dong ORR r11,r8,r11,LSL #8 960c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r12,r12,#8 970c1bc742181ded4930842b46e9507372f0b1b963James Dong BCC L3 980c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRB r8,[r10],#1 990c1bc742181ded4930842b46e9507372f0b1b963James DongL3: 1000c1bc742181ded4930842b46e9507372f0b1b963James Dong ADDCC r12,r12,#8 1010c1bc742181ded4930842b46e9507372f0b1b963James Dong ORRCS r11,r8,r11,LSL #8 1020c1bc742181ded4930842b46e9507372f0b1b963James Dong CMP r7,#0x10 1030c1bc742181ded4930842b46e9507372f0b1b963James Dong BGE L0x33c 1040c1bc742181ded4930842b46e9507372f0b1b963James Dong MOVS lr,r4 1050c1bc742181ded4930842b46e9507372f0b1b963James Dong TEQEQ r7,#0xe 1060c1bc742181ded4930842b46e9507372f0b1b963James Dong MOVEQ lr,#4 1070c1bc742181ded4930842b46e9507372f0b1b963James Dong TEQ r7,#0xf 1080c1bc742181ded4930842b46e9507372f0b1b963James Dong MOVEQ lr,#0xc 1090c1bc742181ded4930842b46e9507372f0b1b963James Dong TEQEQ r4,#0 1100c1bc742181ded4930842b46e9507372f0b1b963James Dong ADDEQ r7,r7,#0xf 1110c1bc742181ded4930842b46e9507372f0b1b963James Dong TEQ lr,#0 1120c1bc742181ded4930842b46e9507372f0b1b963James Dong BEQ L0x184 1130c1bc742181ded4930842b46e9507372f0b1b963James Dong LSL r3,r11,r12 1140c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r12,r12,lr 1150c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r12,r12,#8 1160c1bc742181ded4930842b46e9507372f0b1b963James Dong RSB r9,lr,#0x20 1170c1bc742181ded4930842b46e9507372f0b1b963James Dong BCC L4 1180c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRB r8,[r10],#1 1190c1bc742181ded4930842b46e9507372f0b1b963James Dong ORR r11,r8,r11,LSL #8 1200c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r12,r12,#8 1210c1bc742181ded4930842b46e9507372f0b1b963James Dong BCC L4 1220c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRB r8,[r10],#1 1230c1bc742181ded4930842b46e9507372f0b1b963James DongL4: 1240c1bc742181ded4930842b46e9507372f0b1b963James Dong ADDCC r12,r12,#8 1250c1bc742181ded4930842b46e9507372f0b1b963James Dong LSR r3,r3,r9 1260c1bc742181ded4930842b46e9507372f0b1b963James Dong ORRCS r11,r8,r11,LSL #8 1270c1bc742181ded4930842b46e9507372f0b1b963James Dong LSL r7,r7,r4 1280c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r7,r3,r7 1290c1bc742181ded4930842b46e9507372f0b1b963James DongL0x184: 1300c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r7,r7,r1 1310c1bc742181ded4930842b46e9507372f0b1b963James Dong MOV r1,#2 1320c1bc742181ded4930842b46e9507372f0b1b963James Dong LSRS r8,r7,#1 1330c1bc742181ded4930842b46e9507372f0b1b963James Dong RSBCS r8,r8,#0 1340c1bc742181ded4930842b46e9507372f0b1b963James Dong STRH r8,[r2],#2 13522e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel LDR r9, .LarmVCM4P10_SuffixToLevel 13622e06318d04074d1a7c90caa173857abdcfd153eArd BiesheuvelP1: ADD r9, pc 1370c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRSB r8,[r9,r4] 1380c1bc742181ded4930842b46e9507372f0b1b963James Dong TEQ r4,#0 1390c1bc742181ded4930842b46e9507372f0b1b963James Dong MOVEQ r4,#1 1400c1bc742181ded4930842b46e9507372f0b1b963James Dong CMP r7,r8 1410c1bc742181ded4930842b46e9507372f0b1b963James Dong ADDCS r4,r4,#1 1420c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r0,r0,#1 1430c1bc742181ded4930842b46e9507372f0b1b963James Dong BGT L0xfc 1440c1bc742181ded4930842b46e9507372f0b1b963James DongL0x1b8: 1450c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r8,[sp,#0x6c] 1460c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB r0,r5,#1 1470c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r1,r8,r5 1480c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r4,sp,#0x2c 1490c1bc742181ded4930842b46e9507372f0b1b963James Dong MOV lr,r5 1500c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB lr,lr,#1 1510c1bc742181ded4930842b46e9507372f0b1b963James Dong BEQ L0x2b0 1520c1bc742181ded4930842b46e9507372f0b1b963James Dong TEQ r8,#4 15322e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel LDREQ r6, .LarmVCM4P10_CAVLCTotalZeros2x2Tables 15422e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel LDRNE r6, .LarmVCM4P10_CAVLCTotalZeroTables 15522e06318d04074d1a7c90caa173857abdcfd153eArd BiesheuvelP2: ADD r6, pc 1560c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r6,[r6,r5,LSL #2] 1570c1bc742181ded4930842b46e9507372f0b1b963James Dong LSLS r8,r11,r12 1580c1bc742181ded4930842b46e9507372f0b1b963James Dong MOVS r7,#0x1e 1590c1bc742181ded4930842b46e9507372f0b1b963James Dong AND r7,r7,r8,LSR #27 1600c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r12,r12,#8 1610c1bc742181ded4930842b46e9507372f0b1b963James DongL0x1f4: 1620c1bc742181ded4930842b46e9507372f0b1b963James Dong BCC L5 1630c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRB r8,[r10],#1 1640c1bc742181ded4930842b46e9507372f0b1b963James DongL5: 1650c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRH r7,[r6,r7] 1660c1bc742181ded4930842b46e9507372f0b1b963James Dong ADDCC r12,r12,#8 1670c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r12,r12,#4 1680c1bc742181ded4930842b46e9507372f0b1b963James Dong ORRCS r11,r8,r11,LSL #8 1690c1bc742181ded4930842b46e9507372f0b1b963James Dong LSRS r8,r7,#1 1700c1bc742181ded4930842b46e9507372f0b1b963James Dong BCS L0x224 1710c1bc742181ded4930842b46e9507372f0b1b963James Dong LSLS r8,r11,r12 1720c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r12,r12,#0xa 1730c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r7,r7,r8,LSR #29 1740c1bc742181ded4930842b46e9507372f0b1b963James Dong BIC r7,r7,#1 1750c1bc742181ded4930842b46e9507372f0b1b963James Dong B L0x1f4 1760c1bc742181ded4930842b46e9507372f0b1b963James DongL0x224: 1770c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB r12,r12,r7,LSR #13 1780c1bc742181ded4930842b46e9507372f0b1b963James Dong BIC r7,r8,#0xf000 1790c1bc742181ded4930842b46e9507372f0b1b963James Dong CMP r7,#0x10 1800c1bc742181ded4930842b46e9507372f0b1b963James Dong BGE L0x33c 18122e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel LDR r3, .LarmVCM4P10_CAVLCRunBeforeTables 18222e06318d04074d1a7c90caa173857abdcfd153eArd BiesheuvelP3: ADD r3, pc 1830c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r4,sp,#0x2c 1840c1bc742181ded4930842b46e9507372f0b1b963James Dong MOVS r1,r7 1850c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD lr,lr,r1 1860c1bc742181ded4930842b46e9507372f0b1b963James Dong BEQ L0x2b0 1870c1bc742181ded4930842b46e9507372f0b1b963James DongL0x248: 1880c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r0,r0,#1 1890c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r6,[r3,r1,LSL #2] 1900c1bc742181ded4930842b46e9507372f0b1b963James Dong BLT L0x2bc 1910c1bc742181ded4930842b46e9507372f0b1b963James Dong LSLS r8,r11,r12 1920c1bc742181ded4930842b46e9507372f0b1b963James Dong MOVS r7,#0xe 1930c1bc742181ded4930842b46e9507372f0b1b963James Dong AND r7,r7,r8,LSR #28 1940c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r12,r12,#8 1950c1bc742181ded4930842b46e9507372f0b1b963James DongL0x264: 1960c1bc742181ded4930842b46e9507372f0b1b963James Dong BCC L6 1970c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRB r8,[r10],#1 1980c1bc742181ded4930842b46e9507372f0b1b963James DongL6: 1990c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRH r7,[r6,r7] 2000c1bc742181ded4930842b46e9507372f0b1b963James Dong ADDCC r12,r12,#8 2010c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r12,r12,#3 2020c1bc742181ded4930842b46e9507372f0b1b963James Dong ORRCS r11,r8,r11,LSL #8 2030c1bc742181ded4930842b46e9507372f0b1b963James Dong LSRS r8,r7,#1 2040c1bc742181ded4930842b46e9507372f0b1b963James Dong BCS L0x294 2050c1bc742181ded4930842b46e9507372f0b1b963James Dong LSLS r8,r11,r12 2060c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r12,r12,#9 2070c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r7,r7,r8,LSR #29 2080c1bc742181ded4930842b46e9507372f0b1b963James Dong BIC r7,r7,#1 2090c1bc742181ded4930842b46e9507372f0b1b963James Dong B L0x264 2100c1bc742181ded4930842b46e9507372f0b1b963James DongL0x294: 2110c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB r12,r12,r7,LSR #13 2120c1bc742181ded4930842b46e9507372f0b1b963James Dong BIC r7,r8,#0xf000 2130c1bc742181ded4930842b46e9507372f0b1b963James Dong CMP r7,#0xf 2140c1bc742181ded4930842b46e9507372f0b1b963James Dong BGE L0x33c 2150c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r1,r1,r7 2160c1bc742181ded4930842b46e9507372f0b1b963James Dong STRB r7,[r4],#1 2170c1bc742181ded4930842b46e9507372f0b1b963James Dong BGT L0x248 2180c1bc742181ded4930842b46e9507372f0b1b963James DongL0x2b0: 2190c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r0,r0,#1 2200c1bc742181ded4930842b46e9507372f0b1b963James Dong BLT L7 2210c1bc742181ded4930842b46e9507372f0b1b963James Dong STRB r1,[r4],#1 2220c1bc742181ded4930842b46e9507372f0b1b963James DongL7: 2230c1bc742181ded4930842b46e9507372f0b1b963James Dong BGT L0x2b0 2240c1bc742181ded4930842b46e9507372f0b1b963James DongL0x2bc: 2250c1bc742181ded4930842b46e9507372f0b1b963James Dong STRB r1,[r4],#1 2260c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r8,[sp,#0x6c] 2270c1bc742181ded4930842b46e9507372f0b1b963James Dong TEQ r8,#0xf 2280c1bc742181ded4930842b46e9507372f0b1b963James Dong ADDEQ lr,lr,#1 2290c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB r4,r4,r5 2300c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB r2,r2,r5 2310c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB r2,r2,r5 2320c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r3,[sp,#8] 2330c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r0,[r3,#0] 2340c1bc742181ded4930842b46e9507372f0b1b963James Dong TEQ r8,#4 23522e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel LDREQ r6, .LarmVCM4P10_ZigZag_2x2 23622e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel LDRNE r6, .LarmVCM4P10_ZigZag_4x4 23722e06318d04074d1a7c90caa173857abdcfd153eArd BiesheuvelP4: ADD r6, pc 2380c1bc742181ded4930842b46e9507372f0b1b963James DongL0x2ec: 2390c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRB r9,[r4],#1 2400c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRB r8,[r6,lr] 2410c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB lr,lr,#1 2420c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB lr,lr,r9 2430c1bc742181ded4930842b46e9507372f0b1b963James Dong LDRSH r9,[r2],#2 2440c1bc742181ded4930842b46e9507372f0b1b963James Dong SUBS r5,r5,#1 2450c1bc742181ded4930842b46e9507372f0b1b963James Dong ORREQ r8,r8,#0x20 2460c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r1,r9,#0x80 2470c1bc742181ded4930842b46e9507372f0b1b963James Dong CMP r1,#0x100 2480c1bc742181ded4930842b46e9507372f0b1b963James Dong ORRCS r8,r8,#0x10 2490c1bc742181ded4930842b46e9507372f0b1b963James Dong TEQ r5,#0 2500c1bc742181ded4930842b46e9507372f0b1b963James Dong STRB r8,[r0],#1 2510c1bc742181ded4930842b46e9507372f0b1b963James Dong STRB r9,[r0],#1 2520c1bc742181ded4930842b46e9507372f0b1b963James Dong LSR r9,r9,#8 2530c1bc742181ded4930842b46e9507372f0b1b963James Dong BCC L8 2540c1bc742181ded4930842b46e9507372f0b1b963James Dong STRB r9,[r0],#1 2550c1bc742181ded4930842b46e9507372f0b1b963James DongL8: 2560c1bc742181ded4930842b46e9507372f0b1b963James Dong BNE L0x2ec 2570c1bc742181ded4930842b46e9507372f0b1b963James Dong STR r0,[r3,#0] 2580c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r0,[sp,#0] 2590c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r1,[sp,#4] 2600c1bc742181ded4930842b46e9507372f0b1b963James Dong B L0x344 2610c1bc742181ded4930842b46e9507372f0b1b963James DongL0x33c: 2620c1bc742181ded4930842b46e9507372f0b1b963James Dong MVN r0,#1 2630c1bc742181ded4930842b46e9507372f0b1b963James Dong B L0x35c 2640c1bc742181ded4930842b46e9507372f0b1b963James DongL0x344: 2650c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r10,r10,r12,LSR #3 2660c1bc742181ded4930842b46e9507372f0b1b963James Dong AND r12,r12,#7 2670c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB r10,r10,#4 2680c1bc742181ded4930842b46e9507372f0b1b963James Dong STR r12,[r1,#0] 2690c1bc742181ded4930842b46e9507372f0b1b963James Dong STR r10,[r0,#0] 2700c1bc742181ded4930842b46e9507372f0b1b963James Dong MOV r0,#0 2710c1bc742181ded4930842b46e9507372f0b1b963James DongL0x35c: 2720c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD sp,sp,#0x40 2730c1bc742181ded4930842b46e9507372f0b1b963James Dong POP {r4-r12,pc} 2740c1bc742181ded4930842b46e9507372f0b1b963James Dong .endfunc 2750c1bc742181ded4930842b46e9507372f0b1b963James Dong 27622e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel.LarmVCM4P10_CAVLCCoeffTokenTables: 27722e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel .word armVCM4P10_CAVLCCoeffTokenTables-(P0+8) 27822e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel.LarmVCM4P10_SuffixToLevel: 27922e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel .word armVCM4P10_SuffixToLevel-(P1+8) 28022e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel.LarmVCM4P10_CAVLCTotalZeros2x2Tables: 28122e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel .word (armVCM4P10_CAVLCTotalZeros2x2Tables - 4)-(P2+8) 28222e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel.LarmVCM4P10_CAVLCTotalZeroTables: 28322e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel .word (armVCM4P10_CAVLCTotalZeroTables - 4)-(P2+8) 28422e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel.LarmVCM4P10_CAVLCRunBeforeTables: 28522e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel .word (armVCM4P10_CAVLCRunBeforeTables - 4)-(P3+8) 28622e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel.LarmVCM4P10_ZigZag_2x2: 28722e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel .word armVCM4P10_ZigZag_2x2-(P4+8) 28822e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel.LarmVCM4P10_ZigZag_4x4: 28922e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel .word armVCM4P10_ZigZag_4x4-(P4+8) 2900c1bc742181ded4930842b46e9507372f0b1b963James Dong 29122e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel .end 292