harmony 鸿蒙CodecBase

2025-06-12 浏览 (1)

CodecBase

概述

CodecBase模块提供用于音视频封装、解封装、编解码基础功能的变量、属性以及函数。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

媒体编解码格式

用于描述媒体编解码格式的名字如下表。类型是常量字符串。

名称描述
OH_AVCODEC_MIMETYPE_AUDIO_AACAAC音频编解码器的MIME类型。
OH_AVCODEC_MIMETYPE_AUDIO_FLACFLAC音频编解码器的MIME类型。
OH_AVCODEC_MIMETYPE_AUDIO_OPUSOPUS音频编解码器的MIME类型。(此规格暂未开放)
OH_AVCODEC_MIMETYPE_AUDIO_G711MUG711MU音频编解码器的MIME类型。
OH_AVCODEC_MIMETYPE_AUDIO_RAWRAW音频码流的MIME类型。
OH_AVCODEC_MIMETYPE_AUDIO_VORBISVORBIS音频解码器的MIME类型。
OH_AVCODEC_MIMETYPE_AUDIO_MPEGMP3音频解码器的MIME类型。
OH_AVCODEC_MIMETYPE_AUDIO_VIVIDAudio Vivid音频解码器的MIME类型。(此规格暂未开放)
OH_AVCODEC_MIMETYPE_AUDIO_AMR_NBAMR_NB音频解码器的MIME类型。
OH_AVCODEC_MIMETYPE_AUDIO_AMR_WBAMR_WB音频解码器的MIME类型。
OH_AVCODEC_MIMETYPE_AUDIO_APEAPE音频解码器的MIME类型。
OH_AVCODEC_MIMETYPE_VIDEO_VVCVVC(H.266)视频编解码器的MIME类型。
OH_AVCODEC_MIMETYPE_VIDEO_HEVCHEVC(H.265)视频编解码器的MIME类型。
OH_AVCODEC_MIMETYPE_VIDEO_AVCAVC(H.264)视频编解码器的MIME类型。
OH_AVCODEC_MIMETYPE_VIDEO_H263H.263视频编解码器的MIME类型。
OH_AVCODEC_MIMETYPE_VIDEO_MPEG4MPEG4视频编码的MIME类型,仅用于封装MPEG4视频码流使用。(API11废弃)
OH_AVCODEC_MIMETYPE_VIDEO_MPEG4_PART2视频MPEG4 Part2编解码器的MIME类型。
OH_AVCODEC_MIMETYPE_VIDEO_MPEG2视频MPEG2编解码器的MIME类型。
OH_AVCODEC_MIMETYPE_IMAGE_JPGJPG图片编码的MIME类型,仅用于封装JPG封面时使用。
OH_AVCODEC_MIMETYPE_IMAGE_PNGPNG图片编码的MIME类型,仅用于封装PNG封面时使用。
OH_AVCODEC_MIMETYPE_IMAGE_BMPBMP图片编码的MIME类型,仅用于封装BMP封面时使用。
OH_AVCODEC_MIMETYPE_SUBTITLE_WEBVTTWEBVTT字幕解封装器的MIME类型。
OH_AVCODEC_MIMETYPE_SUBTITLE_SRTSRT字幕解封装器的MIME类型。

媒体数据键值对

用于描述媒体数据的键值对查找表如下。键的类型是常量字符串,值的类型可以是int32_t/int64_t/float/double/char */uint8_t *。

使用以下key的主要接口是OH_AVFormat,通过以下key可以进行参数配置或查询。

能力查询专有的键值对:

名称描述
OH_FEATURE_PROPERTY_KEY_VIDEO_ENCODER_MAX_LTR_FRAME_COUNT在视频编码中获取长期参考帧的最大个数的键,值类型为int32_t。

音视频公共的键值对:

名称描述
OH_MD_KEY_CODEC_CONFIG编解码器特定数据的键,视频中表示传递SPS/PPS,音频中表示传递extraData,值类型为uint8_t*。该键是可选的。 (视频编解码此功能暂未支持)
OH_MD_MAX_INPUT_BUFFER_COUNT最大输入缓冲区个数的键,值类型为int32_t。该键是可选的。
OH_MD_MAX_OUTPUT_BUFFER_COUNT最大输出缓冲区个数的键,值类型int32_t。该键是可选的。
OH_MD_KEY_BITRATE比特率的键,值类型为int64_t。该键用于音视频编码场景。在视频编码场景下该键是可选的。
OH_MD_KEY_PROFILE编码档次,值类型为int32_t,请参见OH_AVCProfileOH_HEVCProfileOH_AACProfile。该键是可选的。
OH_MD_KEY_MAX_INPUT_SIZE设置解码输入码流大小最大值的键,值类型为int32_t。该键是可选的。

视频专有的键值对:

名称描述
OH_ED_KEY_TIME_STAMP表示surfacebuffer时间戳的键,值类型为int64_t。该键是可选的。(API14废弃)
OH_ED_KEY_EOS表示surfacebuffer流结束符的键,值类型为int32_t。该键是可选的。(API14废弃)
OH_MD_KEY_WIDTH视频宽度的键,值类型为int32_t。
OH_MD_KEY_HEIGHT视频高度键,值类型为int32_t。
OH_MD_KEY_PIXEL_FORMAT视频像素格式的键,值类型为int32_t,请参见OH_AVPixelFormat
OH_MD_KEY_FRAME_RATE视频帧率的键,值类型为double。该键是可选的。
OH_MD_KEY_RANGE_FLAG视频YUV值域标志的键,值类型为int32_t,1表示full range,0表示limited range。该键是可选的。
OH_MD_KEY_COLOR_PRIMARIES视频色域的键,值类型为int32_t,请参见OH_ColorPrimary,遵循H.273标准Table2。该键是可选的。
OH_MD_KEY_TRANSFER_CHARACTERISTICS视频传递函数的键,值类型为int32_t,请参见OH_TransferCharacteristic,遵循H.273标准Table3。该键是可选的。
OH_MD_KEY_MATRIX_COEFFICIENTS视频矩阵系数的键,值类型为int32_t,请参见OH_MatrixCoefficient,遵循H.273标准Table4。该键是可选的。
OH_MD_KEY_VIDEO_STRIDE描述视频帧宽跨距的键,值类型为int32_t。该键是可选的。
OH_MD_KEY_VIDEO_SLICE_HEIGHT描述视频帧高跨距的键,值类型为int32_t。该键是可选的。
OH_MD_KEY_VIDEO_PIC_WIDTH描述视频帧真实宽度的键,值类型为int32_t。该键是可选的。
OH_MD_KEY_VIDEO_PIC_HEIGHT描述视频帧真实高度的键,值类型为int32_t。该键是可选的。
OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY使能低时延视频编解码的键,值类型为int32_t,1表示使能,0表示其它情况。该键是可选,在Configure阶段使用。
OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE视频编码码率模式,值类型为int32_t,请参见OH_BitrateMode。该键是可选的。
OH_MD_KEY_QUALITY所需编码质量的键。值类型为int32_t,此键仅适用于配置在恒定质量模式下的编码器。该键是可选的。
OH_MD_KEY_REQUEST_I_FRAME请求立即编码I帧的键。值类型为int32_t。该键是可选的。
OH_MD_KEY_I_FRAME_INTERVAL关键帧间隔的键,值类型为int32_t,单位为毫秒。该键是可选的且只用于视频编码。
OH_MD_KEY_VIDEO_ENCODER_ENABLE_TEMPORAL_SCALABILITY使能分层编码的键,值类型为int32_t,1表示使能,0表示其它情况。该键是可选的且只用于视频编码,在Configure阶段使用。
OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_SIZE描述图片组基本层图片的间隔大小的键,值类型为int32_t,只在使能分层编码时生效。该键是可选的且只用于视频编码,在Configure阶段使用。
OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_REFERENCE_MODE描述图片组内参考模式的键,值类型为int32_t,请参见OH_TemporalGopReferenceMode,只在使能分层编码时生效。该键是可选的且只用于视频编码,在Configure阶段使用。
OH_MD_KEY_VIDEO_ENCODER_LTR_FRAME_COUNT描述长期参考帧个数的键,值类型为int32_t,必须在支持的值范围内使用。该键是可选的且只用于视频编码。
OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_MARK_LTR标记当前帧为长期参考帧的键,值类型为int32_t,1表示被标记,0表示其它情况。该键是可选的且只用于视频编码。
OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_USE_LTR描述当前帧参考的长期参考帧帧的POC号的键,值类型为int32_t。该键是可选的且只用于视频编码。
OH_MD_KEY_VIDEO_PER_FRAME_IS_LTR当前OH_AVBuffer中输出的码流对应的帧是否为长期参考帧的键,值类型为int32_t,1表示是LTR,0表示其它情况。该键是可选的且只用于视频编码。
OH_MD_KEY_VIDEO_PER_FRAME_POC描述帧的POC号的键,值类型为int32_t。该键是可选的且只用于视频编码。
OH_MD_KEY_VIDEO_ENCODER_QP_MAX描述视频编码器允许的最大量化参数的键,值类型为int32_t。该键是可选的且只用于视频编码。
OH_MD_KEY_VIDEO_ENCODER_QP_MIN描述视频编码器允许的最小量化参数的键,值类型为int32_t。该键是可选的且只用于视频编码。
OH_MD_KEY_VIDEO_ENCODER_QP_AVERAGE描述视频帧平均量化参数的键,值类型为int32_t。该键是可选的且只用于视频编码。
OH_MD_KEY_VIDEO_ENCODER_MSE描述视频帧平方误差的键,值类型为double。该键是可选的且只用于视频编码。
OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_FRAME_AFTER如果在上一帧提交给编码器之后没有新的帧可用,则会以毫秒为单位重复提交最后一帧,值类型为int32_t。该键只用于视频编码Surface模式,在Configure阶段使用。
OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_MAX_COUNT描述编码器在没有新的帧可用的情况下,可以对之前的帧进行重复编码的最大次数,值类型为int32_t。该键仅在OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_FRAME_AFTER可用时生效,在Configure阶段使用。
OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE设置视频解码器输出色彩空间的键,值类型为int32_t。 支持的值为OH_COLORSPACE_BT709_LIMIT。
OH_MD_KEY_ROTATIONsurface旋转角度的键。值类型为int32_t:应为{0, 90, 180, 270},默认值为0。该键只在视频解码Surface模式下使用。该键是可选的。
OH_MD_KEY_SCALING_MODE视频缩放模式,值类型为int32_t,请参见OH_ScalingMode。该键是可选的且只用于视频解码Surface模式。建议直接调用OH_NativeWindow_NativeWindowSetScalingModeV2接口进行设置。(API14废弃)
OH_MD_KEY_VIDEO_CROP_TOP描述裁剪矩形顶部坐标(y)值的键,值类型为int32_t。该键是可选的且只用于视频解码。
OH_MD_KEY_VIDEO_CROP_BOTTOM描述裁剪矩形底部坐标(y)值的键,值类型为int32_t。该键是可选的且只用于视频解码。
OH_MD_KEY_VIDEO_CROP_LEFT描述裁剪矩形左坐标(x)值的键,值类型为int32_t。该键是可选的且只用于视频解码。
OH_MD_KEY_VIDEO_CROP_RIGHT描述裁剪矩形右坐标(x)值的键,值类型为int32_t。该键是可选的且只用于视频解码。
OH_MD_KEY_VIDEO_DECODER_OUTPUT_ENABLE_VRR解码器是否打开视频可变帧率功能的键,值类型为int32_t。该键是可选的且只用于视频解码。
OH_MD_KEY_SQR_FACTOR描述SQR码控模式的质量参数,值越小,编码输出文件越大,质量越好,值类型为int32_t。该键值是可选的且只用于视频编码。
OH_MD_KEY_MAX_BITRATE描述SQR码控模式的最大码率,单位bps,值类型为int64_t。该键值是可选的且只用于视频编码。
OH_MD_KEY_VIDEO_ENCODER_ROI_PARAMS描述ROI编码参数,包括ROI区域和deltaQp,值类型为string。该键值是可选的且只用于视频编码。

音频专有的键值对:

名称描述
OH_MD_KEY_AUDIO_SAMPLE_FORMAT音频原始格式的键,值类型为int32_t。请参见OH_BitsPerSample
OH_MD_KEY_AUD_CHANNEL_COUNT音频通道计数键,值类型为int32_t。
OH_MD_KEY_AUD_SAMPLE_RATE音频采样率键,值类型为int32_t。
OH_MD_KEY_AUDIO_COMPRESSION_LEVEL音频编解码压缩水平的键,只在音频编码使用,值类型为int32_t。该键是可选的。
OH_MD_KEY_CHANNEL_LAYOUT所需编码通道布局的键。值类型为int64_t,此键仅适用于编码器。请参见OH_AudioChannelLayout
OH_MD_KEY_BITS_PER_CODED_SAMPLE每个编码样本位数的键,值类型为int32_t,支持flac编码器,请参见OH_BitsPerSample。该键是可选的。
OH_MD_KEY_SBRaac sbr模式的键,值类型为int32_t,aac编码器支持。该键是可选的。
OH_MD_KEY_COMPLIANCE_LEVELflac兼容性等级的键,值类型为int32_t,仅在音频编码使用。该键是可选的。
OH_MD_KEY_AAC_IS_ADTSaac格式的键,aac格式分为ADTS格式和LATM格式。值类型为int32_t,aac解码器支持。该键是可选的。
OH_MD_KEY_IDENTIFICATION_HEADERvorbis标识头的键,值类型为uint8_t*,仅vorbis解码器支持。该键是可选的。
OH_MD_KEY_SETUP_HEADERvorbis设置头的键,值类型为uint8_t*,仅vorbis解码器支持。该键是可选的。
OH_MD_KEY_AUDIO_OBJECT_NUMBER音频对象数目的键,值类型为int32_t,只有Audio Vivid解码使用。该键是可选的。
OH_MD_KEY_AUDIO_VIVID_METADATAAudio Vivid元数据的键,值类型为uint8_t*,只有Audio Vivid解码使用。该键是可选的。

