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