CVideoEncoderInfo Class Reference

#include "devvideorecord.h"

Link against: devvideo.lib

class CVideoEncoderInfo : public CBase

Inherits from

  • CVideoEncoderInfo
    Public Member Functions
    ~CVideoEncoderInfo()
    IMPORT_C TBoolAccelerated()
    IMPORT_C const TDesC8 &CodingStandardSpecificInfo()
    IMPORT_C const TDesC &Identifier()
    IMPORT_C const TDesC8 &ImplementationSpecificInfo()
    IMPORT_C const TDesC &Manufacturer()
    IMPORT_C TUintMaxBitrate()
    IMPORT_C TUintMaxBitrateLayers()
    IMPORT_C TUintMaxInLayerScalabilitySteps()
    IMPORT_C const RArray< TPictureRateAndSize > &MaxPictureRates()
    IMPORT_C const TSize &MaxPictureSize()
    IMPORT_C TUintMaxUnequalErrorProtectionLevels()
    IMPORT_C CVideoEncoderInfo *NewL(TUid, const TDesC &, const TDesC &, TVersion, TBool, TBool, const TArray< TUncompressedVideoFormat > &, const TArray< CCompressedVideoFormat * > &, const TSize &, TUint32, TUint32, TUint, TBool, TUint, TUint, const TArray< TPictureRateAndSize > &, TUint, TUint32, TBool, TBool, const TDesC8 &, const TDesC8 &)
    IMPORT_C TUint32SupportedDataUnitEncapsulations()
    IMPORT_C TUint32SupportedDataUnitTypes()
    IMPORT_C const RArray< TUncompressedVideoFormat > &SupportedInputFormats()
    IMPORT_C const RPointerArray< CCompressedVideoFormat > &SupportedOutputFormats()
    IMPORT_C TUint32SupportedPictureOptions()
    IMPORT_C TBoolSupportsDirectCapture()
    IMPORT_C TBoolSupportsInputFormat(const TUncompressedVideoFormat &)
    IMPORT_C TBoolSupportsOutputFormat(const CCompressedVideoFormat &)
    IMPORT_C TBoolSupportsPictureLoss()
    IMPORT_C TBoolSupportsSliceLoss()
    IMPORT_C TBoolSupportsSupplementalEnhancementInfo()
    IMPORT_C TUidUid()
    IMPORT_C TVersionVersion()
    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()

    Detailed Description

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

    Constructor & Destructor Documentation

    ~CVideoEncoderInfo ( )

    IMPORT_C~CVideoEncoderInfo()

    Destructor.

    Member Function Documentation

    Accelerated ( )

    IMPORT_C TBoolAccelerated()const

    Returns whether the encoder is hardware-accelerated. Hardware-accelerated encoders can run on an application DSP or dedicated hardware.

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

    CodingStandardSpecificInfo ( )

    IMPORT_C const TDesC8 &CodingStandardSpecificInfo()const

    Returns coding-standard specific information about the encoder.

    Returns: "Coding-standard specific information about the encoder. The data format is coding-standard specific, and defined separately. The reference is valid until the CVideoEncoderInfo object is destroyed."

    Identifier ( )

    IMPORT_C const TDesC &Identifier()const

    Returns the encoder hardware device manufacturer-specific identifier. The combination of the manufacturer and identifier uniquely identifies the plug-in.

    Returns: "The identifier. The reference is valid until the CVideoEncoderInfo object is destroyed."

    ImplementationSpecificInfo ( )

    IMPORT_C const TDesC8 &ImplementationSpecificInfo()const

    Returns implementation-specific information about the encoder.

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

    Manufacturer ( )

    IMPORT_C const TDesC &Manufacturer()const

    Returns the encoder hardware device manufacturer.

    Returns: "The manufacturer name. The reference is valid until the CVideoEncoderInfo object is destroyed."

    MaxBitrate ( )

    IMPORT_C TUintMaxBitrate()const

    Returns the maximum bit-rate supported by the encoder.

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

    MaxBitrateLayers ( )

    IMPORT_C TUintMaxBitrateLayers()const

    Returns the maximum number of bit-rate scalability layers supported.

    Returns: "Maximum number of bit-rate scalability layers supported, one (1) if layered scalability is not supported."

    MaxInLayerScalabilitySteps ( )

    IMPORT_C TUintMaxInLayerScalabilitySteps()const

    Returns the maximum number of in-layer scalability steps supported.

    Returns: "Maximum number of in-layer scalability steps supported, one (1) if in-layer scalability is not supported."

    MaxPictureRates ( )

    IMPORT_C const RArray< TPictureRateAndSize > &MaxPictureRates()const

    Returns the maximum picture size/rate combinations supported by the encoder. Video encoders can have different maximum picture rate limitations depending on the picture size used.

    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 encoder supports.

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

    MaxUnequalErrorProtectionLevels ( )

    IMPORT_C TUintMaxUnequalErrorProtectionLevels()const

    Returns the maximum number of unequal error protection levels supported.

    Returns: "Maximum number of unequal error protection levels supported, one (1) if unequal error protection is not supported."

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

    IMPORT_C CVideoEncoderInfo *NewL(TUidaUid,
    const TDesC &aManufacturer,
    const TDesC &aIdentifier,
    TVersionaVersion,
    TBoolaAccelerated,
    TBoolaSupportsDirectCapture,
    const TArray< TUncompressedVideoFormat > &aSupportedInputFormats,
    const TArray< CCompressedVideoFormat * > &aSupportedOutputFormats,
    const TSize &aMaxPictureSize,
    TUint32aSupportedDataUnitTypes,
    TUint32aSupportedDataUnitEncapsulations,
    TUintaMaxBitrateLayers,
    TBoolaSupportsSupplementalEnhancementInfo,
    TUintaMaxUnequalErrorProtectionLevels,
    TUintaMaxBitRate,
    const TArray< TPictureRateAndSize > &aMaxPictureRates,
    TUintaMaxInLayerScalabilitySteps,
    TUint32aSupportedPictureOptions,
    TBoolaSupportsPictureLoss,
    TBoolaSupportsSliceLoss,
    const TDesC8 &aCodingStandardSpecificInfo,
    const TDesC8 &aImplementationSpecificInfo
    )[static]

    Creates and returns a new CVideoEncoderInfo object. All data passed in is copied on construction of the object.

    leave
    This method may leave with one of the system-wide error codes.
    ParameterDescription
    aUidThe uid of the encoder.
    aManufacturerThe video encoder manufacturer.
    aIdentifierThe manufacturer-specific identifier for this encoder.
    aVersionThe version of this encoder.
    aAcceleratedWhether this encoder is accelerated.
    aSupportsDirectCaptureWhether this encoder supports direct capture.
    aSupportedInputFormatsAn array of the supported input formats.
    aSupportedOutputFormatsAn array of the supported output formats.
    aMaxPictureSizeThe maximum supported picture size.
    aSupportedDataUnitTypesThe supported data unit types.
    aSupportedDataUnitEncapsulationsThe supported data unit encapsulations.
    aMaxBitrateLayersThe maximum number of bitrate layers supported.
    aSupportsSupplementalEnhancementInfoWhether supplemental enhancement info is supported.
    aMaxUnequalErrorProtectionLevelsThe maximum unequal error protection level supported.
    aMaxBitRateThe maximum bit rate supported.
    aMaxPictureRatesAn array of the maximum picture size/rates supported.
    aMaxInLayerScalabilityStepsThe maximum in-layer scalability steps supported.
    aSupportedPictureOptionsThe picture options supported.
    aCodingStandardSpecificInfoCoding standard specific info.
    aImplementationSpecificInfoImplementation specific info.

    Returns: A new CVideoEncoderInfo object.

    SupportedDataUnitEncapsulations ( )

    IMPORT_C TUint32SupportedDataUnitEncapsulations()const

    Returns the data unit encapsulation types that the encoder supports.

    Returns: "Supported data unit encapsulation types. The value is a binary OR of values from TVideoDataUnitEncapsulation."

    SupportedDataUnitTypes ( )

    IMPORT_C TUint32SupportedDataUnitTypes()const

    Returns the data unit types supported by the encoder.

    Returns: "Supported data unit types. The value is a binary OR of values from TVideoDataUnitType."

    SupportedInputFormats ( )

    IMPORT_C const RArray< TUncompressedVideoFormat > &SupportedInputFormats()const

    Returns the input formats that the encoder supports.

    Returns: "An RArray table of supported video formats (TUncompressedVideoFormat). The reference is valid until the CVideoEncoderInfo object is destroyed."

    SupportedOutputFormats ( )

    IMPORT_C const RPointerArray< CCompressedVideoFormat > &SupportedOutputFormats()const

    Returns the output formats that the encoder supports.

    Returns: "An RArray table of supported video formats (CCompressedVideoFormat). The reference is valid until the CVideoEncoderInfo object is destroyed."

    SupportedPictureOptions ( )

    IMPORT_C TUint32SupportedPictureOptions()const

    Returns the input picture options that the encoder supports.

    Returns: "Supported input picture options, a bitwise OR of values from TVideoPicture::TVideoPictureOptions."

    SupportsDirectCapture ( )

    IMPORT_C TBoolSupportsDirectCapture()const

    Returns whether the encoder supports direct capture. Encoders supporting direct capture can get the input pictures directly from a camera, possibly using an efficient hardware-dependent data path.

    Returns: "True if the encoder supports direct capture."

    SupportsInputFormat ( const TUncompressedVideoFormat & )

    IMPORT_C TBoolSupportsInputFormat(const TUncompressedVideoFormat &aFormat)const

    Returns whether the encoder supports the given input format.

    ParameterDescription
    aFormat"The format to check."

    Returns: "True if the encoder supports the given input format."

    SupportsOutputFormat ( const CCompressedVideoFormat & )

    IMPORT_C TBoolSupportsOutputFormat(const CCompressedVideoFormat &aFormat)const

    Returns whether the encoder supports the given output format.

    ParameterDescription
    aFormat"The format to check."

    Returns: "True if the encoder supports the given output format."

    SupportsPictureLoss ( )

    IMPORT_C TBoolSupportsPictureLoss()const

    Returns whether the encoder supports picture loss indications. If true, the encoder implements PictureLoss(), and recovers lost picture contents when it receives the indication.

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

    SupportsSliceLoss ( )

    IMPORT_C TBoolSupportsSliceLoss()const

    Returns whether the encoder supports slice loss indications. If true, the encoder implements SliceLoss(), and recovers lost or damaged macroblocks when it receives the indication.

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

    SupportsSupplementalEnhancementInfo ( )

    IMPORT_C TBoolSupportsSupplementalEnhancementInfo()const

    Returns whether the encoder implements SendSupplementalInfoL(). If SendSupplementalInfoL() is implemented, the client can send supplemental enhancement information messages as binary strings using that method. If SendSupplementalInfoL() is not implemented, this is not possible, but the encoder can still generate and send coding standard or implementation specific supplemental enhancement information automatically.

    Returns: "True if the encoder supports supplemental enhancement information."

    Uid ( )

    IMPORT_C TUidUid()const

    Returns the encoder UID.

    Returns: "The encoder UID."

    Version ( )

    IMPORT_C TVersionVersion()const

    Returns the encoder version.

    Returns: "The encoder version."