CVideoEncoderInfo Class Reference

class CVideoEncoderInfo : public CBase

This class contains information about a video encoder hardware device and its capabilities. Although it mainly contains static data, it is defined as a complete CBase-derived class since the data is relatively complex and proper memory management is necessary.

The objects are created by the encoder devices, and used by the MSL video client code.

Inherits from

Public Member Functions
~CVideoEncoderInfo()
IMPORT_C TBoolAccelerated()
IMPORT_C const TDesC8 &CodingStandardSpecificInfo()
IMPORT_C const TDesC &Identifier()
IMPORT_C const TDesC8 &ImplementationSpecificInfo()
IMPORT_C const TDesC &Manufacturer()
IMPORT_C TUintMaxBitrate()
IMPORT_C TUintMaxBitrateLayers()
IMPORT_C TUintMaxInLayerScalabilitySteps()
IMPORT_C const RArray< TPictureRateAndSize > &MaxPictureRates()
IMPORT_C const TSize &MaxPictureSize()
IMPORT_C TUintMaxUnequalErrorProtectionLevels()
IMPORT_C CVideoEncoderInfo *NewL(TUid, const TDesC &, const TDesC &, TVersion, TBool, TBool, const TArray< TUncompressedVideoFormat > &, const TArray< CCompressedVideoFormat * > &, const TSize &, TUint32, TUint32, TUint, TBool, TUint, TUint, const TArray< TPictureRateAndSize > &, TUint, TUint32, TBool, TBool, const TDesC8 &, const TDesC8 &)
IMPORT_C TUint32SupportedDataUnitEncapsulations()
IMPORT_C TUint32SupportedDataUnitTypes()
IMPORT_C const RArray< TUncompressedVideoFormat > &SupportedInputFormats()
IMPORT_C const RPointerArray< CCompressedVideoFormat > &SupportedOutputFormats()
IMPORT_C TUint32SupportedPictureOptions()
IMPORT_C TBoolSupportsDirectCapture()
IMPORT_C TBoolSupportsInputFormat(const TUncompressedVideoFormat &)
IMPORT_C TBoolSupportsOutputFormat(const CCompressedVideoFormat &)
IMPORT_C TBoolSupportsPictureLoss()
IMPORT_C TBoolSupportsSliceLoss()
IMPORT_C TBoolSupportsSupplementalEnhancementInfo()
IMPORT_C TUidUid()
IMPORT_C TVersionVersion()
Private Member Functions
CVideoEncoderInfo(TUid, TVersion, TBool, TBool, const TSize &, TUint32, TUint32, TUint, TBool, TUint, TUint, TUint, TUint32, TBool, TBool)
voidConstructL(const TDesC &, const TDesC &, const TArray< TUncompressedVideoFormat > &, const TArray< CCompressedVideoFormat * > &, const TArray< TPictureRateAndSize > &, const TDesC8 &, const TDesC8 &)
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Private Attributes
TBool iAccelerated
HBufC8 *iCodingStandardSpecificInfo
HBufC *iIdentifier
HBufC8 *iImplementationSpecificInfo
HBufC *iManufacturer
TUint iMaxBitRate
TUint iMaxBitrateLayers
TUint iMaxInLayerScalabilitySteps
RArray< TPictureRateAndSize >iMaxPictureRates
TSize iMaxPictureSize
TUint iMaxUnequalErrorProtectionLevels
TUint32 iSupportedDataUnitEncapsulations
TUint32 iSupportedDataUnitTypes
RArray< TUncompressedVideoFormat >iSupportedInputFormats
RPointerArray< CCompressedVideoFormat >iSupportedOutputFormats
TUint32 iSupportedPictureOptions
TBool iSupportsDirectCapture
TBool iSupportsPictureLoss
TBool iSupportsSliceLoss
TBool iSupportsSupplementalEnhancementInfo
TUid iUid
TVersion iVersion

Constructor & Destructor Documentation

CVideoEncoderInfo(TUid, TVersion, TBool, TBool, const TSize &, TUint32, TUint32, TUint, TBool, TUint, TUint, TUint, TUint32, TBool, TBool)

