CPreProcessorInfo Class Reference

class CPreProcessorInfo : public CBase

This class contains information about the pre-processing capabilities that an encoder or a pre-processor hardware has. 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 pre-processor or encoder devices, and used by the MSL video client code.

Inherits from

Public Member Functions
~CPreProcessorInfo()
IMPORT_C TBoolAccelerated()
IMPORT_C const TDesC &Identifier()
IMPORT_C const TDesC8 &ImplementationSpecificInfo()
IMPORT_C const TDesC &Manufacturer()
IMPORT_C CPreProcessorInfo *NewL(TUid, const TDesC &, const TDesC &, TVersion, TBool, TBool, const TArray< TUncompressedVideoFormat > &, const TArray< TUncompressedVideoFormat > &, const TArray< TUint32 > &, TBool, TBool, const TArray< TScaleFactor > &, const TYuvToYuvCapabilities &, TUint32, TUint32, const TDesC8 &)
IMPORT_C const RArray< TUint32 > &SupportedCombinations()
IMPORT_C const RArray< TUncompressedVideoFormat > &SupportedInputFormats()
IMPORT_C const RArray< TUncompressedVideoFormat > &SupportedOutputFormats()
IMPORT_C TUint32SupportedRgbRanges()
IMPORT_C TUint32SupportedRotations()
IMPORT_C const RArray< TScaleFactor > &SupportedScaleFactors()
IMPORT_C TBoolSupportsAntiAliasedScaling()
IMPORT_C TBoolSupportsArbitraryScaling()
IMPORT_C TBoolSupportsCombination(TUint32)
IMPORT_C TBoolSupportsDirectCapture()
IMPORT_C TBoolSupportsInputFormat(const TUncompressedVideoFormat &)
IMPORT_C TBoolSupportsOutputFormat(const TUncompressedVideoFormat &)
IMPORT_C TUidUid()
IMPORT_C TVersionVersion()
IMPORT_C const TYuvToYuvCapabilities &YuvToYuvCapabilities()
Private Member Functions
CPreProcessorInfo(TUid, TVersion, TBool, TBool, TBool, TBool, const TYuvToYuvCapabilities &, TUint32, TUint32)
voidConstructL(const TDesC &, const TDesC &, const TArray< TUncompressedVideoFormat > &, const TArray< TUncompressedVideoFormat > &, const TArray< TUint32 > &, const TArray< TScaleFactor > &, 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
HBufC *iIdentifier
HBufC8 *iImplementationSpecificInfo
RArray< TUncompressedVideoFormat >iInputFormats
HBufC *iManufacturer
RArray< TUncompressedVideoFormat >iOutputFormats
RArray< TUint32 >iSupportedCombinations
TUint32 iSupportedRgbRanges
TUint32 iSupportedRotations
RArray< TScaleFactor >iSupportedScaleFactors
TBool iSupportsAntiAliasedScaling
TBool iSupportsArbitraryScaling
TBool iSupportsDirectCapture
TUid iUid
TVersion iVersion
TYuvToYuvCapabilities iYuvToYuvCapabilities

Constructor & Destructor Documentation

CPreProcessorInfo(TUid, TVersion, TBool, TBool, TBool, TBool, const TYuvToYuvCapabilities &, TUint32, TUint32)

CPreProcessorInfo(TUidaUid,
TVersionaVersion,
TBoolaAccelerated,
TBoolaSupportsDirectCapture,
TBoolaSupportsArbitraryScaling,
TBoolaSupportsAntiAliasedScaling,
const TYuvToYuvCapabilities &aYuvToYuvCapabilities,
TUint32aSupportedRgbRanges,
TUint32aSupportedRotations
)[private]

Parameters

TUid aUid
TVersion aVersion
TBool aAccelerated
TBool aSupportsDirectCapture
TBool aSupportsArbitraryScaling
TBool aSupportsAntiAliasedScaling
const TYuvToYuvCapabilities & aYuvToYuvCapabilities
TUint32 aSupportedRgbRanges
TUint32 aSupportedRotations

~CPreProcessorInfo()

IMPORT_C~CPreProcessorInfo()

Destructor.

Member Functions Documentation

Accelerated()

IMPORT_C TBoolAccelerated()const

Returns whether the plug-in is hardware-accelerated. Hardware-accelerated pre-processors can run on an application DSP or dedicated hardware. "True if the pre-processor is hardware-accelerated."

ConstructL(const TDesC &, const TDesC &, const TArray< TUncompressedVideoFormat > &, const TArray< TUncompressedVideoFormat > &, const TArray< TUint32 > &, const TArray< TScaleFactor > &, const TDesC8 &)

voidConstructL(const TDesC &aManufacturer,
const TDesC &aIdentifier,
const TArray< TUncompressedVideoFormat > &aInputFormats,
const TArray< TUncompressedVideoFormat > &aOutputFormats,
const TArray< TUint32 > &aSupportedCombinations,
const TArray< TScaleFactor > &aSupportedScaleFactors,
const TDesC8 &aImplementationSpecificInfo
)[private]

Parameters

const TDesC & aManufacturer
const TDesC & aIdentifier
const TArray< TUncompressedVideoFormat > & aInputFormats
const TArray< TUncompressedVideoFormat > & aOutputFormats
const TArray< TUint32 > & aSupportedCombinations
const TArray< TScaleFactor > & aSupportedScaleFactors
const TDesC8 & aImplementationSpecificInfo

Identifier()

IMPORT_C const TDesC &Identifier()const

Returns the hardware device manufacturer-specific identifier. The combination of the manufacturer and identifier uniquely identifies the plug-in. "The hardware device identifier. The reference is valid until this object is destroyed."

ImplementationSpecificInfo()

IMPORT_C const TDesC8 &ImplementationSpecificInfo()const

Returns implementation-specific information about the pre-processor. "Implementation- specific information about the pre-processor. The data format is implementation-specific, and defined separately by the pre-processor supplier. The reference is valid until the CPreProcessorInfo object is destroyed."

Manufacturer()

IMPORT_C const TDesC &Manufacturer()const

Returns the hardware device manufacturer. "The hardware device manufacturer. The reference is valid until this is destroyed."

NewL(TUid, const TDesC &, const TDesC &, TVersion, TBool, TBool, const TArray< TUncompressedVideoFormat > &, const TArray< TUncompressedVideoFormat > &, const TArray< TUint32 > &, TBool, TBool, const TArray< TScaleFactor > &, const TYuvToYuvCapabilities &, TUint32, TUint32, const TDesC8 &)

IMPORT_C CPreProcessorInfo *NewL(TUidaUid,
const TDesC &aManufacturer,
const TDesC &aIdentifier,
TVersionaVersion,
TBoolaAccelerated,
TBoolaSupportsDirectCapture,
const TArray< TUncompressedVideoFormat > &aInputFormats,
const TArray< TUncompressedVideoFormat > &aOutputFormats,
const TArray< TUint32 > &aSupportedCombinations,
TBoolaSupportsArbitraryScaling,
TBoolaSupportsAntiAliasedScaling,
const TArray< TScaleFactor > &aSupportedScaleFactors,
const TYuvToYuvCapabilities &aYuvToYuvCapabilities,
TUint32aSupportedRgbRanges,
TUint32aSupportedRotations,
const TDesC8 &aImplementationSpecificInfo
)[static]

Creates and returns a new CPreProcessorInfo object. All data passed into this method is copied. leave

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

Parameters

TUid aUid"The uid of the pre-processor."
const TDesC & aManufacturer"The manufacturer of the pre-processor."
const TDesC & aIdentifier"The manufacturer-specific identifier of the pre-processor."
TVersion aVersion"The version of the pre-processor."
TBool aAccelerated"Whether the pre-processor is hw accelerated or not."
TBool aSupportsDirectCapture"Whether the pre-processor supports direct capture."
const TArray< TUncompressedVideoFormat > & aInputFormats"An array of the supported input formats."
const TArray< TUncompressedVideoFormat > & aOutputFormats"An array of the supported output formats."
const TArray< TUint32 > & aSupportedCombinations"An array of the supported combinations."
TBool aSupportsArbitraryScaling"Whether the pre-processor supports arbitrary scaling."
TBool aSupportsAntiAliasedScaling"Whether the pre-processor supports anti-alias filtering on scaling."" @param "aSupportedScaleFactors" "An array of the supported scale factors if arbitrary scaling isn't suported" @param "aYuvToYuvCapabilities" "The yuv to yuv conversion capabilities of the pre-processor." @param "aSupportedRgbRanges" "The supported rgb ranges." @param "aSupportedRotations" "The supported rotations." @param "aImplementationSpecificInfo" "Implementation-specific information." @return"The newly created CPreProcessorInfo object."
const TArray< TScaleFactor > & aSupportedScaleFactors
const TYuvToYuvCapabilities & aYuvToYuvCapabilities
TUint32 aSupportedRgbRanges
TUint32 aSupportedRotations
const TDesC8 & aImplementationSpecificInfo

SupportedCombinations()

IMPORT_C const RArray< TUint32 > &SupportedCombinations()const

Lists all supported pre-processing combinations. "An RArray table of pre-processing combinations. Each value is a bitwise OR of values from TPrePostProcessType. The reference is valid until the CPreProcessorInfo object is destroyed."

SupportedInputFormats()

IMPORT_C const RArray< TUncompressedVideoFormat > &SupportedInputFormats()const

Returns the input formats that the pre-processor supports. "An RArray table of supported video formats (TUncompressedVideoFormat). The reference is valid until the CPreProcessorInfo object is destroyed."

SupportedOutputFormats()

IMPORT_C const RArray< TUncompressedVideoFormat > &SupportedOutputFormats()const

Returns the output formats that the pre-processor supports. "An RArray table of supported video formats (TUncompressedVideoFormat). The reference is valid until the CPreProcessorInfo object is destroyed."

SupportedRgbRanges()

IMPORT_C TUint32SupportedRgbRanges()const

Returns RGB value ranges the hardware device supports for RGB to YUV conversion. "The supported RGB ranges as a bitwise OR of TRgbRange values."

SupportedRotations()

IMPORT_C TUint32SupportedRotations()const

Returns the rotation types the plug-in supports. "The supported rotation types as a bitwise OR of TRotationType values. If the pre-processor does not support rotation, the return value is zero."

SupportedScaleFactors()

IMPORT_C const RArray< TScaleFactor > &SupportedScaleFactors()const

Returns the scaling factors the plug-in supports. If the plug-in supports arbitrary scaling the list is empty - use SupportsArbitraryScaling() first. "An RArray list of supported scale factors (TScaleFactor). The reference is valid until the CPreProcessorInfo object is destroyed. If the pre-processor supports arbitrary scaling or no scaling at all, the list is empty."

SupportsAntiAliasedScaling()

IMPORT_C TBoolSupportsAntiAliasedScaling()const

Returns whether the hardware device supports anti-aliasing filtering for scaling. "True if anti-aliasing filtering is supported."

SupportsArbitraryScaling()

IMPORT_C TBoolSupportsArbitraryScaling()const

Returns whether the pre-processor supports arbitrary scaling. "True if arbitrary scaling is supported. If arbitrary scaling is not supported, some specific scale factors can still be available."

SupportsCombination(TUint32)

IMPORT_C TBoolSupportsCombination(TUint32aCombination)const

Returns whether the pre-processor supports the given pre-processing combination. "True if the pre-processing combination is supported."

Parameters

TUint32 aCombination"Pre-processing combination, a bitwise OR of values from TPrePostProcessType."

SupportsDirectCapture()

IMPORT_C TBoolSupportsDirectCapture()const

Returns whether the hardware device supports direct capture. Pre-processors supporting direct capture can get the input pictures directly from a camera, possibly using an efficient hardware-dependent data path. "True if the pre-processor supports direct capture."

SupportsInputFormat(const TUncompressedVideoFormat &)

IMPORT_C TBoolSupportsInputFormat(const TUncompressedVideoFormat &aFormat)const

Returns whether the pre-processor supports the given input format. "True if the pre-processor supports the given input format."

Parameters

const TUncompressedVideoFormat & aFormat"The format to be checked."

SupportsOutputFormat(const TUncompressedVideoFormat &)

IMPORT_C TBoolSupportsOutputFormat(const TUncompressedVideoFormat &aFormat)const

Returns whether the pre-processor supports the given output format. "True if the pre-processor supports the given input format."

Parameters

const TUncompressedVideoFormat & aFormat"The format to be checked."

Uid()

IMPORT_C TUidUid()const

Returns the pre-processor UID. "Pre-processor UID."

Version()

IMPORT_C TVersionVersion()const

Returns the pre-processor version. "Pre-processor version."

YuvToYuvCapabilities()

IMPORT_C const TYuvToYuvCapabilities &YuvToYuvCapabilities()const

Returns the YUV to YUV conversion capabilities for the pre-processor. "The conversion capabilities, as a TYuvToYuvCapabilities structure. The reference is valid until the CPreProcessorInfo object is destroyed."

Member Data Documentation

TBool iAccelerated

TBool iAccelerated[private]

HBufC * iIdentifier

HBufC *iIdentifier[private]

HBufC8 * iImplementationSpecificInfo

HBufC8 *iImplementationSpecificInfo[private]

RArray< TUncompressedVideoFormat > iInputFormats

RArray< TUncompressedVideoFormat >iInputFormats[private]

HBufC * iManufacturer

HBufC *iManufacturer[private]

RArray< TUncompressedVideoFormat > iOutputFormats

RArray< TUncompressedVideoFormat >iOutputFormats[private]

RArray< TUint32 > iSupportedCombinations

RArray< TUint32 >iSupportedCombinations[private]

TUint32 iSupportedRgbRanges

TUint32 iSupportedRgbRanges[private]

TUint32 iSupportedRotations

TUint32 iSupportedRotations[private]

RArray< TScaleFactor > iSupportedScaleFactors

RArray< TScaleFactor >iSupportedScaleFactors[private]

TBool iSupportsAntiAliasedScaling

TBool iSupportsAntiAliasedScaling[private]

TBool iSupportsArbitraryScaling

TBool iSupportsArbitraryScaling[private]

TBool iSupportsDirectCapture

TBool iSupportsDirectCapture[private]

TUid iUid

TUid iUid[private]

TVersion iVersion

TVersion iVersion[private]

TYuvToYuvCapabilities iYuvToYuvCapabilities

TYuvToYuvCapabilities iYuvToYuvCapabilities[private]