h264bsd_pic_order_cnt.h revision 0c1bc742181ded4930842b46e9507372f0b1b963
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 */
52typedef 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
64i32 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