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 TBool Accelerated ()
IMPORT_C const TDesC8 & CodingStandardSpecificInfo ()
IMPORT_C const TDesC & Identifier ()
IMPORT_C const TDesC8 & ImplementationSpecificInfo ()
IMPORT_C const TDesC & Manufacturer ()
IMPORT_C TUint MaxBitrate ()
IMPORT_C TUint MaxBitrateLayers ()
IMPORT_C TUint MaxInLayerScalabilitySteps ()
IMPORT_C const RArray < TPictureRateAndSize > & MaxPictureRates ()
IMPORT_C const TSize & MaxPictureSize ()
IMPORT_C TUint MaxUnequalErrorProtectionLevels ()
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 TUint32 SupportedDataUnitEncapsulations ()
IMPORT_C TUint32 SupportedDataUnitTypes ()
IMPORT_C const RArray < TUncompressedVideoFormat > & SupportedInputFormats ()
IMPORT_C const RPointerArray < CCompressedVideoFormat > & SupportedOutputFormats ()
IMPORT_C TUint32 SupportedPictureOptions ()
IMPORT_C TBool SupportsDirectCapture ()
IMPORT_C TBool SupportsInputFormat (const TUncompressedVideoFormat &)
IMPORT_C TBool SupportsOutputFormat (const CCompressedVideoFormat &)
IMPORT_C TBool SupportsPictureLoss ()
IMPORT_C TBool SupportsSliceLoss ()
IMPORT_C TBool SupportsSupplementalEnhancementInfo ()
IMPORT_C TUid Uid ()
IMPORT_C TVersion Version ()
Private Member Functions
CVideoEncoderInfo ( TUid , TVersion , TBool , TBool , const TSize &, TUint32 , TUint32 , TUint , TBool , TUint , TUint , TUint , TUint32 , TBool , TBool )
void ConstructL (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 ( 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
) [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 TBool Accelerated ( ) 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 &)

void ConstructL ( 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 TUint MaxBitrate ( ) const

Returns the maximum bit-rate supported by the encoder.

MaxBitrateLayers()

IMPORT_C TUint MaxBitrateLayers ( ) const

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

MaxInLayerScalabilitySteps()

IMPORT_C TUint MaxInLayerScalabilitySteps ( ) 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 TUint MaxUnequalErrorProtectionLevels ( ) 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 ( TUid aUid,
const TDesC & aManufacturer,
const TDesC & aIdentifier,
TVersion aVersion,
TBool aAccelerated,
TBool aSupportsDirectCapture,
const TArray < TUncompressedVideoFormat > & aSupportedInputFormats,
const TArray < CCompressedVideoFormat * > & aSupportedOutputFormats,
const TSize & aMaxPictureSize,
TUint32 aSupportedDataUnitTypes,
TUint32 aSupportedDataUnitEncapsulations,
TUint aMaxBitrateLayers,
TBool aSupportsSupplementalEnhancementInfo,
TUint aMaxUnequalErrorProtectionLevels,
TUint aMaxBitRate,
const TArray < TPictureRateAndSize > & aMaxPictureRates,
TUint aMaxInLayerScalabilitySteps,
TUint32 aSupportedPictureOptions,
TBool aSupportsPictureLoss,
TBool aSupportsSliceLoss,
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 aUid The uid of the encoder.
const TDesC & aManufacturer The video encoder manufacturer.
const TDesC & aIdentifier The manufacturer-specific identifier for this encoder.
TVersion aVersion The version of this encoder.
TBool aAccelerated Whether this encoder is accelerated.
TBool aSupportsDirectCapture Whether this encoder supports direct capture.
const TArray < TUncompressedVideoFormat > & aSupportedInputFormats An array of the supported input formats.
const TArray < CCompressedVideoFormat * > & aSupportedOutputFormats An array of the supported output formats.
const TSize & aMaxPictureSize The maximum supported picture size.
TUint32 aSupportedDataUnitTypes The supported data unit types.
TUint32 aSupportedDataUnitEncapsulations The supported data unit encapsulations.
TUint aMaxBitrateLayers The maximum number of bitrate layers supported.
TBool aSupportsSupplementalEnhancementInfo Whether supplemental enhancement info is supported.
TUint aMaxUnequalErrorProtectionLevels The maximum unequal error protection level supported.
TUint aMaxBitRate The maximum bit rate supported.
const TArray < TPictureRateAndSize > & aMaxPictureRates An array of the maximum picture size/rates supported.
TUint aMaxInLayerScalabilitySteps The maximum in-layer scalability steps supported.
TUint32 aSupportedPictureOptions The picture options supported.
TBool aSupportsPictureLoss
TBool aSupportsSliceLoss
const TDesC8 & aCodingStandardSpecificInfo Coding standard specific info.
const TDesC8 & aImplementationSpecificInfo Implementation specific info.

SupportedDataUnitEncapsulations()

IMPORT_C TUint32 SupportedDataUnitEncapsulations ( ) const

Returns the data unit encapsulation types that the encoder supports.

SupportedDataUnitTypes()

IMPORT_C TUint32 SupportedDataUnitTypes ( ) 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 TUint32 SupportedPictureOptions ( ) const

Returns the input picture options that the encoder supports.

SupportsDirectCapture()

IMPORT_C TBool SupportsDirectCapture ( ) 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 TBool SupportsInputFormat ( 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 TBool SupportsOutputFormat ( const CCompressedVideoFormat & aFormat ) const

Returns whether the encoder supports the given output format.

Parameters

const CCompressedVideoFormat & aFormat "The format to check."

SupportsPictureLoss()

IMPORT_C TBool SupportsPictureLoss ( ) 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 TBool SupportsSliceLoss ( ) 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 TBool SupportsSupplementalEnhancementInfo ( ) 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 TUid Uid ( ) const

Returns the encoder UID.

Version()

IMPORT_C TVersion Version ( ) 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]