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