CVideoDecoderInfo Class Reference

#include "devvideoplay.h"

Link against: devvideo.lib

class CVideoDecoderInfo : public CBase

Inherits from

  • CVideoDecoderInfo

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

    Constructor & Destructor Documentation

    ~CVideoDecoderInfo ( )

    IMPORT_C~CVideoDecoderInfo()

    Destructor.

    Member Function Documentation

    Accelerated ( )

    IMPORT_C TBoolAccelerated()const

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

    Returns: "True if the decoder is hardware-accelerated."

    AddSupportedScreenL ( TInt )

    IMPORT_C voidAddSupportedScreenL(TIntaScreenNo)
    Adds the screen number into the list of screens supported by the decoder.
    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."

    CodingStandardSpecificInfo ( )

    IMPORT_C const TDesC8 &CodingStandardSpecificInfo()const

    Returns coding-standard specific information about the decoder.

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

    GetSupportedScreensL ( RArray< TInt > & )

    IMPORT_C voidGetSupportedScreensL(RArray< TInt > &aSupportedScreens)const
    Lists the screens supported by the decoder.
    leave
    "KErrNotSupported if the secondary screen display is not supported in Multimedia Framework. KErrNoMemory when there is no memory to expand the list."
    ParameterDescription
    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 codec device manufacturer-specific identifier. The combination of the manufacturer and identifier uniquely identifies the hardware device.

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

    ImplementationSpecificInfo ( )

    IMPORT_C const TDesC8 &ImplementationSpecificInfo()const

    Returns implementation-specific information about the decoder.

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

    Manufacturer ( )

    IMPORT_C const TDesC &Manufacturer()const

    Returns the codec device manufacturer.

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

    MaxBitrate ( )

    IMPORT_C TUintMaxBitrate()const

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

    Returns: "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

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

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

    MaxPictureSize ( )

    IMPORT_C const TSize &MaxPictureSize()const

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

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

    NewL ( TUid, const TDesC &, const TDesC &, TVersion, const TArray< CCompressedVideoFormat * > &, TBool, TBool, const TSize &, TUint, const TArray< TPictureRateAndSize > &, TBool, TBool, const TDesC8 &, const TDesC8 & )

    IMPORT_C CVideoDecoderInfo *NewL(TUidaUid,
    const TDesC &aManufacturer,
    const TDesC &aIdentifier,
    TVersionaVersion,
    const TArray< CCompressedVideoFormat * > &aSupportedFormats,
    TBoolaAccelerated,
    TBoolaSupportsDirectDisplay,
    const TSize &aMaxPictureSize,
    TUintaMaxBitrate,
    const TArray< TPictureRateAndSize > &aMaxPictureRates,
    TBoolaSupportsPictureLoss,
    TBoolaSupportsSliceLoss,
    const TDesC8 &aCodingStandardSpecificInfo =  KNullDesC8 ,
    const TDesC8 &aImplementationSpecificInfo =  KNullDesC8
    )[static]

    Creates and returns a new CVideoDecoderInfo object.

    leave
    "This method may leave with one of the system-wide error codes."
    ParameterDescription
    aUid"The uid of the decoder."
    aManufacturer"The video decoder manufacturer."
    aIdentifier"The manufacturer-specific identifier for this video decoder."
    aVersion"The version of this video decoder."
    aSupportedFormats"An array of the formats supported by the decoder. A copy will be taken of the array and the referenced CCompressedVideoFormat objects" @param "aAccelerated" "Whether this decoder is accelerated or not." @param "aSupportsDirectDisplay" "Whether this decoder supports direct display or not." @param "aMaxPictureSize" "The maximum picture size supported by the decoder." @param "aMaxBitrate" "The maximum bit rate supported by the decoder. Use KMaxTUint32 if there are no bit-rate restrictions." @param "aMaxPictureRates" "An array of the maximum picture size/rate combinations supported by the decoder." @param "aSupportsPictureLoss" "Whether the decoder supports picture loss indications." @param "aSupportsSliceLoss" "Whether the decoder supports slice loss indications." @param "aCodingStandardSpecificInfo" "Coding-standard specific information about the decoder." @param "aImplementationSpecificInfo" "Implementation-specific information about the decoder."

    Returns: "A new CVideoDecoderInfo object."

    SetSupportsContentProtected ( const TBool )

    IMPORT_C voidSetSupportsContentProtected(const TBoolaSetting)

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

    ParameterDescription
    aSetting"Set to TRUE to indicate decoder supports content protection. TVideoPicture::TVideoPictureOptions::EContentProtected TVideoInputBuffer::TVideoBufferOptions::EContentProtected

    SupportedFormats ( )

    IMPORT_C const RPointerArray< CCompressedVideoFormat > &SupportedFormats()const

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

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

    SupportsContentProtected ( )

    IMPORT_C TBoolSupportsContentProtected()const

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

    Returns: "True if the Decoder supports Content Protection." TVideoPicture::TVideoPictureOptions::EContentProtected TVideoInputBuffer::TVideoBufferOptions::EContentProtected

    SupportsDirectDisplay ( )

    IMPORT_C TBoolSupportsDirectDisplay()const

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

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

    SupportsFormat ( const CCompressedVideoFormat & )

    IMPORT_C TBoolSupportsFormat(const CCompressedVideoFormat &aFormat)const

    Checks if the decoder supports the given format.

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

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

    SupportsPictureLoss ( )

    IMPORT_C TBoolSupportsPictureLoss()const

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

    Returns: "True if the decoder supports picture loss indications."

    SupportsSliceLoss ( )

    IMPORT_C TBoolSupportsSliceLoss()const

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

    Returns: "True if the decoder supports slice loss indications."

    Uid ( )

    IMPORT_C TUidUid()const

    Returns the decoder UID.

    Returns: "Decoder UID."

    Version ( )

    IMPORT_C TVersionVersion()const

    Returns the decoder version.

    Returns: "Decoder version."