1;
2; Copyright (C) 2009 The Android Open Source Project
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    REQUIRE8
18    PRESERVE8
19
20    AREA    |.text|, CODE
21
22    EXPORT h264bsdClearMbLayer
23
24; Input / output registers
25pMbLayer    RN  0
26size        RN  1
27pTmp        RN  2
28step        RN  3
29
30; -- NEON registers --
31
32qZero   QN  Q0.U8
33
34;/*------------------------------------------------------------------------------
35;
36;    Function: h264bsdClearMbLayer
37;
38;        Functional description:
39;
40;        Inputs:
41;
42;        Outputs:
43;
44;        Returns:
45;
46;------------------------------------------------------------------------------*/
47
48h264bsdClearMbLayer
49
50    VMOV    qZero, #0
51    ADD     pTmp, pMbLayer, #16
52    MOV     step, #32
53    SUBS    size, size, #64
54
55loop
56    VST1    qZero, [pMbLayer], step
57    SUBS    size, size, #64
58    VST1    qZero, [pTmp], step
59    VST1    qZero, [pMbLayer], step
60    VST1    qZero, [pTmp], step
61    BCS     loop
62
63    BX      lr
64    END
65
66
67