1bebc99d6fa433c04139294a5057f8439d772dbd9James Dong/*
2bebc99d6fa433c04139294a5057f8439d772dbd9James Dong * Copyright (C) 2009 The Android Open Source Project
3bebc99d6fa433c04139294a5057f8439d772dbd9James Dong *
4bebc99d6fa433c04139294a5057f8439d772dbd9James Dong * Licensed under the Apache License, Version 2.0 (the "License");
5bebc99d6fa433c04139294a5057f8439d772dbd9James Dong * you may not use this file except in compliance with the License.
6bebc99d6fa433c04139294a5057f8439d772dbd9James Dong * You may obtain a copy of the License at
7bebc99d6fa433c04139294a5057f8439d772dbd9James Dong *
8bebc99d6fa433c04139294a5057f8439d772dbd9James Dong *      http://www.apache.org/licenses/LICENSE-2.0
9bebc99d6fa433c04139294a5057f8439d772dbd9James Dong *
10bebc99d6fa433c04139294a5057f8439d772dbd9James Dong * Unless required by applicable law or agreed to in writing, software
11bebc99d6fa433c04139294a5057f8439d772dbd9James Dong * distributed under the License is distributed on an "AS IS" BASIS,
12bebc99d6fa433c04139294a5057f8439d772dbd9James Dong * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13bebc99d6fa433c04139294a5057f8439d772dbd9James Dong * See the License for the specific language governing permissions and
14bebc99d6fa433c04139294a5057f8439d772dbd9James Dong * limitations under the License.
15bebc99d6fa433c04139294a5057f8439d772dbd9James Dong */
16bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
17bebc99d6fa433c04139294a5057f8439d772dbd9James Dong/*------------------------------------------------------------------------------
18bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
19bebc99d6fa433c04139294a5057f8439d772dbd9James Dong    Table of contents
20bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
21bebc99d6fa433c04139294a5057f8439d772dbd9James Dong    1. Include headers
22bebc99d6fa433c04139294a5057f8439d772dbd9James Dong    2. Module defines
23bebc99d6fa433c04139294a5057f8439d772dbd9James Dong    3. Data types
24bebc99d6fa433c04139294a5057f8439d772dbd9James Dong    4. Function prototypes
25bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
26bebc99d6fa433c04139294a5057f8439d772dbd9James Dong------------------------------------------------------------------------------*/
27bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
28bebc99d6fa433c04139294a5057f8439d772dbd9James Dong#ifndef H264SWDEC_PIC_ORDER_CNT_H
29bebc99d6fa433c04139294a5057f8439d772dbd9James Dong#define H264SWDEC_PIC_ORDER_CNT_H
30bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
31bebc99d6fa433c04139294a5057f8439d772dbd9James Dong/*------------------------------------------------------------------------------
32bebc99d6fa433c04139294a5057f8439d772dbd9James Dong    1. Include headers
33bebc99d6fa433c04139294a5057f8439d772dbd9James Dong------------------------------------------------------------------------------*/
34bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
35bebc99d6fa433c04139294a5057f8439d772dbd9James Dong#include "basetype.h"
36bebc99d6fa433c04139294a5057f8439d772dbd9James Dong#include "h264bsd_seq_param_set.h"
37bebc99d6fa433c04139294a5057f8439d772dbd9James Dong#include "h264bsd_slice_header.h"
38bebc99d6fa433c04139294a5057f8439d772dbd9James Dong#include "h264bsd_nal_unit.h"
39bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
40bebc99d6fa433c04139294a5057f8439d772dbd9James Dong/*------------------------------------------------------------------------------
41bebc99d6fa433c04139294a5057f8439d772dbd9James Dong    2. Module defines
42bebc99d6fa433c04139294a5057f8439d772dbd9James Dong------------------------------------------------------------------------------*/
43bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
44bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
45bebc99d6fa433c04139294a5057f8439d772dbd9James Dong/*------------------------------------------------------------------------------
46bebc99d6fa433c04139294a5057f8439d772dbd9James Dong    3. Data types
47bebc99d6fa433c04139294a5057f8439d772dbd9James Dong------------------------------------------------------------------------------*/
48bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
49bebc99d6fa433c04139294a5057f8439d772dbd9James Dong/* structure to store information computed for previous picture, needed for
50bebc99d6fa433c04139294a5057f8439d772dbd9James Dong * POC computation of a picture. Two first fields for POC type 0, last two
51bebc99d6fa433c04139294a5057f8439d772dbd9James Dong * for types 1 and 2 */
52bebc99d6fa433c04139294a5057f8439d772dbd9James Dongtypedef struct
53bebc99d6fa433c04139294a5057f8439d772dbd9James Dong{
54bebc99d6fa433c04139294a5057f8439d772dbd9James Dong    u32 prevPicOrderCntLsb;
55bebc99d6fa433c04139294a5057f8439d772dbd9James Dong    i32 prevPicOrderCntMsb;
56bebc99d6fa433c04139294a5057f8439d772dbd9James Dong    u32 prevFrameNum;
57bebc99d6fa433c04139294a5057f8439d772dbd9James Dong    u32 prevFrameNumOffset;
58bebc99d6fa433c04139294a5057f8439d772dbd9James Dong} pocStorage_t;
59bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
60bebc99d6fa433c04139294a5057f8439d772dbd9James Dong/*------------------------------------------------------------------------------
61bebc99d6fa433c04139294a5057f8439d772dbd9James Dong    4. Function prototypes
62bebc99d6fa433c04139294a5057f8439d772dbd9James Dong------------------------------------------------------------------------------*/
63bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
64bebc99d6fa433c04139294a5057f8439d772dbd9James Dongi32 h264bsdDecodePicOrderCnt(pocStorage_t *poc, seqParamSet_t *sps,
65bebc99d6fa433c04139294a5057f8439d772dbd9James Dong    sliceHeader_t *sliceHeader, nalUnit_t *pNalUnit);
66bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
67bebc99d6fa433c04139294a5057f8439d772dbd9James Dong#endif /* #ifdef H264SWDEC_PIC_ORDER_CNT_H */
68bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
69