Symbian
Symbian OS Library

SYMBIAN OS V9.3

[Index] [Spacer] [Previous] [Next]



Location: devvideoplay.h
Link against: devvideo.lib

This item is not part of the S60 3rd Edition SDK for Symbian OS, Feature Pack 2.

Class CVideoDecoderInfo

class CVideoDecoderInfo : public CBase;

Description

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

Derivation

Members

Defined in CVideoDecoderInfo:
Accelerated(), AddSupportedScreenL(), CodingStandardSpecificInfo(), GetSupportedScreensL(), Identifier(), ImplementationSpecificInfo(), Manufacturer(), MaxBitrate(), MaxPictureRates(), MaxPictureSize(), NewL(), SupportedFormats(), SupportsDirectDisplay(), SupportsFormat(), SupportsPictureLoss(), SupportsSliceLoss(), Uid(), Version(), ~CVideoDecoderInfo()

Inherited from CBase:
Delete(), Extension_(), operator new()


Construction and destruction


NewL()

static IMPORT_C CVideoDecoderInfo *NewL(TUid aUid, const TDesC &aManufacturer, const TDesC &aIdentifier, TVersion aVersion, const TArray< CCompressedVideoFormat * > &aSupportedFormats, TBool aAccelerated, TBool aSupportsDirectDisplay, const TSize &aMaxPictureSize, TUint aMaxBitrate, const TArray< TPictureRateAndSize > &aMaxPictureRates, TBool aSupportsPictureLoss, TBool aSupportsSliceLoss, const TDesC8 &aCodingStandardSpecificInfo=KNullDesC8, const TDesC8 &aImplementationSpecificInfo=KNullDesC8);

Description

Creates and returns a new CVideoDecoderInfo object.

Parameters

TUid aUid

"The uid of the decoder."

const TDesC &aManufacturer

"The video decoder manufacturer."

const TDesC &aIdentifier

"The manufacturer-specific identifier for this video decoder."

TVersion aVersion

"The version of this video decoder."

const TArray< CCompressedVideoFormat * > &aSupportedFormats

"An array of the formats supported by the decoder. A copy will be taken of the array and the referenced CCompressedVideoFormat objects"

TBool aAccelerated

"Whether this decoder is accelerated or not."

TBool aSupportsDirectDisplay

"Whether this decoder supports direct display or not."

const TSize &aMaxPictureSize

"The maximum picture size supported by the decoder."

TUint aMaxBitrate

"The maximum bit rate supported by the decoder. Use KMaxTUint32 if there are no bit-rate restrictions."

const TArray< TPictureRateAndSize > &aMaxPictureRates

"An array of the maximum picture size/rate combinations supported by the decoder."

TBool aSupportsPictureLoss

"Whether the decoder supports picture loss indications."

TBool aSupportsSliceLoss

"Whether the decoder supports slice loss indications."

const TDesC8 &aCodingStandardSpecificInfo

"Coding-standard specific information about the decoder."

const TDesC8 &aImplementationSpecificInfo

"Implementation-specific information about the decoder."

Return value

CVideoDecoderInfo *

"A new CVideoDecoderInfo object."

Leave codes

"This

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


~CVideoDecoderInfo()

IMPORT_C ~CVideoDecoderInfo();

Description

Destructor.

[Top]


Member functions


SupportsFormat()

IMPORT_C TBool SupportsFormat(const CCompressedVideoFormat &aFormat) const;

Description

Checks if the decoder supports the given format.

Parameters

const CCompressedVideoFormat &aFormat

"The format to check. The reference is not used after the method returns."

Return value

TBool

"ETrue if the codec supports the given format, EFalse if not."


SupportedFormats()

IMPORT_C const RPointerArray< CCompressedVideoFormat > &SupportedFormats() const;

Description

Lists the video formats, including submodes, supported by the decoder.

Return value

const RPointerArray< CCompressedVideoFormat > &

"A RPointerArray table of supported video formats (CCompressedVideoFormat). The reference is valid until the CVideoDecoderInfo object is destroyed."


Manufacturer()

IMPORT_C const TDesC &Manufacturer() const;

Description

Returns the codec device manufacturer.

Return value

const TDesC &

"The manufacturer name as a standard Symbian descriptor. The reference is valid until the CVideoDecoderInfo object is destroyed."


Identifier()

IMPORT_C const TDesC &Identifier() const;

