williamr@2: // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // 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 williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // Constants and structs specific to H.263. See the DevVideo specs for more details. williamr@2: // williamr@2: // williamr@2: williamr@2: #ifndef __DEVVIDEO_H263_H__ williamr@2: #define __DEVVIDEO_H263_H__ williamr@2: williamr@2: #include williamr@2: williamr@2: williamr@2: /** williamr@2: Specifies the H263 picture type. williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: enum TH263PictureType williamr@2: { williamr@2: /**INTRA picture*/ williamr@2: EH263PictureTypeI = 0x01, williamr@2: /**INTER picture*/ williamr@2: EH263PictureTypeP = 0x02, williamr@2: /**B picture according to H.263 Annex O*/ williamr@2: EH263PictureTypeB = 0x04, williamr@2: /**EI picture according to H.263 Annex O*/ williamr@2: EH263PictureTypeEI = 0x08, williamr@2: /**EP picture according to H.263 Annex O*/ williamr@2: EH263PictureTypeEP = 0x10 williamr@2: }; williamr@2: williamr@2: /** williamr@2: These enumerations can be used in codec capability indication and/or bitstream property indication. williamr@2: When used as part of an encoder capability indication, a signalled value indicates the capability williamr@2: of an encoder to produce such supplemental information to the bitstream and the additional meanings williamr@2: as specified below. When used as part of a decoder capability indication, a signalled value williamr@2: indicates the capability of a decoder to react to such supplemental information in a way as williamr@2: specified below. If a decoder does not have such capability, it shall be able to parse and discard williamr@2: the supplemental information. When used as part of a bitstream property indication, a non-signalled williamr@2: value indicates the absence of such information in the bitstream and a signalled value indicates williamr@2: the possibility of having such information in the bitstream. williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: enum TH263SupplementalInformation williamr@2: { williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: no meaning williamr@2: bitstream property: existence of FTYPE equal to 1 williamr@2: */ williamr@2: EH263SEIDoNothing = 0x00000001, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: 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 williamr@2: bitstream property: existence of FTYPE equal to 2 williamr@2: */ williamr@2: EH263SEIFullPictureFreeze = 0x00000002, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: capability to freeze displayed picture partially (subclause L.5 of H.263) williamr@2: bitstream property: existence of FTYPE equal to 3 williamr@2: */ williamr@2: EH263SEIPartialPictureFreeze = 0x00000004, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: capability to freeze and resize displayed picture partially (H.263 L.6) williamr@2: bitstream property: existence of FTYPE equal to 4 williamr@2: */ williamr@2: EH263SEIResizingPartialPictureFreeze = 0x00000008, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: capability to release partially frozen picture (subclause L.7 of H.263) williamr@2: bitstream property: existence of FTYPE equal to 5 williamr@2: */ williamr@2: EH263SEIPartialPictureFreezeRelease = 0x00000010, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: no meaning williamr@2: bitstream property: existence of FTYPE equal to 6 williamr@2: */ williamr@2: EH263SEIFullPictureSnapshotTag = 0x00000020, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: no meaning williamr@2: bitstream property: existence of FTYPE equal to 7 williamr@2: */ williamr@2: EH263SEIPartialPictureSnapshotTag = 0x00000040, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: no meaning williamr@2: bitstream property: existence of FTYPE equal to 8 williamr@2: */ williamr@2: EH263SEIVideoTimeSegmentStartTag = 0x00000080, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: no meaning williamr@2: bitstream property: existence of FTYPE equal to 9 williamr@2: */ williamr@2: EH263SEIVideoTimeSegmentEndTag = 0x00000100, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: no meaning williamr@2: bitstream property: existence of FTYPE equal to 10 williamr@2: */ williamr@2: EH263SEIProgressiveRefinementStartTag = 0x00000200, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: no meaning williamr@2: bitstream property: existence of FTYPE equal to 11 williamr@2: */ williamr@2: EH263SEIProgressiveRefinementEndTag = 0x00000400, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: operation according to sublause L.14 of H.263 williamr@2: bitstream property: existence of FTYPE equal to 12 williamr@2: */ williamr@2: EH263SEIChromaKeying = 0x00000800, williamr@2: williamr@2: /** williamr@2: encoder capability: use of the fixed-point IDCT algorithm specified in Annex W of H.263 williamr@2: decoder capability: use of the fixed-point IDCT algorithm specified in Annex W of H.263 williamr@2: bitstream property: existence of FTYPE equal to 13 williamr@2: */ williamr@2: EH263SEIFixedPointIDCT = 0x00001000, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: no meaning williamr@2: bitstream property: existence of FTYPE equal to 14 and MTYPE equal to 0 williamr@2: */ williamr@2: EH263SEIArbitraryBinaryData = 0x00002000, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: no meaning williamr@2: bitstream property: existence of FTYPE equal to 14 and MTYPE equal to 1 williamr@2: */ williamr@2: EH263SEIArbitraryText = 0x00004000, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: no meaning williamr@2: bitstream property: existence of FTYPE equal to 14 and MTYPE equal to 2 williamr@2: */ williamr@2: EH263SEICopyrightText = 0x00008000, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: capability of display caption text as specified in subclause W.6.3.5 of H.263 williamr@2: bitstream property: existence of FTYPE equal to 14 and MTYPE equal to 3 williamr@2: */ williamr@2: EH263SEICaptionText = 0x00010000, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: no meaning williamr@2: bitstream property: existence of FTYPE equal to 14 and MTYPE equal to 4 williamr@2: */ williamr@2: EH263SEIVideoDescriptionText = 0x00020000, williamr@2: williamr@2: /** williamr@2: encoder capability: no meaning williamr@2: decoder capability: no meaning williamr@2: bitstream property: existence of FTYPE equal to 14 and MTYPE equal to 5 williamr@2: */ williamr@2: EH263SEIUniformResourceIdentifierText = 0x00040000, williamr@2: williamr@2: /** williamr@2: encoder capability: capability to repeat the current picture header (subclause W.6.3.7 of H.263) williamr@2: decoder capability: capability to recover a corrupted picture header with a repeated one williamr@2: bitstream property: existence of FTYPE equal to 14 and MTYPE equal to 6 williamr@2: */ williamr@2: EH263SEICurrentPictureHeaderRepetition = 0x00080000, williamr@2: williamr@2: /** williamr@2: encoder capability: capability to repeat the previous picture header (subclause W.6.3.8 of H.263) williamr@2: decoder capability: capability to recover a corrupted or lost picture header with a repeated one williamr@2: bitstream property: existence of FTYPE equal to 14 and MTYPE equal to 7 williamr@2: */ williamr@2: EH263SEIPreviousPictureHeaderRepetition = 0x00100000, williamr@2: williamr@2: /** williamr@2: encoder capability: capability to repeat the next picture header (W.6.3.9 of H.263) williamr@2: decoder capability: capability to recover a corrupted or lost picture header with a repeated one williamr@2: bitstream property: existence of FTYPE equal to 14 and MTYPE equal to 8 williamr@2: */ williamr@2: EH263SEINextPictureHeaderRepetitionReliableTR = 0x00200000, williamr@2: williamr@2: /** williamr@2: encoder capability: capability to repeat the next picture header (W.6.3.10 of H.263) williamr@2: decoder capability: capability to recover a corrupted or lost picture header with a repeated one williamr@2: bitstream property: existence of FTYPE equal to 14 and MTYPE equal to 9 williamr@2: */ williamr@2: EH263SEINextPictureHeaderRepetitionUnreliableTR = 0x00400000, williamr@2: williamr@2: /** williamr@2: encoder capability: capability to encode top fields of interlaced pictures williamr@2: decoder capability: capability to decode and display top fields of interlaced pictures (W.6.3.11of H.263) williamr@2: bitstream property: existence of FTYPE equal to 14 and MTYPE equal to 10 williamr@2: */ williamr@2: EH263SEITopInterlacedFieldIndication = 0x00800000, williamr@2: williamr@2: /** williamr@2: encoder capability: capability to encode bottom fields of interlaced pictures williamr@2: decoder capability: capability to decode and display bottom fields of interlaced pictures (W.6.3.11of H.263) williamr@2: bitstream property: existence of FTYPE equal to 14 and MTYPE equal to 10 williamr@2: */ williamr@2: EH263SEIBottomInterlacedFieldIndication = 0x01000000, williamr@2: williamr@2: /** williamr@2: encoder capability: capability to transmit picture numbers (subclause W.6.3.12 of H.263) williamr@2: decoder capability: capability to indicate reference picture losses from missing picture numbers williamr@2: bitstream property: existence of FTYPE equal to 14 and MTYPE equal to 12 williamr@2: */ williamr@2: EH263SEIPictureNumber = 0x02000000, williamr@2: williamr@2: /** williamr@2: encoder capability: capability to generate spare reference picture information (W.6.3.13 of H.263) williamr@2: decoder capability: capability to use a spare reference picture in absence of real reference picture williamr@2: bitstream property: existence of FTYPE equal to 14 and MTYPE equal to 13 williamr@2: */ williamr@2: EH263SEISpareReferencePictures = 0x04000000 williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: H.263 picture header. williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class TH263PictureHeader williamr@2: { williamr@2: public: williamr@2: /** williamr@2: Indicates the temporal reference. iTemporalReference is equal to the value of TR or the value williamr@2: of (ETR << 8) + TR if ETR is present in the picture header. williamr@2: */ williamr@2: TUint iTemporalReference; williamr@2: williamr@2: /** williamr@2: iLongTermPicture equal to ETrue indicates that the picture has been marked as a long-term williamr@2: picture according to the memory management control operation (MMCO) commands as specified williamr@2: in Annex U of H.263. Otherwise the picture is not a long-term picture. williamr@2: */ williamr@2: TBool iLongTermPicture; williamr@2: williamr@2: /** williamr@2: iSplitScreen is equal to the value of bit 3 of PTYPE. williamr@2: */ williamr@2: TBool iSplitScreen; williamr@2: williamr@2: /** williamr@2: iDocumentCamera is equal to the value of bit 4 of PTYPE. williamr@2: */ williamr@2: TBool iDocumentCamera; williamr@2: williamr@2: /** williamr@2: iFreezePictureRelease is equal to the value of bit 5 of PTYPE. williamr@2: */ williamr@2: TBool iFreezePictureRelease; williamr@2: williamr@2: /** williamr@2: Indicates the picture coding type. iPictureType is set according to the picture header as one williamr@2: of the values defined in TH263PictureType. williamr@2: */ williamr@2: TH263PictureType iPictureType; williamr@2: williamr@2: /** williamr@2: Indicates the initial value of the quantization parameter. iPQuant is equal to the value of williamr@2: the PQUANT syntax element. williamr@2: */ williamr@2: TUint iPQuant; williamr@2: williamr@2: /** williamr@2: Indicates the presence of the extended PTYPE field in the picture layer. The extended PTYPE williamr@2: field is specified in ITU-T Recommendation H.263 version 2 and later. iPlusPType is equal to 1 williamr@2: if bits 6 - 8 of PTYPE are equal to '111'. Otherwise, iPlusPType is equal to 0. williamr@2: */ williamr@2: TBool iPlusPType; williamr@2: williamr@2: /** williamr@2: Indicates the presence of the full extended PTYPE field in the picture layer. If iPlusPType is williamr@2: EFalse, the value of of iUpdateFullExtendedPType is not valid. Otherwise, williamr@2: iUpdateFullExtendedPType is equal to the value of the UFEP syntax element. williamr@2: */ williamr@2: TBool iUpdateFullExtendedPType; williamr@2: williamr@2: /** williamr@2: Pixel aspect ratio numerator and denominator respectively. The pixel aspect ratio is defined as williamr@2: iAspectRatioNum/iAspectRatioDenom, where the values are positive integers and relatively prime. williamr@2: If iPlusPType is equal to 0, or iPlusPType is ETrue and iUpdateFullExtendedPType is ETrue and williamr@2: bits 1 - 3 of the OPPTYPE syntax element are not equal to '110', iAspectRatioNum shall be equal williamr@2: to 12 and iAspectRatioDenom shall be equal to 11 (as specified in subclause 4.1 of ITU-T williamr@2: Recommendation H.263). If iPlusPType is ETrue and iUpdateFullExtendedPType is ETrue and bits williamr@2: 1 - 3 of the OPPTYPE syntax element are equal to '110', the values of iAspectRatioNum and williamr@2: iAspectRatioDenom are set as specified in subclauses 5.1.5 and 5.1.6 of ITU-T Recommendation williamr@2: H.263. Otherwise (iPlusPType is ETrue and iUpdateFullExtendedPType is EFalse), the values of williamr@2: iAspectRatioNum and iAspectRatioDenom are not valid. williamr@2: */ williamr@2: TUint iAspectRatioNum; williamr@2: williamr@2: /** williamr@2: Pixel aspect ratio numerator and denominator respectively. The pixel aspect ratio is defined as williamr@2: iAspectRatioNum/iAspectRatioDenom, where the values are positive integers and relatively prime. williamr@2: If iPlusPType is equal to 0, or iPlusPType is ETrue and iUpdateFullExtendedPType is ETrue and williamr@2: bits 1 - 3 of the OPPTYPE syntax element are not equal to '110', iAspectRatioNum shall be equal williamr@2: to 12 and iAspectRatioDenom shall be equal to 11 (as specified in subclause 4.1 of ITU-T williamr@2: Recommendation H.263). If iPlusPType is ETrue and iUpdateFullExtendedPType is ETrue and bits williamr@2: 1 - 3 of the OPPTYPE syntax element are equal to '110', the values of iAspectRatioNum and williamr@2: iAspectRatioDenom are set as specified in subclauses 5.1.5 and 5.1.6 of ITU-T Recommendation williamr@2: H.263. Otherwise (iPlusPType is ETrue and iUpdateFullExtendedPType is EFalse), the values of williamr@2: iAspectRatioNum and iAspectRatioDenom are not valid. williamr@2: */ williamr@2: TUint iAspectRatioDenom; williamr@2: williamr@2: /** williamr@2: Picture clock frequency numerator and denominator respectively. The picture clock frequency williamr@2: for temporal reference is defined as iPictureClockFrequencyRate / iPictureClockFrequencyScale williamr@2: in floating point arithmetic and where the values are positive integers and relatively prime. williamr@2: If iPlusPType is equal to 0, or iPlusPType is equal to 1 and iUpdateFullExtendedPType is equal williamr@2: to 1 and bit 4 of the OPPTYPE syntax element is equal to 0, iPictureClockFrequencyRate shall be williamr@2: equal to 30000 and iPictureClockFrequencyScale shall be equal to 1001 (as specified in subclause williamr@2: 4.1 of ITU-T Recommendation H.263). If iPlusPType is equal to 1 and iUpdateFullExtendedPType is williamr@2: equal to 1 and bit 4 of the OPPTYPE syntax element is equal to 1, the values of williamr@2: iPictureClockFrequencyRate and iPictureClockFrequencyScale are set as specified in subclause williamr@2: 5.1.7 of ITU-T Recommendation H.263. Otherwise (iPlusPType is equal to 1 and williamr@2: iUpdateFullExtendedPType is equal to 0), the values of iPictureClockFrequencyRate and williamr@2: iPictureClockFrequencyScale are not valid. williamr@2: */ williamr@2: TUint iPictureClockFrequencyRate; williamr@2: williamr@2: /** williamr@2: Picture clock frequency numerator and denominator respectively. The picture clock frequency williamr@2: for temporal reference is defined as iPictureClockFrequencyRate / iPictureClockFrequencyScale williamr@2: in floating point arithmetic and where the values are positive integers and relatively prime. williamr@2: If iPlusPType is equal to 0, or iPlusPType is equal to 1 and iUpdateFullExtendedPType is equal williamr@2: to 1 and bit 4 of the OPPTYPE syntax element is equal to 0, iPictureClockFrequencyRate shall be williamr@2: equal to 30000 and iPictureClockFrequencyScale shall be equal to 1001 (as specified in subclause williamr@2: 4.1 of ITU-T Recommendation H.263). If iPlusPType is equal to 1 and iUpdateFullExtendedPType is williamr@2: equal to 1 and bit 4 of the OPPTYPE syntax element is equal to 1, the values of williamr@2: iPictureClockFrequencyRate and iPictureClockFrequencyScale are set as specified in subclause williamr@2: 5.1.7 of ITU-T Recommendation H.263. Otherwise (iPlusPType is equal to 1 and williamr@2: iUpdateFullExtendedPType is equal to 0), the values of iPictureClockFrequencyRate and williamr@2: iPictureClockFrequencyScale are not valid. williamr@2: */ williamr@2: TUint iPictureClockFrequencyScale; williamr@2: }; williamr@2: williamr@2: /** williamr@2: This class is used to signal decoder or encoder capabilities or bitstream properties. williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class TH263VideoCapability williamr@2: { williamr@2: public: williamr@2: /** williamr@2: When part of a codec capability indication, iProfileLevel[ProfileNumber] indicates the williamr@2: maximum processing level that a decoder or an encoder supports for a particular profile williamr@2: indicated by ProfileNumber. A negative value indicates that the profile is not supported. williamr@2: When part of a stream property indication, iProfileLevel[ProfileNumber] indicates the maximum williamr@2: processing level that is present in the stream for a particular profile indicated by williamr@2: ProfileNumber. A negative value indicates that the stream does not contain data coded according williamr@2: to the indicated profile. williamr@2: */ williamr@2: TInt iProfileLevel[9]; williamr@2: williamr@2: /** williamr@2: When equal to ETrue, indicating that it is allowed to use PLUSPTYPE (specified in the 1998 williamr@2: version of H.263) to indicate custom picture sizes or clock frequencies. When equal to EFalse, williamr@2: PLUSPTYPE shall not be used. williamr@2: */ williamr@2: TBool iPLUSPTYPEAllowed; williamr@2: williamr@2: /** williamr@2: iSupplementalInformationCap indicates the supported supplemental enhancement functions. The williamr@2: value is a binary OR of values from TH263SupplementalInformation. williamr@2: */ williamr@2: TUint32 iSupplementalInformationCap; williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: This class is used to set the encoder operation mode. williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class TH263VideoMode williamr@2: { williamr@2: public: williamr@2: /** williamr@2: Specifies the picture types allowed in the bitstream. The value is a binary OR of values from williamr@2: TH263PictureType. Signaled picture types that are not included in the prevailing coding profile williamr@2: are ignored. williamr@2: */ williamr@2: TUint32 iAllowedPictureTypes; williamr@2: williamr@2: /** williamr@2: iForceRoundingTypeToZero equal to EFalse specifies that the value of the RTYPE bit (bit 6 of williamr@2: MPPTYPE) is not constrained. It is recommended to change the value of the RTYPE bit for each williamr@2: reference picture in error-free communication (subclause 5.1.4.3 of ITU-T H.263 Recommendation). williamr@2: iForceRoundingTypeToZero equal to ETrue specifies that the value of the RTYPE bit shall be equal williamr@2: to 0 or that the RTYPE field shall not be present in the picture layer. It is recommended to set williamr@2: iForceRoundingTypeToZero equal to ETrue (and consequently RTYPE equal to 0) in error-prone williamr@2: communication as recommended in section 4.2.6 of H.263 Appendix III [R6] and [R7]. williamr@2: */ williamr@2: TBool iForceRoundingTypeToZero; williamr@2: williamr@2: /** williamr@2: Specifies the frequency of picture header repetition as specified in this paragraph. If williamr@2: iPictureHeaderRepetition is equal to 0, picture headers are not repeated. Otherwise, a picture williamr@2: header is repeated, if the value of the GFID syntax element is not equal to the value of the williamr@2: GFID syntax element of the previous picture in bitstream order. If EDuRtpPayload data unit williamr@2: encapsulation is in use, a picture header is repeated the number of times indicated by the value williamr@2: of iPictureHeaderRepetition in those RTP payloads of the picture where the P bit according to williamr@2: RFC 2429 [R8] is set equal to 1 and which do not contain the original picture header. If williamr@2: EDuElementaryStream data unit encapsulation is in use, the picture header is repeated once in williamr@2: the supplemental enhancement information of the next picture as specified in subclause W.6.3.8 williamr@2: of ITU-T Recommendation H.263 and section 4.2.6 of H.263 Appendix III [R6]. williamr@2: */ williamr@2: TUint iPictureHeaderRepetition; williamr@2: williamr@2: /** williamr@2: Specifies the interval of non-empty GOB headers in units of GOBs. The value of williamr@2: iGOBHeaderInterval is valid if no slice structured coding mode (Annex K or Annex V) is in use. williamr@2: If iGOBHeaderInterval is equal to 0 and an unlimited segment size is specified with the williamr@2: SetSegmentTargetSize method, the encoder should not generate GOB headers. If iGOBHeaderInterval williamr@2: is greater than 0 and an unlimited segment size is specified with the SetSegmentTargetSize williamr@2: method, the encoder should generate a non-empty GOB header for every iGOBHeaderInterval-th GOB. williamr@2: If SetSegmentTargetSize is used to set a limited segment size, the encoder should generate williamr@2: segments (i.e., insert non-empty GOB headers) so that the length of the segment is no larger williamr@2: than the target size in bytes and no larger than the GOB header frequency specified with the williamr@2: value of iGOBHeaderInterval. williamr@2: */ williamr@2: TUint iGOBHeaderInterval; williamr@2: }; williamr@2: williamr@2: /** williamr@2: H.263 HRD parameters. williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class TH263HrdParams williamr@2: { williamr@2: public: williamr@2: /** williamr@2: When iAnnexXConstraints is equal to EFalse, iBPPmaxKb, iB, and iRmax indicate the values of HRD williamr@2: parameters. When iAnnexXConstraints is equal to ETrue, the values of iBPPmaxKb, iB, and iRmax in williamr@2: this class are ignored but rather their values are specified in Annex X of ITU-T Recommendation williamr@2: H.263. williamr@2: */ williamr@2: TBool iAnnexXConstraints; williamr@2: williamr@2: /** williamr@2: Signals the BPPmaxKb parameter of H.263. As specified in ITU-T Recommendation H.263. The number williamr@2: of bits created by coding any single picture shall not exceed a maximum value specified by the williamr@2: parameter BPPmaxKb that is measured in units of 1024 bits. The minimum value of BPPmaxKb is williamr@2: specified in Table 1 of ITU-T Recommendation H.263. williamr@2: */ williamr@2: TUint iBPPmaxKb; williamr@2: williamr@2: /** williamr@2: Signals the B parameter of H.263 Annex B. As specified in Annex B of ITU-T Recommendation H.263. williamr@2: The value of B shall be equal to or greater than 4 * Rmax / PCF, where PCF is the picture clock williamr@2: frequency specified in subclause 5.1.7 of ITU-T Recommendation H.263. The HRD receiving buffer williamr@2: size is equal to (B + BPPmaxKb * 1024 bits). williamr@2: */ williamr@2: TUint iB; williamr@2: williamr@2: /** williamr@2: Signals the maximum video bit rate in bits per second, i.e., the Rmax parameter of H.263 Annex B. williamr@2: */ williamr@2: TUint iRmax; williamr@2: }; williamr@2: williamr@2: /** williamr@2: H.263 redundant picture header. williamr@2: Points to a buffer to contain the redundant picture header in the orignal bitstream order. The williamr@2: buffer may be used by the MSL client in playback to pass the decapsulated redundant picture header williamr@2: from an RTP payload formatted according to RFC 2429, or used by the MSL client in recording to pass williamr@2: the picture header to the RTP encapsulator. williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: typedef TPtr8* TH263RedundantPictureHeader; williamr@2: williamr@2: #endif