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 TBool Accelerated ()
IMPORT_C void AddSupportedScreenL ( TInt )
IMPORT_C TBool AntiAliasedScaling ()
IMPORT_C void GetSupportedScreensL ( 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 void SetSupportsContentProtected (const TBool )
IMPORT_C const RArray < TUint32 > & SupportedCombinations ()
IMPORT_C const RArray < TUncompressedVideoFormat > & SupportedFormats ()
IMPORT_C TUint32 SupportedRotations ()
IMPORT_C const RArray < TScaleFactor > & SupportedScaleFactors ()
IMPORT_C TBool SupportsArbitraryScaling ()
IMPORT_C TBool SupportsCombination ( TUint32 )
IMPORT_C TBool SupportsContentProtected ()
IMPORT_C TBool SupportsDirectDisplay ()
IMPORT_C TBool SupportsFormat (const TUncompressedVideoFormat &)
IMPORT_C TUid Uid ()
IMPORT_C TVersion Version ()
IMPORT_C const TYuvToRgbCapabilities & YuvToRgbCapabilities ()
Private Member Functions
CPostProcessorInfo ( TUid , TVersion , TBool , TBool , const TYuvToRgbCapabilities &, TUint32 , TBool , TBool )
void ConstructL (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 ( TUid aUid,
TVersion aVersion,
TBool aAccelerated,
TBool aSupportDirectDisplay,
const TYuvToRgbCapabilities & aYuvToRgbCapabilities,
TUint32 aSupportedRotations,
TBool aSupportArbitraryScaling,
TBool aAntiAliasedScaling
) [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 TBool Accelerated ( ) 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 void AddSupportedScreenL ( TInt aScreenNo )
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 TBool AntiAliasedScaling ( ) 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 &)

void ConstructL ( 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 void GetSupportedScreensL ( 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 ( TUid aUid,
const TDesC & aManufacturer,
const TDesC & aIdentifier,
TVersion aVersion,
const TArray < TUncompressedVideoFormat > & aSupportedFormats,
const TArray < TUint32 > & aSupportedCombinations,
TBool aAccelerated,
TBool aSupportsDirectDisplay,
const TYuvToRgbCapabilities & aYuvToRgbCapabilities,
TUint32 aSupportedRotations,
TBool aSupportArbitraryScaling,
const TArray < TScaleFactor > & aSupportedScaleFactors,
TBool aAntiAliasedScaling,
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 void SetSupportsContentProtected ( const TBool aSetting )

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 TUint32 SupportedRotations ( ) 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 TBool SupportsArbitraryScaling ( ) 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 TBool SupportsCombination ( TUint32 aCombination ) 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 TBool SupportsContentProtected ( ) const

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

SupportsDirectDisplay()

IMPORT_C TBool SupportsDirectDisplay ( ) const

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

SupportsFormat(const TUncompressedVideoFormat &)

IMPORT_C TBool SupportsFormat ( 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 TUid Uid ( ) const

Returns the post-processor UID.

Version()

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