封装/解封装专有的键值对:

名称描述
OH_MD_KEY_VIDEO_IS_HDR_VIVID媒体文件中的视频轨是否为HDR Vivid的键,支持封装和解封装,值类型为int32_t。该键是可选的。
OH_MD_KEY_START_TIME媒体文件中第一帧起始位置开始时间的键,以微秒为单位,值类型为int64_t。该键是可选的。
OH_MD_KEY_TRACK_START_TIME轨道开始时间的键,以微秒为单位,值类型为int64_t。该键是可选的。
OH_MD_KEY_TRACK_TYPE轨道媒体类型的键,值类型为int32_t,请参见OH_MediaType。该键是可选的。
OH_MD_KEY_DURATION媒体文件持续时间的键,值类型为int64_t。该键是可选的。
OH_MD_KEY_TITLE媒体文件标题的键,值类型为string。该键是可选的。
OH_MD_KEY_ARTIST艺术家的键,值类型为string。该键是可选的。
OH_MD_KEY_ALBUM专辑的媒体文件的键,值类型为string。该键是可选的。
OH_MD_KEY_ALBUM_ARTIST专辑艺术家的键,值类型为string。该键是可选的。
OH_MD_KEY_DATE媒体文件日期的键,值类型为string,例如2024年。该键是可选的。
OH_MD_KEY_COMMENT媒体文件注释的键,值类型为string。该键是可选的。
OH_MD_KEY_GENRE媒体文件流派的键,值类型为string。该键是可选的。
OH_MD_KEY_COPYRIGHT媒体文件版权的键,值类型为string。该键是可选的。
OH_MD_KEY_LANGUAGE媒体文件语言的键,值类型为string。该键是可选的。
OH_MD_KEY_DESCRIPTION媒体文件描述的键,值类型为string。该键是可选的。
OH_MD_KEY_LYRICS媒体文件歌词的键,值类型为string。该键是可选的。
OH_MD_KEY_TRACK_COUNT媒体文件轨道数量的键,值类型为int32_t。该键是可选的。
OH_MD_KEY_BUFFER_DURATIONAVBuffer中携带的音视频或字幕的sample对应的持续时间的键,以微秒为单位,值类型为int64_t。该键是可选的。
OH_MD_KEY_DECODING_TIMESTAMPAVBuffer中携带的音视频或字幕的sample对应的解码时间戳的键,以微秒为单位,值类型为int64_t。该键是可选的。
OH_MD_KEY_CODEC_MIME编解码器MIME类型的键,值类型为string。该键是可选的。
OH_MD_KEY_VIDEO_SAR样本长宽比的键,值类型为double。
OH_MD_KEY_CREATION_TIME媒体文件创建时间的元数据,值类型为string。

汇总

文件

名称描述
avcodec_audio_channel_layout.h音频编解码枚举的声明。
native_avcodec_base.h音视频封装、解封装、编解码基础功能Native API的声明。

结构体

名称描述
struct OH_AVCodecAsyncCallbackOH_AVCodec中所有异步回调函数指针的集合。(API11废弃)
struct OH_AVCodecCallbackOH_AVCodec中所有异步回调函数指针的集合。
struct OH_AVDataSource用户自定义数据源。

类型定义

名称描述
typedef struct NativeWindow OHNativeWindow为图形接口定义native层对象。
typedef struct OH_AVCodec OH_AVCodec为音视频编解码接口定义native层对象。
typedef void(* OH_AVCodecOnError) (OH_AVCodec *codec, int32_t errorCode, void *userData)当OH_AVCodec实例运行出错时,会调用来上报具体的错误信息的函数指针。
typedef void(* OH_AVCodecOnStreamChanged) (OH_AVCodec *codec, OH_AVFormat *format, void *userData)当视频解码输入码流分辨率或者视频编码输出码流的分辨率发生变化时,将调用此函数指针报告新的流描述信息。
从API 15开始,支持音频解码时,码流采样率、声道数或者音频采样格式发生变化时,将调用此函数指针报告新的流描述信息,支持检测此变化的解码格式有:AAC,FLAC,MP3,VORBIS。
typedef void(* OH_AVCodecOnNeedInputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, void *userData)当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。(API11废弃)
typedef void(* OH_AVCodecOnNewOutputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, OH_AVCodecBufferAttr *attr, void *userData)当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。(API11废弃)
typedef void(* OH_AVCodecOnNeedInputBuffer) (OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData)当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。
typedef void(* OH_AVCodecOnNewOutputBuffer) (OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData)当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。
typedef struct OH_AVCodecAsyncCallback OH_AVCodecAsyncCallbackOH_AVCodec中所有异步回调函数指针的集合。(API11废弃)
typedef struct OH_AVCodecCallback OH_AVCodecCallbackOH_AVCodec中所有异步回调函数指针的集合。
typedef int32_t(* OH_AVDataSourceReadAt) (OH_AVBuffer *data, int32_t length, int64_t pos)函数指针定义,用于提供获取用户自定义媒体数据的能力。
typedef struct OH_AVDataSource OH_AVDataSource用户自定义数据源。
typedef enum OH_MediaType OH_MediaType媒体类型。
typedef enum OH_AACProfile OH_AACProfileAAC档次。
typedef enum OH_AVCProfile OH_AVCProfileAVC档次。
typedef enum OH_HEVCProfile OH_HEVCProfileHEVC档次。
typedef enum OH_VVCProfile OH_VVCProfileVVC档次。
typedef enum OH_H263Profile OH_H263ProfileH.263档次。
typedef enum OH_MPEG2Profile OH_MPEG2ProfileMPEG2档次。
typedef enum OH_MPEG4Profile OH_MPEG4ProfileMPEG4档次。
typedef enum OH_AVOutputFormat OH_AVOutputFormat封装器支持的输出文件格式。
typedef enum OH_AVSeekMode OH_AVSeekMode跳转模式。
typedef enum OH_ScalingMode OH_ScalingMode缩放模式,只在Surface模式下使用。(API14废弃)
typedef enum OH_BitsPerSample OH_BitsPerSample每个编码样本的音频位数。
typedef enum OH_ColorPrimary OH_ColorPrimary色域。
typedef enum OH_TransferCharacteristic OH_TransferCharacteristic转移特性。
typedef enum OH_MatrixCoefficient OH_MatrixCoefficient矩阵系数。
typedef enum OH_AVCLevel OH_AVCLevelAVC级别。
typedef enum OH_HEVCLevel OH_HEVCLevelHEVC级别。
typedef enum OH_VVCLevel OH_VVCLevelVVC级别。
typedef enum OH_H263Level OH_H263Level H.263级别。
typedef enum OH_MPEG2Level OH_MPEG2LevelMPEG2级别。
typedef enum OH_MPEG4Level OH_MPEG4LevelMPEG4级别。
typedef enum OH_TemporalGopReferenceMode OH_TemporalGopReferenceMode时域图片组参考模式。
typedef enum OH_BitrateMode OH_BitrateMode编码器的比特率模式。

枚举

