epoc32/include/mmf/devvideo/h263.h
branchSymbian2
changeset 2 2fe1408b6811
child 4 837f303aceeb
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/epoc32/include/mmf/devvideo/h263.h	Tue Mar 16 16:12:26 2010 +0000
     1.3 @@ -0,0 +1,510 @@
     1.4 +// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5 +// All rights reserved.
     1.6 +// This component and the accompanying materials are made available
     1.7 +// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     1.8 +// which accompanies this distribution, and is available
     1.9 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.10 +//
    1.11 +// Initial Contributors:
    1.12 +// Nokia Corporation - initial contribution.
    1.13 +//
    1.14 +// Contributors:
    1.15 +//
    1.16 +// Description:
    1.17 +// Constants and structs specific to H.263.  See the DevVideo specs for more details.
    1.18 +// 
    1.19 +//
    1.20 +
    1.21 +#ifndef __DEVVIDEO_H263_H__
    1.22 +#define __DEVVIDEO_H263_H__
    1.23 +
    1.24 +#include <e32base.h>
    1.25 +
    1.26 +
    1.27 +/**
    1.28 +Specifies the H263 picture type.
    1.29 +@publishedAll
    1.30 +@released
    1.31 +*/
    1.32 +enum TH263PictureType
    1.33 +    {
    1.34 +	/**INTRA picture*/
    1.35 +    EH263PictureTypeI   = 0x01,
    1.36 +	/**INTER picture*/
    1.37 +    EH263PictureTypeP   = 0x02,
    1.38 +	/**B picture according to H.263 Annex O*/
    1.39 +    EH263PictureTypeB   = 0x04,
    1.40 +	/**EI picture according to H.263 Annex O*/
    1.41 +    EH263PictureTypeEI  = 0x08,
    1.42 +	/**EP picture according to H.263 Annex O*/
    1.43 +    EH263PictureTypeEP  = 0x10
    1.44 +    };
    1.45 +
    1.46 +/**
    1.47 +These enumerations can be used in codec capability indication and/or bitstream property indication.
    1.48 +When used as part of an encoder capability indication, a signalled value indicates the capability
    1.49 +of an encoder to produce such supplemental information to the bitstream and the additional meanings
    1.50 +as specified below. When used as part of a decoder capability indication, a signalled value 
    1.51 +indicates the capability of a decoder to react to such supplemental information in a way as 
    1.52 +specified below. If a decoder does not have such capability, it shall be able to parse and discard
    1.53 +the supplemental information. When used as part of a bitstream property indication, a non-signalled
    1.54 +value indicates the absence of such information in the bitstream and a signalled value indicates 
    1.55 +the possibility of having such information in the bitstream.
    1.56 +@publishedAll
    1.57 +@released
    1.58 +*/
    1.59 +enum TH263SupplementalInformation
    1.60 +    {
    1.61 +	/**
    1.62 +	encoder capability:	no meaning
    1.63 +	decoder capability:	no meaning
    1.64 +	bitstream property:	existence of FTYPE equal to 1
    1.65 +	*/
    1.66 +    EH263SEIDoNothing			 					= 0x00000001,
    1.67 +
    1.68 +	/**
    1.69 +	encoder capability:	no meaning
    1.70 +	decoder capability:	capability to freeze displayed picture according to subclause L.4 of H.263capability to release frozen displayed picture as a response to bit 5 of PTYPE
    1.71 +	bitstream property:	existence of FTYPE equal to 2
    1.72 +	*/
    1.73 +    EH263SEIFullPictureFreeze            			= 0x00000002,
    1.74 +
    1.75 +	/**
    1.76 +	encoder capability:	no meaning
    1.77 +	decoder capability:	capability to freeze displayed picture partially (subclause L.5 of H.263)
    1.78 +	bitstream property:	existence of FTYPE equal to 3
    1.79 +	*/
    1.80 +    EH263SEIPartialPictureFreeze         			= 0x00000004,
    1.81 +
    1.82 +	/**
    1.83 +	encoder capability:	no meaning
    1.84 +	decoder capability:	capability to freeze and resize displayed picture partially (H.263 L.6)
    1.85 +	bitstream property:	existence of FTYPE equal to 4
    1.86 +	*/
    1.87 +    EH263SEIResizingPartialPictureFreeze 			= 0x00000008,
    1.88 +
    1.89 +	/**
    1.90 +	encoder capability:	no meaning
    1.91 +	decoder capability:	capability to release partially frozen picture (subclause L.7 of H.263)
    1.92 +	bitstream property:	existence of FTYPE equal to 5
    1.93 +	*/
    1.94 +    EH263SEIPartialPictureFreezeRelease  			= 0x00000010,
    1.95 +	
    1.96 +	/**
    1.97 +	encoder capability:	no meaning
    1.98 +	decoder capability:	no meaning
    1.99 +	bitstream property:	existence of FTYPE equal to 6
   1.100 +	*/
   1.101 +    EH263SEIFullPictureSnapshotTag       			= 0x00000020,
   1.102 +	
   1.103 +	/**
   1.104 +	encoder capability:	no meaning
   1.105 +	decoder capability:	no meaning
   1.106 +	bitstream property:	existence of FTYPE equal to 7
   1.107 +	*/
   1.108 +    EH263SEIPartialPictureSnapshotTag    			= 0x00000040,
   1.109 +	
   1.110 +	/**
   1.111 +	encoder capability:	no meaning
   1.112 +	decoder capability:	no meaning
   1.113 +	bitstream property:	existence of FTYPE equal to 8
   1.114 +	*/
   1.115 +    EH263SEIVideoTimeSegmentStartTag     			= 0x00000080,
   1.116 +	
   1.117 +	/**
   1.118 +	encoder capability:	no meaning
   1.119 +	decoder capability:	no meaning
   1.120 +	bitstream property:	existence of FTYPE equal to 9
   1.121 +	*/
   1.122 +    EH263SEIVideoTimeSegmentEndTag       			= 0x00000100,
   1.123 +	
   1.124 +	/**
   1.125 +	encoder capability:	no meaning
   1.126 +	decoder capability:	no meaning
   1.127 +	bitstream property:	existence of FTYPE equal to 10
   1.128 +	*/
   1.129 +    EH263SEIProgressiveRefinementStartTag   		= 0x00000200,
   1.130 +	
   1.131 +	/**
   1.132 +	encoder capability:	no meaning
   1.133 +	decoder capability:	no meaning
   1.134 +	bitstream property:	existence of FTYPE equal to 11
   1.135 +	*/
   1.136 +    EH263SEIProgressiveRefinementEndTag     		= 0x00000400,
   1.137 +	
   1.138 +	/**
   1.139 +	encoder capability:	no meaning
   1.140 +	decoder capability:	operation according to sublause L.14 of H.263
   1.141 +	bitstream property:	existence of FTYPE equal to 12
   1.142 +	*/
   1.143 +    EH263SEIChromaKeying                 			= 0x00000800,
   1.144 +	
   1.145 +	/**
   1.146 +	encoder capability:	use of the fixed-point IDCT algorithm specified in Annex W of H.263
   1.147 +	decoder capability:	use of the fixed-point IDCT algorithm specified in Annex W of H.263
   1.148 +	bitstream property:	existence of FTYPE equal to 13
   1.149 +	*/
   1.150 +    EH263SEIFixedPointIDCT               			= 0x00001000,
   1.151 +	
   1.152 +	/**
   1.153 +	encoder capability:	no meaning
   1.154 +	decoder capability:	no meaning
   1.155 +	bitstream property:	existence of FTYPE equal to 14 and MTYPE equal to 0
   1.156 +	*/
   1.157 +    EH263SEIArbitraryBinaryData          			= 0x00002000,
   1.158 +	
   1.159 +	/**
   1.160 +	encoder capability:	no meaning
   1.161 +	decoder capability:	no meaning
   1.162 +	bitstream property:	existence of FTYPE equal to 14 and MTYPE equal to 1
   1.163 +	*/
   1.164 +    EH263SEIArbitraryText                   		= 0x00004000,
   1.165 +	
   1.166 +	/**
   1.167 +	encoder capability:	no meaning
   1.168 +	decoder capability:	no meaning
   1.169 +	bitstream property:	existence of FTYPE equal to 14 and MTYPE equal to 2
   1.170 +	*/
   1.171 +    EH263SEICopyrightText                   		= 0x00008000,
   1.172 +	
   1.173 +	/**
   1.174 +	encoder capability:	no meaning
   1.175 +	decoder capability:	capability of display caption text as specified in subclause W.6.3.5 of H.263
   1.176 +	bitstream property:	existence of FTYPE equal to 14 and MTYPE equal to 3
   1.177 +	*/
   1.178 +    EH263SEICaptionText                     		= 0x00010000,
   1.179 +	
   1.180 +	/**
   1.181 +	encoder capability:	no meaning
   1.182 +	decoder capability:	no meaning
   1.183 +	bitstream property:	existence of FTYPE equal to 14 and MTYPE equal to 4
   1.184 +	*/
   1.185 +    EH263SEIVideoDescriptionText            		= 0x00020000,
   1.186 +	
   1.187 +	/**
   1.188 +	encoder capability:	no meaning
   1.189 +	decoder capability:	no meaning
   1.190 +	bitstream property:	existence of FTYPE equal to 14 and MTYPE equal to 5
   1.191 +	*/
   1.192 +    EH263SEIUniformResourceIdentifierText   		= 0x00040000,
   1.193 +	
   1.194 +	/**
   1.195 +	encoder capability:	capability to repeat the current picture header (subclause W.6.3.7 of H.263)
   1.196 +	decoder capability:	capability to recover a corrupted picture header with a repeated one
   1.197 +	bitstream property:	existence of FTYPE equal to 14 and MTYPE equal to 6
   1.198 +	*/
   1.199 +    EH263SEICurrentPictureHeaderRepetition  		= 0x00080000,
   1.200 +	
   1.201 +	/**
   1.202 +	encoder capability:	capability to repeat the previous picture header (subclause W.6.3.8 of H.263)
   1.203 +	decoder capability:	capability to recover a corrupted or lost picture header with a repeated one
   1.204 +	bitstream property:	existence of FTYPE equal to 14 and MTYPE equal to 7
   1.205 +	*/
   1.206 +    EH263SEIPreviousPictureHeaderRepetition 		= 0x00100000,
   1.207 +	
   1.208 +	/**
   1.209 +	encoder capability:	capability to repeat the next picture header (W.6.3.9 of H.263)
   1.210 +	decoder capability:	capability to recover a corrupted or lost picture header with a repeated one
   1.211 +	bitstream property:	existence of FTYPE equal to 14 and MTYPE equal to 8
   1.212 +	*/
   1.213 +    EH263SEINextPictureHeaderRepetitionReliableTR  	= 0x00200000,
   1.214 +	
   1.215 +	/**
   1.216 +	encoder capability:	capability to repeat the next picture header (W.6.3.10 of H.263)
   1.217 +	decoder capability:	capability to recover a corrupted or lost picture header with a repeated one
   1.218 +	bitstream property:	existence of FTYPE equal to 14 and MTYPE equal to 9
   1.219 +	*/
   1.220 +    EH263SEINextPictureHeaderRepetitionUnreliableTR	= 0x00400000,
   1.221 +	
   1.222 +	/**
   1.223 +	encoder capability:	capability to encode top fields of interlaced pictures 
   1.224 +	decoder capability:	capability to decode and display top fields of interlaced pictures (W.6.3.11of H.263)
   1.225 +	bitstream property:	existence of FTYPE equal to 14 and MTYPE equal to 10
   1.226 +	*/
   1.227 +    EH263SEITopInterlacedFieldIndication		   	= 0x00800000,
   1.228 +	
   1.229 +	/**
   1.230 +	encoder capability:	capability to encode bottom fields of interlaced pictures 
   1.231 +	decoder capability:	capability to decode and display bottom fields of interlaced pictures (W.6.3.11of H.263)
   1.232 +	bitstream property:	existence of FTYPE equal to 14 and MTYPE equal to 10
   1.233 +	*/
   1.234 +    EH263SEIBottomInterlacedFieldIndication       	= 0x01000000,
   1.235 +	
   1.236 +	/**
   1.237 +	encoder capability:	capability to transmit picture numbers (subclause W.6.3.12 of H.263)
   1.238 +	decoder capability:	capability to indicate reference picture losses from missing picture numbers
   1.239 +	bitstream property:	existence of FTYPE equal to 14 and MTYPE equal to 12
   1.240 +	*/
   1.241 +    EH263SEIPictureNumber                   		= 0x02000000,
   1.242 +	
   1.243 +	/**
   1.244 +	encoder capability:	capability to generate spare reference picture information (W.6.3.13 of H.263)
   1.245 +	decoder capability:	capability to use a spare reference picture in absence of real reference picture
   1.246 +	bitstream property:	existence of FTYPE equal to 14 and MTYPE equal to 13
   1.247 +	*/
   1.248 +    EH263SEISpareReferencePictures          		= 0x04000000
   1.249 +    };
   1.250 +
   1.251 +
   1.252 +/**
   1.253 +H.263 picture header.
   1.254 +@publishedAll
   1.255 +@released
   1.256 +*/
   1.257 +class TH263PictureHeader
   1.258 +    {
   1.259 +public:
   1.260 +	/**
   1.261 +	Indicates the temporal reference. iTemporalReference is equal to the value of TR or the value
   1.262 +	of (ETR << 8) + TR if ETR is present in the picture header.
   1.263 +	*/
   1.264 +    TUint iTemporalReference;
   1.265 +
   1.266 +	/**
   1.267 +	iLongTermPicture equal to ETrue indicates that the picture has been marked as a long-term
   1.268 +	picture according to the memory management control operation (MMCO) commands as specified 
   1.269 +	in Annex U of H.263. Otherwise the picture is not a long-term picture.
   1.270 +	*/
   1.271 +    TBool iLongTermPicture;
   1.272 +
   1.273 +	/**
   1.274 +	iSplitScreen is equal to the value of bit 3 of PTYPE.
   1.275 +	*/
   1.276 +    TBool iSplitScreen;
   1.277 +
   1.278 +	/**
   1.279 +	iDocumentCamera is equal to the value of bit 4 of PTYPE.
   1.280 +	*/
   1.281 +    TBool iDocumentCamera;
   1.282 +
   1.283 +	/**
   1.284 +	iFreezePictureRelease is equal to the value of bit 5 of PTYPE.
   1.285 +	*/
   1.286 +    TBool iFreezePictureRelease;
   1.287 +
   1.288 +	/**
   1.289 +	Indicates the picture coding type. iPictureType is set according to the picture header as one 
   1.290 +	of the values defined in TH263PictureType.
   1.291 +	*/
   1.292 +    TH263PictureType iPictureType;
   1.293 +
   1.294 +	/**
   1.295 +	Indicates the initial value of the quantization parameter. iPQuant is equal to the value of 
   1.296 +	the PQUANT syntax element.
   1.297 +	*/
   1.298 +    TUint iPQuant;
   1.299 +
   1.300 +	/**
   1.301 +	Indicates the presence of the extended PTYPE field in the picture layer. The extended PTYPE 
   1.302 +	field is specified in ITU-T Recommendation H.263 version 2 and later. iPlusPType is equal to 1 
   1.303 +	if bits 6 - 8 of PTYPE are equal to '111'. Otherwise, iPlusPType is equal to 0.
   1.304 +	*/
   1.305 +    TBool iPlusPType;
   1.306 +
   1.307 +	/**
   1.308 +	Indicates the presence of the full extended PTYPE field in the picture layer. If iPlusPType is 
   1.309 +	EFalse, the value of of iUpdateFullExtendedPType is not valid. Otherwise, 
   1.310 +	iUpdateFullExtendedPType is equal to the value of the UFEP syntax element.
   1.311 +	*/
   1.312 +    TBool iUpdateFullExtendedPType;
   1.313 +
   1.314 +	/**
   1.315 +	Pixel aspect ratio numerator and denominator respectively. The pixel aspect ratio is defined as
   1.316 +	iAspectRatioNum/iAspectRatioDenom, where the values are positive integers and relatively prime.
   1.317 +	If iPlusPType is equal to 0, or iPlusPType is ETrue and iUpdateFullExtendedPType is ETrue and 
   1.318 +	bits 1 - 3 of the OPPTYPE syntax element are not equal to '110', iAspectRatioNum shall be equal
   1.319 +	to 12 and iAspectRatioDenom shall be equal to 11 (as specified in subclause 4.1 of ITU-T 
   1.320 +	Recommendation H.263). If iPlusPType is ETrue and iUpdateFullExtendedPType is ETrue and bits
   1.321 +	1 - 3 of the OPPTYPE syntax element are equal to '110', the values of iAspectRatioNum and 
   1.322 +	iAspectRatioDenom are set as specified in subclauses 5.1.5 and 5.1.6 of ITU-T Recommendation
   1.323 +	H.263. Otherwise (iPlusPType is ETrue and iUpdateFullExtendedPType is EFalse), the values of
   1.324 +	iAspectRatioNum and iAspectRatioDenom are not valid.
   1.325 +	*/
   1.326 +    TUint iAspectRatioNum;
   1.327 +
   1.328 +	/**
   1.329 +	Pixel aspect ratio numerator and denominator respectively. The pixel aspect ratio is defined as
   1.330 +	iAspectRatioNum/iAspectRatioDenom, where the values are positive integers and relatively prime.
   1.331 +	If iPlusPType is equal to 0, or iPlusPType is ETrue and iUpdateFullExtendedPType is ETrue and 
   1.332 +	bits 1 - 3 of the OPPTYPE syntax element are not equal to '110', iAspectRatioNum shall be equal
   1.333 +	to 12 and iAspectRatioDenom shall be equal to 11 (as specified in subclause 4.1 of ITU-T 
   1.334 +	Recommendation H.263). If iPlusPType is ETrue and iUpdateFullExtendedPType is ETrue and bits
   1.335 +	1 - 3 of the OPPTYPE syntax element are equal to '110', the values of iAspectRatioNum and 
   1.336 +	iAspectRatioDenom are set as specified in subclauses 5.1.5 and 5.1.6 of ITU-T Recommendation
   1.337 +	H.263. Otherwise (iPlusPType is ETrue and iUpdateFullExtendedPType is EFalse), the values of
   1.338 +	iAspectRatioNum and iAspectRatioDenom are not valid.
   1.339 +	*/
   1.340 +    TUint iAspectRatioDenom;
   1.341 +
   1.342 +	/**
   1.343 +	Picture clock frequency numerator and denominator respectively. The picture clock frequency 
   1.344 +	for temporal reference is defined as iPictureClockFrequencyRate / iPictureClockFrequencyScale
   1.345 +	in floating point arithmetic and where the values are positive integers and relatively prime. 
   1.346 +	If iPlusPType is equal to 0, or iPlusPType is equal to 1 and iUpdateFullExtendedPType is equal 
   1.347 +	to 1 and bit 4 of the OPPTYPE syntax element is equal to 0, iPictureClockFrequencyRate shall be 
   1.348 +	equal to 30000 and iPictureClockFrequencyScale shall be equal to 1001 (as specified in subclause
   1.349 +	4.1 of ITU-T Recommendation H.263). If iPlusPType is equal to 1 and iUpdateFullExtendedPType is
   1.350 +	equal to 1 and bit 4 of the OPPTYPE syntax element is equal to 1, the values of 
   1.351 +	iPictureClockFrequencyRate and iPictureClockFrequencyScale are set as specified in subclause
   1.352 +	5.1.7 of ITU-T Recommendation H.263. Otherwise (iPlusPType is equal to 1 and 
   1.353 +	iUpdateFullExtendedPType is equal to 0), the values of iPictureClockFrequencyRate and
   1.354 +	iPictureClockFrequencyScale are not valid.
   1.355 +	*/
   1.356 +    TUint iPictureClockFrequencyRate;
   1.357 +
   1.358 +	/**
   1.359 +	Picture clock frequency numerator and denominator respectively. The picture clock frequency 
   1.360 +	for temporal reference is defined as iPictureClockFrequencyRate / iPictureClockFrequencyScale
   1.361 +	in floating point arithmetic and where the values are positive integers and relatively prime. 
   1.362 +	If iPlusPType is equal to 0, or iPlusPType is equal to 1 and iUpdateFullExtendedPType is equal 
   1.363 +	to 1 and bit 4 of the OPPTYPE syntax element is equal to 0, iPictureClockFrequencyRate shall be 
   1.364 +	equal to 30000 and iPictureClockFrequencyScale shall be equal to 1001 (as specified in subclause
   1.365 +	4.1 of ITU-T Recommendation H.263). If iPlusPType is equal to 1 and iUpdateFullExtendedPType is
   1.366 +	equal to 1 and bit 4 of the OPPTYPE syntax element is equal to 1, the values of 
   1.367 +	iPictureClockFrequencyRate and iPictureClockFrequencyScale are set as specified in subclause
   1.368 +	5.1.7 of ITU-T Recommendation H.263. Otherwise (iPlusPType is equal to 1 and 
   1.369 +	iUpdateFullExtendedPType is equal to 0), the values of iPictureClockFrequencyRate and
   1.370 +	iPictureClockFrequencyScale are not valid.
   1.371 +	*/
   1.372 +    TUint iPictureClockFrequencyScale;
   1.373 +    };
   1.374 +
   1.375 +/**
   1.376 +This class is used to signal decoder or encoder capabilities or bitstream properties.
   1.377 +@publishedAll
   1.378 +@released
   1.379 +*/
   1.380 +class TH263VideoCapability
   1.381 +    {
   1.382 +public:
   1.383 +	/**
   1.384 +	When part of a codec capability indication, iProfileLevel[ProfileNumber] indicates the 
   1.385 +	maximum processing level that a decoder or an encoder supports for a particular profile 
   1.386 +	indicated by ProfileNumber. A negative value indicates that the profile is not supported.
   1.387 +	When part of a stream property indication, iProfileLevel[ProfileNumber] indicates the maximum
   1.388 +	processing level that is present in the stream for a particular profile indicated by 
   1.389 +	ProfileNumber. A negative value indicates that the stream does not contain data coded according 
   1.390 +	to the indicated profile.
   1.391 +	*/
   1.392 +    TInt iProfileLevel[9];
   1.393 +
   1.394 +	/**
   1.395 +	When equal to ETrue, indicating that it is allowed to use PLUSPTYPE (specified in the 1998 
   1.396 +	version of H.263) to indicate custom picture sizes or clock frequencies. When equal to EFalse,
   1.397 +	PLUSPTYPE shall not be used.
   1.398 +	*/
   1.399 +    TBool iPLUSPTYPEAllowed;
   1.400 +
   1.401 +	/**
   1.402 +	iSupplementalInformationCap indicates the supported supplemental enhancement functions. The
   1.403 +	value is a binary OR of values from TH263SupplementalInformation.
   1.404 +	*/
   1.405 +    TUint32 iSupplementalInformationCap;
   1.406 +    };
   1.407 +
   1.408 +
   1.409 +/**
   1.410 +This class is used to set the encoder operation mode.
   1.411 +@publishedAll
   1.412 +@released
   1.413 +*/
   1.414 +class TH263VideoMode
   1.415 +    {
   1.416 +public:
   1.417 +	/**
   1.418 +	Specifies the picture types allowed in the bitstream. The value is a binary OR of values from
   1.419 +	TH263PictureType. Signaled picture types that are not included in the prevailing coding profile
   1.420 +	are ignored.
   1.421 +	*/
   1.422 +    TUint32 iAllowedPictureTypes;
   1.423 +
   1.424 +	/**
   1.425 +	iForceRoundingTypeToZero equal to EFalse specifies that the value of the RTYPE bit (bit 6 of 
   1.426 +	MPPTYPE) is not constrained. It is recommended to change the value of the RTYPE bit for each 
   1.427 +	reference picture in error-free communication (subclause 5.1.4.3 of ITU-T H.263 Recommendation).
   1.428 +	iForceRoundingTypeToZero equal to ETrue specifies that the value of the RTYPE bit shall be equal 
   1.429 +	to 0 or that the RTYPE field shall not be present in the picture layer. It is recommended to set 
   1.430 +	iForceRoundingTypeToZero equal to ETrue (and consequently RTYPE equal to 0) in error-prone 
   1.431 +	communication as recommended in section 4.2.6 of H.263 Appendix III [R6] and [R7].
   1.432 +	*/
   1.433 +    TBool iForceRoundingTypeToZero;
   1.434 +
   1.435 +	/**
   1.436 +	Specifies the frequency of picture header repetition as specified in this paragraph. If 
   1.437 +	iPictureHeaderRepetition is equal to 0, picture headers are not repeated. Otherwise, a picture 
   1.438 +	header is repeated, if the value of the GFID syntax element is not equal to the value of the 
   1.439 +	GFID syntax element of the previous picture in bitstream order. If EDuRtpPayload data unit 
   1.440 +	encapsulation is in use, a picture header is repeated the number of times indicated by the value 
   1.441 +	of iPictureHeaderRepetition in those RTP payloads of the picture where the P bit according to 
   1.442 +	RFC 2429 [R8] is set equal to 1 and which do not contain the original picture header. If 
   1.443 +	EDuElementaryStream data unit encapsulation is in use, the picture header is repeated once in 
   1.444 +	the supplemental enhancement information of the next picture as specified in subclause W.6.3.8
   1.445 +	of ITU-T Recommendation H.263 and section 4.2.6 of H.263 Appendix III [R6].
   1.446 +	*/
   1.447 +    TUint iPictureHeaderRepetition;
   1.448 +
   1.449 +	/**
   1.450 +	Specifies the interval of non-empty GOB headers in units of GOBs. The value of 
   1.451 +	iGOBHeaderInterval is valid if no slice structured coding mode (Annex K or Annex V) is in use. 
   1.452 +	If iGOBHeaderInterval is equal to 0 and an unlimited segment size is specified with the 
   1.453 +	SetSegmentTargetSize method, the encoder should not generate GOB headers. If iGOBHeaderInterval 
   1.454 +	is greater than 0 and an unlimited segment size is specified with the SetSegmentTargetSize 
   1.455 +	method, the encoder should generate a non-empty GOB header for every iGOBHeaderInterval-th GOB.
   1.456 +	If SetSegmentTargetSize is used to set a limited segment size, the encoder should generate 
   1.457 +	segments (i.e., insert non-empty GOB headers) so that the length of the segment is no larger
   1.458 +	than the target size in bytes and no larger than the GOB header frequency specified with the 
   1.459 +	value of iGOBHeaderInterval.
   1.460 +	*/
   1.461 +    TUint iGOBHeaderInterval;
   1.462 +    };
   1.463 +
   1.464 +/**
   1.465 +H.263 HRD parameters.
   1.466 +@publishedAll
   1.467 +@released
   1.468 +*/
   1.469 +class TH263HrdParams
   1.470 +    {
   1.471 +public:
   1.472 +	/**
   1.473 +	When iAnnexXConstraints is equal to EFalse, iBPPmaxKb, iB, and iRmax indicate the values of HRD 
   1.474 +	parameters. When iAnnexXConstraints is equal to ETrue, the values of iBPPmaxKb, iB, and iRmax in 
   1.475 +	this class are ignored but rather their values are specified in Annex X of ITU-T Recommendation
   1.476 +	H.263. 
   1.477 +	*/
   1.478 +    TBool iAnnexXConstraints;
   1.479 +
   1.480 +	/**
   1.481 +	Signals the BPPmaxKb parameter of H.263. As specified in ITU-T Recommendation H.263. The number 
   1.482 +	of bits created by coding any single picture shall not exceed a maximum value specified by the 
   1.483 +	parameter BPPmaxKb that is measured in units of 1024 bits. The minimum value of BPPmaxKb is 
   1.484 +	specified in Table 1 of ITU-T Recommendation H.263.
   1.485 +	*/
   1.486 +    TUint iBPPmaxKb;
   1.487 +
   1.488 +	/**
   1.489 +	Signals the B parameter of H.263 Annex B. As specified in Annex B of ITU-T Recommendation H.263. 
   1.490 +	The value of B shall be equal to or greater than 4 * Rmax / PCF, where PCF is the picture clock 
   1.491 +	frequency specified in subclause 5.1.7 of ITU-T Recommendation H.263. The HRD receiving buffer 
   1.492 +	size is equal to (B + BPPmaxKb * 1024 bits).
   1.493 +	*/
   1.494 +    TUint iB;
   1.495 +
   1.496 +	/**
   1.497 +	Signals the maximum video bit rate in bits per second, i.e., the Rmax parameter of H.263 Annex B. 
   1.498 +	*/
   1.499 +    TUint iRmax;
   1.500 +    };
   1.501 +
   1.502 +/**
   1.503 +H.263 redundant picture header.
   1.504 +Points to a buffer to contain the redundant picture header in the orignal bitstream order. The
   1.505 +buffer may be used by the MSL client in playback to pass the decapsulated redundant picture header 
   1.506 +from an RTP payload formatted according to RFC 2429, or used by the MSL client in recording to pass
   1.507 +the picture header to the RTP encapsulator.
   1.508 +@publishedAll
   1.509 +@released
   1.510 +*/
   1.511 +typedef TPtr8* TH263RedundantPictureHeader;
   1.512 +
   1.513 +#endif