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
参数:
名称 | 描述 |
---|---|
mime | MIME类型描述字符串,请参阅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
参数:
名称 | 描述 |
---|---|
mime | MIME类型描述字符串,请参阅AVCODEC_MIMETYPE。 |
isEncoder | 编码器为true,解码器为false。 |
category | 编解码器类别。 |
返回:
如果现有编解码器匹配,则返回能力实例, 如果指定的MIME类型与任何现有编解码器不匹配,则返回NULL。
起始版本:
10