blob: 21335b835a10968517bdf531c860c445c35c9be6 [file] [log] [blame]
;
; Copyright (C) 2009 The Android Open Source Project
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
; http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
; See the License for the specific language governing permissions and
; limitations under the License.
;
REQUIRE8
PRESERVE8
AREA |.text|, CODE
EXPORT h264bsdFlushBits
; Input / output registers
pStrmData RN 0
numBits RN 1
readBits RN 2
strmBuffSize RN 3
pStrmBuffStart RN 1
pStrmCurrPos RN 2
bitPosInWord RN 1
; -- NEON registers --
;/*------------------------------------------------------------------------------
;
; Function: h264bsdFlushBits
;
; Functional description:
;
; Inputs:
;
; Outputs:
;
; Returns:
;
;------------------------------------------------------------------------------*/
h264bsdFlushBits
;// PUSH {r4-r6,lr}
LDR readBits, [pStrmData, #0x10]
LDR strmBuffSize, [pStrmData, #0xC]
ADD readBits, readBits, numBits
AND bitPosInWord, readBits, #7
STR readBits, [pStrmData, #0x10]
STR bitPosInWord, [pStrmData, #0x8]
LDR pStrmBuffStart, [pStrmData, #0x0]
CMP readBits, strmBuffSize, LSL #3
BHI end_of_stream
ADD pStrmCurrPos, pStrmBuffStart, readBits, LSR #3
STR pStrmCurrPos, [pStrmData, #0x4]
MOV r0, #0
BX lr
;// POP {r4-r6,pc}
end_of_stream
MVN r0, #0
BX lr
;// POP {r4-r6,pc}
END