10c1bc742181ded4930842b46e9507372f0b1b963James Dong;
20c1bc742181ded4930842b46e9507372f0b1b963James Dong; Copyright (C) 2009 The Android Open Source Project
30c1bc742181ded4930842b46e9507372f0b1b963James Dong;
40c1bc742181ded4930842b46e9507372f0b1b963James Dong; Licensed under the Apache License, Version 2.0 (the "License");
50c1bc742181ded4930842b46e9507372f0b1b963James Dong; you may not use this file except in compliance with the License.
60c1bc742181ded4930842b46e9507372f0b1b963James Dong; You may obtain a copy of the License at
70c1bc742181ded4930842b46e9507372f0b1b963James Dong;
80c1bc742181ded4930842b46e9507372f0b1b963James Dong;      http://www.apache.org/licenses/LICENSE-2.0
90c1bc742181ded4930842b46e9507372f0b1b963James Dong;
100c1bc742181ded4930842b46e9507372f0b1b963James Dong; Unless required by applicable law or agreed to in writing, software
110c1bc742181ded4930842b46e9507372f0b1b963James Dong; distributed under the License is distributed on an "AS IS" BASIS,
120c1bc742181ded4930842b46e9507372f0b1b963James Dong; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130c1bc742181ded4930842b46e9507372f0b1b963James Dong; See the License for the specific language governing permissions and
140c1bc742181ded4930842b46e9507372f0b1b963James Dong; limitations under the License.
150c1bc742181ded4930842b46e9507372f0b1b963James Dong;
160c1bc742181ded4930842b46e9507372f0b1b963James Dong
170c1bc742181ded4930842b46e9507372f0b1b963James Dong    REQUIRE8
180c1bc742181ded4930842b46e9507372f0b1b963James Dong    PRESERVE8
190c1bc742181ded4930842b46e9507372f0b1b963James Dong
200c1bc742181ded4930842b46e9507372f0b1b963James Dong    AREA    |.text|, CODE
210c1bc742181ded4930842b46e9507372f0b1b963James Dong
220c1bc742181ded4930842b46e9507372f0b1b963James Dong    EXPORT h264bsdClearMbLayer
230c1bc742181ded4930842b46e9507372f0b1b963James Dong
240c1bc742181ded4930842b46e9507372f0b1b963James Dong; Input / output registers
250c1bc742181ded4930842b46e9507372f0b1b963James DongpMbLayer    RN  0
260c1bc742181ded4930842b46e9507372f0b1b963James Dongsize        RN  1
270c1bc742181ded4930842b46e9507372f0b1b963James DongpTmp        RN  2
280c1bc742181ded4930842b46e9507372f0b1b963James Dongstep        RN  3
290c1bc742181ded4930842b46e9507372f0b1b963James Dong
300c1bc742181ded4930842b46e9507372f0b1b963James Dong; -- NEON registers --
310c1bc742181ded4930842b46e9507372f0b1b963James Dong
320c1bc742181ded4930842b46e9507372f0b1b963James DongqZero   QN  Q0.U8
330c1bc742181ded4930842b46e9507372f0b1b963James Dong
340c1bc742181ded4930842b46e9507372f0b1b963James Dong;/*------------------------------------------------------------------------------
350c1bc742181ded4930842b46e9507372f0b1b963James Dong;
360c1bc742181ded4930842b46e9507372f0b1b963James Dong;    Function: h264bsdClearMbLayer
370c1bc742181ded4930842b46e9507372f0b1b963James Dong;
380c1bc742181ded4930842b46e9507372f0b1b963James Dong;        Functional description:
390c1bc742181ded4930842b46e9507372f0b1b963James Dong;
400c1bc742181ded4930842b46e9507372f0b1b963James Dong;        Inputs:
410c1bc742181ded4930842b46e9507372f0b1b963James Dong;
420c1bc742181ded4930842b46e9507372f0b1b963James Dong;        Outputs:
430c1bc742181ded4930842b46e9507372f0b1b963James Dong;
440c1bc742181ded4930842b46e9507372f0b1b963James Dong;        Returns:
450c1bc742181ded4930842b46e9507372f0b1b963James Dong;
460c1bc742181ded4930842b46e9507372f0b1b963James Dong;------------------------------------------------------------------------------*/
470c1bc742181ded4930842b46e9507372f0b1b963James Dong
480c1bc742181ded4930842b46e9507372f0b1b963James Dongh264bsdClearMbLayer
490c1bc742181ded4930842b46e9507372f0b1b963James Dong
500c1bc742181ded4930842b46e9507372f0b1b963James Dong    VMOV    qZero, #0
510c1bc742181ded4930842b46e9507372f0b1b963James Dong    ADD     pTmp, pMbLayer, #16
520c1bc742181ded4930842b46e9507372f0b1b963James Dong    MOV     step, #32
530c1bc742181ded4930842b46e9507372f0b1b963James Dong    SUBS    size, size, #64
540c1bc742181ded4930842b46e9507372f0b1b963James Dong
550c1bc742181ded4930842b46e9507372f0b1b963James Dongloop
560c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1    qZero, [pMbLayer], step
570c1bc742181ded4930842b46e9507372f0b1b963James Dong    SUBS    size, size, #64
580c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1    qZero, [pTmp], step
590c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1    qZero, [pMbLayer], step
600c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1    qZero, [pTmp], step
610c1bc742181ded4930842b46e9507372f0b1b963James Dong    BCS     loop
620c1bc742181ded4930842b46e9507372f0b1b963James Dong
630c1bc742181ded4930842b46e9507372f0b1b963James Dong    BX      lr
640c1bc742181ded4930842b46e9507372f0b1b963James Dong    END
650c1bc742181ded4930842b46e9507372f0b1b963James Dong
660c1bc742181ded4930842b46e9507372f0b1b963James Dong
67