harmony 鸿蒙AVCapability

2023-06-24 浏览 (1162)

AVCapability

概述

AVCapability模块提供用于编解码能力查询的函数。

@syscap SystemCapability.Multimedia.Media.CodecBase

起始版本:

10

汇总

文件

名称描述
native_avcapability.h声明用于编解码能力查询到的Native API。
引用文件:<multimedia/player_framework/native_avcapability.h>
:libnative_media_codecbase.so

结构体

名称描述
OH_AVRange范围包含最小值和最大值。

类型定义

名称描述
OH_BitrateMode编码器的比特率模式。
OH_AVRange范围包含最小值和最大值。
OH_AVCodecCategory编解码器类别。

枚举

名称描述
OH_BitrateMode { BITRATE_MODE_CBR = 0, BITRATE_MODE_VBR = 1, BITRATE_MODE_CQ = 2 }编码器的比特率模式。
OH_AVCodecCategory { HARDWARE = 0, SOFTWARE }编解码器类别。

函数

名称描述
*OH_AVCodec_GetCapability (const char *mime, bool isEncoder)获取系统推荐的编解码器能力。
*OH_AVCodec_GetCapabilityByCategory (const char *mime, bool isEncoder, OH_AVCodecCategory category)获取指定类别中的编解码器能力。通过指定类别, 匹配的编解码器仅限于硬件编解码器或软件编解码器。
OH_AVCapability_IsHardware (OH_AVCapability *capability)检查能力实例是否描述了硬件编解码器。
*OH_AVCapability_GetName (OH_AVCapability *capability)获取编解码器名称。
OH_AVCapability_GetMaxSupportedInstances (OH_AVCapability *capability)获取编解码器支持的最大实例数。
OH_AVCapability_GetEncoderBitrateRange (OH_AVCapability *capability, OH_AVRange *bitrateRange)获取编码器支持的比特率范围。
OH_AVCapability_IsEncoderBitrateModeSupported (OH_AVCapability *capability, OH_BitrateMode bitrateMode)检查编码器是否支持特定的比特率模式。
OH_AVCapability_GetEncoderQualityRange (OH_AVCapability *capability, OH_AVRange *qualityRange)获取编码器支持的质量范围。
OH_AVCapability_GetEncoderComplexityRange (OH_AVCapability *capability, OH_AVRange *complexityRange)获取编码器支持的编码器复杂性范围。
OH_AVCapability_GetAudioSupportedSampleRates (OH_AVCapability *capability, const int32_t **sampleRates, uint32_t *sampleRateNum)获取音频编解码器支持的采样速率。
OH_AVCapability_GetAudioChannelCountRange (OH_AVCapability *capability, OH_AVRange *channelCountRange)获取音频编解码器支持的音频通道计数范围。
OH_AVCapability_GetVideoWidthAlignment (OH_AVCapability *capability, int32_t *widthAlignment)获取视频编解码器支持的视频宽度对齐。
OH_AVCapability_GetVideoHeightAlignment (OH_AVCapability *capability, int32_t *heightAlignment)获取视频编解码器支持的视频高度对齐。
OH_AVCapability_GetVideoWidthRangeForHeight (OH_AVCapability *capability, int32_t height, OH_AVRange *widthRange)获取指定高度情况下视频编解码器支持的视频宽度范围。
OH_AVCapability_GetVideoHeightRangeForWidth (OH_AVCapability *capability, int32_t width, OH_AVRange *heightRange)获取指定宽度情况下视频编解码器支持的视频高度范围。
OH_AVCapability_GetVideoWidthRange (OH_AVCapability *capability, OH_AVRange *widthRange)获取视频编解码器支持的视频宽度范围。
OH_AVCapability_GetVideoHeightRange (OH_AVCapability *capability, OH_AVRange *heightRange)获取视频编解码器支持的视频高度范围。
OH_AVCapability_IsVideoSizeSupported (OH_AVCapability *capability, int32_t width, int32_t height)检查视频编解码器是否支持特定的视频大小。
OH_AVCapability_GetVideoFrameRateRange (OH_AVCapability *capability, OH_AVRange *frameRateRange)获取视频编解码器支持的视频帧率范围。
OH_AVCapability_GetVideoFrameRateRangeForSize (OH_AVCapability *capability, int32_t width, int32_t height, OH_AVRange *frameRateRange)获取指定视频大小的视频编解码器支持的视频帧率范围。
OH_AVCapability_AreVideoSizeAndFrameRateSupported (OH_AVCapability *capability, int32_t width, int32_t height, int32_t frameRate)检查视频编解码器是否支持视频大小和帧率的特定组合。
OH_AVCapability_GetVideoSupportedPixelFormats (OH_AVCapability *capability, const int32_t **pixelFormats, uint32_t *pixelFormatNum)获取视频编解码器支持的视频像素格式。
OH_AVCapability_GetSupportedProfiles (OH_AVCapability *capability, const int32_t **profiles, uint32_t *profileNum)获取编解码器支持的配置文件。
OH_AVCapability_GetSupportedLevelsForProfile (OH_AVCapability *capability, int32_t profile, const int32_t **levels, uint32_t *levelNum)获取特定配置文件支持的编解码器级别。
OH_AVCapability_AreProfileAndLevelSupported (OH_AVCapability *capability, int32_t profile, int32_t level)检查编解码器是否支持配置文件和级别的特定组合。

