omxVCM4P10_DeblockLuma_I.S revision 78e52bfac041d71ce53b5b13c2abf78af742b09d
1/* 2 * Copyright (C) 2007-2008 ARM Limited 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 * 16 */ 17/* 18 * 19 */ 20 21 .eabi_attribute 24, 1 22 .eabi_attribute 25, 1 23 24 .arm 25 .fpu neon 26 .text 27 28 .global omxVCM4P10_DeblockLuma_I 29 .func omxVCM4P10_DeblockLuma_I 30omxVCM4P10_DeblockLuma_I: 31 PUSH {r4-r9,lr} 32 MOVS r6,r0 33 SUB sp,sp,#0xc 34 MOV r9,r1 35 MOV r7,r2 36 MOV r8,r3 37 LDR r4,[sp,#0x28] 38 LDR r5,[sp,#0x2c] 39 BEQ L0x58 40 TST r6,#7 41 TSTEQ r9,#7 42 BNE L0x58 43 CMP r7,#0 44 CMPNE r8,#0 45 CMPNE r4,#0 46 BEQ L0x58 47 TST r4,#3 48 BNE L0x58 49 CMP r5,#0 50 BEQ L0x58 51 TST r5,#3 52 BEQ L0x64 53L0x58: 54 MVN r0,#4 55L0x5c: 56 ADD sp,sp,#0xc 57 POP {r4-r9,pc} 58L0x64: 59 STR r4,[sp,#0] 60 MOV r3,r8 61 STR r5,[sp,#4] 62 MOV r2,r7 63 MOV r1,r9 64 MOV r0,r6 65 BL omxVCM4P10_FilterDeblockingLuma_VerEdge_I 66 CMP r0,#0 67 BNE L0x5c 68 ADD r3,r5,#0x10 69 ADD r2,r4,#0x10 70 STR r3,[sp,#4] 71 STR r2,[sp,#0] 72 ADD r3,r8,#2 73 ADD r2,r7,#2 74 MOV r1,r9 75 MOV r0,r6 76 BL omxVCM4P10_FilterDeblockingLuma_HorEdge_I 77 ADD sp,sp,#0xc 78 POP {r4-r9,pc} 79 .endfunc 80 81 .end 82 83