Description

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

Return value

const TDesC &

"The identifier as a standard Symbian descriptor. The reference is valid until the CVideoDecoderInfo object is destroyed."


Version()

IMPORT_C TVersion Version() const;

Description

Returns the decoder version.

Return value

TVersion

"Decoder version."


Uid()

IMPORT_C TUid Uid() const;

Description

Returns the decoder UID.

Return value

TUid

"Decoder UID."


Accelerated()

IMPORT_C TBool Accelerated() const;

Description

Returns whether the decoder is hardware-accelerated. A hardware-accelerated decoder can run on an application DSP or dedicated hardware.

Return value

TBool

"True if the decoder is hardware-accelerated."


SupportsDirectDisplay()

IMPORT_C TBool SupportsDirectDisplay() const;

Description

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

Return value

TBool

"True if the hardware device supports direct screen output."


MaxPictureSize()

IMPORT_C const TSize &MaxPictureSize() const;

Description

Returns the maximum picture size the decoder supports.

Note that if the decoder reports that it supports a certain profile and level, then it shall support all bitstreams corresponding to that profile/level. This method can be used to specify capabilities that are beyond the standard levels (for example some MPEG-4 bitstreams are encoded with picture sizes that are larger than those specified by the profile/level of the bitstream).

Return value

const TSize &

"The maximum picture size supported. The reference is valid until the CVideoDecoderInfo object is destroyed."


MaxBitrate()

IMPORT_C TUint MaxBitrate() const;

Description

Returns the maximum bit-rate supported by the decoder.

Note that if the decoder reports that it supports a certain profile and level, then it shall support all bitstreams corresponding to that profile/level. This method can be used to specify capabilities that are beyond the standard levels (for example some MPEG-4 bitstreams are encoded with bit rates that are higher than those specified by the profile/level of the bitstream).

Return value

TUint

"Maximum bit-rate supported, in bits per second. KMaxTUint32 can be used if the decoder has no bit-rate restrictions."


MaxPictureRates()

IMPORT_C const RArray< TPictureRateAndSize > &MaxPictureRates() const;

Description

Returns the maximum picture size/rate combinations supported by the decoder.

Video decoders can have different maximum picture rate limitations depending on the picture size used. Note that if the decoder reports that it supports a certain profile and level, then it shall support all bitstreams corresponding to that profile/level. This method can be used to specify capabilities that are beyond the standard levels (for example some MPEG-4 bitstreams are encoded with picture rates that are beyond those specified by the profile/level of the bitstream).

Return value

const RArray< TPictureRateAndSize > &

"A reference to an array of picture size/rate combinations. The reference remains valid until this object is deleted."


SupportsPictureLoss()

IMPORT_C TBool SupportsPictureLoss() const;

Description

Returns whether the decoder supports picture loss indications. If true, the decoder indicates lost pictures by calling MdvpoPictureLoss().

Return value

TBool

"True if the decoder supports picture loss indications."


SupportsSliceLoss()

IMPORT_C TBool SupportsSliceLoss() const;

Description

Returns whether the decoder supports slice loss indications. If true, the decoder indicates lost macroblocks by calling MdvpoSliceLoss().

Return value

TBool

"True if the decoder supports slice loss indications."


CodingStandardSpecificInfo()

IMPORT_C const TDesC8 &CodingStandardSpecificInfo() const;

Description

Returns coding-standard specific information about the decoder.

Return value

const TDesC8 &

"Coding-standard specific information about the decoder. The data format is coding-standard specific, and defined separately. The reference is valid until the CVideoDecoderInfo object is destroyed."


ImplementationSpecificInfo()

IMPORT_C const TDesC8 &ImplementationSpecificInfo() const;

Description

Returns implementation-specific information about the decoder.

Return value

const TDesC8 &

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


AddSupportedScreenL()

IMPORT_C void AddSupportedScreenL(TInt aScreenNo);

Description

Adds the screen number into the list of screens supported by the decoder.

Parameters

TInt aScreenNo

Leave codes

"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."


GetSupportedScreensL()

IMPORT_C void GetSupportedScreensL(RArray< TInt > &aSupportedScreens) const;

Description

Lists the screens supported by the decoder.

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."

Leave codes

"KErrNotSupported

if the secondary screen display is not supported in Multimedia Framework. KErrNoMemory when there is no memory to expand the list."