名称描述
AudioChannelSet : uint64_t {
FRONT_LEFT = 1ULL << 0U,
FRONT_RIGHT = 1ULL << 1U,
FRONT_CENTER = 1ULL << 2U,
LOW_FREQUENCY = 1ULL << 3U,
BACK_LEFT = 1ULL << 4U,
BACK_RIGHT = 1ULL << 5U,
FRONT_LEFT_OF_CENTER = 1ULL << 6U,
FRONT_RIGHT_OF_CENTER = 1ULL << 7U,
BACK_CENTER = 1ULL << 8U,
SIDE_LEFT = 1ULL << 9U,
SIDE_RIGHT = 1ULL << 10U,
TOP_CENTER = 1ULL << 11U,
TOP_FRONT_LEFT = 1ULL << 12U,
TOP_FRONT_CENTER = 1ULL << 13U,
TOP_FRONT_RIGHT = 1ULL << 14U,
TOP_BACK_LEFT = 1ULL << 15U,
TOP_BACK_CENTER = 1ULL << 16U,
TOP_BACK_RIGHT = 1ULL << 17U,
STEREO_LEFT = 1ULL << 29U,
STEREO_RIGHT = 1ULL << 30U,
WIDE_LEFT = 1ULL << 31U,
WIDE_RIGHT = 1ULL << 32U,
SURROUND_DIRECT_LEFT = 1ULL << 33U,
SURROUND_DIRECT_RIGHT = 1ULL << 34U,
LOW_FREQUENCY_2 = 1ULL << 35U,
TOP_SIDE_LEFT = 1ULL << 36U,
TOP_SIDE_RIGHT = 1ULL << 37U,
BOTTOM_FRONT_CENTER = 1ULL << 38U,
BOTTOM_FRONT_LEFT = 1ULL << 39U,
BOTTOM_FRONT_RIGHT = 1ULL << 40U,
AMBISONICS_ACN0 = 1ULL << 41U,
AMBISONICS_ACN1 = 1ULL << 42U,
AMBISONICS_ACN2 = 1ULL << 43U,
AMBISONICS_ACN3 = 1ULL << 44U,
AMBISONICS_W = AMBISONICS_ACN0,
AMBISONICS_Y = AMBISONICS_ACN1,
AMBISONICS_Z = AMBISONICS_ACN2,
AMBISONICS_X = AMBISONICS_ACN3,
AMBISONICS_ACN4 = 1ULL << 45U,
AMBISONICS_ACN5 = 1ULL << 46U,
AMBISONICS_ACN6 = 1ULL << 47U,
AMBISONICS_ACN7 = 1ULL << 48U,
AMBISONICS_ACN8 = 1ULL << 49U,
AMBISONICS_ACN9 = 1ULL << 50U,
AMBISONICS_ACN10 = 1ULL << 51U,
AMBISONICS_ACN11 = 1ULL << 52U,
AMBISONICS_ACN12 = 1ULL << 53U,
AMBISONICS_ACN13 = 1ULL << 54U,
AMBISONICS_ACN14 = 1ULL << 55U,
AMBISONICS_ACN15 = 1ULL << 56U
}
音频声道数集合, 将每一个声道数映射为int64_t的变量。(API11废弃)
AudioChannelLayout : uint64_t {
UNKNOWN_CHANNEL_LAYOUT = 0,
MONO = (AudioChannelSet::FRONT_CENTER),
STEREO = (AudioChannelSet::FRONT_LEFT |AudioChannelSet::FRONT_RIGHT),
CH_2POINT1 = (STEREO |AudioChannelSet::LOW_FREQUENCY),
CH_2_1 = (STEREO |AudioChannelSet::BACK_CENTER),
SURROUND = (STEREO |AudioChannelSet::FRONT_CENTER),
CH_3POINT1 = (SURROUND |AudioChannelSet::LOW_FREQUENCY),
CH_4POINT0 = (SURROUND |AudioChannelSet::BACK_CENTER),
CH_4POINT1 = (CH_4POINT0 |AudioChannelSet::LOW_FREQUENCY),
CH_2_2 = (STEREO |AudioChannelSet::SIDE_LEFT |AudioChannelSet::SIDE_RIGHT),
QUAD = (STEREO |AudioChannelSet::BACK_LEFT |AudioChannelSet::BACK_RIGHT),
CH_5POINT0 = (SURROUND |AudioChannelSet::SIDE_LEFT |AudioChannelSet::SIDE_RIGHT),
CH_5POINT1 = (CH_5POINT0 |AudioChannelSet::LOW_FREQUENCY),
CH_5POINT0_BACK = (SURROUND |AudioChannelSet::BACK_LEFT |AudioChannelSet::BACK_RIGHT),
CH_5POINT1_BACK = (CH_5POINT0_BACK |AudioChannelSet::LOW_FREQUENCY),
CH_6POINT0 = (CH_5POINT0 |AudioChannelSet::BACK_CENTER),
CH_6POINT0_FRONT = (CH_2_2 |AudioChannelSet::FRONT_LEFT_OF_CENTER |AudioChannelSet::FRONT_RIGHT_OF_CENTER),
HEXAGONAL = (CH_5POINT0_BACK |AudioChannelSet::BACK_CENTER),
CH_6POINT1 = (CH_5POINT1 |AudioChannelSet::BACK_CENTER),
CH_6POINT1_BACK = (CH_5POINT1_BACK |AudioChannelSet::BACK_CENTER),
CH_6POINT1_FRONT = (CH_6POINT0_FRONT |AudioChannelSet::LOW_FREQUENCY),
CH_7POINT0 = (CH_5POINT0 |AudioChannelSet::BACK_LEFT |AudioChannelSet::BACK_RIGHT),
CH_7POINT0_FRONT = (CH_5POINT0 |AudioChannelSet::FRONT_LEFT_OF_CENTER |AudioChannelSet::FRONT_RIGHT_OF_CENTER),
CH_7POINT1 = (CH_5POINT1 |AudioChannelSet::BACK_LEFT |AudioChannelSet::BACK_RIGHT),
CH_7POINT1_WIDE = (CH_5POINT1 |AudioChannelSet::FRONT_LEFT_OF_CENTER |AudioChannelSet::FRONT_RIGHT_OF_CENTER),
CH_7POINT1_WIDE_BACK, CH_3POINT1POINT2 = (CH_3POINT1 |AudioChannelSet::TOP_FRONT_LEFT |AudioChannelSet::TOP_FRONT_RIGHT),
CH_5POINT1POINT2 = (CH_5POINT1 |AudioChannelSet::TOP_SIDE_LEFT |AudioChannelSet::TOP_SIDE_RIGHT),
CH_5POINT1POINT4, CH_7POINT1POINT2 = (CH_7POINT1 |AudioChannelSet::TOP_SIDE_LEFT |AudioChannelSet::TOP_SIDE_RIGHT),
CH_7POINT1POINT4, CH_9POINT1POINT4 = (CH_7POINT1POINT4 |AudioChannelSet::WIDE_LEFT |AudioChannelSet::WIDE_RIGHT),
CH_9POINT1POINT6 = (CH_9POINT1POINT4 |AudioChannelSet::TOP_SIDE_LEFT |AudioChannelSet::TOP_SIDE_RIGHT),
CH_10POINT2, CH_22POINT2, OCTAGONAL = (CH_5POINT0 |AudioChannelSet::BACK_LEFT |AudioChannelSet::BACK_CENTER |AudioChannelSet::BACK_RIGHT),
HEXADECAGONAL, STEREO_DOWNMIX = (AudioChannelSet::STEREO_LEFT |AudioChannelSet::STEREO_RIGHT),
HOA_FIRST,
HOA_SECOND,
HOA_THIRD
}
音频声道数类型,将用户申请的解码器输出格式表示为编解码器的声道类型。(API11废弃)
OH_MediaType {
MEDIA_TYPE_AUD = 0,
MEDIA_TYPE_VID = 1,
MEDIA_TYPE_SUBTITILE = 2
}
媒体类型。
OH_AACProfile {
AAC_PROFILE_LC = 0,
AAC_PROFILE_HE = 3,
AAC_PROFILE_HE_V2 = 4
}
AAC档次。
(AAC_PROFILE_HE, AAC_PROFILE_HE_V2暂未开放)
OH_AVCProfile {
AVC_PROFILE_BASELINE = 0,
AVC_PROFILE_HIGH = 4,
AVC_PROFILE_MAIN = 8
}
AVC档次。
OH_HEVCProfile {
HEVC_PROFILE_MAIN = 0,
HEVC_PROFILE_MAIN_10 = 1,
HEVC_PROFILE_MAIN_STILL = 2,
HEVC_PROFILE_MAIN_10_HDR10 = 3,
HEVC_PROFILE_MAIN_10_HDR10_PLUS = 4
}
HEVC档次。
(HEVC_PROFILE_MAIN_10_HDR10、HEVC_PROFILE_MAIN_10_HDR10_PLUS在API 14废弃)。
OH_VVCProfile {
VVC_PROFILE_MAIN_10 = 1,
VVC_PROFILE_MAIN_12 = 2,
VVC_PROFILE_MAIN_12_INTRA = 10,
VVC_PROFILE_MULTI_MAIN_10 = 17,
VVC_PROFILE_MAIN_10_444 = 33,
VVC_PROFILE_MAIN_12_444 = 34,
VVC_PROFILE_MAIN_16_444 = 36,
VVC_PROFILE_MAIN_12_444_INTRA = 42,
VVC_PROFILE_MAIN_16_444_INTRA = 44,
VVC_PROFILE_MULTI_MAIN_10_444 = 49,
VVC_PROFILE_MAIN_10_STILL = 65,
VVC_PROFILE_MAIN_12_STILL = 66,
VVC_PROFILE_MAIN_10_444_STILL = 97,
VVC_PROFILE_MAIN_12_444_STILL = 98,
VVC_PROFILE_MAIN_16_444_STILL = 100
}
VVC档次。
OH_H263Profile {
H263_PROFILE_BASELINE = 0,
H263_PROFILE_VERSION_1_BACKWARD_COMPATIBILITY = 2
}
H.263档次。
OH_MPEG2Profile {
MPEG2_PROFILE_SIMPLE = 0,
MPEG2_PROFILE_MAIN = 1,
MPEG2_PROFILE_SNR = 2,
MPEG2_PROFILE_SPATIAL = 3,
MPEG2_PROFILE_HIGH = 4,
MPEG2_PROFILE_422 = 5
}
MPEG2档次。
OH_MPEG4Profile {
MPEG4_PROFILE_SIMPLE = 0,
MPEG4_PROFILE_SIMPLE_SCALABLE = 1,
MPEG4_PROFILE_CORE = 2,
MPEG4_PROFILE_MAIN = 3,
MPEG4_PROFILE_NBIT = 4,
MPEG4_PROFILE_HYBRID = 5,
MPEG4_PROFILE_BASIC_ANIMATED_TEXTURE = 6,
MPEG4_PROFILE_SCALABLE_TEXTURE = 7,
MPEG4_PROFILE_SIMPLE_FA = 8,
MPEG4_PROFILE_ADVANCED_REAL_TIME_SIMPLE = 9,
MPEG4_PROFILE_CORE_SCALABLE = 10,
MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY = 11,
MPEG4_PROFILE_ADVANCED_CORE = 12,
MPEG4_PROFILE_ADVANCED_SCALABLE_TEXTURE = 13,
MPEG4_PROFILE_ADVANCED_SIMPLE = 17
}
MPEG4档次。
OH_AVOutputFormat {
AV_OUTPUT_FORMAT_DEFAULT = 0,
AV_OUTPUT_FORMAT_MPEG_4 = 2,
AV_OUTPUT_FORMAT_M4A = 6,
AV_OUTPUT_FORMAT_AMR = 8,
AV_OUTPUT_FORMAT_MP3 = 9,
AV_OUTPUT_FORMAT_WAV = 10,
AV_OUTPUT_FORMAT_AAC = 11
}
封装器支持的输出文件格式。
OH_AVSeekMode {
SEEK_MODE_NEXT_SYNC = 0,
SEEK_MODE_PREVIOUS_SYNC,
SEEK_MODE_CLOSEST_SYNC
}
跳转模式。
OH_ScalingMode {
SCALING_MODE_SCALE_TO_WINDOW = 1,
SCALING_MODE_SCALE_CROP = 2
}
缩放模式。(API14废弃)
OH_BitsPerSample {
SAMPLE_U8 = 0, SAMPLE_S16LE = 1,
SAMPLE_S24LE = 2, SAMPLE_S32LE = 3,
SAMPLE_F32LE = 4, SAMPLE_U8P = 5,
SAMPLE_S16P = 6, SAMPLE_S24P = 7,
SAMPLE_S32P = 8, SAMPLE_F32P = 9,
INVALID_WIDTH = -1
}
每个编码样本的音频位数。
OH_ColorPrimary {
COLOR_PRIMARY_BT709 = 1,
COLOR_PRIMARY_UNSPECIFIED = 2,
COLOR_PRIMARY_BT470_M = 4,
COLOR_PRIMARY_BT601_625 = 5,
COLOR_PRIMARY_BT601_525 = 6,
COLOR_PRIMARY_SMPTE_ST240 = 7,
COLOR_PRIMARY_GENERIC_FILM = 8,
COLOR_PRIMARY_BT2020 = 9,
COLOR_PRIMARY_SMPTE_ST428 = 10,
COLOR_PRIMARY_P3DCI = 11,
COLOR_PRIMARY_P3D65 = 12
}
色域。
OH_TransferCharacteristic {
TRANSFER_CHARACTERISTIC_BT709 = 1,
TRANSFER_CHARACTERISTIC_UNSPECIFIED = 2,
TRANSFER_CHARACTERISTIC_GAMMA_2_2 = 4,
TRANSFER_CHARACTERISTIC_GAMMA_2_8 = 5,
TRANSFER_CHARACTERISTIC_BT601 = 6,
TRANSFER_CHARACTERISTIC_SMPTE_ST240 = 7,
TRANSFER_CHARACTERISTIC_LINEAR = 8,
TRANSFER_CHARACTERISTIC_LOG = 9,
TRANSFER_CHARACTERISTIC_LOG_SQRT = 10,
TRANSFER_CHARACTERISTIC_IEC_61966_2_4 = 11,
TRANSFER_CHARACTERISTIC_BT1361 = 12,
TRANSFER_CHARACTERISTIC_IEC_61966_2_1 = 13,
TRANSFER_CHARACTERISTIC_BT2020_10BIT = 14,
TRANSFER_CHARACTERISTIC_BT2020_12BIT = 15,
TRANSFER_CHARACTERISTIC_PQ = 16,
TRANSFER_CHARACTERISTIC_SMPTE_ST428 = 17,
TRANSFER_CHARACTERISTIC_HLG = 18
}
转移特性。
OH_MatrixCoefficient {
MATRIX_COEFFICIENT_IDENTITY = 0,
MATRIX_COEFFICIENT_BT709 = 1,
MATRIX_COEFFICIENT_UNSPECIFIED = 2,
MATRIX_COEFFICIENT_FCC = 4,
MATRIX_COEFFICIENT_BT601_625 = 5,
MATRIX_COEFFICIENT_BT601_525 = 6, MATRIX_COEFFICIENT_SMPTE_ST240 = 7,
MATRIX_COEFFICIENT_YCGCO = 8,
MATRIX_COEFFICIENT_BT2020_NCL = 9,
MATRIX_COEFFICIENT_BT2020_CL = 10,
MATRIX_COEFFICIENT_SMPTE_ST2085 = 11,
MATRIX_COEFFICIENT_CHROMATICITY_NCL = 12,
MATRIX_COEFFICIENT_CHROMATICITY_CL = 13,
MATRIX_COEFFICIENT_ICTCP = 14
}
矩阵系数。
OH_AVCLevel {
AVC_LEVEL_1 = 0,
AVC_LEVEL_1b = 1,
AVC_LEVEL_11 = 2,
AVC_LEVEL_12 = 3,
AVC_LEVEL_13 = 4,
AVC_LEVEL_2 = 5,
AVC_LEVEL_21 = 6,
AVC_LEVEL_22 = 7,
AVC_LEVEL_3 = 8,
AVC_LEVEL_31 = 9,
AVC_LEVEL_32 = 10,
AVC_LEVEL_4 = 11,
AVC_LEVEL_41 = 12,
AVC_LEVEL_42 = 13,
AVC_LEVEL_5 = 14,
AVC_LEVEL_51 = 15,
AVC_LEVEL_52 = 16,
AVC_LEVEL_6 = 17,
AVC_LEVEL_61 = 18,
AVC_LEVEL_62 = 19
}
AVC级别。
OH_HEVCLevel {
HEVC_LEVEL_1 = 0,
HEVC_LEVEL_2 = 1,
HEVC_LEVEL_21 = 2,
HEVC_LEVEL_3 = 3,
HEVC_LEVEL_31 = 4,
HEVC_LEVEL_4 = 5,
HEVC_LEVEL_41 = 6,
HEVC_LEVEL_5 = 7,
HEVC_LEVEL_51 = 8,
HEVC_LEVEL_52 = 9,
HEVC_LEVEL_6 = 10,
HEVC_LEVEL_61 = 11,
HEVC_LEVEL_62 = 12
}
HEVC级别。
OH_VVCLevel {
VVC_LEVEL_1 = 16,
VVC_LEVEL_2 = 32,
VVC_LEVEL_21 = 35,
VVC_LEVEL_3 = 48,
VVC_LEVEL_31 = 51,
VVC_LEVEL_4 = 64,
VVC_LEVEL_41 = 67,
VVC_LEVEL_5 = 80,
VVC_LEVEL_51 = 83,
VVC_LEVEL_52 = 86,
VVC_LEVEL_6 = 96,
VVC_LEVEL_61 = 99,
VVC_LEVEL_62 = 102,
VVC_LEVEL_63 = 105,
VVC_LEVEL_155 = 255
}
VVC级别。
OH_H263Level {
H263_LEVEL_10 = 0,
H263_LEVEL_20 = 1,
H263_LEVEL_30 = 2,
H263_LEVEL_40 = 3,
H263_LEVEL_45 = 4,
H263_LEVEL_50 = 5,
H263_LEVEL_60 = 6,
H263_LEVEL_70 = 7
}
H.263级别。
OH_MPEG2Level {
MPEG2_LEVEL_LL = 0,
MPEG2_LEVEL_ML = 1,
MPEG2_LEVEL_H14 = 2,
MPEG2_LEVEL_HL = 3
}
MPEG2级别。
OH_MPEG4Level {
MPEG4_LEVEL_0 = 0,
MPEG4_LEVEL_0B = 1,
MPEG4_LEVEL_1 = 2,
MPEG4_LEVEL_2 = 3,
MPEG4_LEVEL_3 = 4,
MPEG4_LEVEL_3B = 5,
MPEG4_LEVEL_4 = 6,
MPEG4_LEVEL_4A = 7,
MPEG4_LEVEL_5 = 8,
MPEG4_LEVEL_6 = 9
}
MPEG4级别。
OH_TemporalGopReferenceMode {
ADJACENT_REFERENCE = 0,
JUMP_REFERENCE = 1,
UNIFORMLY_SCALED_REFERENCE = 2
}
时域图片组参考模式。
OH_BitrateMode {
BITRATE_MODE_CBR = 0,
BITRATE_MODE_VBR = 1,
BITRATE_MODE_CQ = 2,
BITRATE_MODE_SQR = 3
}
编码器的比特率模式。

变量

