blob: e18df94976709fd6de3978421f4a79e529183b8a [file] [log] [blame]
/*
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*------------------------------------------------------------------------------
Table of contents
1. Include headers
2. Module defines
3. Data types
4. Function prototypes
------------------------------------------------------------------------------*/
#ifndef H264SWDEC_SEQ_PARAM_SET_H
#define H264SWDEC_SEQ_PARAM_SET_H
/*------------------------------------------------------------------------------
1. Include headers
------------------------------------------------------------------------------*/
#include "basetype.h"
#include "h264bsd_stream.h"
#include "h264bsd_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;
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;
} seqParamSet_t;
/*------------------------------------------------------------------------------
4. Function prototypes
------------------------------------------------------------------------------*/
u32 h264bsdDecodeSeqParamSet(strmData_t *pStrmData,
seqParamSet_t *pSeqParamSet);
u32 h264bsdCompareSeqParamSets(seqParamSet_t *pSps1, seqParamSet_t *pSps2);
#endif /* #ifdef H264SWDEC_SEQ_PARAM_SET_H */