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_PIC_ORDER_CNT_H 29 #define H264SWDEC_PIC_ORDER_CNT_H 30 31 /*------------------------------------------------------------------------------ 32 1. Include headers 33 ------------------------------------------------------------------------------*/ 34 35 #include "basetype.h" 36 #include "h264bsd_seq_param_set.h" 37 #include "h264bsd_slice_header.h" 38 #include "h264bsd_nal_unit.h" 39 40 /*------------------------------------------------------------------------------ 41 2. Module defines 42 ------------------------------------------------------------------------------*/ 43 44 45 /*------------------------------------------------------------------------------ 46 3. Data types 47 ------------------------------------------------------------------------------*/ 48 49 /* structure to store information computed for previous picture, needed for 50 * POC computation of a picture. Two first fields for POC type 0, last two 51 * for types 1 and 2 */ 52 typedef struct 53 { 54 u32 prevPicOrderCntLsb; 55 i32 prevPicOrderCntMsb; 56 u32 prevFrameNum; 57 u32 prevFrameNumOffset; 58 } pocStorage_t; 59 60 /*------------------------------------------------------------------------------ 61 4. Function prototypes 62 ------------------------------------------------------------------------------*/ 63 64 i32 h264bsdDecodePicOrderCnt(pocStorage_t *poc, seqParamSet_t *sps, 65 sliceHeader_t *sliceHeader, nalUnit_t *pNalUnit); 66 67 #endif /* #ifdef H264SWDEC_PIC_ORDER_CNT_H */ 68 69