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#include "asm_common.S" 18 19 preserve8 20 21 .fpu neon 22 .text 23 24/* Input / output registers */ 25#define pMbLayer r0 26#define size r1 27#define pTmp r2 28#define step r3 29 30/* -- NEON registers -- */ 31 32#define qZero Q0.U8 33 34/*------------------------------------------------------------------------------ 35 36 Function: h264bsdClearMbLayer 37 38 Functional description: 39 40 Inputs: 41 42 Outputs: 43 44 Returns: 45 46------------------------------------------------------------------------------*/ 47 48function h264bsdClearMbLayer, export=1 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 65endfunction 66 67 68 69