名称描述
const char * OH_AVCODEC_MIMETYPE_AUDIO_AACAAC音频编解码器的MIME类型。
const char * OH_AVCODEC_MIMETYPE_AUDIO_FLACFLAC音频编解码器的MIME类型。
const char * OH_AVCODEC_MIMETYPE_AUDIO_OPUSOPUS音频编解码器的MIME类型。(此规格暂未开放)
const char * OH_AVCODEC_MIMETYPE_AUDIO_G711MUG711MU音频编解码器的MIME类型。
const char * OH_AVCODEC_MIMETYPE_AUDIO_VORBISVORBIS音频解码器的MIME类型。
const char * OH_AVCODEC_MIMETYPE_AUDIO_MPEGMP3音频解码器的MIME类型。
const char * OH_AVCODEC_MIMETYPE_AUDIO_VIVIDAudio Vivid音频解码器的MIME类型。(此规格暂未开放)
const char * OH_AVCODEC_MIMETYPE_AUDIO_AMR_NBAMR_NB音频解码器的MIME类型。
const char * OH_AVCODEC_MIMETYPE_AUDIO_AMR_WBAMR_WB音频解码器的MIME类型。
const char * OH_AVCODEC_MIMETYPE_AUDIO_APEAPE音频解码器的MIME类型。
const char * OH_AVCODEC_MIMETYPE_VIDEO_VVCVVC(H.266)视频编解码器的MIME类型。
const char * OH_AVCODEC_MIMETYPE_VIDEO_HEVCHEVC(H.265)视频编解码器的MIME类型。
const char * OH_AVCODEC_MIMETYPE_VIDEO_AVCAVC(H.264)视频编解码器的MIME类型。
const char * OH_AVCODEC_MIMETYPE_VIDEO_H263H.263视频编解码器的MIME类型。
const char * OH_AVCODEC_MIMETYPE_VIDEO_MPEG4MPEG4视频编码的MIME类型,仅用于封装MPEG4视频码流使用。(API11废弃)
const char * OH_AVCODEC_MIMETYPE_VIDEO_MPEG2视频MPEG2编解码器的MIME类型。
const char * OH_AVCODEC_MIMETYPE_VIDEO_MPEG4_PART2视频MPEG4 Part2编解码器的MIME类型。
const char * OH_AVCODEC_MIMETYPE_IMAGE_JPGJPG图片编码的MIME类型,仅用于封装JPG封面时使用。
const char * OH_AVCODEC_MIMETYPE_IMAGE_PNGPNG图片编码的MIME类型,仅用于封装PNG封面时使用。
const char * OH_AVCODEC_MIMETYPE_IMAGE_BMPBMP图片编码的MIME类型,仅用于封装BMP封面时使用。
const char * OH_AVCODEC_MIMETYPE_SUBTITLE_WEBVTTWEBVTT字幕解封装器的MIME类型。
const char * OH_AVCODEC_MIMETYPE_SUBTITLE_SRTSRT字幕解封装器的MIME类型。
const char * OH_FEATURE_PROPERTY_KEY_VIDEO_ENCODER_MAX_LTR_FRAME_COUNT在视频编码中获取长期参考帧的最大个数的键,值类型为int32_t。
const char * OH_MD_KEY_CODEC_CONFIG编解码器特定数据的键,视频中表示传递SPS/PPS,音频中表示传递extraData,值类型为uint8_t*。 (视频编解码此功能暂未支持)
const char * OH_MD_MAX_INPUT_BUFFER_COUNT最大输入缓冲区个数的键,值类型为int32_t。
const char * OH_MD_MAX_OUTPUT_BUFFER_COUNT最大输出缓冲区个数的键,值类型int32_t。
const char * OH_MD_KEY_BITRATE比特率的键,值类型为int64_t。
const char * OH_MD_KEY_PROFILE编码档次,值类型为int32_t,请参见OH_AVCProfileOH_HEVCProfileOH_AACProfile
const char * OH_MD_KEY_MAX_INPUT_SIZE设置解码输入码流大小最大值的键,值类型为int32_t。
const char * OH_ED_KEY_TIME_STAMP表示surfacebuffer时间戳的键,值类型为int64_t。(API14废弃)
const char * OH_ED_KEY_EOS表示surfacebuffer流结束符的键,值类型为int32_t。(API14废弃)
const char * OH_MD_KEY_WIDTH视频宽度的键,值类型为int32_t。
const char * OH_MD_KEY_HEIGHT视频高度键,值类型为int32_t。
const char * OH_MD_KEY_PIXEL_FORMAT视频像素格式的键,值类型为int32_t,请参见OH_AVPixelFormat
const char * OH_MD_KEY_FRAME_RATE视频帧率的键,值类型为double。
const char * OH_MD_KEY_ROTATIONsurface旋转角度的键。值类型为int32_t:应为{0, 90, 180, 270},默认值为0。该键只在视频解码Surface模式下使用。
const char * OH_MD_KEY_RANGE_FLAG视频YUV值域标志的键,值类型为int32_t,1表示full range,0表示limited range。
const char * OH_MD_KEY_COLOR_PRIMARIES视频色域的键,值类型为int32_t,请参见OH_ColorPrimary,遵循H.273标准Table2。
const char * OH_MD_KEY_TRANSFER_CHARACTERISTICS视频传递函数的键,值类型为int32_t,请参见OH_TransferCharacteristic,遵循H.273标准Table3。
const char * OH_MD_KEY_MATRIX_COEFFICIENTS视频矩阵系数的键,值类型为int32_t,请参见OH_MatrixCoefficient,遵循H.273标准Table4。
const char * OH_MD_KEY_SCALING_MODE视频缩放模式,值类型为int32_t,请参见OH_ScalingMode。该键是可选的且只用于视频解码Surface模式。建议直接调用OH_NativeWindow_NativeWindowSetScalingModeV2接口进行设置。(API14废弃)
const char * OH_MD_KEY_VIDEO_CROP_TOP描述裁剪矩形顶部坐标(y)值的键,值类型为int32_t。
const char * OH_MD_KEY_VIDEO_CROP_BOTTOM描述裁剪矩形底部坐标(y)值的键,值类型为int32_t。
const char * OH_MD_KEY_VIDEO_CROP_LEFT描述裁剪矩形左坐标(x)值的键,值类型为int32_t。
const char * OH_MD_KEY_VIDEO_CROP_RIGHT描述裁剪矩形右坐标(x)值的键,值类型为int32_t。
const char * OH_MD_KEY_VIDEO_DECODER_OUTPUT_ENABLE_VRR解码器是否打开视频可变帧率功能的键,值类型为int32_t。
const char * OH_MD_KEY_SQR_FACTOR描述SQR码控模式的质量参数,值越小,编码输出文件越大,质量越好,值类型为int32_t。
const char * OH_MD_KEY_MAX_BITRATE描述SQR码控模式的最大码率,单位bps,值类型为int64_t。
const char * OH_MD_KEY_VIDEO_ENCODER_ROI_PARAMS描述ROI编码参数,包括ROI区域和deltaQp,值类型为string。
const char * OH_MD_KEY_VIDEO_STRIDE描述视频帧宽跨距的键,值类型为int32_t。
const char * OH_MD_KEY_VIDEO_SLICE_HEIGHT描述视频帧高跨距的键,值类型为int32_t。
const char * OH_MD_KEY_VIDEO_PIC_WIDTH描述视频帧真实宽度的键,值类型为int32_t。
const char * OH_MD_KEY_VIDEO_PIC_HEIGHT描述视频帧真实高度的键,值类型为int32_t。
const char * OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY使能低时延视频编解码的键,值类型为int32_t,1表示使能,0表示其它情况。如果使能,则视频编码器或视频解码器持有的输入和输出数据不会超过编解码器标准所要求的数量。
const char * OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE视频编码码率模式,值类型为int32_t,请参见OH_BitrateMode
const char * OH_MD_KEY_QUALITY所需编码质量的键。值类型为int32_t,此键仅适用于配置在恒定质量模式下的编码器。
const char * OH_MD_KEY_REQUEST_I_FRAME请求立即编码I帧的键。值类型为int32_t。
const char * OH_MD_KEY_I_FRAME_INTERVAL关键帧间隔的键,值类型为int32_t,单位为毫秒。该键是可选的且只用于视频编码。
const char * OH_MD_KEY_VIDEO_ENCODER_ENABLE_TEMPORAL_SCALABILITY使能分层编码的键,值类型为int32_t,1表示使能,0表示其它情况。
const char * OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_SIZE描述图片组基本层图片的间隔大小的键,值类型为int32_t,只在使能分层编码时生效。
const char * OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_REFERENCE_MODE描述图片组内参考模式的键,值类型为int32_t,请参见OH_TemporalGopReferenceMode,只在使能分层编码时生效。
const char * OH_MD_KEY_VIDEO_ENCODER_LTR_FRAME_COUNT描述长期参考帧个数的键,值类型为int32_t,必须在支持的值范围内使用。该键是可选的且只用于视频编码。
const char * OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_MARK_LTR标记当前帧为长期参考帧的键,值类型为int32_t,1表示被标记,0表示其它情况。该键是可选的且只用于视频编码。
const char * OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_USE_LTR描述当前帧参考的长期参考帧帧的POC号的键,值类型为int32_t。该键是可选的且只用于视频编码。
const char * OH_MD_KEY_VIDEO_PER_FRAME_IS_LTR当前OH_AVBuffer中输出的码流对应的帧是否为长期参考帧的键,值类型为int32_t,1表示是LTR,0表示其它情况。该键是可选的且只用于视频编码。
const char * OH_MD_KEY_VIDEO_PER_FRAME_POC描述帧的POC号的键,值类型为int32_t。该键是可选的且只用于视频编码。
const char * OH_MD_KEY_VIDEO_ENCODER_QP_MAX描述视频编码器允许的最大量化参数的键,值类型为int32_t。
const char * OH_MD_KEY_VIDEO_ENCODER_QP_MIN描述视频编码器允许的最小量化参数的键,值类型为int32_t。
const char * OH_MD_KEY_VIDEO_ENCODER_QP_AVERAGE描述视频帧平均量化参数的键,值类型为int32_t。
const char * OH_MD_KEY_VIDEO_ENCODER_MSE描述视频帧平方误差的键,值类型为double。
const char * OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_FRAME_AFTER如果在上一帧提交给编码器之后没有新的帧可用,则会以毫秒为单位重复提交最后一帧,值类型为int32_t。
const char * OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_MAX_COUNT描述编码器在没有新的帧可用的情况下,可以对之前的帧进行重复编码的最大次数,值类型为int32_t。
const char * OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE设置视频解码器输出色彩空间的键,值类型为int32_t。 支持的值为OH_COLORSPACE_BT709_LIMIT。
const char * OH_MD_KEY_AUDIO_SAMPLE_FORMAT音频原始格式的键,值类型为int32_t。请参见OH_BitsPerSample
const char * OH_MD_KEY_AUD_CHANNEL_COUNT音频通道计数键,值类型为int32_t。
const char * OH_MD_KEY_AUD_SAMPLE_RATE音频采样率键,值类型为int32_t。
const char * OH_MD_KEY_AUDIO_COMPRESSION_LEVEL音频编解码压缩水平的键,只在音频编码使用,值类型为int32_t。
const char * OH_MD_KEY_CHANNEL_LAYOUT所需编码通道布局的键。值类型为int64_t,此键仅适用于编码器。
const char * OH_MD_KEY_BITS_PER_CODED_SAMPLE每个编码样本位数的键,值类型为int32_t,支持flac编码器,请参见OH_BitsPerSample
const char * OH_MD_KEY_SBRaac sbr模式的键,值类型为int32_t,aac编码器支持。
const char * OH_MD_KEY_COMPLIANCE_LEVELflac兼容性等级的键,值类型为int32_t,仅在音频编码使用。
const char * OH_MD_KEY_AAC_IS_ADTSaac格式的键,aac格式分为ADTS格式和LATM格式。值类型为int32_t,aac解码器支持。
const char * OH_MD_KEY_IDENTIFICATION_HEADERvorbis标识头的键,值类型为uint8_t*,仅vorbis解码器支持。
const char * OH_MD_KEY_SETUP_HEADERvorbis设置头的键,值类型为uint8_t*,仅vorbis解码器支持。
const char * OH_MD_KEY_AUDIO_OBJECT_NUMBER音频对象数目的键,值类型为int32_t,只有Audio Vivid解码使用。
const char * OH_MD_KEY_AUDIO_VIVID_METADATAAudio Vivid元数据的键,值类型为uint8_t*,只有Audio Vivid解码使用。
const char * OH_MD_KEY_VIDEO_IS_HDR_VIVID媒体文件中的视频轨是否为HDR Vivid的键,支持封装和解封装,值类型为int32_t。
const char * OH_MD_KEY_START_TIME媒体文件中第一帧起始位置开始时间的键,以微秒为单位,值类型为int64_t。
const char * OH_MD_KEY_TRACK_START_TIME轨道开始时间的键,以微秒为单位,值类型为int64_t。
const char * OH_MD_KEY_TRACK_TYPE轨道媒体类型的键,值类型为int32_t,请参见OH_MediaType
const char * OH_MD_KEY_DURATION媒体文件持续时间的键,值类型为int64_t。
const char * OH_MD_KEY_TITLE媒体文件标题的键,值类型为string。
const char * OH_MD_KEY_ARTIST媒体文件艺术家的键,值类型为string。
const char * OH_MD_KEY_ALBUM专辑的媒体文件的键,值类型为string。
const char * OH_MD_KEY_ALBUM_ARTIST专辑艺术家的键,值类型为string。
const char * OH_MD_KEY_DATE媒体文件日期的键,值类型为string,例如2024年。
const char * OH_MD_KEY_COMMENT媒体文件注释的键,值类型为string。
const char * OH_MD_KEY_GENRE媒体文件流派的键,值类型为string。
const char * OH_MD_KEY_COPYRIGHT媒体文件版权的键,值类型为string。
const char * OH_MD_KEY_LANGUAGE媒体文件语言的键,值类型为string。
const char * OH_MD_KEY_DESCRIPTION媒体文件描述的键,值类型为string。
const char * OH_MD_KEY_LYRICS媒体文件歌词的键,值类型为string。
const char * OH_MD_KEY_TRACK_COUNT媒体文件轨道数量的键,值类型为int32_t。
const char * OH_MD_KEY_BUFFER_DURATIONAVBuffer中携带的音视频或字幕的sample对应的持续时间的键,以微秒为单位,值类型为int64_t。
const char * OH_MD_KEY_DECODING_TIMESTAMPAVBuffer中携带的音视频或字幕的sample对应的解码时间戳的键,以微秒为单位,值类型为int64_t。
const char * OH_MD_KEY_CODEC_MIME编解码器MIME类型的键,值类型为string。
const char * OH_MD_KEY_VIDEO_SAR样本长宽比的键,值类型为double。
const char * OH_MD_KEY_CREATION_TIME媒体文件创建时间的元数据,值类型为string。

类型定义说明

OH_AACProfile

typedef enum OH_AACProfile OH_AACProfile

描述 AAC档次。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_AVCLevel

typedef enum OH_AVCLevel OH_AVCLevel

描述 AVC级别。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_AVCodec

typedef struct OH_AVCodec OH_AVCodec

描述 为音视频编解码接口定义native层对象。

起始版本: 9

OH_AVCodecAsyncCallback

typedef struct OH_AVCodecAsyncCallback OH_AVCodecAsyncCallback

描述 OH_AVCodec中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVCodec实例中,并处理回调上报的信息,以保证OH_AVCodec的正常运行。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

