# AVCapability ## Overview The **AVCapability** module provides functions for querying the codec capability. \@syscap SystemCapability.Multimedia.Media.CodecBase **Since** 10 ## Summary ### Files | Name| Description| | -------- | -------- | | [native_avcapability.h](native__avcapability_8h.md) | Declares the native APIs used to query the codec capability.
**File to include**:
**Library**: libnative_media_codecbase.so| ### Structs | Name| Description| | -------- | -------- | | [OH_AVRange](_o_h___a_v_range.md) | Defines the value range, which contains the minimum value and maximum value.| ### Types | Name| Description| | -------- | -------- | | [OH_BitrateMode](#oh_bitratemode) | Defines an enum that enumerates the bit rate modes of an encoder.| | [OH_AVRange](#oh_avrange) | Defines a struct for the value range, which contains the minimum value and maximum value.| | [OH_AVCodecCategory](#oh_avcodeccategory) | Defines an enum that enumerates the codec categories.| ### Enums | Name| Description| | -------- | -------- | | [OH_BitrateMode](#oh_bitratemode) { **BITRATE_MODE_CBR** = 0, **BITRATE_MODE_VBR** = 1, **BITRATE_MODE_CQ** = 2 } | Enumerates the bit rate modes of an encoder.| | [OH_AVCodecCategory](#oh_avcodeccategory) { **HARDWARE** = 0, **SOFTWARE** } | Enumerates the codec categories.| ### Functions | Name| Description| | -------- | -------- | | \*[OH_AVCodec_GetCapability](#oh_avcodec_getcapability) (const char \*mime, bool isEncoder) | Obtains the codec capability recommended by the system.| | \*[OH_AVCodec_GetCapabilityByCategory](#oh_avcodec_getcapabilitybycategory) (const char \*mime, bool isEncoder, [OH_AVCodecCategory](#oh_avcodeccategory) category) | Obtains the codec capability by category, which can be a hardware codec or software codec.| | [OH_AVCapability_IsHardware](#oh_avcapability_ishardware) (OH_AVCapability \*capability) | Checks whether a codec capability instance describes a hardware codec.| | \*[OH_AVCapability_GetName](#oh_avcapability_getname) (OH_AVCapability \*capability) | Obtains the codec name.| | [OH_AVCapability_GetMaxSupportedInstances](#oh_avcapability_getmaxsupportedinstances) (OH_AVCapability \*capability) | Obtains the maximum number of codec instances supported by a codec.| | [OH_AVCapability_GetEncoderBitrateRange](#oh_avcapability_getencoderbitraterange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*bitrateRange) | Obtains the bit rate range supported by an encoder.| | [OH_AVCapability_IsEncoderBitrateModeSupported](#oh_avcapability_isencoderbitratemodesupported) (OH_AVCapability \*capability, [OH_BitrateMode](#oh_bitratemode) bitrateMode) | Checks whether an encoder supports a specific bit rate mode.| | [OH_AVCapability_GetEncoderQualityRange](#oh_avcapability_getencoderqualityrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*qualityRange) | Obtains the quality range supported by an encoder.| | [OH_AVCapability_GetEncoderComplexityRange](#oh_avcapability_getencodercomplexityrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*complexityRange) | Obtains the complexity range supported by an encoder.| | [OH_AVCapability_GetAudioSupportedSampleRates](#oh_avcapability_getaudiosupportedsamplerates) (OH_AVCapability \*capability, const int32_t \*\*sampleRates, uint32_t \*sampleRateNum) | Obtains the sampling rates supported by an audio codec.| | [OH_AVCapability_GetAudioChannelCountRange](#oh_avcapability_getaudiochannelcountrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*channelCountRange) | Obtains the count range of audio channels supported by an audio codec.| | [OH_AVCapability_GetVideoWidthAlignment](#oh_avcapability_getvideowidthalignment) (OH_AVCapability \*capability, int32_t \*widthAlignment) | Obtains the video width alignment supported by a video codec.| | [OH_AVCapability_GetVideoHeightAlignment](#oh_avcapability_getvideoheightalignment) (OH_AVCapability \*capability, int32_t \*heightAlignment) | Obtains the video height alignment supported by a video codec.| | [OH_AVCapability_GetVideoWidthRangeForHeight](#oh_avcapability_getvideowidthrangeforheight) (OH_AVCapability \*capability, int32_t height, [OH_AVRange](_o_h___a_v_range.md) \*widthRange) | Obtains the video width range supported by a video codec based on a given height.| | [OH_AVCapability_GetVideoHeightRangeForWidth](#oh_avcapability_getvideoheightrangeforwidth) (OH_AVCapability \*capability, int32_t width, [OH_AVRange](_o_h___a_v_range.md) \*heightRange) | Obtains the video height range supported by a video codec based on a given width.| | [OH_AVCapability_GetVideoWidthRange](#oh_avcapability_getvideowidthrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*widthRange) | Obtains the video width range supported by a video codec.| | [OH_AVCapability_GetVideoHeightRange](#oh_avcapability_getvideoheightrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*heightRange) | Obtains the video height range supported by a video codec.| | [OH_AVCapability_IsVideoSizeSupported](#oh_avcapability_isvideosizesupported) (OH_AVCapability \*capability, int32_t width, int32_t height) | Checks whether a video codec supports a specific video size.| | [OH_AVCapability_GetVideoFrameRateRange](#oh_avcapability_getvideoframeraterange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*frameRateRange) | Obtains the video frame rate range supported by a video codec.| | [OH_AVCapability_GetVideoFrameRateRangeForSize](#oh_avcapability_getvideoframeraterangeforsize) (OH_AVCapability \*capability, int32_t width, int32_t height, [OH_AVRange](_o_h___a_v_range.md) \*frameRateRange) | Obtains the video frame rate range supported by a video codec based on a given video size.| | [OH_AVCapability_AreVideoSizeAndFrameRateSupported](#oh_avcapability_arevideosizeandframeratesupported) (OH_AVCapability \*capability, int32_t width, int32_t height, int32_t frameRate) | Checks whether a video codec supports the combination of a video size and frame rate.| | [OH_AVCapability_GetVideoSupportedPixelFormats](#oh_avcapability_getvideosupportedpixelformats) (OH_AVCapability \*capability, const int32_t \*\*pixelFormats, uint32_t \*pixelFormatNum) | Obtains the video pixel formats supported by a video codec.| | [OH_AVCapability_GetSupportedProfiles](#oh_avcapability_getsupportedprofiles) (OH_AVCapability \*capability, const int32_t \*\*profiles, uint32_t \*profileNum) | Obtains the profiles supported by a codec.| | [OH_AVCapability_GetSupportedLevelsForProfile](#oh_avcapability_getsupportedlevelsforprofile) (OH_AVCapability \*capability, int32_t profile, const int32_t \*\*levels, uint32_t \*levelNum) | Obtains the codec levels supported by a profile.| | [OH_AVCapability_AreProfileAndLevelSupported](#oh_avcapability_areprofileandlevelsupported) (OH_AVCapability \*capability, int32_t profile, int32_t level) | Checks whether a codec supports the combination of a profile and level.| ### Variables | Name| Description| | -------- | -------- | | **OH_AVRange::minVal** | Defines the minimum value.| | **OH_AVRange::maxVal** | Defines the maximum value.| ## Type Description ### OH_AVCodecCategory ``` typedef enum OH_AVCodecCategory OH_AVCodecCategory ``` **Description** Defines an enum that enumerates the codec categories. \@syscap SystemCapability.Multimedia.Media.CodecBase **Since** 10 ### OH_AVRange ``` typedef struct OH_AVRange OH_AVRange ``` **Description** Defines a struct for the value range, which contains the minimum value and maximum value. \@syscap SystemCapability.Multimedia.Media.CodecBase **Since** 10 ### OH_BitrateMode ``` typedef enum OH_BitrateMode OH_BitrateMode ``` **Description** Defines an enum that enumerates the bit rate modes of an encoder. \@syscap SystemCapability.Multimedia.Media.CodecBase **Since** 10 ## Enum Description ### OH_AVCodecCategory ``` enum OH_AVCodecCategory ``` **Description** Defines an enum that enumerates the codec categories. \@syscap SystemCapability.Multimedia.Media.CodecBase **Since** 10 | Value| Description| | -------- | -------- | | HARDWARE | Hardware codec.| | SOFTWARE | Software codec.| ### OH_BitrateMode ``` enum OH_BitrateMode ``` **Description** Defines an enum that enumerates the bit rate modes of an encoder. \@syscap SystemCapability.Multimedia.Media.CodecBase **Since** 10 | Value| Description| | -------- | -------- | | BITRATE_MODE_CBR | Constant bit rate.| | BITRATE_MODE_VBR | Variable bit rate.| | BITRATE_MODE_CQ | Constant quality.| ## Function Description ### OH_AVCapability_AreProfileAndLevelSupported() ``` bool OH_AVCapability_AreProfileAndLevelSupported (OH_AVCapability *capability, int32_t profile, int32_t level) ``` **Description** Checks whether a codec supports the combination of a profile and level. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the codec capability.| | profile | Profile of the codec.| | level | Level of the codec.| **Returns** Returns **true** if the combination of the profile and level is supported; returns **false** otherwise. **Since** 10 ### OH_AVCapability_AreVideoSizeAndFrameRateSupported() ``` bool OH_AVCapability_AreVideoSizeAndFrameRateSupported (OH_AVCapability *capability, int32_t width, int32_t height, int32_t frameRate) ``` **Description** Checks whether a video codec supports the combination of a video size and frame rate. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the video codec capability. A pointer to the audio codec capability cannot be filled in.| | width | Number of horizontal video pixels.| | height | Number of vertical video pixels.| | frameRate | Number of frames per second.| **Returns** Returns **true** if the combination of the video size and frame rate is supported; returns **false** otherwise. **Since** 10 ### OH_AVCapability_GetAudioChannelCountRange() ``` OH_AVErrCode OH_AVCapability_GetAudioChannelCountRange (OH_AVCapability *capability, OH_AVRange *channelCountRange) ``` **Description** Obtains the count range of audio channels supported by an audio codec. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the audio codec capability. A pointer to the video codec capability cannot be filled in.| | channelCountRange | Output parameter. Pointer to the count range of audio channels supported.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_GetAudioSupportedSampleRates() ``` OH_AVErrCode OH_AVCapability_GetAudioSupportedSampleRates (OH_AVCapability *capability, const int32_t **sampleRates, uint32_t *sampleRateNum) ``` **Description** Obtains the sampling rates supported by an audio codec. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the audio codec capability. A pointer to the video codec capability cannot be filled in.| | sampleRates | Output parameter. Double pointer to the sampling rate array.| | sampleRateNum | Output parameter. Pointer to the number of elements in the array.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_GetEncoderBitrateRange() ``` OH_AVErrCode OH_AVCapability_GetEncoderBitrateRange (OH_AVCapability *capability, OH_AVRange *bitrateRange) ``` **Description** Obtains the bit rate range supported by an encoder. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the encoder capability. A pointer to the decoder capability cannot be filled in.| | bitrateRange | Output parameter. Pointer to the bit rate range supported.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_GetEncoderComplexityRange() ``` OH_AVErrCode OH_AVCapability_GetEncoderComplexityRange (OH_AVCapability *capability, OH_AVRange *complexityRange) ``` **Description** Obtains the complexity range supported by an encoder. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the encoder capability. A pointer to the decoder capability cannot be filled in.| | complexityRange | Output parameter. Pointer to the complexity range supported.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_GetEncoderQualityRange() ``` OH_AVErrCode OH_AVCapability_GetEncoderQualityRange (OH_AVCapability *capability, OH_AVRange *qualityRange) ``` **Description** Obtains the quality range supported by an encoder. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the encoder capability. A pointer to the decoder capability cannot be filled in.| | qualityRange | Output parameter. Pointer to the quality range supported.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_GetMaxSupportedInstances() ``` int32_t OH_AVCapability_GetMaxSupportedInstances (OH_AVCapability *capability) ``` **Description** Obtains the maximum number of codec instances supported by a codec. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the codec capability.| **Returns** Returns the maximum number of codec instances supported. **Since** 10 ### OH_AVCapability_GetName() ``` const char* OH_AVCapability_GetName (OH_AVCapability *capability) ``` **Description** Obtains the codec name. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the codec capability.| **Returns** Returns the codec name string. **Since** 10 ### OH_AVCapability_GetSupportedLevelsForProfile() ``` OH_AVErrCode OH_AVCapability_GetSupportedLevelsForProfile (OH_AVCapability *capability, int32_t profile, const int32_t **levels, uint32_t *levelNum) ``` **Description** Obtains the codec levels supported by a profile. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the codec capability.| | profile | Profile of the codec.| | levels | Output parameter. Double pointer to the codec level array.| | levelNum | Output parameter. Pointer to the number of elements in the array.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_GetSupportedProfiles() ``` OH_AVErrCode OH_AVCapability_GetSupportedProfiles (OH_AVCapability *capability, const int32_t **profiles, uint32_t *profileNum) ``` **Description** Obtains the profiles supported by a codec. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the codec capability.| | profiles | Output parameter. Double pointer to the profile array.| | profileNum | Output parameter. Pointer to the number of elements in the array.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_GetVideoFrameRateRange() ``` OH_AVErrCode OH_AVCapability_GetVideoFrameRateRange (OH_AVCapability *capability, OH_AVRange *frameRateRange) ``` **Description** Obtains the video frame rate range supported by a video codec. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the video codec capability. A pointer to the audio codec capability cannot be filled in.| | frameRateRange | Output parameter. Pointer to the video frame rate range supported.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_GetVideoFrameRateRangeForSize() ``` OH_AVErrCode OH_AVCapability_GetVideoFrameRateRangeForSize (OH_AVCapability *capability, int32_t width, int32_t height, OH_AVRange *frameRateRange) ``` **Description** Obtains the video frame rate range supported by a video codec based on a given video size. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the video codec capability. A pointer to the audio codec capability cannot be filled in.| | width | Number of horizontal video pixels.| | height | Number of vertical video pixels.| | frameRateRange | Output parameter. Pointer to the video frame rate range supported.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_GetVideoHeightAlignment() ``` OH_AVErrCode OH_AVCapability_GetVideoHeightAlignment (OH_AVCapability *capability, int32_t *heightAlignment) ``` **Description** Obtains the video height alignment supported by a video codec. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the video codec capability. A pointer to the audio codec capability cannot be filled in.| | heightAlignment | Output parameter. Pointer to the video height alignment supported.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_GetVideoHeightRange() ``` OH_AVErrCode OH_AVCapability_GetVideoHeightRange (OH_AVCapability *capability, OH_AVRange *heightRange) ``` **Description** Obtains the video height range supported by a video codec. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the video codec capability. A pointer to the audio codec capability cannot be filled in.| | heightRange | Output parameter. Pointer to the video height range supported.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_GetVideoHeightRangeForWidth() ``` OH_AVErrCode OH_AVCapability_GetVideoHeightRangeForWidth (OH_AVCapability *capability, int32_t width, OH_AVRange *heightRange) ``` **Description** Obtains the video height range supported by a video codec based on a given width. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the video codec capability. A pointer to the audio codec capability cannot be filled in.| | width | Number of horizontal video pixels.| | heightRange | Output parameter. Pointer to the video height range supported.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_GetVideoSupportedPixelFormats() ``` OH_AVErrCode OH_AVCapability_GetVideoSupportedPixelFormats (OH_AVCapability *capability, const int32_t **pixelFormats, uint32_t *pixelFormatNum) ``` **Description** Obtains the video pixel formats supported by a video codec. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the video codec capability. A pointer to the audio codec capability cannot be filled in.| | pixelFormats | Output parameter. Double pointer to the video pixel format array.| | pixelFormatNum | Output parameter. Pointer to the number of elements in the array.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_GetVideoWidthAlignment() ``` OH_AVErrCode OH_AVCapability_GetVideoWidthAlignment (OH_AVCapability *capability, int32_t *widthAlignment) ``` **Description** Obtains the video width alignment supported by a video codec. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the video codec capability. A pointer to the audio codec capability cannot be filled in.| | widthAlignment | Output parameter. Pointer to the video width alignment supported.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_GetVideoWidthRange() ``` OH_AVErrCode OH_AVCapability_GetVideoWidthRange (OH_AVCapability *capability, OH_AVRange *widthRange) ``` **Description** Obtains the video width range supported by a video codec. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the video codec capability. A pointer to the audio codec capability cannot be filled in.| | widthRange | Output parameter. Pointer to the video width range supported.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_GetVideoWidthRangeForHeight() ``` OH_AVErrCode OH_AVCapability_GetVideoWidthRangeForHeight (OH_AVCapability *capability, int32_t height, OH_AVRange *widthRange) ``` **Description** Obtains the video width range supported by a video codec based on a given height. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the video codec capability. A pointer to the audio codec capability cannot be filled in.| | height | Number of vertical video pixels.| | widthRange | Output parameter. Pointer to the video width range supported.| **Returns** Returns **AV_ERR_OK** if the operation is successful; returns an error code defined in [OH_AVErrCode](_core.md#oh_averrcode) otherwise. **Since** 10 ### OH_AVCapability_IsEncoderBitrateModeSupported() ``` bool OH_AVCapability_IsEncoderBitrateModeSupported (OH_AVCapability *capability, OH_BitrateMode bitrateMode) ``` **Description** Checks whether an encoder supports a specific bit rate mode. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the encoder capability. A pointer to the decoder capability cannot be filled in.| | bitrateMode | Bit rate mode.| **Returns** Returns **true** if the bit rate mode is supported; returns **false** otherwise. **Since** 10 ### OH_AVCapability_IsHardware() ``` bool OH_AVCapability_IsHardware (OH_AVCapability *capability) ``` **Description** Checks whether a codec capability instance describes a hardware codec. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the codec capability.| **Returns** Returns **true** if the codec capability instance describes a hardware codec; returns **false**. **Since** 10 ### OH_AVCapability_IsVideoSizeSupported() ``` bool OH_AVCapability_IsVideoSizeSupported (OH_AVCapability *capability, int32_t width, int32_t height) ``` **Description** Checks whether a video codec supports a specific video size. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | capability | Pointer to the video codec capability. A pointer to the audio codec capability cannot be filled in.| | width | Number of horizontal video pixels.| | height | Number of vertical video pixels.| **Returns** Returns **true** if the video size is supported; returns **false** otherwise. **Since** 10 ### OH_AVCodec_GetCapability() ``` OH_AVCapability* OH_AVCodec_GetCapability (const char *mime, bool isEncoder) ``` **Description** Obtains the codec capability recommended by the system. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | mime | Pointer to the MIME type.| | isEncoder | Whether the instance is an encoder. The value **true** means an encoder and **false** means a decoder.| **Returns** Returns a pointer to the codec capability instance if an existing codec matches; returns NULL otherwise. **Since** 10 ### OH_AVCodec_GetCapabilityByCategory() ``` OH_AVCapability* OH_AVCodec_GetCapabilityByCategory (const char *mime, bool isEncoder, OH_AVCodecCategory category) ``` **Description** Obtains the codec capability by category, which can be a hardware codec or software codec. \@syscap SystemCapability.Multimedia.Media.CodecBase **Parameters** | Name| Description| | -------- | -------- | | mime | Pointer to the MIME type.| | isEncoder | Whether the instance is an encoder. The value **true** means an encoder and **false** means a decoder.| | category | Codec category.| **Returns** Returns a pointer to the codec capability instance if an existing codec matches; returns NULL otherwise. **Since** 10