变量

名称描述
OH_AVRange::minVal范围下限
OH_AVRange::maxVal范围上限

类型定义说明

OH_AVCodecCategory

typedef enum OH_AVCodecCategory OH_AVCodecCategory

描述:

编解码器类别。

@syscap SystemCapability.Multimedia.Media.CodecBase

起始版本:

10

OH_AVRange

typedef struct OH_AVRange OH_AVRange

描述:

范围包含最小值和最大值。

@syscap SystemCapability.Multimedia.Media.CodecBase

起始版本:

10

OH_BitrateMode

typedef enum OH_BitrateMode OH_BitrateMode

描述:

编码器的比特率模式。

@syscap SystemCapability.Multimedia.Media.CodecBase

起始版本:

10

枚举类型说明

OH_AVCodecCategory

enum OH_AVCodecCategory

描述:

编解码器类别。

@syscap SystemCapability.Multimedia.Media.CodecBase

起始版本:

10

枚举值描述
HARDWARE硬件编解码。
SOFTWARE软件编解码。

OH_BitrateMode

enum OH_BitrateMode

描述:

编码器的比特率模式。

@syscap SystemCapability.Multimedia.Media.CodecBase

起始版本:

10

枚举值描述
BITRATE_MODE_CBR恒定比特率模式。
BITRATE_MODE_VBR可变比特率模式。
BITRATE_MODE_CQ恒定质量模式。

函数说明

OH_AVCapability_AreProfileAndLevelSupported()

bool OH_AVCapability_AreProfileAndLevelSupported (OH_AVCapability *capability, int32_t profile, int32_t level)

描述:

检查编解码器是否支持配置文件和级别的特定组合。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability编解码能力指针
profile编解码器配置文件
level编解码器级别

返回:

如果支持配置文件和级别的组合,则返回true。 如果不支持,则为false。

起始版本:

10

OH_AVCapability_AreVideoSizeAndFrameRateSupported()

bool OH_AVCapability_AreVideoSizeAndFrameRateSupported (OH_AVCapability *capability, int32_t width, int32_t height, int32_t frameRate)

描述:

检查视频编解码器是否支持视频大小和帧率的特定组合。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability视频编解码能力指针。不能填入音频编解码器能力指针。
width视频水平像素数。
height视频垂直像素数。
frameRate每秒帧数。

返回:

如果支持视频大小和帧率的组合,则返回true。 如果不支持,则为false。

起始版本:

10

OH_AVCapability_GetAudioChannelCountRange()

OH_AVErrCode OH_AVCapability_GetAudioChannelCountRange (OH_AVCapability *capability, OH_AVRange *channelCountRange)

描述:

获取音频编解码器支持的音频通道计数范围。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability音频编解码能力指针。不能填入视频编解码器能力指针。
channelCountRange输出参数。音频通道计数范围。

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_GetAudioSupportedSampleRates()

OH_AVErrCode OH_AVCapability_GetAudioSupportedSampleRates (OH_AVCapability *capability, const int32_t **sampleRates, uint32_t *sampleRateNum)

描述:

获取音频编解码器支持的采样速率。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability音频编解码能力指针。不能填入视频编解码器能力指针。
sampleRates输出参数。指向采样速率数组的指针。
sampleRateNum输出参数。采样率数组的元素数目。

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_GetEncoderBitrateRange()

OH_AVErrCode OH_AVCapability_GetEncoderBitrateRange (OH_AVCapability *capability, OH_AVRange *bitrateRange)