废弃版本: 11

替代接口:OH_AVCodecCallback

参数:

名称描述
onError监控编解码器操作错误,请参见OH_AVCodecOnError
onStreamChanged监控编解码器流变化,请参见OH_AVCodecOnStreamChanged
onNeedInputData监控编解码器需要输入数据,请参见OH_AVCodecOnNeedInputData
onNeedOutputData监控编解码器已生成输出数据,请参见OH_AVCodecOnNewOutputData

OH_AVCodecCallback

typedef struct OH_AVCodecCallback OH_AVCodecCallback

描述 OH_AVCodec中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVCodec实例中,并处理回调上报的信息,以保证OH_AVCodec的正常运行。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 11

参数:

名称描述
onError监控编解码器操作错误,请参见OH_AVCodecOnError
onStreamChanged监控编解码器流变化,请参见OH_AVCodecOnStreamChanged
onNeedInputBuffer监控编解码器需要输入数据,请参见OH_AVCodecOnNeedInputBuffer
onNewOutputBuffer监控编解码器已生成输出数据,请参见OH_AVCodecOnNewOutputBuffer

OH_AVCodecOnError

typedef void(* OH_AVCodecOnError) (OH_AVCodec *codec, int32_t errorCode, void *userData)

描述 当OH_AVCodec实例运行出错时,回调将上报具体的错误信息的函数指针。

使用场景错误码
音频编解码AV_ERR_DRM_DECRYPT_FAILED:DRM解密失败。
视频编解码AV_ERROR_NO_MEMORY:系统资源不足。
AV_ERROR_UNKNOWN:未知错误,请通过具体日志分析。
AV_ERR_SERVICE_DIED:服务状态已消亡。
视频解码AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION:当前输入不支持色彩空间转换功能。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

参数:

名称描述
codecOH_AVCodec实例。
errorCode特定错误代码。在不同场景下返回的错误码不同,详情可见上述描述中的表格。
userData用户执行回调所依赖的数据。

OH_AVCodecOnNeedInputBuffer

typedef void(* OH_AVCodecOnNeedInputBuffer) (OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData)

描述 当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 11

参数:

名称描述
codecOH_AVCodec实例。
index与新可用的输入缓冲区相对应的索引。
buffer新的可用输入缓冲区。
userData用户执行回调所依赖的数据。

OH_AVCodecOnNeedInputData

typedef void(* OH_AVCodecOnNeedInputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, void *userData)

描述 当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

废弃版本: 11

替代接口:OH_AVCodecOnNeedInputBuffer

参数:

名称描述
codecOH_AVCodec实例。
index与新可用的输入缓冲区相对应的索引。
data新的可用输入缓冲区。
userData用户执行回调所依赖的数据。

OH_AVCodecOnNewOutputBuffer

typedef void(* OH_AVCodecOnNewOutputBuffer) (OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData)

描述 当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 11

参数:

名称描述
codecOH_AVCodec实例。
index与新输出缓冲区对应的索引。
buffer包含新输出数据的缓冲区。
userData用户执行回调所依赖的数据。

OH_AVCodecOnNewOutputData

typedef void(* OH_AVCodecOnNewOutputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, OH_AVCodecBufferAttr *attr, void *userData)

描述 当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅在调用函数指针时有效,这将禁止调用结束后继续访问。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

废弃版本: 11

替代接口:OH_AVCodecOnNewOutputBuffer

参数:

名称描述
codecOH_AVCodec实例。
index与新输出缓冲区对应的索引。
data包含新输出数据的缓冲区。
attr新输出缓冲区的说明,请参见OH_AVCodecBufferAttr
userData用户执行回调所依赖的数据。

OH_AVCodecOnStreamChanged

typedef void(* OH_AVCodecOnStreamChanged) (OH_AVCodec *codec, OH_AVFormat *format, void *userData)

描述 当视频解码输入码流分辨率或者视频编码输出码流的分辨率发生变化时,调用此函数指针报告新的流描述信息。
从API 15开始,支持音频解码时,码流采样率、声道数或者音频采样格式发生变化时,将调用此函数指针报告新的流描述信息,支持检测此变化的解码格式有:AAC,FLAC,MP3,VORBIS。
需要注意的是,OH_AVFormat指针的生命周期只有在函数指针被调用时才有效,调用结束后禁止继续访问。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

参数:

名称描述
codecOH_AVCodec实例。
format新输出流描述信息。
userData用户执行回调所依赖的数据。

OH_AVCProfile

typedef enum OH_AVCProfile OH_AVCProfile

描述 AVC档次。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_AVDataSource

typedef struct OH_AVDataSource OH_AVDataSource

描述 用户自定义数据源。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_AVDataSourceReadAt

typedef int32_t(* OH_AVDataSourceReadAt) (OH_AVBuffer *data, int32_t length, int64_t pos)

描述 函数指针定义,用于提供获取用户自定义媒体数据的能力。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

参数:

名称描述
data要填充的缓冲区。
length要读取的数据长度。
pos从偏移量位置读取。

返回:

读取到缓冲区的数据的实际长度。

OH_AVOutputFormat

typedef enum OH_AVOutputFormat OH_AVOutputFormat

描述 封装器支持的输出文件格式。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_AVSeekMode

typedef enum OH_AVSeekMode OH_AVSeekMode

描述 跳转模式。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_BitsPerSample

typedef enum OH_BitsPerSample OH_BitsPerSample

描述 每个编码样本的音频位数。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_ColorPrimary

typedef enum OH_ColorPrimary OH_ColorPrimary

描述 色域。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_HEVCLevel

typedef enum OH_HEVCLevel OH_HEVCLevel

描述 HEVC级别。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_HEVCProfile

typedef enum OH_HEVCProfile OH_HEVCProfile

描述 HEVC档次。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MatrixCoefficient

typedef enum OH_MatrixCoefficient OH_MatrixCoefficient

描述 矩阵系数。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MediaType

typedef enum OH_MediaType OH_MediaType

描述 媒体类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MPEG2Level

typedef enum OH_MPEG2Level OH_MPEG2Level

描述

MPEG2级别。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 17

OH_MPEG2Profile

typedef enum OH_MPEG2Profile OH_MPEG2Profile

描述

MPEG2档次。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 17

OH_MPEG4Level

typedef enum OH_MPEG4Level OH_MPEG4Level

描述

MPEG4级别。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 17

OH_MPEG4Profile

typedef enum OH_MPEG4Profile OH_MPEG4Profile

描述

MPEG4档次。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 17

OH_ScalingMode

typedef enum OH_ScalingMode OH_ScalingMode

描述 缩放模式,只在Surface模式下使用。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

废弃版本: 14

替代接口:OHScalingModeV2

OH_TemporalGopReferenceMode

typedef enum OH_TemporalGopReferenceMode OH_TemporalGopReferenceMode

描述 时域图片组参考模式。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_VVCLevel

typedef enum OH_VVCLevel OH_VVCLevel

描述 VVC级别。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 15

OH_VVCProfile

typedef enum OH_VVCProfile OH_VVCProfile

描述 VVC档次。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 15

OH_H263Level

typedef enum OH_H263Level OH_H263Level

描述 H.263级别。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 17

OH_H263Profile

typedef enum OH_H263Profile OH_H263Profile

描述 H.263档次。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 17

OH_TransferCharacteristic

typedef enum OH_TransferCharacteristic OH_TransferCharacteristic

描述 转移特性。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_BitrateMode

typedef enum OH_BitrateMode OH_BitrateMode

描述 编码器的比特率模式。从API14开始改变key的位置。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OHNativeWindow

typedef struct NativeWindow OHNativeWindow

描述 为图形接口定义native层对象。

起始版本: 9

枚举类型说明

AudioChannelLayout

enum AudioChannelLayout : uint64_t

描述 音频声道数类型,将用户申请的解码器输出格式表示为编解码器的声道类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

废弃版本: 11

替代接口:OH_AudioChannelLayout

枚举值描述
UNKNOWN_CHANNEL_LAYOUT未知通道布局
MONO单通道布局
STEREO立体声布局
CH_2POINT12.1布局
CH_2_12_1布局
SURROUND环绕布局
CH_3POINT13.1布局
CH_4POINT04.0布局
CH_4POINT14.1布局
CH_2_22_2布局
QUAD四角形布局
CH_5POINT05.0布局
CH_5POINT15.1布局
CH_5POINT0_BACK5.0后置布局
CH_5POINT1_BACK5.1后置布局
CH_6POINT06.0布局
CH_6POINT0_FRONT6.0前置布局
HEXAGONAL六角形布局
CH_6POINT16.1布局
CH_6POINT1_BACK6.1后置布局
CH_6POINT1_FRONT6.1前置布局
CH_7POINT07.0布局
CH_7POINT0_FRONT7.0前置布局
CH_7POINT17.1布局
CH_7POINT1_WIDE7.1宽布局
CH_7POINT1_WIDE_BACK7.1后置宽布局
CH_3POINT1POINT23.1.2布局
CH_5POINT1POINT25.1.2布局
CH_5POINT1POINT45.1.4布局
CH_7POINT1POINT27.1.2布局
CH_7POINT1POINT47.1.4布局
CH_9POINT1POINT49.1.4布局
CH_9POINT1POINT69.1.6布局
CH_10POINT210.2布局
CH_22POINT222.2布局
OCTAGONAL八边形布局
HEXADECAGONAL十六边形布局
STEREO_DOWNMIX立体声下混布局
HOA_FIRST高阶立体声一阶布局
HOA_SECOND高阶立体声二阶布局
HOA_THIRD高阶立体声三阶布局

AudioChannelSet

enum AudioChannelSet : uint64_t

描述 音频声道数集合, 将每一个声道数映射为int64_t的变量。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

废弃版本: 11

替代接口:OH_AudioChannelSet

枚举值描述
FRONT_LEFT左前声道
FRONT_RIGHT右前声道
FRONT_CENTER中前声道
LOW_FREQUENCY低频声道
BACK_LEFT左后声道
BACK_RIGHT右后声道
FRONT_LEFT_OF_CENTER左前中置声道
FRONT_RIGHT_OF_CENTER右前中置声道
BACK_CENTER后方中置声道
SIDE_LEFT左侧声道
SIDE_RIGHT右侧声道
TOP_CENTER上方中置声道
TOP_FRONT_LEFT上方左前声道
TOP_FRONT_CENTER上方中前声道
TOP_FRONT_RIGHT上方右前声道
TOP_BACK_LEFT上方左后声道
TOP_BACK_CENTER上方中后声道
TOP_BACK_RIGHT上方右后声道
STEREO_LEFT立体声左声道
STEREO_RIGHT立体声右声道
WIDE_LEFT宽左声道
WIDE_RIGHT宽右声道
SURROUND_DIRECT_LEFT左环绕声道
SURROUND_DIRECT_RIGHT右环绕声道
LOW_FREQUENCY_2低频声道2
TOP_SIDE_LEFT上方左侧声道
TOP_SIDE_RIGHT上方右侧声道
BOTTOM_FRONT_CENTER下方中前声道
BOTTOM_FRONT_LEFT下方左前声道
BOTTOM_FRONT_RIGHT下方右前声道
AMBISONICS_ACN0零阶立体声声道数 0
AMBISONICS_ACN1一阶立体声声道数 1
AMBISONICS_ACN2一阶立体声声道数 2
AMBISONICS_ACN3一阶立体声声道数 3
AMBISONICS_W同于零阶立体声声道数 0
AMBISONICS_Y同于一阶立体声声道数 1
AMBISONICS_Z同于一阶立体声声道数 2
AMBISONICS_X同于一阶立体声声道数 3
AMBISONICS_ACN4二阶立体声声道数 4
AMBISONICS_ACN5二阶立体声声道数 5
AMBISONICS_ACN6二阶立体声声道数 6
AMBISONICS_ACN7二阶立体声声道数 7
AMBISONICS_ACN8二阶立体声声道数 8
AMBISONICS_ACN9三阶立体声声道数 9
AMBISONICS_ACN10三阶立体声声道数 10
AMBISONICS_ACN11三阶立体声声道数 11
AMBISONICS_ACN12三阶立体声声道数 12
AMBISONICS_ACN13三阶立体声声道数 13
AMBISONICS_ACN14三阶立体声声道数 14
AMBISONICS_ACN15三阶立体声声道数 15

OH_AACProfile

enum OH_AACProfile

描述 AAC档次。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

枚举值描述
AAC_PROFILE_LCAAC编码档次为Low Complexity级别。
AAC_PROFILE_HEAAC编码档次为High Efficiency级别。(此规格暂未开放)
起始版本: 14
AAC_PROFILE_HE_V2AAC编码档次为High Efficiency v2级别。(此规格暂未开放)
起始版本: 14

OH_AVCLevel

enum OH_AVCLevel

描述 AVC级别。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

枚举值描述
AVC_LEVEL_1级别1
AVC_LEVEL_1b级别1b
AVC_LEVEL_11级别1.1
AVC_LEVEL_12级别1.2
AVC_LEVEL_13级别1.3
AVC_LEVEL_2级别2
AVC_LEVEL_21级别2.1
AVC_LEVEL_22级别2.2
AVC_LEVEL_3级别3
AVC_LEVEL_31级别3.1
AVC_LEVEL_32级别3.2
AVC_LEVEL_4级别4
AVC_LEVEL_41级别4.1
AVC_LEVEL_42级别4.2
AVC_LEVEL_5级别5
AVC_LEVEL_51级别5.1
AVC_LEVEL_52级别5.2
AVC_LEVEL_6级别6
AVC_LEVEL_61级别6.1
AVC_LEVEL_62级别6.2

OH_AVCProfile

enum OH_AVCProfile

描述 AVC档次。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

枚举值描述
AVC_PROFILE_BASELINEAVC编码档次为基本档次。
AVC_PROFILE_HIGHAVC编码档次为高档次。
AVC_PROFILE_MAINAVC编码档次为主档次。

OH_AVOutputFormat

enum OH_AVOutputFormat

描述 封装器支持的输出文件格式。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

