111 lines
4.0 KiB
C
111 lines
4.0 KiB
C
/*------------------------------------------------------------------------------
|
|
-- --
|
|
-- This software is confidential and proprietary and may be used --
|
|
-- only as expressly authorized by a licensing agreement from --
|
|
-- --
|
|
-- Hantro Products Oy. --
|
|
-- --
|
|
-- (C) COPYRIGHT 2006 HANTRO PRODUCTS OY --
|
|
-- ALL RIGHTS RESERVED --
|
|
-- --
|
|
-- The entire notice above must be reproduced --
|
|
-- on all copies and should not be removed. --
|
|
-- --
|
|
--------------------------------------------------------------------------------
|
|
--
|
|
-- Abstract : Decode seq parameter set information from the stream
|
|
--
|
|
--------------------------------------------------------------------------------
|
|
--
|
|
-- Version control information, please leave untouched.
|
|
--
|
|
-- $RCSfile: h264hwd_seq_param_set.h,v $
|
|
-- $Date: 2008/07/31 08:51:30 $
|
|
-- $Revision: 1.2 $
|
|
--
|
|
------------------------------------------------------------------------------*/
|
|
|
|
/*------------------------------------------------------------------------------
|
|
|
|
Table of contents
|
|
|
|
1. Include headers
|
|
2. Module defines
|
|
3. Data types
|
|
4. Function prototypes
|
|
|
|
------------------------------------------------------------------------------*/
|
|
|
|
#ifndef H264HWD_SEQ_PARAM_SET_H
|
|
#define H264HWD_SEQ_PARAM_SET_H
|
|
|
|
/*------------------------------------------------------------------------------
|
|
1. Include headers
|
|
------------------------------------------------------------------------------*/
|
|
|
|
#include "basetype.h"
|
|
|
|
#include "h264hwd_stream.h"
|
|
#include "h264hwd_vui.h"
|
|
|
|
/*------------------------------------------------------------------------------
|
|
2. Module defines
|
|
------------------------------------------------------------------------------*/
|
|
|
|
/*------------------------------------------------------------------------------
|
|
3. Data types
|
|
------------------------------------------------------------------------------*/
|
|
|
|
/* structure to store sequence parameter set information decoded from the
|
|
* stream */
|
|
typedef struct
|
|
{
|
|
u32 profileIdc;
|
|
u32 levelIdc;
|
|
u8 constrained_set0_flag;
|
|
u8 constrained_set1_flag;
|
|
u8 constrained_set2_flag;
|
|
u8 constrained_set3_flag;
|
|
u32 seqParameterSetId;
|
|
u32 maxFrameNum;
|
|
u32 picOrderCntType;
|
|
u32 maxPicOrderCntLsb;
|
|
u32 deltaPicOrderAlwaysZeroFlag;
|
|
i32 offsetForNonRefPic;
|
|
i32 offsetForTopToBottomField;
|
|
u32 numRefFramesInPicOrderCntCycle;
|
|
i32 *offsetForRefFrame;
|
|
u32 numRefFrames;
|
|
u32 gapsInFrameNumValueAllowedFlag;
|
|
u32 picWidthInMbs;
|
|
u32 picHeightInMbs;
|
|
u32 frameCroppingFlag;
|
|
u32 frameCropLeftOffset;
|
|
u32 frameCropRightOffset;
|
|
u32 frameCropTopOffset;
|
|
u32 frameCropBottomOffset;
|
|
u32 vuiParametersPresentFlag;
|
|
vuiParameters_t *vuiParameters;
|
|
u32 maxDpbSize;
|
|
u32 frameMbsOnlyFlag;
|
|
u32 mbAdaptiveFrameFieldFlag;
|
|
u32 direct8x8InferenceFlag;
|
|
u32 chromaFormatIdc;
|
|
u32 monoChrome;
|
|
u32 scalingMatrixPresentFlag;
|
|
u32 scalingListPresent[8];
|
|
u32 useDefaultScaling[8];
|
|
u8 scalingList[8][64];
|
|
} seqParamSet_t;
|
|
|
|
/*------------------------------------------------------------------------------
|
|
4. Function prototypes
|
|
------------------------------------------------------------------------------*/
|
|
|
|
u32 h264bsdDecodeSeqParamSet(strmData_t *pStrmData,
|
|
seqParamSet_t *pSeqParamSet);
|
|
|
|
u32 h264bsdCompareSeqParamSets(seqParamSet_t *pSps1, seqParamSet_t *pSps2);
|
|
|
|
#endif /* #ifdef H264HWD_SEQ_PARAM_SET_H */
|