XenevaOS
Loading...
Searching...
No Matches
h264bsd_sei.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2009 The Android Open Source Project
3 * Modified for use by h264bsd standalone library
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18/*------------------------------------------------------------------------------
19
20 Table of contents
21
22 1. Include headers
23 2. Module defines
24 3. Data types
25 4. Function prototypes
26
27------------------------------------------------------------------------------*/
28
29#ifndef H264SWDEC_SEI_H
30#define H264SWDEC_SEI_H
31
32/*------------------------------------------------------------------------------
33 1. Include headers
34------------------------------------------------------------------------------*/
35
36#include "basetype.h"
37#include "h264bsd_stream.h"
40#include "h264bsd_vui.h"
41
42/*------------------------------------------------------------------------------
43 2. Module defines
44------------------------------------------------------------------------------*/
45
46#define MAX_PAN_SCAN_CNT 32
47#define MAX_NUM_SPARE_PICS 16
48#define MAX_NUM_CLOCK_TS 3
49#define MAX_NUM_SUB_SEQ_LAYERS 256
50
51/*------------------------------------------------------------------------------
52 3. Data types
53------------------------------------------------------------------------------*/
54
55typedef struct
56{
58 u32 initialCpbRemovalDelay[MAX_CPB_CNT];
59 u32 initialCpbRemovalDelayOffset[MAX_CPB_CNT];
61
62typedef struct
63{
67 u32 clockTimeStampFlag[MAX_NUM_CLOCK_TS];
68 u32 clockTimeStamp[MAX_NUM_CLOCK_TS];
70 u32 nuitFieldBasedFlag[MAX_NUM_CLOCK_TS];
71 u32 countingType[MAX_NUM_CLOCK_TS];
72 u32 fullTimeStampFlag[MAX_NUM_CLOCK_TS];
73 u32 discontinuityFlag[MAX_NUM_CLOCK_TS];
74 u32 cntDroppedFlag[MAX_NUM_CLOCK_TS];
76 u32 secondsFlag[MAX_NUM_CLOCK_TS];
77 u32 secondsValue[MAX_NUM_CLOCK_TS];
78 u32 minutesFlag[MAX_NUM_CLOCK_TS];
79 u32 minutesValue[MAX_NUM_CLOCK_TS];
81 u32 hoursValue[MAX_NUM_CLOCK_TS];
82 i32 timeOffset[MAX_NUM_CLOCK_TS];
84
85typedef struct
86{
90 i32 panScanRectLeftOffset[MAX_PAN_SCAN_CNT];
91 i32 panScanRectRightOffset[MAX_PAN_SCAN_CNT];
92 i32 panScanRectTopOffset[MAX_PAN_SCAN_CNT];
93 i32 panScanRectBottomOffset[MAX_PAN_SCAN_CNT];
96
104
111
119
126
139
147
158
159typedef struct
160{
162 u32 accurateStatisticsFlag[MAX_NUM_SUB_SEQ_LAYERS];
164 u32 averageFrameRate[MAX_NUM_SUB_SEQ_LAYERS];
166
182
187
188typedef struct
189{
192
198
203
212
218
241
242/*------------------------------------------------------------------------------
243 4. Function prototypes
244------------------------------------------------------------------------------*/
245
247 strmData_t *pStrmData,
248 seqParamSet_t *pSeqParamSet,
249 seiMessage_t *pSeiMessage,
250 u32 numSliceGroups);
251
252#endif /* #ifdef H264SWDEC_SEI_H */
253
signed int i32
Definition basetype.h:34
#define MAX_NUM_SLICE_GROUPS
Definition h264bsd_cfg.h:48
#define MAX_NUM_SPARE_PICS
Definition h264bsd_sei.h:47
#define MAX_PAN_SCAN_CNT
Definition h264bsd_sei.h:46
#define MAX_NUM_CLOCK_TS
Definition h264bsd_sei.h:48
u32 h264bsdDecodeSeiMessage(strmData_t *pStrmData, seqParamSet_t *pSeqParamSet, seiMessage_t *pSeiMessage, u32 numSliceGroups)
Definition h264bsd_sei.c:179
#define MAX_NUM_SUB_SEQ_LAYERS
Definition h264bsd_sei.h:49
#define MAX_CPB_CNT
Definition h264bsd_vui.h:43
uint8_t u8
Definition kernel.h:14
uint32_t u32
Definition kernel.h:16
Definition h264bsd_slice_header.h:101
Definition h264bsd_sei.h:56
u32 seqParameterSetId
Definition h264bsd_sei.h:57
Definition h264bsd_sei.h:121
u32 originalIdrFlag
Definition h264bsd_sei.h:122
u32 originalFrameNum
Definition h264bsd_sei.h:123
decRefPicMarking_t decRefPicMarking
Definition h264bsd_sei.h:124
Definition h264bsd_sei.h:184
u32 fullFrameFreezeRepetitionPeriod
Definition h264bsd_sei.h:185
Definition h264bsd_sei.h:189
u32 snapShotId
Definition h264bsd_sei.h:190
Definition h264bsd_sei.h:220
seiPicTiming_t picTiming
Definition h264bsd_sei.h:223
seiUserDataUnregistered_t userDataUnregistered
Definition h264bsd_sei.h:226
seiSubSeqInfo_t subSeqInfo
Definition h264bsd_sei.h:231
seiProgressiveRefinementSegmentStart_t progressiveRefinementSegmentStart
Definition h264bsd_sei.h:236
seiSceneInfo_t sceneInfo
Definition h264bsd_sei.h:230
seiBufferingPeriod_t bufferingPeriod
Definition h264bsd_sei.h:222
seiReservedSeiMessage_t reservedSeiMessage
Definition h264bsd_sei.h:239
seiSubSeqCharacteristics_t subSeqCharacteristics
Definition h264bsd_sei.h:233
seiFullFrameFreeze_t fullFrameFreeze
Definition h264bsd_sei.h:234
seiSparePic_t sparePic
Definition h264bsd_sei.h:229
u32 payloadType
Definition h264bsd_sei.h:221
seiRecoveryPoint_t recoveryPoint
Definition h264bsd_sei.h:227
seiPanScanRect_t panScanRect
Definition h264bsd_sei.h:224
seiMotionConstrainedSliceGroupSet_t motionConstrainedSliceGroupSet
Definition h264bsd_sei.h:238
seiDecRefPicMarkingRepetition_t decRefPicMarkingRepetition
Definition h264bsd_sei.h:228
seiProgressiveRefinementSegmentEnd_t progressiveRefinementSegmentEnd
Definition h264bsd_sei.h:237
seiFullFrameSnapshot_t fullFrameSnapshot
Definition h264bsd_sei.h:235
seiSubSeqLayerCharacteristics_t subSeqLayerCharacteristics
Definition h264bsd_sei.h:232
seiUserDataRegisteredItuTT35_t userDataRegisteredItuTT35
Definition h264bsd_sei.h:225
Definition h264bsd_sei.h:205
u32 panScanRectId
Definition h264bsd_sei.h:210
u32 numSliceGroupsInSet
Definition h264bsd_sei.h:206
u32 exactSampleValueMatchFlag
Definition h264bsd_sei.h:208
u32 panScanRectFlag
Definition h264bsd_sei.h:209
Definition h264bsd_sei.h:86
u32 panScanRectRepetitionPeriod
Definition h264bsd_sei.h:94
u32 panScanRectId
Definition h264bsd_sei.h:87
u32 panScanRectCancelFlag
Definition h264bsd_sei.h:88
u32 panScanCnt
Definition h264bsd_sei.h:89
Definition h264bsd_sei.h:63
u32 picStruct
Definition h264bsd_sei.h:66
u32 dpbOutputDelay
Definition h264bsd_sei.h:65
u32 cpbRemovalDelay
Definition h264bsd_sei.h:64
Definition h264bsd_sei.h:200
u32 progressiveRefinementId
Definition h264bsd_sei.h:201
Definition h264bsd_sei.h:194
u32 numRefinementSteps
Definition h264bsd_sei.h:196
u32 progressiveRefinementId
Definition h264bsd_sei.h:195
Definition h264bsd_sei.h:113
u32 recoveryFrameCnt
Definition h264bsd_sei.h:114
u32 exactMatchFlag
Definition h264bsd_sei.h:115
u32 changingSliceGroupIdc
Definition h264bsd_sei.h:117
u32 brokenLinkFlag
Definition h264bsd_sei.h:116
Definition h264bsd_sei.h:214
u32 numPayloadBytes
Definition h264bsd_sei.h:216
u8 * reservedSeiMessagePayloadByte
Definition h264bsd_sei.h:215
Definition h264bsd_sei.h:141
u32 sceneId
Definition h264bsd_sei.h:143
u32 sceneInfoPresentFlag
Definition h264bsd_sei.h:142
u32 secondSceneId
Definition h264bsd_sei.h:145
u32 sceneTransitionType
Definition h264bsd_sei.h:144
Definition h264bsd_sei.h:128
u32 spareFieldFlag
Definition h264bsd_sei.h:130
u32 targetBottomFieldFlag
Definition h264bsd_sei.h:131
u32 targetFrameNum
Definition h264bsd_sei.h:129
u32 numSparePics
Definition h264bsd_sei.h:132
Definition h264bsd_sei.h:168
u32 subSeqId
Definition h264bsd_sei.h:170
u32 numReferencedSubseqs
Definition h264bsd_sei.h:177
u32 averageBitRate
Definition h264bsd_sei.h:175
u32 subSeqLayerNum
Definition h264bsd_sei.h:169
u32 durationFlag
Definition h264bsd_sei.h:171
u32 averageRateFlag
Definition h264bsd_sei.h:173
u32 subSeqDuration
Definition h264bsd_sei.h:172
u32 accurateStatisticsFlag
Definition h264bsd_sei.h:174
u32 averageFrameRate
Definition h264bsd_sei.h:176
Definition h264bsd_sei.h:149
u32 leadingNonRefPicFlag
Definition h264bsd_sei.h:153
u32 subSeqFrameNum
Definition h264bsd_sei.h:156
u32 lastPicFlag
Definition h264bsd_sei.h:154
u32 firstRefPicFlag
Definition h264bsd_sei.h:152
u32 subSeqLayerNum
Definition h264bsd_sei.h:150
u32 subSeqId
Definition h264bsd_sei.h:151
u32 subSeqFrameNumFlag
Definition h264bsd_sei.h:155
Definition h264bsd_sei.h:160
u32 numSubSeqLayers
Definition h264bsd_sei.h:161
Definition h264bsd_sei.h:98
u32 numPayloadBytes
Definition h264bsd_sei.h:102
u32 ituTT35CountryCodeExtensionByte
Definition h264bsd_sei.h:100
u8 * ituTT35PayloadByte
Definition h264bsd_sei.h:101
u32 ituTT35CountryCode
Definition h264bsd_sei.h:99
Definition h264bsd_sei.h:106
u32 numPayloadBytes
Definition h264bsd_sei.h:109
u8 * userDataPayloadByte
Definition h264bsd_sei.h:108
Definition h264bsd_seq_param_set.h:51
Definition h264bsd_stream.h:47