枚举值描述
AV_OUTPUT_FORMAT_DEFAULT输出文件格式默认值,默认为MP4格式。
AV_OUTPUT_FORMAT_MPEG_4输出文件格式为MP4格式。
AV_OUTPUT_FORMAT_M4A输出文件格式为M4A格式。
AV_OUTPUT_FORMAT_AMR输出文件格式为AMR格式。
起始版本: 12
AV_OUTPUT_FORMAT_MP3输出文件格式为MP3格式。
起始版本: 12
AV_OUTPUT_FORMAT_WAV输出文件格式为WAV格式。
起始版本: 12
AV_OUTPUT_FORMAT_AAC输出文件格式为AAC格式。
起始版本: 18

OH_AVSeekMode

enum OH_AVSeekMode

描述 跳转模式。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

枚举值描述
SEEK_MODE_NEXT_SYNC指定时间位置的下一I帧。若时间点后没有I帧,该模式可能跳转失败。
SEEK_MODE_PREVIOUS_SYNC指定时间位置的上一I帧。
SEEK_MODE_CLOSEST_SYNC指定时间位置的最近I帧。

OH_BitsPerSample

enum OH_BitsPerSample

描述 每个编码样本的音频位数。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

枚举值描述
SAMPLE_U88位无符号整数采样。
SAMPLE_S16LE16位有符号整数采样。
SAMPLE_S24LE24位有符号整数采样。
SAMPLE_S32LE32位有符号整数采样。
SAMPLE_F32LE32位浮点采样。
SAMPLE_U8P8位无符号整数平面采样。
SAMPLE_S16P16位有符号整数平面采样。
SAMPLE_S24P24位有符号整数平面采样。
SAMPLE_S32P32位有符号整数平面采样。
SAMPLE_F32P32位浮点平面采样。
INVALID_WIDTH无效采样格式。

OH_ColorPrimary

enum OH_ColorPrimary

描述 色域。编解码都支持。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

枚举值描述
COLOR_PRIMARY_BT709BT709色域。
COLOR_PRIMARY_UNSPECIFIED未指定色域。
COLOR_PRIMARY_BT470_MBT470_M色域。
COLOR_PRIMARY_BT601_625BT601_625色域。
COLOR_PRIMARY_BT601_525BT601_525色域。
COLOR_PRIMARY_SMPTE_ST240SMPTE_ST240色域。
COLOR_PRIMARY_GENERIC_FILMGENERIC_FILM色域。
COLOR_PRIMARY_BT2020BT2020色域。
COLOR_PRIMARY_SMPTE_ST428SMPTE_ST428色域。
COLOR_PRIMARY_P3DCIP3DCI色域。
COLOR_PRIMARY_P3D65P3D65色域。

OH_HEVCLevel

enum OH_HEVCLevel

描述 HEVC级别。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

枚举值描述
HEVC_LEVEL_1级别1
HEVC_LEVEL_2级别2
HEVC_LEVEL_21级别2.1
HEVC_LEVEL_3级别3
HEVC_LEVEL_31级别3.1
HEVC_LEVEL_4级别4
HEVC_LEVEL_41级别4.1
HEVC_LEVEL_5级别5
HEVC_LEVEL_51级别5.1
HEVC_LEVEL_52级别5.2
HEVC_LEVEL_6级别6
HEVC_LEVEL_61级别6.1
HEVC_LEVEL_62级别6.2

OH_HEVCProfile

enum OH_HEVCProfile

描述 HEVC档次。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

枚举值描述
HEVC_PROFILE_MAINHEVC编码档次为主档次。
HEVC_PROFILE_MAIN_10HEVC编码档次为10bit主档次。
HEVC_PROFILE_MAIN_STILLHEVC编码档次为静止图像主档次。
HEVC_PROFILE_MAIN_10_HDR10HEVC编码档次为HDR10主档次。(API14废弃)
HEVC_PROFILE_MAIN_10_HDR10_PLUSHEVC编码档次为HDR10+主档次。(API14废弃)

OH_MatrixCoefficient

enum OH_MatrixCoefficient

描述 矩阵系数。编解码都支持。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

枚举值描述
MATRIX_COEFFICIENT_IDENTITY单位矩阵。
MATRIX_COEFFICIENT_BT709BT709转换矩阵。
MATRIX_COEFFICIENT_UNSPECIFIED未指定转换矩阵。
MATRIX_COEFFICIENT_FCCFCC转换矩阵。
MATRIX_COEFFICIENT_BT601_625BT601_625转换矩阵。
MATRIX_COEFFICIENT_BT601_525BT601_525转换矩阵。
MATRIX_COEFFICIENT_SMPTE_ST240SMPTE_ST240转换矩阵。
MATRIX_COEFFICIENT_YCGCOYCGCO转换矩阵。
MATRIX_COEFFICIENT_BT2020_NCLBT2020_NCL转换矩阵。
MATRIX_COEFFICIENT_BT2020_CLBT2020_CL转换矩阵。
MATRIX_COEFFICIENT_SMPTE_ST2085SMPTE_ST2085转换矩阵。
MATRIX_COEFFICIENT_CHROMATICITY_NCLCHROMATICITY_NCL转换矩阵。
MATRIX_COEFFICIENT_CHROMATICITY_CLCHROMATICITY_CL转换矩阵。
MATRIX_COEFFICIENT_ICTCPICTCP转换矩阵。

OH_MediaType

enum OH_MediaType

描述 媒体类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

枚举值描述
MEDIA_TYPE_AUD音频轨。
MEDIA_TYPE_VID视频轨。
MEDIA_TYPE_SUBTITILE字幕轨。
起始版本: 12

OH_MPEG2Level

enum OH_MPEG2Level

描述

MPEG2级别。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 17

枚举值描述
MPEG2_LEVEL_LL低级别。
MPEG2_LEVEL_ML主级别。
MPEG2_LEVEL_H14高1440级别。
MPEG2_LEVEL_HL高级别。

OH_MPEG2Profile

enum OH_MPEG2Profile

描述

MPEG2档次。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 17

枚举值描述
MPEG2_PROFILE_SIMPLE简单档次。
MPEG2_PROFILE_MAIN主档次。
MPEG2_PROFILE_SNR信噪比可分级档次。
MPEG2_PROFILE_SPATIAL空间可分级档次。
MPEG2_PROFILE_HIGH高级档次。
MPEG2_PROFILE_4224:2:2档次。

OH_MPEG4Level

enum OH_MPEG4Level

描述

MPEG4级别。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 17

枚举值描述
MPEG4_LEVEL_0级别0
MPEG4_LEVEL_0B级别0B。
MPEG4_LEVEL_1级别1。
MPEG4_LEVEL_2级别2。
MPEG4_LEVEL_3级别3。
MPEG4_LEVEL_3B级别3B。
MPEG4_LEVEL_4级别4。
MPEG4_LEVEL_4A级别4A。
MPEG4_LEVEL_5级别5。
MPEG4_LEVEL_6级别6。

OH_MPEG4Profile

enum OH_MPEG4Profile

描述

MPEG4档次。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 17

枚举值描述
MPEG4_PROFILE_SIMPLE简单档次。
MPEG4_PROFILE_SIMPLE_SCALABLE简单可分级档次。
MPEG4_PROFILE_CORE核心档次。
MPEG4_PROFILE_MAIN主档次。
MPEG4_PROFILE_NBITN位档次。
MPEG4_PROFILE_HYBRID混合档次。
MPEG4_PROFILE_BASIC_ANIMATED_TEXTURE基本动画纹理档次。
MPEG4_PROFILE_SCALABLE_TEXTURE可分级纹理档次。
MPEG4_PROFILE_SIMPLE_FA简单FA档次。
MPEG4_PROFILE_ADVANCED_REAL_TIME_SIMPLE高级实时简单档次。
MPEG4_PROFILE_CORE_SCALABLE核心可分级档次。
MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY高级编码效率档次。
MPEG4_PROFILE_ADVANCED_CORE高级核心档次。
MPEG4_PROFILE_ADVANCED_SCALABLE_TEXTURE高级可分级纹理档次。
MPEG4_PROFILE_ADVANCED_SIMPLE高级简单档次。

OH_ScalingMode

enum OH_ScalingMode

描述 缩放模式,只在Surface模式下使用。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

废弃版本: 14

替代接口: OHScalingModeV2.OH_SCALING_MODE_SCALE_TO_WINDOW_V2、 OHScalingModeV2.OH_SCALING_MODE_SCALE_CROP_V2

枚举值描述
SCALING_MODE_SCALE_TO_WINDOW根据窗口尺寸自适应调整图像大小。
SCALING_MODE_SCALE_CROP根据窗口尺寸裁剪图像大小。

OH_TemporalGopReferenceMode

enum OH_TemporalGopReferenceMode

描述 时域图片组参考模式。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

枚举值描述
ADJACENT_REFERENCE参考最近的短期参考帧。
JUMP_REFERENCE参考最近的长期参考帧。
UNIFORMLY_SCALED_REFERENCE均匀分层参考结构,在丢弃最高层级视频帧后,视频帧均匀分布。其中时域图片组个数必须为2的幂。

OH_VVCLevel

enum OH_VVCLevel

描述 VVC级别。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 15

枚举值描述
VVC_LEVEL_1级别1.0
VVC_LEVEL_2级别2.0
VVC_LEVEL_21级别2.1
VVC_LEVEL_3级别3.0
VVC_LEVEL_31级别3.1
VVC_LEVEL_4级别4.0
VVC_LEVEL_41级别4.1
VVC_LEVEL_5级别5.0
VVC_LEVEL_51级别5.1
VVC_LEVEL_52级别5.2
VVC_LEVEL_6级别6.0
VVC_LEVEL_61级别6.1
VVC_LEVEL_62级别6.2
VVC_LEVEL_63级别6.3
VVC_LEVEL_155级别15.5

OH_VVCProfile

enum OH_VVCProfile

描述 VVC档次。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 15

枚举值描述
VVC_PROFILE_MAIN_10VVC编码档次为10bit主档次。
VVC_PROFILE_MAIN_12VVC编码档次为12bit主档次。
VVC_PROFILE_MAIN_12_INTRAVVC编码档次为12bit帧内主档次。
VVC_PROFILE_MULTI_MAIN_10VVC编码档次为多层编码10bit主档次。
VVC_PROFILE_MAIN_10_444VVC编码档次为10bit全采样主档次。
VVC_PROFILE_MAIN_12_444VVC编码档次为12bit全采样主档次。
VVC_PROFILE_MAIN_16_444VVC编码档次为16bit全采样主档次。
VVC_PROFILE_MAIN_12_444_INTRAVVC编码档次为12bit全采样帧内主档次。
VVC_PROFILE_MAIN_16_444_INTRAVVC编码档次为16bit全采样帧内主档次。
VVC_PROFILE_MULTI_MAIN_10_444VVC编码档次为多层编码10bit全采样主档次。
VVC_PROFILE_MAIN_10_STILLVVC编码档次为10bit静止图像主档次。
VVC_PROFILE_MAIN_12_STILLVVC编码档次为12bit静止图像主档次。
VVC_PROFILE_MAIN_10_444_STILLVVC编码档次为10bit全采样静止图像主档次。
VVC_PROFILE_MAIN_12_444_STILLVVC编码档次为12bit全采样静止图像主档次。
VVC_PROFILE_MAIN_16_444_STILLVVC编码档次为16bit全采样静止图像主档次。

OH_H263Level

enum OH_H263Level

描述 H.263级别。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 17

枚举值描述
H263_LEVEL_10级别10。
H263_LEVEL_20级别20。
H263_LEVEL_30级别30。
H263_LEVEL_40级别40。
H263_LEVEL_45级别45。
H263_LEVEL_50级别50。
H263_LEVEL_60级别60。
H263_LEVEL_70级别70。

OH_H263Profile

enum OH_H263Profile

描述 H.263档次。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 17

枚举值描述
H263_PROFILE_BASELINE基线档次。
H263_PROFILE_VERSION_1_BACKWARD_COMPATIBILITY版本1向后兼容档次。

OH_TransferCharacteristic

enum OH_TransferCharacteristic

描述 转移特性。编解码都支持。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

枚举值描述
TRANSFER_CHARACTERISTIC_BT709BT709传递函数。
TRANSFER_CHARACTERISTIC_UNSPECIFIED未指定传递函数。
TRANSFER_CHARACTERISTIC_GAMMA_2_2GAMMA_2_2传递函数。
TRANSFER_CHARACTERISTIC_GAMMA_2_8GAMMA_2_8传递函数。
TRANSFER_CHARACTERISTIC_BT601BT601传递函数。
TRANSFER_CHARACTERISTIC_SMPTE_ST240SMPTE_ST240传递函数。
TRANSFER_CHARACTERISTIC_LINEARLINEAR传递函数。
TRANSFER_CHARACTERISTIC_LOGLOG传递函数。
TRANSFER_CHARACTERISTIC_LOG_SQRTLOG_SQRT传递函数。
TRANSFER_CHARACTERISTIC_IEC_61966_2_4IEC_61966_2_4传递函数。
TRANSFER_CHARACTERISTIC_BT1361BT1361传递函数。
TRANSFER_CHARACTERISTIC_IEC_61966_2_1IEC_61966_2_1传递函数。
TRANSFER_CHARACTERISTIC_BT2020_10BITBT2020_10BIT传递函数。
TRANSFER_CHARACTERISTIC_BT2020_12BITBT2020_12BIT传递函数。
TRANSFER_CHARACTERISTIC_PQPQ传递函数。
TRANSFER_CHARACTERISTIC_SMPTE_ST428SMPTE_ST428传递函数。
TRANSFER_CHARACTERISTIC_HLGHLG传递函数。

OH_BitrateMode

enum OH_BitrateMode

描述 编码器的比特率模式。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

枚举值描述
BITRATE_MODE_CBR恒定比特率模式。
BITRATE_MODE_VBR可变比特率模式,码率仅作参考。
BITRATE_MODE_CQ恒定质量模式。
BITRATE_MODE_SQR20+质量稳定模式,仅支持H265(HEVC)。