描述:

获取编码器支持的比特率范围。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability编码器能力指针。不能填入解码器能力指针。
bitrateRange输出参数。编码器码率范围。

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_GetEncoderComplexityRange()

OH_AVErrCode OH_AVCapability_GetEncoderComplexityRange (OH_AVCapability *capability, OH_AVRange *complexityRange)

描述:

获取编码器支持的编码器复杂性范围。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability编码器能力指针。不能填入解码器能力指针。
complexityRange输出参数。编码器复杂度范围。

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_GetEncoderQualityRange()

OH_AVErrCode OH_AVCapability_GetEncoderQualityRange (OH_AVCapability *capability, OH_AVRange *qualityRange)

描述:

获取编码器支持的质量范围。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability编码器能力指针。不能填入解码器能力指针。
qualityRange输出参数。编码器质量范围。

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_GetMaxSupportedInstances()

int32_t OH_AVCapability_GetMaxSupportedInstances (OH_AVCapability *capability)

描述:

获取编解码器支持的最大实例数。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability编解码能力指针。

返回:

返回支持的最大编解码器实例数。

起始版本:

10

OH_AVCapability_GetName()

const char* OH_AVCapability_GetName (OH_AVCapability *capability)

描述:

获取编解码器名称。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability编解码能力指针。

返回:

返回编解码器名称字符串。

起始版本:

10

OH_AVCapability_GetSupportedLevelsForProfile()

OH_AVErrCode OH_AVCapability_GetSupportedLevelsForProfile (OH_AVCapability *capability, int32_t profile, const int32_t **levels, uint32_t *levelNum)

描述:

获取特定配置文件支持的编解码器级别。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability编解码能力指针。
profile编解码器配置文件。
levels输出参数。指向级别数组的指针。
levelNum输出参数。级别数组的元素数目。

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_GetSupportedProfiles()

OH_AVErrCode OH_AVCapability_GetSupportedProfiles (OH_AVCapability *capability, const int32_t **profiles, uint32_t *profileNum)

描述:

获取编解码器支持的配置文件。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability编解码能力指针。
profiles输出参数。指向配置文件数组的指针。
profileNum输出参数。配置文件数组的元素数目。

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_GetVideoFrameRateRange()

OH_AVErrCode OH_AVCapability_GetVideoFrameRateRange (OH_AVCapability *capability, OH_AVRange *frameRateRange)

描述:

获取视频编解码器支持的视频帧率范围。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability视频编解码能力指针。不能填入音频编解码器能力指针。
frameRateRange输出参数。视频帧率范围。

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_GetVideoFrameRateRangeForSize()

OH_AVErrCode OH_AVCapability_GetVideoFrameRateRangeForSize (OH_AVCapability *capability, int32_t width, int32_t height, OH_AVRange *frameRateRange)

描述:

获取指定视频大小的视频编解码器支持的视频帧率范围。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability视频编解码能力指针。不能填入音频编解码器能力指针。
width视频水平像素数。
height视频垂直像素数。
frameRateRange输出参数。视频帧率范围。

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_GetVideoHeightAlignment()

OH_AVErrCode OH_AVCapability_GetVideoHeightAlignment (OH_AVCapability *capability, int32_t *heightAlignment)

描述:

获取视频编解码器支持的视频高度对齐。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability视频编解码能力指针。不能填入音频编解码器能力指针。
heightAlignment输出参数。视频高度对齐。

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_GetVideoHeightRange()

OH_AVErrCode OH_AVCapability_GetVideoHeightRange (OH_AVCapability *capability, OH_AVRange *heightRange)

描述:

获取视频编解码器支持的视频高度范围。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability视频编解码能力指针。不能填入音频编解码器能力指针。
heightRange输出参数。视频高度范围。

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_GetVideoHeightRangeForWidth()

OH_AVErrCode OH_AVCapability_GetVideoHeightRangeForWidth (OH_AVCapability *capability, int32_t width, OH_AVRange *heightRange)

描述:

获取指定宽度情况下视频编解码器支持的视频高度范围。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability视频编解码能力指针。不能填入音频编解码器能力指针。
width视频水平像素数。
heightRange输出参数。视频高度范围。

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_GetVideoSupportedPixelFormats()

OH_AVErrCode OH_AVCapability_GetVideoSupportedPixelFormats (OH_AVCapability *capability, const int32_t **pixelFormats, uint32_t *pixelFormatNum)