CVideoEncoderInfo(TUidaUid,
TVersionaVersion,
TBoolaAccelerated,
TBoolaSupportsDirectCapture,
const TSize &aMaxPictureSize,
TUint32aSupportedDataUnitTypes,
TUint32aSupportedDataUnitEncapsulations,
TUintaMaxBitrateLayers,
TBoolaSupportsSupplementalEnhancementInfo,
TUintaMaxUnequalErrorProtectionLevels,
TUintaMaxBitRate,
TUintaMaxInLayerScalabilitySteps,
TUint32aSupportedPictureOptions,
TBoolaSupportsPictureLoss,
TBoolaSupportsSliceLoss
)[private]

Parameters

TUid aUid
TVersion aVersion
TBool aAccelerated
TBool aSupportsDirectCapture
const TSize & aMaxPictureSize
TUint32 aSupportedDataUnitTypes
TUint32 aSupportedDataUnitEncapsulations
TUint aMaxBitrateLayers
TBool aSupportsSupplementalEnhancementInfo
TUint aMaxUnequalErrorProtectionLevels
TUint aMaxBitRate
TUint aMaxInLayerScalabilitySteps
TUint32 aSupportedPictureOptions
TBool aSupportsPictureLoss
TBool aSupportsSliceLoss

~CVideoEncoderInfo()

IMPORT_C~CVideoEncoderInfo()

Destructor.

Member Functions Documentation

Accelerated()

IMPORT_C TBoolAccelerated()const

Returns whether the encoder is hardware-accelerated. Hardware-accelerated encoders can run on an application DSP or dedicated hardware.

CodingStandardSpecificInfo()

IMPORT_C const TDesC8 &CodingStandardSpecificInfo()const

Returns coding-standard specific information about the encoder.

ConstructL(const TDesC &, const TDesC &, const TArray< TUncompressedVideoFormat > &, const TArray< CCompressedVideoFormat * > &, const TArray< TPictureRateAndSize > &, const TDesC8 &, const TDesC8 &)

voidConstructL(const TDesC &aManufacturer,
const TDesC &aIdentifier,
const TArray< TUncompressedVideoFormat > &aSupportedInputFormats,
const TArray< CCompressedVideoFormat * > &aSupportedOutputFormats,
const TArray< TPictureRateAndSize > &aMaxPictureRates,
const TDesC8 &aCodingStandardSpecificInfo,
const TDesC8 &aImplementationSpecificInfo
)[private]

Parameters

const TDesC & aManufacturer
const TDesC & aIdentifier
const TArray< TUncompressedVideoFormat > & aSupportedInputFormats
const TArray< CCompressedVideoFormat * > & aSupportedOutputFormats
const TArray< TPictureRateAndSize > & aMaxPictureRates
const TDesC8 & aCodingStandardSpecificInfo
const TDesC8 & aImplementationSpecificInfo

Identifier()

IMPORT_C const TDesC &Identifier()const

Returns the encoder hardware device manufacturer-specific identifier. The combination of the manufacturer and identifier uniquely identifies the plug-in.

ImplementationSpecificInfo()

IMPORT_C const TDesC8 &ImplementationSpecificInfo()const

Returns implementation-specific information about the encoder.

Manufacturer()

IMPORT_C const TDesC &Manufacturer()const

Returns the encoder hardware device manufacturer.

MaxBitrate()

IMPORT_C TUintMaxBitrate()const

Returns the maximum bit-rate supported by the encoder.

MaxBitrateLayers()

IMPORT_C TUintMaxBitrateLayers()const

Returns the maximum number of bit-rate scalability layers supported.

MaxInLayerScalabilitySteps()

IMPORT_C TUintMaxInLayerScalabilitySteps()const

Returns the maximum number of in-layer scalability steps supported.

MaxPictureRates()

IMPORT_C const RArray< TPictureRateAndSize > &MaxPictureRates()const

Returns the maximum picture size/rate combinations supported by the encoder. Video encoders can have different maximum picture rate limitations depending on the picture size used.

MaxPictureSize()

IMPORT_C const TSize &MaxPictureSize()const

Returns the maximum picture size the encoder supports.