变量说明

OH_AVCODEC_MIMETYPE_SUBTITLE_SRT

const char* OH_AVCODEC_MIMETYPE_SUBTITLE_SRT

描述 SRT字幕解封装器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_AVCODEC_MIMETYPE_SUBTITLE_WEBVTT

const char* OH_AVCODEC_MIMETYPE_SUBTITLE_WEBVTT

描述 WEBVTT字幕解封装器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_AVCODEC_MIMETYPE_AUDIO_APE

const char* OH_AVCODEC_MIMETYPE_AUDIO_APE

描述 APE音频解码器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_AVCODEC_MIMETYPE_AUDIO_AAC

const char* OH_AVCODEC_MIMETYPE_AUDIO_AAC

描述 AAC音频编解码器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_AVCODEC_MIMETYPE_AUDIO_AMR_NB

const char* OH_AVCODEC_MIMETYPE_AUDIO_AMR_NB

描述 AMR_NB音频解码器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 11

OH_AVCODEC_MIMETYPE_AUDIO_AMR_WB

const char* OH_AVCODEC_MIMETYPE_AUDIO_AMR_WB

描述 AMR_WB音频解码器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 11

OH_AVCODEC_MIMETYPE_AUDIO_FLAC

const char* OH_AVCODEC_MIMETYPE_AUDIO_FLAC

描述 FLAC音频编解码器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_AVCODEC_MIMETYPE_AUDIO_G711MU

const char* OH_AVCODEC_MIMETYPE_AUDIO_G711MU

描述 G711MU音频编解码器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 11

OH_AVCODEC_MIMETYPE_AUDIO_RAW

const char* OH_AVCODEC_MIMETYPE_AUDIO_RAW

描述 RAW音频码流的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 18

OH_AVCODEC_MIMETYPE_AUDIO_MPEG

const char* OH_AVCODEC_MIMETYPE_AUDIO_MPEG

描述 MP3音频解码器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_AVCODEC_MIMETYPE_AUDIO_OPUS

const char* OH_AVCODEC_MIMETYPE_AUDIO_OPUS

描述 OPUS音频编解码器的MIME类型。(此规格暂未开放)

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 11

OH_AVCODEC_MIMETYPE_AUDIO_VIVID

const char* OH_AVCODEC_MIMETYPE_AUDIO_VIVID

描述 Audio Vivid音频解码器的MIME类型。(目前本规格未开放)

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 11

OH_AVCODEC_MIMETYPE_AUDIO_VORBIS

const char* OH_AVCODEC_MIMETYPE_AUDIO_VORBIS

描述 VORBIS音频解码器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_AVCODEC_MIMETYPE_IMAGE_BMP

const char* OH_AVCODEC_MIMETYPE_IMAGE_BMP

描述 BMP图片编码的MIME类型,仅用于封装BMP封面时使用。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_AVCODEC_MIMETYPE_IMAGE_JPG

const char* OH_AVCODEC_MIMETYPE_IMAGE_JPG

描述 JPG图片编码的MIME类型,仅用于封装JPG封面时使用。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_AVCODEC_MIMETYPE_IMAGE_PNG

const char* OH_AVCODEC_MIMETYPE_IMAGE_PNG

描述 PNG图片编码的MIME类型,仅用于封装PNG封面时使用。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_AVCODEC_MIMETYPE_VIDEO_AVC

const char* OH_AVCODEC_MIMETYPE_VIDEO_AVC

描述 AVC(H.264)视频编解码器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_AVCODEC_MIMETYPE_VIDEO_HEVC

const char* OH_AVCODEC_MIMETYPE_VIDEO_HEVC

描述 HEVC(H.265)视频编解码器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_AVCODEC_MIMETYPE_VIDEO_VVC

const char* OH_AVCODEC_MIMETYPE_VIDEO_VVC

描述 VVC(H.266)视频编解码器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_AVCODEC_MIMETYPE_VIDEO_H263

const char* OH_AVCODEC_MIMETYPE_VIDEO_H263

描述 H.263视频编解码器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 17

OH_AVCODEC_MIMETYPE_VIDEO_MPEG2

const char* OH_AVCODEC_MIMETYPE_VIDEO_MPEG2

描述

视频MPEG2编解码器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 17

OH_AVCODEC_MIMETYPE_VIDEO_MPEG4

const char* OH_AVCODEC_MIMETYPE_VIDEO_MPEG4

描述 MPEG4视频编码的MIME类型,仅用于封装MPEG4视频码流使用。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

废弃版本: 11

OH_AVCODEC_MIMETYPE_VIDEO_MPEG4_PART2

const char* OH_AVCODEC_MIMETYPE_VIDEO_MPEG4_PART2

描述

视频MPEG4 Part2编解码器的MIME类型。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 17

OH_ED_KEY_EOS

const char* OH_ED_KEY_EOS

描述 表示surfacebuffer流结束符的键,值类型为int32_t。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

废弃版本: 14

OH_ED_KEY_TIME_STAMP

const char* OH_ED_KEY_TIME_STAMP

描述 表示surfacebuffer时间戳的键,值类型为int64_t。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

废弃版本: 14

OH_FEATURE_PROPERTY_KEY_VIDEO_ENCODER_MAX_LTR_FRAME_COUNT

const char* OH_FEATURE_PROPERTY_KEY_VIDEO_ENCODER_MAX_LTR_FRAME_COUNT

描述 在视频编码中获取长期参考帧的最大个数的键,值类型为int32_t。

可以通过OH_AVCapability_GetFeatureProperties接口和枚举值VIDEO_ENCODER_LONG_TERM_REFERENCE来查询这个最大值。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_AAC_IS_ADTS

const char* OH_MD_KEY_AAC_IS_ADTS

描述 aac格式的键,aac格式分为ADTS格式和LATM格式。值类型为int32_t,0表示LATM格式,1表示ADTS格式。aac解码器支持。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_ALBUM

const char* OH_MD_KEY_ALBUM

描述 专辑的媒体文件的键,值类型为string。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_ALBUM_ARTIST

const char* OH_MD_KEY_ALBUM_ARTIST

描述 专辑艺术家的键,值类型为string。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_ARTIST

const char* OH_MD_KEY_ARTIST

描述 媒体文件艺术家的键,值类型为string。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_AUD_CHANNEL_COUNT

const char* OH_MD_KEY_AUD_CHANNEL_COUNT

描述 音频通道计数键,值类型为int32_t。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_KEY_AUD_SAMPLE_RATE

const char* OH_MD_KEY_AUD_SAMPLE_RATE

描述 音频采样率键,值类型为int32_t。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_KEY_AUDIO_COMPRESSION_LEVEL

const char* OH_MD_KEY_AUDIO_COMPRESSION_LEVEL

描述 音频编解码压缩水平的键,只在音频编码使用,值类型为int32_t。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 11

OH_MD_KEY_AUDIO_OBJECT_NUMBER

const char* OH_MD_KEY_AUDIO_OBJECT_NUMBER

描述 音频对象数目的键,值类型为int32_t,只有Audio Vivid解码使用。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 11

OH_MD_KEY_AUDIO_SAMPLE_FORMAT

const char* OH_MD_KEY_AUDIO_SAMPLE_FORMAT

描述 音频原始格式的键,值类型为int32_t。请参见OH_BitsPerSample

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_KEY_AUDIO_VIVID_METADATA

const char* OH_MD_KEY_AUDIO_VIVID_METADATA

描述 Audio Vivid元数据的键,值类型为uint8_t*,只有Audio Vivid解码使用。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 11

OH_MD_KEY_BITRATE

const char* OH_MD_KEY_BITRATE

描述 比特率的键,值类型为int64_t。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_KEY_BITS_PER_CODED_SAMPLE

const char* OH_MD_KEY_BITS_PER_CODED_SAMPLE

描述 每个编码样本位数的键,值类型为int32_t,支持flac编码器,请参见OH_BitsPerSample

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_CHANNEL_LAYOUT

const char* OH_MD_KEY_CHANNEL_LAYOUT

描述 所需编码通道布局的键。值类型为int64_t,此键仅适用于编码器。 请参见OH_AudioChannelLayout

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_CODEC_CONFIG

const char* OH_MD_KEY_CODEC_CONFIG

描述

编解码器特定数据的键,视频中表示传递SPS/PPS,音频中表示传递extraData,值类型为uint8_t*。 (视频编解码此功能暂未支持)

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_CODEC_MIME

const char* OH_MD_KEY_CODEC_MIME

描述 编解码器MIME类型的键,值类型为string。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_KEY_COLOR_PRIMARIES

const char* OH_MD_KEY_COLOR_PRIMARIES

描述 视频色域的键,值类型为int32_t,请参见OH_ColorPrimary,遵循H.273标准Table2。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_COMMENT

const char* OH_MD_KEY_COMMENT

描述 媒体文件注释的键,值类型为string。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_COMPLIANCE_LEVEL

const char* OH_MD_KEY_COMPLIANCE_LEVEL

描述 flac兼容性等级的键,值类型为int32_t,仅在音频编码使用。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_COPYRIGHT

const char* OH_MD_KEY_COPYRIGHT

描述 媒体文件版权的键,值类型为string。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_DATE

const char* OH_MD_KEY_DATE

描述 媒体文件日期的键,值类型为string,例如2024年。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_DESCRIPTION

const char* OH_MD_KEY_DESCRIPTION

描述 媒体文件描述的键,值类型为string。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_DURATION

const char* OH_MD_KEY_DURATION

描述 媒体文件持续时间的键,单位为微秒,值类型为int64_t。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_KEY_FRAME_RATE

const char* OH_MD_KEY_FRAME_RATE

描述 视频帧率的键,值类型为double。该值必须大于 0。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_KEY_GENRE

const char* OH_MD_KEY_GENRE

描述 媒体文件流派的键,值类型为string。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_HEIGHT

const char* OH_MD_KEY_HEIGHT

描述 视频高度键,值类型为int32_t。

在视频编解码流程中调用Configure接口时,使用此接口来设置视频帧的显示高。

使用指导请参见:视频编码中的中的Surface模式的“步骤-5”或Buffer模式“步骤-4”。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_KEY_I_FRAME_INTERVAL

const char* OH_MD_KEY_I_FRAME_INTERVAL

描述 关键帧间隔的键,值类型为int32_t,单位为毫秒。该键是可选的且只用于视频编码。

负值表示只有第一帧是关键帧,零表示所有帧都是关键帧。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_KEY_IDENTIFICATION_HEADER

const char* OH_MD_KEY_IDENTIFICATION_HEADER

描述 vorbis标识头的键,值类型为uint8_t*,仅vorbis解码器支持。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_LANGUAGE

const char* OH_MD_KEY_LANGUAGE

描述 媒体文件语言的键,值类型为string。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_LYRICS

const char* OH_MD_KEY_LYRICS

描述 媒体文件歌词的键,值类型为string。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_MATRIX_COEFFICIENTS

const char* OH_MD_KEY_MATRIX_COEFFICIENTS

描述 视频矩阵系数的键,值类型为int32_t,请参见OH_MatrixCoefficient,遵循H.273标准Table4。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_MAX_INPUT_SIZE

const char* OH_MD_KEY_MAX_INPUT_SIZE

描述 设置解码输入码流大小最大值的键,值类型为int32_t。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_KEY_PIXEL_FORMAT

const char* OH_MD_KEY_PIXEL_FORMAT

描述 视频像素格式的键,值类型为int32_t,请参见OH_AVPixelFormat

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_KEY_PROFILE

const char* OH_MD_KEY_PROFILE

描述 编码档次,值类型为int32_t,请参见OH_AVCProfileOH_HEVCProfileOH_AACProfile

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_KEY_QUALITY

const char* OH_MD_KEY_QUALITY

描述 所需编码质量的键。值类型为int32_t,在H.264、H.265编码场景值范围可以根据能力查询接口OH_AVCapability_GetEncoderQualityRange()获取,此键仅适用于配置在恒定质量模式下的编码器。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_RANGE_FLAG

const char* OH_MD_KEY_RANGE_FLAG

描述 视频YUV值域标志的键,值类型为int32_t,1表示full range,0表示limited range。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_REQUEST_I_FRAME

const char* OH_MD_KEY_REQUEST_I_FRAME

描述 请求立即编码I帧的键。值类型为int32_t。在调用OH_VideoEncoder_SetParameter()阶段使用,或随帧立即生效。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_ROTATION

const char* OH_MD_KEY_ROTATION

描述 surface旋转角度的键。值类型为int32_t:应为{0, 90, 180, 270},默认值为0。该键只在视频解码Surface模式下使用。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_KEY_SBR

const char* OH_MD_KEY_SBR

描述 aac sbr模式的键,值类型为int32_t,aac编码器支持。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_SCALING_MODE

const char* OH_MD_KEY_SCALING_MODE

描述 视频缩放模式,值类型为int32_t,请参见OH_ScalingMode。建议直接调用OH_NativeWindow_NativeWindowSetScalingModeV2接口进行设置。该键是可选的且只用于视频解码Surface模式。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

废弃版本: 14

替代接口:OH_NativeWindow_NativeWindowSetScalingModeV2

OH_MD_KEY_SETUP_HEADER

const char* OH_MD_KEY_SETUP_HEADER

描述 vorbis设置头的键,值类型为uint8_t*,仅vorbis解码器支持。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_TITLE

const char* OH_MD_KEY_TITLE

描述 媒体文件标题的键,值类型为string。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_TRACK_COUNT

const char* OH_MD_KEY_TRACK_COUNT

描述 媒体文件轨道数量的键,值类型为int32_t。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_TRACK_TYPE

const char* OH_MD_KEY_TRACK_TYPE

描述

轨道媒体类型的键,值类型为int32_t,请参见OH_MediaType

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_KEY_TRANSFER_CHARACTERISTICS

const char* OH_MD_KEY_TRANSFER_CHARACTERISTICS

描述 视频传递函数的键,值类型为int32_t,请参见OH_TransferCharacteristic,遵循H.273标准Table3。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_VIDEO_CROP_BOTTOM

