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 25 pMbLayer RN 0 26 size RN 1 27 pTmp RN 2 28 step RN 3 29 30 ; -- NEON registers -- 31 32 qZero 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 48 h264bsdClearMbLayer 49 50 VMOV qZero, #0 51 ADD pTmp, pMbLayer, #16 52 MOV step, #32 53 SUBS size, size, #64 54 55 loop 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