MaxUnequalErrorProtectionLevels()

IMPORT_C TUintMaxUnequalErrorProtectionLevels()const

Returns the maximum number of unequal error protection levels supported.

NewL(TUid, const TDesC &, const TDesC &, TVersion, TBool, TBool, const TArray< TUncompressedVideoFormat > &, const TArray< CCompressedVideoFormat * > &, const TSize &, TUint32, TUint32, TUint, TBool, TUint, TUint, const TArray< TPictureRateAndSize > &, TUint, TUint32, TBool, TBool, const TDesC8 &, const TDesC8 &)

IMPORT_C CVideoEncoderInfo *NewL(TUidaUid,
const TDesC &aManufacturer,
const TDesC &aIdentifier,
TVersionaVersion,
TBoolaAccelerated,
TBoolaSupportsDirectCapture,
const TArray< TUncompressedVideoFormat > &aSupportedInputFormats,
const TArray< CCompressedVideoFormat * > &aSupportedOutputFormats,
const TSize &aMaxPictureSize,
TUint32aSupportedDataUnitTypes,
TUint32aSupportedDataUnitEncapsulations,
TUintaMaxBitrateLayers,
TBoolaSupportsSupplementalEnhancementInfo,
TUintaMaxUnequalErrorProtectionLevels,
TUintaMaxBitRate,
const TArray< TPictureRateAndSize > &aMaxPictureRates,
TUintaMaxInLayerScalabilitySteps,
TUint32aSupportedPictureOptions,
TBoolaSupportsPictureLoss,
TBoolaSupportsSliceLoss,
const TDesC8 &aCodingStandardSpecificInfo,
const TDesC8 &aImplementationSpecificInfo
)[static]

Creates and returns a new CVideoEncoderInfo object. All data passed in is copied on construction of the object.

leave
This method may leave with one of the system-wide error codes.

Parameters

TUid aUidThe uid of the encoder.
const TDesC & aManufacturerThe video encoder manufacturer.
const TDesC & aIdentifierThe manufacturer-specific identifier for this encoder.
TVersion aVersionThe version of this encoder.
TBool aAcceleratedWhether this encoder is accelerated.
TBool aSupportsDirectCaptureWhether this encoder supports direct capture.
const TArray< TUncompressedVideoFormat > & aSupportedInputFormatsAn array of the supported input formats.
const TArray< CCompressedVideoFormat * > & aSupportedOutputFormatsAn array of the supported output formats.
const TSize & aMaxPictureSizeThe maximum supported picture size.
TUint32 aSupportedDataUnitTypesThe supported data unit types.
TUint32 aSupportedDataUnitEncapsulationsThe supported data unit encapsulations.
TUint aMaxBitrateLayersThe maximum number of bitrate layers supported.
TBool aSupportsSupplementalEnhancementInfoWhether supplemental enhancement info is supported.
TUint aMaxUnequalErrorProtectionLevelsThe maximum unequal error protection level supported.
TUint aMaxBitRateThe maximum bit rate supported.
const TArray< TPictureRateAndSize > & aMaxPictureRatesAn array of the maximum picture size/rates supported.
TUint aMaxInLayerScalabilityStepsThe maximum in-layer scalability steps supported.
TUint32 aSupportedPictureOptionsThe picture options supported.
TBool aSupportsPictureLoss
TBool aSupportsSliceLoss
const TDesC8 & aCodingStandardSpecificInfoCoding standard specific info.
const TDesC8 & aImplementationSpecificInfoImplementation specific info.

SupportedDataUnitEncapsulations()

IMPORT_C TUint32SupportedDataUnitEncapsulations()const

Returns the data unit encapsulation types that the encoder supports.

SupportedDataUnitTypes()

IMPORT_C TUint32SupportedDataUnitTypes()const

Returns the data unit types supported by the encoder.

SupportedInputFormats()

IMPORT_C const RArray< TUncompressedVideoFormat > &SupportedInputFormats()const

Returns the input formats that the encoder supports.

SupportedOutputFormats()

IMPORT_C const RPointerArray< CCompressedVideoFormat > &SupportedOutputFormats()const

Returns the output formats that the encoder supports.