const char* OH_MD_KEY_VIDEO_CROP_BOTTOM

描述 描述裁剪矩形底部坐标(y)值的键,值类型为int32_t。 包含裁剪框底部的行,行索引从0开始。该键只用于视频解码。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_CROP_LEFT

const char* OH_MD_KEY_VIDEO_CROP_LEFT

描述 描述裁剪矩形左坐标(x)值的键,值类型为int32_t。包含裁剪框最左边的列,列索引从0开始。该键只用于视频解码。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_CROP_RIGHT

const char* OH_MD_KEY_VIDEO_CROP_RIGHT

描述 描述裁剪矩形右坐标(x)值的键,值类型为int32_t。包含裁剪框最右边的列,列索引从0开始。该键只用于视频解码。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_CROP_TOP

const char* OH_MD_KEY_VIDEO_CROP_TOP

描述 描述裁剪矩形顶部坐标(y)值的键,值类型为int32_t。 包含裁剪框顶部的行,行索引从0开始。该键只用于视频解码。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY

const char* OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY

描述 使能低时延视频编解码的键,值类型为int32_t,1表示使能,0表示其它情况。该键是可选的,在Configure阶段使用。

如果使能,则视频编码器或视频解码器持有的输入和输出数据不会超过编解码器标准所要求的数量。

若平台支持,当使能此接口时,视频解码器将按照解码序输出帧。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE

const char* OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE

描述 视频编码码率模式,值类型为int32_t,请参见OH_BitrateMode

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_KEY_VIDEO_ENCODER_ENABLE_TEMPORAL_SCALABILITY

const char* OH_MD_KEY_VIDEO_ENCODER_ENABLE_TEMPORAL_SCALABILITY

描述 使能分层编码的键,值类型为int32_t,1表示使能,0表示其它情况。

使用前可以通过OH_AVCapability_IsFeatureSupported接口和枚举值 VIDEO_ENCODER_TEMPORAL_SCALABILITY来查询当前视频编码器是否支持分层编码。 详情请参见:时域可分层视频编码

该键是可选的且只用于视频编码,在Configure阶段使用。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_ENCODER_LTR_FRAME_COUNT

const char* OH_MD_KEY_VIDEO_ENCODER_LTR_FRAME_COUNT

描述 描述长期参考帧个数的键,值类型为int32_t,必须在支持的值范围内使用。

使用前可以通过OH_AVCapability_GetFeatureProperties接口和枚举值VIDEO_ENCODER_LONG_TERM_REFERENCE来查询支持的LTR数目。

该键是可选的且只用于视频编码,在Configure阶段使用。

详情请参见:时域可分层视频编码

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_MARK_LTR

const char* OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_MARK_LTR

描述 标记当前帧为长期参考帧的键,值类型为int32_t,1表示被标记,0表示其它情况。

只在长期参考帧个数被配置后生效。

该键是可选的且只用于视频编码输入轮转中,配置后立即生效。

详情请参见:时域可分层视频编码

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_USE_LTR

const char* OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_USE_LTR

描述 描述当前帧参考的长期参考帧帧的POC号的键,值类型为int32_t。

该键是可选的且只用于视频编码输入轮转中,配置后立即生效。

详情请参见:时域可分层视频编码

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_ENCODER_QP_MAX

const char* OH_MD_KEY_VIDEO_ENCODER_QP_MAX

描述 描述视频编码器允许的最大量化参数的键,值类型为int32_t。

在Configure/SetParameter阶段使用,或随帧立即生效。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_ENCODER_QP_MIN

const char* OH_MD_KEY_VIDEO_ENCODER_QP_MIN

描述 描述视频编码器允许的最小量化参数的键,值类型为int32_t。

在Configure/SetParameter阶段使用,或随帧立即生效。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_ENCODER_QP_AVERAGE

const char* OH_MD_KEY_VIDEO_ENCODER_QP_AVERAGE

描述 描述视频帧平均量化参数的键,值类型为int32_t。

表示当前帧编码块的平均qp值,随OH_AVBuffer输出。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_ENCODER_MSE

const char* OH_MD_KEY_VIDEO_ENCODER_MSE

描述 描述视频帧平方误差的键,值类型为double。

表示当前帧编码块的MSE统计值,随OH_AVBuffer输出。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_REFERENCE_MODE

const char* OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_REFERENCE_MODE

描述 描述图片组内参考模式的键,值类型为int32_t,请参见OH_TemporalGopReferenceMode,只在使能分层编码时生效。

该键是可选的且只用于视频编码,在Configure阶段使用。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_SIZE

const char* OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_SIZE

描述 描述图片组基本层图片的间隔大小的键,值类型为int32_t,只在使能分层编码时生效。

该键是可选的且只用于视频编码,在Configure阶段使用。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_IS_HDR_VIVID

const char* OH_MD_KEY_VIDEO_IS_HDR_VIVID

描述 媒体文件中的视频轨是否为HDR Vivid的键,支持封装和解封装,值类型为int32_t。

1代表是HDR Vivid视频轨,0表示其他情况。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 11

OH_MD_KEY_DECODING_TIMESTAMP

const char* OH_MD_KEY_DECODING_TIMESTAMP

描述 AVBuffer中携带的音视频或字幕的sample对应的解码时间戳的键,以微秒为单位,值类型为int64_t。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_BUFFER_DURATION

const char* OH_MD_KEY_BUFFER_DURATION

描述 AVBuffer中携带的音视频或字幕的sample对应的持续时间的键,以微秒为单位,值类型为int64_t。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_START_TIME

const char* OH_MD_KEY_START_TIME

描述 媒体文件中第一帧起始位置开始时间的键,以微秒为单位,值类型为int64_t。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_TRACK_START_TIME

const char* OH_MD_KEY_TRACK_START_TIME

描述 轨道开始时间的键,以微秒为单位,值类型为int64_t。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE

const char* OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE

描述 设置视频解码器输出色彩空间的键,值类型为int32_t。

支持的值为OH_COLORSPACE_BT709_LIMIT,请参见OH_NativeBuffer_ColorSpace

在视频解码调用OH_VideoDecoder_Configure接口时使用此接口。

在启动OH_VideoDecoder_Start接口前,必须要先调用OH_VideoDecoder_Prepare接口。

如果支持色彩空间转换功能并配置了此键,则视频解码器会自动将HDR Vivid视频转码为指定的色彩空间。

如果不支持色彩空间转换功能,则接口OH_VideoDecoder_Configure返回错误码AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION

如果输入视频不是HDR Vivid视频,则会通过回调函数OH_AVCodecOnError报告错误码AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_PER_FRAME_IS_LTR

const char* OH_MD_KEY_VIDEO_PER_FRAME_IS_LTR

描述 当前OH_AVBuffer中输出的码流对应的帧是否为长期参考帧的键,值类型为int32_t,1表示是LTR,0表示其它情况。

该键是可选的且只用于视频编码输出轮转中。

表示帧的属性。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_PER_FRAME_POC

const char* OH_MD_KEY_VIDEO_PER_FRAME_POC

描述 描述帧的POC号的键,值类型为int32_t。

该键是可选的且只用于视频编码输出轮转中。

表示帧的属性。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_PIC_HEIGHT

const char* OH_MD_KEY_VIDEO_PIC_HEIGHT

描述 描述视频帧真实高度的键,值类型为int32_t。

视频解码时调用OH_VideoDecoder_GetOutputDescription接口,可以从其返回的OH_AVFormat中解析出高度值。

当解码输出码流变化时,也可从OH_AVCodecOnStreamChanged返回的OH_AVForamt实例中解析出高度值。

从OH_AVForamt实例中解析出来的是对齐后的宽、高与调用Configure接口设置的OH_MD_KEY_WIDTH、OH_MD_KEY_HEIGHT不一样。

width、height、wStride、hStride图像排布与使用示例请参考:视频编码Buffer模式的“步骤-8”或视频解码Buffer模式“步骤-11”。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_PIC_WIDTH

const char* OH_MD_KEY_VIDEO_PIC_WIDTH

描述 描述视频帧真实宽度的键,值类型为int32_t。

视频解码时调用OH_VideoDecoder_GetOutputDescription接口,可以从其返回的OH_AVFormat中解析出宽度值。

当解码输出码流变化时,也可从OH_AVCodecOnStreamChanged返回的OH_AVForamt实例中解析出宽度值。

从OH_AVForamt实例中解析出来的是对齐后的宽、高与调用Configure接口设置的OH_MD_KEY_WIDTH、OH_MD_KEY_HEIGHT不一样。

width、height、wStride、hStride图像排布与使用示例请参考:视频编码Buffer模式的“步骤-8”或视频解码Buffer模式“步骤-11”。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_SLICE_HEIGHT

const char* OH_MD_KEY_VIDEO_SLICE_HEIGHT

描述 描述视频帧高跨距的键,值类型为int32_t。

高跨距是指从Y平面顶部到U平面顶部必须偏移的行数。本质上,U平面的偏移量是sliceHeight * stride。

U/V平面的高度可以根据颜色格式计算,尽管它通常是未定义的,并且取决于设备和版本。

使用指导请参见:视频编码Buffer模式的“步骤-3”。

width、height、wStride、hStride图像排布与使用示例请参考:视频编码Buffer模式的“步骤-8”或视频解码Buffer模式“步骤-11”。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_VIDEO_STRIDE

const char* OH_MD_KEY_VIDEO_STRIDE

描述 描述视频帧宽跨距的键,值类型为int32_t。

宽跨距是像素的索引与正下方像素的索引之间的差。

对于YUV420格式,宽跨距对应于Y平面,U和V平面的跨距可以根据颜色格式计算,但通常未定义,并且取决于设备和版本。

使用指导请参见:视频编码Buffer模式的“步骤-3”。

width、height、wStride、hStride图像排布与使用示例请参考:视频编码Buffer模式的“步骤-8”或视频解码Buffer模式“步骤-11”。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_WIDTH

const char* OH_MD_KEY_WIDTH

描述 视频宽度的键,值类型为int32_t。

在视频编解码流程中调用Configure接口时,使用此接口来设置视频帧的显示宽度。

使用指导请参见:视频编码中的Surface模式的“步骤-5”或Buffer模式“步骤-4”。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 9

OH_MD_MAX_INPUT_BUFFER_COUNT

const char* OH_MD_MAX_INPUT_BUFFER_COUNT

描述 最大输入缓冲区个数的键,值类型为int32_t。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_MAX_OUTPUT_BUFFER_COUNT

const char* OH_MD_MAX_OUTPUT_BUFFER_COUNT

描述 最大输出缓冲区个数的键,值类型int32_t。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 10

OH_MD_KEY_VIDEO_SAR

const char* OH_MD_KEY_VIDEO_SAR

描述 样本长宽比的键,值类型为double。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 12

OH_MD_KEY_CREATION_TIME

const char* OH_MD_KEY_CREATION_TIME

描述 媒体文件创建时间的元数据,值类型为string。使用ISO 8601标准的时间格式且为UTC时间,时间格式参考:"2024-12-28T00:00:00:000000Z"。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 14

OH_MD_KEY_VIDEO_DECODER_OUTPUT_ENABLE_VRR

const char* OH_MD_KEY_VIDEO_DECODER_OUTPUT_ENABLE_VRR

描述 解码器是否打开视频可变帧率功能的键,值类型为int32_t。1代表使能视频可变帧率功能,0代表不使能。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 15

OH_MD_KEY_SQR_FACTOR

const char* OH_MD_KEY_SQR_FACTOR

描述 指定SQR码控模式的质量参数,值越小,编码输出文件越大,质量越好。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 20

OH_MD_KEY_MAX_BITRATE

const char* OH_MD_KEY_MAX_BITRATE

描述 指定SQR码控模式的最大码率,单位bps。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 20

OH_MD_KEY_VIDEO_ENCODER_ROI_PARAMS

const char* OH_MD_KEY_VIDEO_ENCODER_ROI_PARAMS

描述 用于视频编码中,使能ROI编码并下发ROI参数,随帧设置且实时生效。

参数需满足"Top1,Left1-Bottom1,Right1=Offset1;Top2,Left2-Bottom2,Right2=Offset2;"的格式,多个ROI参数之间使用";"连接。

Top、Left、Bottom、Right指定一个ROI区域的上、左、下、右边界,Offset指定deltaQP,“=Offset”可以省略,省略时使用默认值(-3)。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 20

OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_FRAME_AFTER

const char* OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_FRAME_AFTER

描述 如果在上一帧提交给编码器之后没有新的帧可用,则会以毫秒为单位重复提交最后一帧,值类型为int32_t。

该键只用于视频编码Surface模式,在Configure阶段使用。

配置的值描述
小于等于0Configure阶段会被拦截,返回ERROR AV_ERR_INVALID_VAL。
大于0如果在上一帧提交给编码器之后没有新的帧可用,则会以毫秒为单位重复提交最后一帧。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 18

OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_MAX_COUNT

const char* OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_MAX_COUNT

描述 描述编码器在没有新的帧可用的情况下,可以对之前的帧进行重复编码的最大次数,值类型为int32_t。

该键仅在OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_FRAME_AFTER可用时生效,在Configure阶段使用。

配置的值描述
0Configure阶段会被拦截,返回ERROR AV_ERR_INVALID_VAL。
小于0在没有新的帧提交给编码器的这段时间内,编码器会一直重复编上一帧,直到达到系统上限。
大于0在没有新的帧提交给编码器的这段时间内,最多可以重复编码的帧数。

系统能力: SystemCapability.Multimedia.Media.CodecBase

起始版本: 18

你可能感兴趣的鸿蒙文章

harmony 鸿蒙AVCodec Kit(音视频编解码服务)

harmony 鸿蒙AVCapability

harmony 鸿蒙AVDemuxer

harmony 鸿蒙AVMuxer

harmony 鸿蒙AVSource

harmony 鸿蒙AudioCodec

harmony 鸿蒙AudioDecoder

harmony 鸿蒙AudioEncoder

harmony 鸿蒙Core

harmony 鸿蒙DrmSubsample

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