CPostProcessorInfo Class Reference

class CPostProcessorInfo : public CBase

This class contains information about the post-processing functionality that a single post-processor or decoder hardware device 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 post-processor or decoder devices, and used by the MSL video client code.

Inherits from

Public Member Functions
~CPostProcessorInfo()
IMPORT_C TBoolAccelerated()
IMPORT_C voidAddSupportedScreenL(TInt)
IMPORT_C TBoolAntiAliasedScaling()
IMPORT_C voidGetSupportedScreensL(RArray< TInt > &)
IMPORT_C const TDesC &Identifier()
IMPORT_C const TDesC8 &ImplementationSpecificInfo()
IMPORT_C const TDesC &Manufacturer()
IMPORT_C CPostProcessorInfo *NewL(TUid, const TDesC &, const TDesC &, TVersion, const TArray< TUncompressedVideoFormat > &, const TArray< TUint32 > &, TBool, TBool, const TYuvToRgbCapabilities &, TUint32, TBool, const TArray< TScaleFactor > &, TBool, const TDesC8 &)
IMPORT_C voidSetSupportsContentProtected(const TBool)
IMPORT_C const RArray< TUint32 > &SupportedCombinations()
IMPORT_C const RArray< TUncompressedVideoFormat > &SupportedFormats()
IMPORT_C TUint32SupportedRotations()
IMPORT_C const RArray< TScaleFactor > &SupportedScaleFactors()
IMPORT_C TBoolSupportsArbitraryScaling()
IMPORT_C TBoolSupportsCombination(TUint32)
IMPORT_C TBoolSupportsContentProtected()
IMPORT_C TBoolSupportsDirectDisplay()
IMPORT_C TBoolSupportsFormat(const TUncompressedVideoFormat &)
IMPORT_C TUidUid()
IMPORT_C TVersionVersion()
IMPORT_C const TYuvToRgbCapabilities &YuvToRgbCapabilities()
Private Member Functions
CPostProcessorInfo(TUid, TVersion, TBool, TBool, const TYuvToRgbCapabilities &, TUint32, TBool, TBool)
voidConstructL(const TDesC &, const TDesC &, 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
TBool iAntiAliasedScaling
HBufC *iIdentifier
HBufC8 *iImplementationSpecificInfo
HBufC *iManufacturer
TBool iSupportArbitraryScaling
TBool iSupportDirectDisplay
RArray< TUint32 >iSupportedCombinations
RArray< TUncompressedVideoFormat >iSupportedFormats
TUint32 iSupportedRotations
RArray< TScaleFactor >iSupportedScaleFactors
RArray< TInt >iSupportedScreens
TBool iSupportsContentProtected
TUid iUid
TVersion iVersion
TYuvToRgbCapabilities iYuvToRgbCapabilities

Constructor & Destructor Documentation

CPostProcessorInfo(TUid, TVersion, TBool, TBool, const TYuvToRgbCapabilities &, TUint32, TBool, TBool)

CPostProcessorInfo(TUidaUid,
TVersionaVersion,
TBoolaAccelerated,
TBoolaSupportDirectDisplay,
const TYuvToRgbCapabilities &aYuvToRgbCapabilities,
TUint32aSupportedRotations,
TBoolaSupportArbitraryScaling,
TBoolaAntiAliasedScaling
)[private]

Parameters

TUid aUid
TVersion aVersion
TBool aAccelerated
TBool aSupportDirectDisplay
const TYuvToRgbCapabilities & aYuvToRgbCapabilities
TUint32 aSupportedRotations
TBool aSupportArbitraryScaling
TBool aAntiAliasedScaling

~CPostProcessorInfo()

IMPORT_C~CPostProcessorInfo()

Destructor

Member Functions Documentation

Accelerated()

IMPORT_C TBoolAccelerated()const

Returns whether the hardware device is hardware-accelerated. Hardware-accelerated post-processors can run on an application DSP or dedicated hardware.

AddSupportedScreenL(TInt)

IMPORT_C voidAddSupportedScreenL(TIntaScreenNo)
Adds the screen number into the list of screens supported by the post processor.
leave
"KErrNoMemory when there is no memory to expand the list of supported screens. KErrNotSupported if the secondary screen display is not supported in Multimedia Framework."

Parameters

TInt aScreenNo

AntiAliasedScaling()

IMPORT_C TBoolAntiAliasedScaling()const

Returns whether the hardware device supports anti-aliasing filtering for scaling.

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

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

Parameters

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

GetSupportedScreensL(RArray< TInt > &)

IMPORT_C voidGetSupportedScreensL(RArray< TInt > &aSupportedScreens)const
Lists the screens supported by the post processor.
leave
"KErrNotSupported if the secondary screen display is not supported in Multimedia Framework. KErrNoMemory when there is no memory to expand the list."

Parameters

RArray< TInt > & aSupportedScreens"An array to retrieve the list of supported screens. This method resets the array before adding elements to it. The array must be created and destroyed by the caller."

Identifier()

IMPORT_C const TDesC &Identifier()const

Returns the post-processor hardware device manufacturer-specific identifier. The combination of the manufacturer and identifier uniquely identifies the device.

ImplementationSpecificInfo()

IMPORT_C const TDesC8 &ImplementationSpecificInfo()const

Returns implementation-specific information about the post-processor.

Manufacturer()

IMPORT_C const TDesC &Manufacturer()const

Returns the post-processor hardware device manufacturer.

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

IMPORT_C CPostProcessorInfo *NewL(TUidaUid,
const TDesC &aManufacturer,
const TDesC &aIdentifier,
TVersionaVersion,
const TArray< TUncompressedVideoFormat > &aSupportedFormats,
const TArray< TUint32 > &aSupportedCombinations,
TBoolaAccelerated,
TBoolaSupportsDirectDisplay,
const TYuvToRgbCapabilities &aYuvToRgbCapabilities,
TUint32aSupportedRotations,
TBoolaSupportArbitraryScaling,
const TArray< TScaleFactor > &aSupportedScaleFactors,
TBoolaAntiAliasedScaling,
const TDesC8 &aImplementationSpecificInfo =  KNullDesC8
)[static]

Creates and returns a new CPostProcessorInfo object.

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

Parameters

TUid aUid"The UID of the post-processor."
const TDesC & aManufacturer"The manufacturer of the post-processor hw device."
const TDesC & aIdentifier"The post-processor hw device manufacturer-specific identifier."
TVersion aVersion"The post-processor version."
const TArray< TUncompressedVideoFormat > & aSupportedFormats"The source formats supported by the post-processor."
const TArray< TUint32 > & aSupportedCombinations"The supported post-processing combinations. An array of values created by the bitwise OR-ing of values from TPrePostProcessType." @param "aAccelerated" "Whether the post processor is hardware-accelerated. Accelerated post-processors can run on an application DSP or dedicated hardware." @param "aSupportsDirectDisplay" "Whether the hw device supports output directly to the screen." @param "aYuvToRgbCapabilities" "The post-processor YUV to RGB conversion capabilities." @param "aSupportedRotations" "A bitwise OR of values of TRotationType to indicate the supported rotation types." @param "aSupportArbitraryScaling" "Whether the post-processor supports arbitrary scaling." @param "aSupportedScaleFactors" "A list of the discrete scaling factors supported. If the post-processor supports arbitrary scaling, this list should be left zero-length." @param "aAntiAliasedScaling" "Whether anti-aliasing filtering for scaling is supported." @param "aImplementationSpecificInfo" "Implementation-specific information."
TBool aAccelerated
TBool aSupportsDirectDisplay
const TYuvToRgbCapabilities & aYuvToRgbCapabilities
TUint32 aSupportedRotations
TBool aSupportArbitraryScaling
const TArray< TScaleFactor > & aSupportedScaleFactors
TBool aAntiAliasedScaling
const TDesC8 & aImplementationSpecificInfo =  KNullDesC8

SetSupportsContentProtected(const TBool)

IMPORT_C voidSetSupportsContentProtected(const TBoolaSetting)

Sets a flag indicating whether the PostProcessor supports per picture content protection. E.g. Where content protection within a video stream can alter.

Parameters

const TBool aSetting"Set to TRUE to indicate PostProcessor supports content protection. TVideoPicture::TVideoPictureOptions::EContentProtected TVideoInputBuffer::TVideoBufferOptions::EContentProtected

SupportedCombinations()

IMPORT_C const RArray< TUint32 > &SupportedCombinations()const

Lists all supported post-processing combinations.

SupportedFormats()

IMPORT_C const RArray< TUncompressedVideoFormat > &SupportedFormats()const

Lists the source formats supported by the post-processor.

SupportedRotations()

IMPORT_C TUint32SupportedRotations()const

Returns the rotation types the post-processor supports.

SupportedScaleFactors()

IMPORT_C const RArray< TScaleFactor > &SupportedScaleFactors()const

Returns the scaling factors the post-processor supports. If the post-processor supports arbitrary scaling the list is empty - use SupportsArbitraryScaling() first.

SupportsArbitraryScaling()

IMPORT_C TBoolSupportsArbitraryScaling()const

Returns whether the post-processor supports arbitrary scaling. If arbitrary scaling is not supported, a limited selection of scaling factors may still be available, use SupportedScaleFactors() to retrieve those.

SupportsCombination(TUint32)

IMPORT_C TBoolSupportsCombination(TUint32aCombination)const

Checks if the post-processor supports the given post-processing combination.

Parameters

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

SupportsContentProtected()

IMPORT_C TBoolSupportsContentProtected()const

Returns whether the PostProcessor supports per picture content protection. E.g. Where content protection within a video stream can alter.

SupportsDirectDisplay()

IMPORT_C TBoolSupportsDirectDisplay()const

Returns whether the hardware device supports output directly to the screen. Output to memory buffers is always supported.

SupportsFormat(const TUncompressedVideoFormat &)

IMPORT_C TBoolSupportsFormat(const TUncompressedVideoFormat &aFormat)const

Checks if the post-processor supports the given format as a source format.

Parameters

const TUncompressedVideoFormat & aFormat"The format to check. The reference is not used after the method returns."

Uid()

IMPORT_C TUidUid()const

Returns the post-processor UID.

Version()

IMPORT_C TVersionVersion()const

Returns the post-processor version.

YuvToRgbCapabilities()

IMPORT_C const TYuvToRgbCapabilities &YuvToRgbCapabilities()const

Returns the post-processor YUV to RGB color conversion capabilities.

Member Data Documentation

TBool iAccelerated

TBool iAccelerated[private]

TBool iAntiAliasedScaling

TBool iAntiAliasedScaling[private]

HBufC * iIdentifier

HBufC *iIdentifier[private]

HBufC8 * iImplementationSpecificInfo

HBufC8 *iImplementationSpecificInfo[private]

HBufC * iManufacturer

HBufC *iManufacturer[private]

TBool iSupportArbitraryScaling

TBool iSupportArbitraryScaling[private]

TBool iSupportDirectDisplay

TBool iSupportDirectDisplay[private]

RArray< TUint32 > iSupportedCombinations

RArray< TUint32 >iSupportedCombinations[private]

RArray< TUncompressedVideoFormat > iSupportedFormats

RArray< TUncompressedVideoFormat >iSupportedFormats[private]

TUint32 iSupportedRotations

TUint32 iSupportedRotations[private]

RArray< TScaleFactor > iSupportedScaleFactors

RArray< TScaleFactor >iSupportedScaleFactors[private]

RArray< TInt > iSupportedScreens

RArray< TInt >iSupportedScreens[private]

TBool iSupportsContentProtected

TBool iSupportsContentProtected[private]

TUid iUid

TUid iUid[private]

TVersion iVersion

TVersion iVersion[private]

TYuvToRgbCapabilities iYuvToRgbCapabilities

TYuvToRgbCapabilities iYuvToRgbCapabilities[private]