SupportedPictureOptions()

IMPORT_C TUint32SupportedPictureOptions()const

Returns the input picture options that the encoder supports.

SupportsDirectCapture()

IMPORT_C TBoolSupportsDirectCapture()const

Returns whether the encoder supports direct capture. Encoders supporting direct capture can get the input pictures directly from a camera, possibly using an efficient hardware-dependent data path.

SupportsInputFormat(const TUncompressedVideoFormat &)

IMPORT_C TBoolSupportsInputFormat(const TUncompressedVideoFormat &aFormat)const

Returns whether the encoder supports the given input format.

Parameters

const TUncompressedVideoFormat & aFormat"The format to check."

SupportsOutputFormat(const CCompressedVideoFormat &)

IMPORT_C TBoolSupportsOutputFormat(const CCompressedVideoFormat &aFormat)const

Returns whether the encoder supports the given output format.

Parameters

const CCompressedVideoFormat & aFormat"The format to check."

SupportsPictureLoss()

IMPORT_C TBoolSupportsPictureLoss()const

Returns whether the encoder supports picture loss indications. If true, the encoder implements PictureLoss(), and recovers lost picture contents when it receives the indication.

SupportsSliceLoss()

IMPORT_C TBoolSupportsSliceLoss()const

Returns whether the encoder supports slice loss indications. If true, the encoder implements SliceLoss(), and recovers lost or damaged macroblocks when it receives the indication.

SupportsSupplementalEnhancementInfo()

IMPORT_C TBoolSupportsSupplementalEnhancementInfo()const

Returns whether the encoder implements SendSupplementalInfoL(). If SendSupplementalInfoL() is implemented, the client can send supplemental enhancement information messages as binary strings using that method. If SendSupplementalInfoL() is not implemented, this is not possible, but the encoder can still generate and send coding standard or implementation specific supplemental enhancement information automatically.

Uid()

IMPORT_C TUidUid()const

Returns the encoder UID.

Version()

IMPORT_C TVersionVersion()const

Returns the encoder version.

Member Data Documentation

TBool iAccelerated

TBool iAccelerated[private]

HBufC8 * iCodingStandardSpecificInfo

HBufC8 *iCodingStandardSpecificInfo[private]

HBufC * iIdentifier

HBufC *iIdentifier[private]

HBufC8 * iImplementationSpecificInfo

HBufC8 *iImplementationSpecificInfo[private]

HBufC * iManufacturer

HBufC *iManufacturer[private]

TUint iMaxBitRate

TUint iMaxBitRate[private]

TUint iMaxBitrateLayers

TUint iMaxBitrateLayers[private]

TUint iMaxInLayerScalabilitySteps

TUint iMaxInLayerScalabilitySteps[private]

RArray< TPictureRateAndSize > iMaxPictureRates

RArray< TPictureRateAndSize >iMaxPictureRates[private]

TSize iMaxPictureSize

TSize iMaxPictureSize[private]

TUint iMaxUnequalErrorProtectionLevels

TUint iMaxUnequalErrorProtectionLevels[private]

TUint32 iSupportedDataUnitEncapsulations

TUint32 iSupportedDataUnitEncapsulations[private]

TUint32 iSupportedDataUnitTypes

TUint32 iSupportedDataUnitTypes[private]

RArray< TUncompressedVideoFormat > iSupportedInputFormats

RArray< TUncompressedVideoFormat >iSupportedInputFormats[private]

RPointerArray< CCompressedVideoFormat > iSupportedOutputFormats

RPointerArray< CCompressedVideoFormat >iSupportedOutputFormats[private]

TUint32 iSupportedPictureOptions

TUint32 iSupportedPictureOptions[private]

TBool iSupportsDirectCapture

TBool iSupportsDirectCapture[private]

TBool iSupportsPictureLoss

TBool iSupportsPictureLoss[private]

TBool iSupportsSliceLoss

TBool iSupportsSliceLoss[private]

TBool iSupportsSupplementalEnhancementInfo

TBool iSupportsSupplementalEnhancementInfo[private]

TUid iUid

TUid iUid[private]

TVersion iVersion

TVersion iVersion[private]