1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/mm/mmhais/videohai/devvideo/inc/Mpeg4Visual.h Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,566 @@
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 "Eclipse Public License v1.0"
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.eclipse.org/legal/epl-v10.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 Mpeg4 Visual. See the DevVideo specs for more details.
1.18 +//
1.19 +//
1.20 +
1.21 +#ifndef __DEVVIDEO_MPEG4VISUAL_H__
1.22 +#define __DEVVIDEO_MPEG4VISUAL_H__
1.23 +
1.24 +#include <e32base.h>
1.25 +#include <mmf/devvideo/h263.h>
1.26 +
1.27 +/**
1.28 +Specifies the picture type.
1.29 +@publishedAll
1.30 +@released
1.31 +*/
1.32 +enum TMPEG4VisualVOPType
1.33 + {
1.34 + /**
1.35 + An Intra-coded (I) VOP is coded using information only from itself.
1.36 + */
1.37 + EMPEG4VisualVOPTypeI = 0x01,
1.38 +
1.39 + /**
1.40 + A Predictive-coded (P) VOP is a VOP which is coded using motion compensated prediction from a
1.41 + past reference VOP.
1.42 + */
1.43 + EMPEG4VisualVOPTypeP = 0x02,
1.44 +
1.45 + /**
1.46 + A Bidirectionally predictive-coded (B) VOP is a VOP which is coded using motion compensated
1.47 + prediction from a past and/or future reference VOP(s).
1.48 + */
1.49 + EMPEG4VisualVOPTypeB = 0x04,
1.50 +
1.51 + /**
1.52 + A sprite (S) VOP is a VOP for a sprite object or a VOP which is coded using prediction based on
1.53 + global motion compensation from a past reference VOP.
1.54 + */
1.55 + EMPEG4VisualVOPTypeS = 0x08
1.56 + };
1.57 +
1.58 +/**
1.59 +Specifies the MPEG-4 Visual header types.
1.60 +@publishedAll
1.61 +@released
1.62 +*/
1.63 +enum TMPEG4VisualHeaderType
1.64 + {
1.65 + /**
1.66 + Visual Object Sequence Header.
1.67 + */
1.68 + EMPEG4VisualHeaderSequence = 0x01,
1.69 +
1.70 + /**
1.71 + Visual Object Header.
1.72 + */
1.73 + EMPEG4VisualHeaderObject = 0x02,
1.74 +
1.75 + /**
1.76 + Video Object Layer Header.
1.77 + */
1.78 + EMPEG4VisualHeaderVOL = 0x04,
1.79 +
1.80 + /**
1.81 + Group of Video Object Plane Header.
1.82 + */
1.83 + EMPEG4VisualHeaderGOV = 0x08,
1.84 +
1.85 + /**
1.86 + Video Object Plane Header.
1.87 + */
1.88 + EMPEG4VisualHeaderVOP = 0x10
1.89 + };
1.90 +
1.91 +
1.92 +/**
1.93 +Object sequence header.
1.94 +@publishedAll
1.95 +@released
1.96 +*/
1.97 +class TMPEG4VisualObjectSequenceHeader
1.98 + {
1.99 +public:
1.100 + /**
1.101 + Used to signal the profile and level identification according to Table G-1 of MPEG-4 Visual.
1.102 + */
1.103 + TUint iProfileLevel;
1.104 +
1.105 + /**
1.106 + Contains the user_data bytes, if any, that are directly included in the VideoObjectSequence()
1.107 + syntax structure (subclause 6.2.2 of MPEG-4 Visual), in bitstream order. The pointer must remain
1.108 + valid as long as the object it belongs to is being processed by the client (for playback) or MSL
1.109 + video subsystem (for recording).
1.110 + */
1.111 + TPtrC8 iUserData;
1.112 + };
1.113 +
1.114 +/**
1.115 +Object header.
1.116 +@publishedAll
1.117 +@released
1.118 +*/
1.119 +class TMPEG4VisualObjectHeader
1.120 + {
1.121 +public:
1.122 + /**
1.123 + Identifies the version number of the visual object as specified in the semantics of
1.124 + visual_object_verid syntax element of MPEG-4 Visual.
1.125 + */
1.126 + TUint iVisualObjectVerid;
1.127 +
1.128 + /**
1.129 + Specifies the priority of the visual object as specified in the semantics of
1.130 + visual_object_priority syntax element of MPEG-4 Visual. If the visual_object_priority syntax
1.131 + element is not present in the bitstream, iVisualObjectPriority shall be equal to 0.
1.132 + */
1.133 + TUint iVisualObjectPriority;
1.134 +
1.135 + /**
1.136 + Identifies the type of the visual object as specified in the semantics of
1.137 + visual_object_type syntax element of MPEG-4 Visual. HW devices according to this specification
1.138 + are required to set iVisualObjectType to 1 (to indicate "video ID").
1.139 + */
1.140 + TUint iVisualObjectType;
1.141 +
1.142 + /**
1.143 + Uniquely identifies the video object. The value of iVideoObjectId shall be the same as the
1.144 + value of the video_object_id syntax element specified in MPEG-4 Visual.
1.145 + */
1.146 + TUint iVideoObjectId;
1.147 +
1.148 + /**
1.149 + Contains the user_data bytes, if any, that are directly included in the VideoObject() syntax
1.150 + structure (subclause 6.2.2 of MPEG-4 Visual), in bitstream order. The pointer must remain valid
1.151 + as long as the object it belongs to is being processed by the client (for playback) or MSL video
1.152 + subsystem (for recording).
1.153 + */
1.154 + TPtrC8 iUserData;
1.155 + };
1.156 +
1.157 +/**
1.158 +Mpeg4 Visual VBV parameters.
1.159 +
1.160 +If the syntax elements that are used to derive the values of the class member variables are not
1.161 +present in the bitstream, the variable values shall be set to default values as specified in
1.162 +Annex D of MPEG-4 Visual.
1.163 +@publishedAll
1.164 +@released
1.165 +*/
1.166 +class TMPEG4VisualVbvParams
1.167 + {
1.168 +public:
1.169 + /**
1.170 + Specifies the instantaneous video object layer channel bit rate in bits per second. Shall be set
1.171 + to ((first_half_bit_rate << 15) + latter_half_bit_rate) * 400, where the values of
1.172 + first_half_bit_rate and latter_half_bit_rate are conveyed in the VideoObjectLayer syntax
1.173 + structure of MPEG-4 Visual.
1.174 + */
1.175 + TInt64 iBitRate;
1.176 +
1.177 + /**
1.178 + Specifies the VBV buffer size in bytes. Shall be set to
1.179 + ((first_half_vbv_buffer_size) << 3) + latter_half_vbv_buffer_size) * 2048,
1.180 + where the values of first_half_vbv_buffer_size and latter_half_vbv_buffer_size are conveyed in
1.181 + the VideoObjectLayer syntax structure of MPEG-4 Visual.
1.182 + */
1.183 + TUint32 iVbvBufferSize;
1.184 +
1.185 + /**
1.186 + Specifies VBV occupancy in bytes just before the removal of the first VOP following the VOL
1.187 + header. The purpose for the quantity is to provide the initial condition for VBV buffer fullness.
1.188 + Shall be set to ((first_half_vbv_occupancy) << 15) + latter_half_vbv_occupancy) * 2048, where
1.189 + the values of first_half_vbv_occupancy and latter_half_vbv_occupancy are conveyed in the
1.190 + VideoObjectLayer syntax structure of MPEG-4 Visual.
1.191 + */
1.192 + TUint32 iVbvOccupancy;
1.193 + };
1.194 +
1.195 +
1.196 +/**
1.197 +Video object layer header.
1.198 +@publishedAll
1.199 +@released
1.200 +*/
1.201 +class TMPEG4VisualVOLHeader
1.202 + {
1.203 +public:
1.204 + /**
1.205 + Uniquely identifies the video object layer. The value of iVideoObjectLayerId shall be the same
1.206 + as the value of the video_object_layer_id syntax element specified in MPEG-4 Visual.
1.207 + */
1.208 + TUint iVideoObjectLayerId;
1.209 +
1.210 + /**
1.211 + iShortVideoHeader equal to ETrue indicates that the associated elementary stream conforms to
1.212 + ITU-T Recommendation H.263 (without optional coding modes). The value of iShortVideoHeader
1.213 + shall be equal to the value of the short_video_header flag of MPEG-4 Visual.
1.214 + */
1.215 + TBool iShortVideoHeader;
1.216 +
1.217 + /**
1.218 + iRandomAccessibleVOL equal to ETrue indicates that every VOP in this VOL is individually
1.219 + decodable. The value of iRandomAccessibleVOL shall be equal to the value of the
1.220 + random_accessible_vol flag of MPEG-4 Visual.
1.221 + */
1.222 + TBool iRandomAccessibleVOL;
1.223 +
1.224 + /**
1.225 + Indicates the object type as specified in Table 6-10 of MPEG-4 Visual and constrains the
1.226 + associated elementary stream to use tools from the indicated object type. HW devices according
1.227 + to this specification are required to set iVideoObjectTypeIndication to 1 (to indicate Simple
1.228 + Object Type).
1.229 + */
1.230 + TUint iVideoObjectTypeIndication;
1.231 +
1.232 + /**
1.233 + Identifies the version number of the video object layer as specified in the semantics of
1.234 + video_object_layer_verid syntax element of MPEG-4 Visual.
1.235 + */
1.236 + TUint iVideoObjectLayerVerid;
1.237 +
1.238 + /**
1.239 + */
1.240 + TUint iVideoObjectLayerPriority;
1.241 +
1.242 + /**
1.243 + Specifies the priority of the video object layer as specified in the semantics of
1.244 + video_object_layer_priority syntax element of MPEG-4 Visual. If the video_object_layer_priority
1.245 + syntax element is not present in the bitstream, iVideoObjectLayerPriority shall be equal to 0.
1.246 + */
1.247 + TUint iAspectRatioNum;
1.248 +
1.249 + /**
1.250 + Pixel aspect ratio numerator and denominator respectively. The pixel aspect ratio is defined as
1.251 + iAspectRatioNum/iAspectRatioDenom, where the values are positive integers and relatively prime.
1.252 + These values shall be set according to the value of aspect_ratio_info, par_width (if present),
1.253 + and par_height (if present) syntax elements in the VideoObjectLayer() syntax structure of MPEG-4
1.254 + Visual.
1.255 + */
1.256 + TUint iAspectRatioDenom;
1.257 +
1.258 + /**
1.259 + Specifies the VBV parameters in use for the VOL. The values in iVbvParams are valid if
1.260 + iShortVideoHeader equals to EFalse. If iShortVideoHeader equals to ETrue, the VBV operation and
1.261 + parameters are specified in Annex D of MPEG-4 Visual.
1.262 + */
1.263 + TMPEG4VisualVbvParams iVbvParams;
1.264 +
1.265 + /**
1.266 + Indicates the number of evenly spaced subintervals, called ticks, within one modulo time. One
1.267 + modulo time represents the fixed interval of one second. Shall be set equal to the value of
1.268 + vop_time_increment_resolution of the VideoObjectLayer() syntax structure of MPEG-4 Visual.
1.269 + */
1.270 + TUint16 iVOPTimeIncrementResolution;
1.271 +
1.272 + /**
1.273 + iFixedVOPRate equal to ETrue indicates that all VOPs are coded with a fixed VOP rate.
1.274 + iFixedVOPRate equal to EFalse indicates that some VOPs may not be coded with a fixed VOP rate.
1.275 + Shall be set equal to the value of fixed_vop_rate of the VideoObjectLayer() syntax structure
1.276 + of MPEG-4 Visual.
1.277 + */
1.278 + TBool iFixedVOPRate;
1.279 +
1.280 + /**
1.281 + The number of ticks between two successive VOPs in the display order. Valid only if
1.282 + iFixedVOPRate is equal to ETrue. Shall be set equal to the value of fixed_vop_time_increment
1.283 + of the VideoObjectLayer() syntax structure of MPEG-4 Visual.
1.284 + */
1.285 + TUint16 iFixedVOPTimeIncrement;
1.286 +
1.287 + /**
1.288 + iDataPartitioning equal to ETrue indicates that slices are organized in data partitions within
1.289 + the associated elementary bitstream. Shall be set equal to the value of the data_partitioned
1.290 + syntax element of the VideoObjectLayer() syntax structure of MPEG-4 Visual.
1.291 + */
1.292 + TBool iDataPartitioning;
1.293 +
1.294 + /**
1.295 + iReversibleVLC equal to ETrue indicates that the reversible variable length tables of MPEG-4
1.296 + Visual are in use in the associated elementary bistream. Shall be set equal to the value of the
1.297 + reversible_vlc syntax element of the VideoObjectLayer() syntax structure of MPEG-4 Visual. If
1.298 + reversible_vlc is not present in the bitstream, the value of iReversibleVLC shall be set to
1.299 + EFalse.
1.300 + */
1.301 + TBool iReversibleVLC;
1.302 +
1.303 + /**
1.304 + Contains the user_data bytes, if any, that are directly included in the VideoObjectLayer()
1.305 + syntax structure, in bitstream order. The pointer must remain valid as long as the object it
1.306 + belongs to is being processed by the client (for playback) or MSL video subsystem (for
1.307 + recording).
1.308 + */
1.309 + TPtrC8 iUserData;
1.310 + };
1.311 +
1.312 +
1.313 +/**
1.314 +Mpeg4 visual GOV header.
1.315 +@publishedAll
1.316 +@released
1.317 +*/
1.318 +class TMPEG4VisualGOVHeader
1.319 + {
1.320 +public:
1.321 + /**
1.322 + iTimeCodeHours, iTimeCodeMinutes and iTimeCodeSeconds together specify the modulo part (i.e. the
1.323 + full second units) of the time base for the first object plane (in display order) after the GOV
1.324 + header according to the semantics of the time_code syntax element of MPEG-4 Visual.
1.325 + */
1.326 + TUint iTimeCodeHours;
1.327 +
1.328 + /**
1.329 + iTimeCodeHours, iTimeCodeMinutes and iTimeCodeSeconds together specify the modulo part (i.e. the
1.330 + full second units) of the time base for the first object plane (in display order) after the GOV
1.331 + header according to the semantics of the time_code syntax element of MPEG-4 Visual.
1.332 + */
1.333 + TUint iTimeCodeMinutes;
1.334 +
1.335 + /**
1.336 + iTimeCodeHours, iTimeCodeMinutes and iTimeCodeSeconds together specify the modulo part (i.e. the
1.337 + full second units) of the time base for the first object plane (in display order) after the GOV
1.338 + header according to the semantics of the time_code syntax element of MPEG-4 Visual.
1.339 + */
1.340 + TUint iTimeCodeSeconds;
1.341 +
1.342 + /**
1.343 + Indicates the nature of the predictions used in the first consecutive B-VOPs (if any)
1.344 + immediately following the first coded I-VOP after the GOV header. iClosedGOV equal to ETrue
1.345 + indicates that there are no such B-VOPs or that these B-VOPs have been encoded using only
1.346 + backward prediction or intra coding. The value of iClosedGOV shall be set equal to the value of
1.347 + closed_gov syntax element of MPEG-4 Visual.
1.348 + */
1.349 + TBool iClosedGOV;
1.350 +
1.351 + /**
1.352 + iBrokenLink equal to ETrue indicates that the first consecutive B-VOPs (if any) immediately
1.353 + following the first coded I-VOP following the GOV header may not be correctly decoded because
1.354 + the reference frame which is used for prediction is not available (e.g., due to result of
1.355 + editing in compressed domain). A decoder may use this flag to avoid displaying frames that
1.356 + cannot be correctly decoded. The value of iBrokenLink shall be set equal to the value of
1.357 + broken_link syntax element of MPEG-4 Visual.
1.358 + */
1.359 + TBool iBrokenLink;
1.360 + };
1.361 +
1.362 +
1.363 +/**
1.364 +Mpeg4 visual VOP header.
1.365 +@publishedAll
1.366 +@released
1.367 +*/
1.368 +class TMPEG4VisualVOPHeader
1.369 + {
1.370 +public:
1.371 + /**
1.372 + Indicates the coding type of the VOP.
1.373 + */
1.374 + TMPEG4VisualVOPType iVOPCodingType;
1.375 +
1.376 + /**
1.377 + Indicates the number of seconds elapsed since the previous GOV header or since the previous
1.378 + picture in display order, whichever is closer in display order. The value of iModuloTimeBase
1.379 + shall be set equal to the decoded value derived from a series of modulo_time_base fields as
1.380 + specified in MPEG-4 Visual.
1.381 + */
1.382 + TUint iModuloTimeBase;
1.383 +
1.384 + /**
1.385 + VOP display time relative to iModuloTimeBase in clock ticks. The value of iVOPTimeIncrement
1.386 + shall be set equal to the value of the vop_time_increment syntax element of MPEG-4 Visual.
1.387 + */
1.388 + TUint16 iVOPTimeIncrement;
1.389 +
1.390 + /**
1.391 + iVOPCoded equal to EFalse indicates that the VOP is a copy of the previous VOP in display order.
1.392 + The value of iVOPCoded shall be set equal to the value of the vop_coded syntax element of MPEG-4
1.393 + Visual.
1.394 + */
1.395 + TBool iVOPCoded;
1.396 +
1.397 + /**
1.398 + Indicates the initial value of the quantization parameter. iVOPQuant shall be set equal to the
1.399 + value of the vop_quant syntax element.
1.400 + */
1.401 + TUint iVOPQuant;
1.402 +
1.403 + /**
1.404 + Indicates the VOP ID. iVOPId shall be set equal to the value of the vop_id syntax element. Valid
1.405 + only if the flag newpred_enable is equal to 1.
1.406 + */
1.407 + TUint16 iVOPId;
1.408 +
1.409 + /**
1.410 + When equal to ETrue indicates the following iVOPIdForPrediction is valid. Valid only if the flag
1.411 + newpred_enable is equal to 1.
1.412 + */
1.413 + TBool iVOPIdForPredictionValid;
1.414 +
1.415 + /**
1.416 + Indicates VOP ID of the VOP that is used as the reference VOP for the current VOP.
1.417 + iVOPIdForPrediction shall be set equal to the value of the vop_id_for_prediction if the syntax
1.418 + element is present (i.e. the ). Valid only if iVOPIdForPredictionValid is equal to ETrue.
1.419 + */
1.420 + TUint16 iVOPIdForPrediction;
1.421 + };
1.422 +
1.423 +
1.424 +/**
1.425 +This class is used to convey information of Visual Object Sequence, Visual Object, VOL, GOV, and VOP
1.426 +headers that are consecutive in decoding order without any intervening syntax structures.
1.427 +@publishedAll
1.428 +@released
1.429 +*/
1.430 +class TMPEG4VisualHeader
1.431 + {
1.432 +public:
1.433 + /**
1.434 + A binary OR of values specified in TMPEG4VisualHeaderType:
1.435 + * EMPEG4VisualHeaderSequence - set if the visual object sequence header is present and
1.436 + iVisualObjectSequenceHeader is set accordingly. Otherwise, iVisualObjectSequenceHeader
1.437 + shall be set to NULL.
1.438 + * EMPEG4VisualHeaderObject - set if the visual object header is present and
1.439 + iVisualObjectHeader is set accordingly. Otherwise, iVisualObjectHeader shall be set
1.440 + to NULL.
1.441 + * EMPEG4VisualHeaderVOL - set if the VOL header is present and iVOLHeader is set accordingly.
1.442 + Otherwise, iVOLHeader shall be set to NULL.
1.443 + * EMPEG4VisualHeaderGOV - set if the GOV header is present and iGOVHeader is set accordingly.
1.444 + Otherwise, iGOVHeader shall be set to NULL.
1.445 + * EMPEG4VisualHeaderVOP - set if the VOP header is present and iVOPHeader is set accordingly.
1.446 + Otherwise, iVOPHeader shall be set to NULL
1.447 + */
1.448 + TUint32 iConsecutiveHeaders;
1.449 +
1.450 + /**
1.451 + The visual object sequence header.
1.452 + */
1.453 + const TMPEG4VisualObjectSequenceHeader* iVisualObjectSequenceHeader;
1.454 +
1.455 + /**
1.456 + The visual object header.
1.457 + */
1.458 + const TMPEG4VisualObjectHeader* iVisualObjectHeader;
1.459 +
1.460 + /**
1.461 + The VOL header.
1.462 + */
1.463 + const TMPEG4VisualVOLHeader* iVOLHeader;
1.464 +
1.465 + /**
1.466 + The GOV header.
1.467 + */
1.468 + const TMPEG4VisualGOVHeader* iGOVHeader;
1.469 +
1.470 + /**
1.471 + The VOP header.
1.472 + */
1.473 + const TMPEG4VisualVOPHeader* iVOPHeader;
1.474 + };
1.475 +
1.476 +
1.477 +
1.478 +/**
1.479 +This class is used to signal decoder or encoder capabilities.
1.480 +@publishedAll
1.481 +@released
1.482 +*/
1.483 +class TMPEG4VisualCapability
1.484 + {
1.485 +public:
1.486 + /*
1.487 + iProfileLevel[ i ] indicates a supported combination of profile and level, i.e.,
1.488 + profile_and_level_indication, according to Table G-1 of MPEG-4 Visual. The values of i from 62
1.489 + to 255 are reserved (the MPEG-4 Visual standard referenced in the present document has 62
1.490 + combinations of profile and level).
1.491 + */
1.492 + TUint8 iProfileLevel[256];
1.493 + };
1.494 +
1.495 +
1.496 +/**
1.497 +This class is used to set the encoder operation mode.
1.498 +@publishedAll
1.499 +@released
1.500 +*/
1.501 +class TMPEG4VisualNormalMPEG4Mode
1.502 + {
1.503 +public:
1.504 + /**
1.505 + Specifies the picture types allowed in the bitstream. The value is a binary OR of values from
1.506 + TMPEG4VisualVOPType. Signaled picture types that are not included in the prevailing coding
1.507 + profile are ignored.
1.508 + */
1.509 + TMPEG4VisualVOPType iAllowedVOPTypes;
1.510 +
1.511 + /**
1.512 + Specifies the number of consecutive video packet headers within a VOP, starting from the first
1.513 + video packet header in decoding order, where the value of header_extension_code shall be set to 1.
1.514 + */
1.515 + TUint iHeaderExtension;
1.516 +
1.517 + /**
1.518 + Specifies whether data partitioning is in use. When equal to ETrue, data partitioning is in use.
1.519 + When equal to EFalse, data partitioning is not in use. If data partitioning is in use, the
1.520 + SetErrorProtectionLevelsL method, if used, should set the number of unequal error protection
1.521 + levels to be larger than one.
1.522 + */
1.523 + TBool iDataPartitioning;
1.524 +
1.525 + /**
1.526 + Specifies whether reversible variable length coding is in use. When equal to ETrue, reversible
1.527 + variable length coding is in use. When equal to EFalse, reversible variable length coding is
1.528 + not in use. Valid only if iDataPartitioned is equal to ETrue.
1.529 + */
1.530 + TBool iReversibleVLC;
1.531 +
1.532 + /**
1.533 + Specifies which headers are included in the first output buffer of each intra VOP. (Note: Video
1.534 + Object Sequence and Video Object Headers can be repeated for error resiliency. VOL Header
1.535 + includes the initial buffer occupancy level. GOV header includes an update on display times.)
1.536 + */
1.537 + TMPEG4VisualHeaderType iHeadersBeforeIntraVOP;
1.538 + };
1.539 +
1.540 +/**
1.541 +This class is used to set the encoder operation mode.
1.542 +@publishedAll
1.543 +@released
1.544 +*/
1.545 +class TMPEG4VisualMode
1.546 + {
1.547 +public:
1.548 + /**
1.549 + Indicates whether the short header mode of MPEG-4 Visual is used. If iShortHeaderMode is
1.550 + equal to ETrue, then iH263VideoMode is valid and all other parameter values are invalid. If
1.551 + iShortHeaderMode is equal to EFalse, then iH263VideoMode is invalid and all other parameter
1.552 + values are valid.
1.553 + */
1.554 + TBool iShortHeaderMode;
1.555 +
1.556 + /**
1.557 + Contains the encoding modes to use when iShortHeaderMode is EFalse.
1.558 + */
1.559 + TMPEG4VisualNormalMPEG4Mode iMPEG4VisualNormalMPEG4Mode;
1.560 +
1.561 + /**
1.562 + Contains the encoding modes to use when iShortHeaderMode is ETrue.
1.563 + */
1.564 + TH263VideoMode iH263VideoMode;
1.565 + };
1.566 +
1.567 +
1.568 +
1.569 +#endif