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 /*------------------------------------------------------------------------------ 18 19 Table of contents 20 21 1. Include headers 22 2. Module defines 23 3. Data types 24 4. Function prototypes 25 26 ------------------------------------------------------------------------------*/ 27 28 #ifndef H264SWDEC_STREAM_H 29 #define H264SWDEC_STREAM_H 30 31 /*------------------------------------------------------------------------------ 32 1. Include headers 33 ------------------------------------------------------------------------------*/ 34 35 #include "basetype.h" 36 37 /*------------------------------------------------------------------------------ 38 2. Module defines 39 ------------------------------------------------------------------------------*/ 40 41 /*------------------------------------------------------------------------------ 42 3. Data types 43 ------------------------------------------------------------------------------*/ 44 45 typedef struct 46 { 47 u8 *pStrmBuffStart; /* pointer to start of stream buffer */ 48 u8 *pStrmCurrPos; /* current read address in stream buffer */ 49 u32 bitPosInWord; /* bit position in stream buffer byte */ 50 u32 strmBuffSize; /* size of stream buffer (bytes) */ 51 u32 strmBuffReadBits; /* number of bits read from stream buffer */ 52 } strmData_t; 53 54 /*------------------------------------------------------------------------------ 55 4. Function prototypes 56 ------------------------------------------------------------------------------*/ 57 58 u32 h264bsdGetBits(strmData_t *pStrmData, u32 numBits); 59 60 u32 h264bsdShowBits32(strmData_t *pStrmData); 61 62 u32 h264bsdFlushBits(strmData_t *pStrmData, u32 numBits); 63 64 u32 h264bsdIsByteAligned(strmData_t *); 65 66 #endif /* #ifdef H264SWDEC_STREAM_H */ 67 68