描述:

获取视频编解码器支持的视频像素格式。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability视频编解码能力指针。不能填入音频编解码器能力指针。
pixelFormats输出参数。指向视频像素格式数组的指针。
pixelFormatNum输出参数。像素格式数组的元素数目。

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_GetVideoWidthAlignment()

OH_AVErrCode OH_AVCapability_GetVideoWidthAlignment (OH_AVCapability *capability, int32_t *widthAlignment)

描述:

获取视频编解码器支持的视频宽度对齐。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability视频编解码能力指针。不能填入音频编解码器能力指针。
widthAlignment输出参数。视频宽度对齐

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_GetVideoWidthRange()

OH_AVErrCode OH_AVCapability_GetVideoWidthRange (OH_AVCapability *capability, OH_AVRange *widthRange)

描述:

获取视频编解码器支持的视频宽度范围。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability视频编解码能力指针。不能填入音频编解码器能力指针。
widthRange输出参数。视频宽度范围

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_GetVideoWidthRangeForHeight()

OH_AVErrCode OH_AVCapability_GetVideoWidthRangeForHeight (OH_AVCapability *capability, int32_t height, OH_AVRange *widthRange)

描述:

获取指定高度情况下视频编解码器支持的视频宽度范围。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability视频编解码能力指针。不能填入音频编解码器能力指针。
height视频垂直像素数。
widthRange输出参数。视频宽度范围。

返回:

如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅OH_AVErrCode

起始版本:

10

OH_AVCapability_IsEncoderBitrateModeSupported()

bool OH_AVCapability_IsEncoderBitrateModeSupported (OH_AVCapability *capability, OH_BitrateMode bitrateMode)

描述:

检查编码器是否支持特定的比特率模式。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability编码器能力指针。不能填入解码器能力指针。
bitrateMode比特率模式。

返回:

如果支持该比特率模式,则返回true;如果不支持该比特率模式,则返回false。

起始版本:

10

OH_AVCapability_IsHardware()

bool OH_AVCapability_IsHardware (OH_AVCapability *capability)

描述:

检查能力实例是否描述了硬件编解码器。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability编解码能力指针。

返回:

如果能力实例描述的是硬件编解码器,则返回true, 如果功能实例描述的是软件编解码器,则为false。

起始版本:

10

OH_AVCapability_IsVideoSizeSupported()

bool OH_AVCapability_IsVideoSizeSupported (OH_AVCapability *capability, int32_t width, int32_t height)

描述:

检查视频编解码器是否支持特定的视频大小。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
capability视频编解码能力指针。不能填入音频编解码器能力指针。
width视频水平像素数。
height视频垂直像素数。

返回:

如果支持该视频大小,则返回true,如果不支持该视频大小,则返回false。

起始版本:

10

OH_AVCodec_GetCapability()

OH_AVCapability* OH_AVCodec_GetCapability (const char *mime, bool isEncoder)

描述:

获取系统推荐的编解码器能力。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
mimeMIME类型描述字符串,请参阅AVCODEC_MIMETYPE
isEncoder编码器为true,解码器为false。

返回:

如果现有编解码器匹配,则返回能力实例, 如果指定的MIME类型与任何现有编解码器不匹配,则返回NULL。

起始版本:

10

OH_AVCodec_GetCapabilityByCategory()

OH_AVCapability* OH_AVCodec_GetCapabilityByCategory (const char *mime, bool isEncoder, OH_AVCodecCategory category)

描述:

获取指定类别中的编解码器能力。

通过指定类别, 匹配的编解码器仅限于硬件编解码器或软件编解码器。

@syscap SystemCapability.Multimedia.Media.CodecBase

参数:

名称描述
mimeMIME类型描述字符串,请参阅AVCODEC_MIMETYPE
isEncoder编码器为true,解码器为false。
category编解码器类别。

返回:

如果现有编解码器匹配,则返回能力实例, 如果指定的MIME类型与任何现有编解码器不匹配,则返回NULL。

起始版本:

10

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Native API

harmony 鸿蒙AVDemuxer

harmony 鸿蒙AVMuxer

harmony 鸿蒙AVScreenCapture

harmony 鸿蒙AVSource

harmony 鸿蒙AudioDecoder

harmony 鸿蒙AudioEncoder

harmony 鸿蒙CodecBase

harmony 鸿蒙Core

harmony 鸿蒙Drawing

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/4ba636cc3f224060b257501c28b38b87