10c1bc742181ded4930842b46e9507372f0b1b963James Dong/* 20c1bc742181ded4930842b46e9507372f0b1b963James Dong * Copyright (C) 2009 The Android Open Source Project 30c1bc742181ded4930842b46e9507372f0b1b963James Dong * 40c1bc742181ded4930842b46e9507372f0b1b963James Dong * Licensed under the Apache License, Version 2.0 (the "License"); 50c1bc742181ded4930842b46e9507372f0b1b963James Dong * you may not use this file except in compliance with the License. 60c1bc742181ded4930842b46e9507372f0b1b963James Dong * You may obtain a copy of the License at 70c1bc742181ded4930842b46e9507372f0b1b963James Dong * 80c1bc742181ded4930842b46e9507372f0b1b963James Dong * http://www.apache.org/licenses/LICENSE-2.0 90c1bc742181ded4930842b46e9507372f0b1b963James Dong * 100c1bc742181ded4930842b46e9507372f0b1b963James Dong * Unless required by applicable law or agreed to in writing, software 110c1bc742181ded4930842b46e9507372f0b1b963James Dong * distributed under the License is distributed on an "AS IS" BASIS, 120c1bc742181ded4930842b46e9507372f0b1b963James Dong * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130c1bc742181ded4930842b46e9507372f0b1b963James Dong * See the License for the specific language governing permissions and 140c1bc742181ded4930842b46e9507372f0b1b963James Dong * limitations under the License. 150c1bc742181ded4930842b46e9507372f0b1b963James Dong */ 160c1bc742181ded4930842b46e9507372f0b1b963James Dong 170c1bc742181ded4930842b46e9507372f0b1b963James Dong/*------------------------------------------------------------------------------ 180c1bc742181ded4930842b46e9507372f0b1b963James Dong 190c1bc742181ded4930842b46e9507372f0b1b963James Dong Table of contents 200c1bc742181ded4930842b46e9507372f0b1b963James Dong 210c1bc742181ded4930842b46e9507372f0b1b963James Dong 1. Include headers 220c1bc742181ded4930842b46e9507372f0b1b963James Dong 2. Module defines 230c1bc742181ded4930842b46e9507372f0b1b963James Dong 3. Data types 240c1bc742181ded4930842b46e9507372f0b1b963James Dong 4. Function prototypes 250c1bc742181ded4930842b46e9507372f0b1b963James Dong 260c1bc742181ded4930842b46e9507372f0b1b963James Dong------------------------------------------------------------------------------*/ 270c1bc742181ded4930842b46e9507372f0b1b963James Dong 280c1bc742181ded4930842b46e9507372f0b1b963James Dong#ifndef H264SWDEC_SEI_H 290c1bc742181ded4930842b46e9507372f0b1b963James Dong#define H264SWDEC_SEI_H 300c1bc742181ded4930842b46e9507372f0b1b963James Dong 310c1bc742181ded4930842b46e9507372f0b1b963James Dong/*------------------------------------------------------------------------------ 320c1bc742181ded4930842b46e9507372f0b1b963James Dong 1. Include headers 330c1bc742181ded4930842b46e9507372f0b1b963James Dong------------------------------------------------------------------------------*/ 340c1bc742181ded4930842b46e9507372f0b1b963James Dong 350c1bc742181ded4930842b46e9507372f0b1b963James Dong#include "basetype.h" 360c1bc742181ded4930842b46e9507372f0b1b963James Dong#include "h264bsd_stream.h" 370c1bc742181ded4930842b46e9507372f0b1b963James Dong#include "h264bsd_slice_header.h" 380c1bc742181ded4930842b46e9507372f0b1b963James Dong#include "h264bsd_seq_param_set.h" 390c1bc742181ded4930842b46e9507372f0b1b963James Dong#include "h264bsd_vui.h" 400c1bc742181ded4930842b46e9507372f0b1b963James Dong 410c1bc742181ded4930842b46e9507372f0b1b963James Dong/*------------------------------------------------------------------------------ 420c1bc742181ded4930842b46e9507372f0b1b963James Dong 2. Module defines 430c1bc742181ded4930842b46e9507372f0b1b963James Dong------------------------------------------------------------------------------*/ 440c1bc742181ded4930842b46e9507372f0b1b963James Dong 450c1bc742181ded4930842b46e9507372f0b1b963James Dong#define MAX_PAN_SCAN_CNT 32 460c1bc742181ded4930842b46e9507372f0b1b963James Dong#define MAX_NUM_SPARE_PICS 16 470c1bc742181ded4930842b46e9507372f0b1b963James Dong#define MAX_NUM_CLOCK_TS 3 480c1bc742181ded4930842b46e9507372f0b1b963James Dong#define MAX_NUM_SUB_SEQ_LAYERS 256 490c1bc742181ded4930842b46e9507372f0b1b963James Dong 500c1bc742181ded4930842b46e9507372f0b1b963James Dong/*------------------------------------------------------------------------------ 510c1bc742181ded4930842b46e9507372f0b1b963James Dong 3. Data types 520c1bc742181ded4930842b46e9507372f0b1b963James Dong------------------------------------------------------------------------------*/ 530c1bc742181ded4930842b46e9507372f0b1b963James Dong 540c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 550c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 560c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 seqParameterSetId; 570c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 initialCpbRemovalDelay[MAX_CPB_CNT]; 580c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 initialCpbRemovalDelayOffset[MAX_CPB_CNT]; 590c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiBufferingPeriod_t; 600c1bc742181ded4930842b46e9507372f0b1b963James Dong 610c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 620c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 630c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 cpbRemovalDelay; 640c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 dpbOutputDelay; 650c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 picStruct; 660c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 clockTimeStampFlag[MAX_NUM_CLOCK_TS]; 670c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 clockTimeStamp[MAX_NUM_CLOCK_TS]; 680c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 ctType[MAX_NUM_CLOCK_TS]; 690c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 nuitFieldBasedFlag[MAX_NUM_CLOCK_TS]; 700c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 countingType[MAX_NUM_CLOCK_TS]; 710c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 fullTimeStampFlag[MAX_NUM_CLOCK_TS]; 720c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 discontinuityFlag[MAX_NUM_CLOCK_TS]; 730c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 cntDroppedFlag[MAX_NUM_CLOCK_TS]; 740c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 nFrames[MAX_NUM_CLOCK_TS]; 750c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 secondsFlag[MAX_NUM_CLOCK_TS]; 760c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 secondsValue[MAX_NUM_CLOCK_TS]; 770c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 minutesFlag[MAX_NUM_CLOCK_TS]; 780c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 minutesValue[MAX_NUM_CLOCK_TS]; 790c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 hoursFlag[MAX_NUM_CLOCK_TS]; 800c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 hoursValue[MAX_NUM_CLOCK_TS]; 810c1bc742181ded4930842b46e9507372f0b1b963James Dong i32 timeOffset[MAX_NUM_CLOCK_TS]; 820c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiPicTiming_t; 830c1bc742181ded4930842b46e9507372f0b1b963James Dong 840c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 850c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 860c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 panScanRectId; 870c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 panScanRectCancelFlag; 880c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 panScanCnt; 890c1bc742181ded4930842b46e9507372f0b1b963James Dong i32 panScanRectLeftOffset[MAX_PAN_SCAN_CNT]; 900c1bc742181ded4930842b46e9507372f0b1b963James Dong i32 panScanRectRightOffset[MAX_PAN_SCAN_CNT]; 910c1bc742181ded4930842b46e9507372f0b1b963James Dong i32 panScanRectTopOffset[MAX_PAN_SCAN_CNT]; 920c1bc742181ded4930842b46e9507372f0b1b963James Dong i32 panScanRectBottomOffset[MAX_PAN_SCAN_CNT]; 930c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 panScanRectRepetitionPeriod; 940c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiPanScanRect_t; 950c1bc742181ded4930842b46e9507372f0b1b963James Dong 960c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 970c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 980c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 ituTT35CountryCode; 990c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 ituTT35CountryCodeExtensionByte; 1000c1bc742181ded4930842b46e9507372f0b1b963James Dong u8 *ituTT35PayloadByte; 1010c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 numPayloadBytes; 1020c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiUserDataRegisteredItuTT35_t; 1030c1bc742181ded4930842b46e9507372f0b1b963James Dong 1040c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1050c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 1060c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 uuidIsoIec11578[4]; 1070c1bc742181ded4930842b46e9507372f0b1b963James Dong u8 *userDataPayloadByte; 1080c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 numPayloadBytes; 1090c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiUserDataUnregistered_t; 1100c1bc742181ded4930842b46e9507372f0b1b963James Dong 1110c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1120c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 1130c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 recoveryFrameCnt; 1140c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 exactMatchFlag; 1150c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 brokenLinkFlag; 1160c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 changingSliceGroupIdc; 1170c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiRecoveryPoint_t; 1180c1bc742181ded4930842b46e9507372f0b1b963James Dong 1190c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1200c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 1210c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 originalIdrFlag; 1220c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 originalFrameNum; 1230c1bc742181ded4930842b46e9507372f0b1b963James Dong decRefPicMarking_t decRefPicMarking; 1240c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiDecRefPicMarkingRepetition_t; 1250c1bc742181ded4930842b46e9507372f0b1b963James Dong 1260c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1270c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 1280c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 targetFrameNum; 1290c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 spareFieldFlag; 1300c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 targetBottomFieldFlag; 1310c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 numSparePics; 1320c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 deltaSpareFrameNum[MAX_NUM_SPARE_PICS]; 1330c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 spareBottomFieldFlag[MAX_NUM_SPARE_PICS]; 1340c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 spareAreaIdc[MAX_NUM_SPARE_PICS]; 1350c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 *spareUnitFlag[MAX_NUM_SPARE_PICS]; 1360c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 *zeroRunLength[MAX_NUM_SPARE_PICS]; 1370c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiSparePic_t; 1380c1bc742181ded4930842b46e9507372f0b1b963James Dong 1390c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1400c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 1410c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 sceneInfoPresentFlag; 1420c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 sceneId; 1430c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 sceneTransitionType; 1440c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 secondSceneId; 1450c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiSceneInfo_t; 1460c1bc742181ded4930842b46e9507372f0b1b963James Dong 1470c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1480c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 1490c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 subSeqLayerNum; 1500c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 subSeqId; 1510c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 firstRefPicFlag; 1520c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 leadingNonRefPicFlag; 1530c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 lastPicFlag; 1540c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 subSeqFrameNumFlag; 1550c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 subSeqFrameNum; 1560c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiSubSeqInfo_t; 1570c1bc742181ded4930842b46e9507372f0b1b963James Dong 1580c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1590c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 1600c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 numSubSeqLayers; 1610c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 accurateStatisticsFlag[MAX_NUM_SUB_SEQ_LAYERS]; 1620c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 averageBitRate[MAX_NUM_SUB_SEQ_LAYERS]; 1630c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 averageFrameRate[MAX_NUM_SUB_SEQ_LAYERS]; 1640c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiSubSeqLayerCharacteristics_t; 1650c1bc742181ded4930842b46e9507372f0b1b963James Dong 1660c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1670c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 1680c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 subSeqLayerNum; 1690c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 subSeqId; 1700c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 durationFlag; 1710c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 subSeqDuration; 1720c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 averageRateFlag; 1730c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 accurateStatisticsFlag; 1740c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 averageBitRate; 1750c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 averageFrameRate; 1760c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 numReferencedSubseqs; 1770c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 refSubSeqLayerNum[MAX_NUM_SUB_SEQ_LAYERS]; 1780c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 refSubSeqId[MAX_NUM_SUB_SEQ_LAYERS]; 1790c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 refSubSeqDirection[MAX_NUM_SUB_SEQ_LAYERS]; 1800c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiSubSeqCharacteristics_t; 1810c1bc742181ded4930842b46e9507372f0b1b963James Dong 1820c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1830c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 1840c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 fullFrameFreezeRepetitionPeriod; 1850c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiFullFrameFreeze_t; 1860c1bc742181ded4930842b46e9507372f0b1b963James Dong 1870c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1880c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 1890c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 snapShotId; 1900c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiFullFrameSnapshot_t; 1910c1bc742181ded4930842b46e9507372f0b1b963James Dong 1920c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1930c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 1940c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 progressiveRefinementId; 1950c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 numRefinementSteps; 1960c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiProgressiveRefinementSegmentStart_t; 1970c1bc742181ded4930842b46e9507372f0b1b963James Dong 1980c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1990c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 2000c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 progressiveRefinementId; 2010c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiProgressiveRefinementSegmentEnd_t; 2020c1bc742181ded4930842b46e9507372f0b1b963James Dong 2030c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 2040c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 2050c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 numSliceGroupsInSet; 2060c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 sliceGroupId[MAX_NUM_SLICE_GROUPS]; 2070c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 exactSampleValueMatchFlag; 2080c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 panScanRectFlag; 2090c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 panScanRectId; 2100c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiMotionConstrainedSliceGroupSet_t; 2110c1bc742181ded4930842b46e9507372f0b1b963James Dong 2120c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 2130c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 2140c1bc742181ded4930842b46e9507372f0b1b963James Dong u8 *reservedSeiMessagePayloadByte; 2150c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 numPayloadBytes; 2160c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiReservedSeiMessage_t; 2170c1bc742181ded4930842b46e9507372f0b1b963James Dong 2180c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 2190c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 2200c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 payloadType; 2210c1bc742181ded4930842b46e9507372f0b1b963James Dong seiBufferingPeriod_t bufferingPeriod; 2220c1bc742181ded4930842b46e9507372f0b1b963James Dong seiPicTiming_t picTiming; 2230c1bc742181ded4930842b46e9507372f0b1b963James Dong seiPanScanRect_t panScanRect; 2240c1bc742181ded4930842b46e9507372f0b1b963James Dong seiUserDataRegisteredItuTT35_t userDataRegisteredItuTT35; 2250c1bc742181ded4930842b46e9507372f0b1b963James Dong seiUserDataUnregistered_t userDataUnregistered; 2260c1bc742181ded4930842b46e9507372f0b1b963James Dong seiRecoveryPoint_t recoveryPoint; 2270c1bc742181ded4930842b46e9507372f0b1b963James Dong seiDecRefPicMarkingRepetition_t decRefPicMarkingRepetition; 2280c1bc742181ded4930842b46e9507372f0b1b963James Dong seiSparePic_t sparePic; 2290c1bc742181ded4930842b46e9507372f0b1b963James Dong seiSceneInfo_t sceneInfo; 2300c1bc742181ded4930842b46e9507372f0b1b963James Dong seiSubSeqInfo_t subSeqInfo; 2310c1bc742181ded4930842b46e9507372f0b1b963James Dong seiSubSeqLayerCharacteristics_t subSeqLayerCharacteristics; 2320c1bc742181ded4930842b46e9507372f0b1b963James Dong seiSubSeqCharacteristics_t subSeqCharacteristics; 2330c1bc742181ded4930842b46e9507372f0b1b963James Dong seiFullFrameFreeze_t fullFrameFreeze; 2340c1bc742181ded4930842b46e9507372f0b1b963James Dong seiFullFrameSnapshot_t fullFrameSnapshot; 2350c1bc742181ded4930842b46e9507372f0b1b963James Dong seiProgressiveRefinementSegmentStart_t progressiveRefinementSegmentStart; 2360c1bc742181ded4930842b46e9507372f0b1b963James Dong seiProgressiveRefinementSegmentEnd_t progressiveRefinementSegmentEnd; 2370c1bc742181ded4930842b46e9507372f0b1b963James Dong seiMotionConstrainedSliceGroupSet_t motionConstrainedSliceGroupSet; 2380c1bc742181ded4930842b46e9507372f0b1b963James Dong seiReservedSeiMessage_t reservedSeiMessage; 2390c1bc742181ded4930842b46e9507372f0b1b963James Dong} seiMessage_t; 2400c1bc742181ded4930842b46e9507372f0b1b963James Dong 2410c1bc742181ded4930842b46e9507372f0b1b963James Dong/*------------------------------------------------------------------------------ 2420c1bc742181ded4930842b46e9507372f0b1b963James Dong 4. Function prototypes 2430c1bc742181ded4930842b46e9507372f0b1b963James Dong------------------------------------------------------------------------------*/ 2440c1bc742181ded4930842b46e9507372f0b1b963James Dong 2450c1bc742181ded4930842b46e9507372f0b1b963James Dongu32 h264bsdDecodeSeiMessage( 2460c1bc742181ded4930842b46e9507372f0b1b963James Dong strmData_t *pStrmData, 2470c1bc742181ded4930842b46e9507372f0b1b963James Dong seqParamSet_t *pSeqParamSet, 2480c1bc742181ded4930842b46e9507372f0b1b963James Dong seiMessage_t *pSeiMessage, 2490c1bc742181ded4930842b46e9507372f0b1b963James Dong u32 numSliceGroups); 2500c1bc742181ded4930842b46e9507372f0b1b963James Dong 2510c1bc742181ded4930842b46e9507372f0b1b963James Dong#endif /* #ifdef H264SWDEC_SEI_H */ 2520c1bc742181ded4930842b46e9507372f0b1b963James Dong 253