openharmony 鸿蒙 capi-native-avcodec-base-h

2026-08-25 浏览 (1)

native_avcodec_base.h

概述

声明用于音视频封装、解封装、编解码基础功能的Native API。

引用文件: <multimedia/player_framework/native_avcodec_base.h>

库: libnative_media_codecbase.so

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

起始版本: 9

相关模块: CodecBase

相关示例: AVCodec

汇总

结构体

名称typedef关键字描述
OH_AVCodecAsyncCallbackOH_AVCodecAsyncCallbackOH_AVCodec中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVCodec实例中,并处理回调上报的信息,以保证OH_AVCodec的正常运行。(API11废弃)
OH_AVCodecCallbackOH_AVCodecCallbackOH_AVCodec中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVCodec实例中,并处理回调上报的信息,以保证OH_AVCodec的正常运行。
OH_AVDataSourceOH_AVDataSource用户自定义数据源。
OH_AVDataSourceExtOH_AVDataSourceExt用户自定义数据源,回调支持通过userData传递用户自定义数据。
NativeWindowOHNativeWindow为图形接口定义native层对象。
OH_AVCodecOH_AVCodec为音视频编解码接口定义native层对象。

枚举

名称typedef关键字描述
OH_MediaTypeOH_MediaType媒体类型。
OH_AACProfileOH_AACProfileAAC档次。
OH_AVCProfileOH_AVCProfileAVC档次。
OH_HEVCProfileOH_HEVCProfileHEVC档次。
OH_VVCProfileOH_VVCProfileVVC档次。
OH_MPEG2ProfileOH_MPEG2ProfileMPEG2档次。
OH_MPEG4ProfileOH_MPEG4ProfileMPEG4档次。
OH_H263ProfileOH_H263ProfileH.263档次。
OH_VC1ProfileOH_VC1ProfileVC-1档次。
OH_AV1ProfileOH_AV1ProfileAV1档次。
OH_VP9ProfileOH_VP9ProfileVP9档次。
OH_WVC1ProfileOH_WVC1ProfileWVC1档次。
OH_WMV3ProfileOH_WMV3ProfileWMV3档次。
OH_AVOutputFormatOH_AVOutputFormat封装器支持的输出文件格式。
OH_AVSeekModeOH_AVSeekMode跳转模式。
OH_ScalingModeOH_ScalingMode缩放模式,只在Surface模式下使用。(API14废弃)
OH_BitsPerSampleOH_BitsPerSample每个编码样本的音频位数。
OH_ColorPrimaryOH_ColorPrimary色域。编解码都支持。
OH_TransferCharacteristicOH_TransferCharacteristic转移特性。编解码都支持。
OH_MatrixCoefficientOH_MatrixCoefficient矩阵系数。编解码都支持。
OH_AVCLevelOH_AVCLevelAVC级别。
OH_HEVCLevelOH_HEVCLevelHEVC级别。
OH_VVCLevelOH_VVCLevelVVC级别。
OH_MPEG2LevelOH_MPEG2LevelMPEG2级别。
OH_MPEG4LevelOH_MPEG4LevelMPEG4级别。
OH_H263LevelOH_H263LevelH.263级别。
OH_VC1LevelOH_VC1LevelVC-1级别。
OH_AV1LevelOH_AV1LevelAV1级别。
OH_VP9LevelOH_VP9LevelVP9级别。
OH_WVC1LevelOH_WVC1LevelWVC1级别。
OH_WMV3LevelOH_WMV3LevelWMV3级别。
OH_TemporalGopReferenceModeOH_TemporalGopReferenceMode时域图片组参考模式。
OH_BitrateModeOH_BitrateMode编码器的比特率模式。

函数

名称typedef关键字描述
typedef void (*OH_AVCodecOnError)(OH_AVCodec *codec, int32_t errorCode, void *userData)OH_AVCodecOnError当OH_AVCodec实例运行出错时,会调用来上报具体的错误信息的函数指针。
typedef void (*OH_AVCodecOnStreamChanged)(OH_AVCodec *codec, OH_AVFormat *format, void *userData)OH_AVCodecOnStreamChanged当视频解码输入码流分辨率或者视频编码输出码流的分辨率发生变化时,调用此函数指针报告新的流描述信息。
从API version 15开始,支持音频解码时,码流采样率、声道数或者音频采样格式发生变化时,将调用此函数指针报告新的流描述信息,支持检测此变化的解码格式有:AAC,FLAC,MP3,VORBIS。
需要注意的是,OH_AVFormat指针的生命周期只有在函数指针被调用时才有效,调用结束后禁止继续访问。
typedef void (*OH_AVCodecOnNeedInputData)(OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, void *userData)OH_AVCodecOnNeedInputData当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。(API11废弃)
typedef void (*OH_AVCodecOnNewOutputData)(OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, OH_AVCodecBufferAttr *attr, void *userData)OH_AVCodecOnNewOutputData当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅在调用函数指针时有效,这将禁止调用结束后继续访问。(API11废弃)
typedef void (*OH_AVCodecOnNeedInputBuffer)(OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData)OH_AVCodecOnNeedInputBuffer当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。
typedef void (*OH_AVCodecOnNewOutputBuffer)(OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData)OH_AVCodecOnNewOutputBuffer当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。
typedef int32_t (*OH_AVDataSourceReadAt)(OH_AVBuffer *data, int32_t length, int64_t pos)OH_AVDataSourceReadAt函数指针定义,用于提供获取用户自定义媒体数据的能力。
typedef int32_t (*OH_AVDataSourceReadAtExt)(OH_AVBuffer *data, int32_t length, int64_t pos, void *userData)OH_AVDataSourceReadAtExt函数指针定义,用于提供获取用户自定义媒体数据的能力。

变量

名称描述
const char * OH_AVCODEC_MIMETYPE_VIDEO_AVCAVC(H.264)视频编解码器的MIME类型。
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_AACAAC音频编解码器的MIME类型。
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_FLACFLAC音频编解码器的MIME类型。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_VORBISVORBIS音频解码器的MIME类型。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_MPEGMP3音频编解码器的MIME类型。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_VIDEO_HEVCHEVC(H.265)视频编解码器的MIME类型。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_VIDEO_MPEG4MPEG4视频编码的MIME类型,仅用于封装MPEG4视频码流使用。
起始版本: 10
废弃版本: 11
替代接口: OH_AVCODEC_MIMETYPE_VIDEO_MPEG4_PART2
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_VIDEO_MPEG4_PART2视频MPEG4 Part2编解码器的MIME类型。
起始版本: 17
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_VIDEO_MPEG2视频MPEG2编解码器的MIME类型。
起始版本: 17
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_VIDEO_H263H.263视频编解码器的MIME类型。
起始版本: 17
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_VIDEO_VC1VC-1视频编解码器的MIME类型。
起始版本: 22
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_VIDEO_AV1AV1视频编解码器的MIME类型。
起始版本: 23
const char * OH_AVCODEC_MIMETYPE_VIDEO_VP9VP9视频编解码器的MIME类型。
起始版本: 23
const char * OH_AVCODEC_MIMETYPE_VIDEO_VP8VP8视频编解码器的MIME类型。
起始版本: 23
const char * OH_AVCODEC_MIMETYPE_VIDEO_RV30RV30视频编解码器的MIME类型。
起始版本: 23
const char * OH_AVCODEC_MIMETYPE_VIDEO_RV40RV40视频编解码器的MIME类型。
起始版本: 23
const char * OH_AVCODEC_MIMETYPE_VIDEO_WVC1WVC1视频编解码器的MIME类型。
起始版本: 23
const char * OH_AVCODEC_MIMETYPE_VIDEO_DVVIDEODVVIDEO(Digital Video)视频编解码器的MIME类型。支持DV NTSC、DV PAL与DVCPRO HD。
起始版本: 23
const char * OH_AVCODEC_MIMETYPE_VIDEO_RAWVIDEORAWVIDEO视频编解码器的MIME类型。
起始版本: 23
const char * OH_AVCODEC_MIMETYPE_VIDEO_MPEG1MPEG1视频编解码器的MIME类型。
起始版本: 23
const char * OH_AVCODEC_MIMETYPE_VIDEO_CINEPAKCinepak视频编解码器的MIME类型。
起始版本: 24
const char * OH_AVCODEC_MIMETYPE_VIDEO_MSVIDEO1MSVIDEO1(Microsoft Video 1)视频编解码器的MIME类型。
起始版本: 22
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_VIDEO_WMV3WMV3视频编解码器的MIME类型。
起始版本: 22
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_VIDEO_MJPEGMJPEG(Motion JPEG)视频编解码器的MIME类型。
起始版本: 22
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_IMAGE_JPGJPG图片编码的MIME类型,仅用于封装JPG封面时使用。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_IMAGE_PNGPNG图片编码的MIME类型,仅用于封装PNG封面时使用。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_IMAGE_BMPBMP图片编码的MIME类型,仅用于封装BMP封面时使用。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_VIVIDAudio Vivid音频解码器的MIME类型。
起始版本: 11
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_AMR_NBAMR_NB音频解码器的MIME类型。
起始版本: 11
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_AMR_WBAMR_WB音频解码器的MIME类型。
起始版本: 11
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_OPUSOPUS音频编解码器的MIME类型。
起始版本: 11
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_G711MUG711MU音频编解码器的MIME类型。
起始版本: 11
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_ALACALAC(Apple Lossless Audio Codec)音频解码器的MIME类型。
起始版本: 22
const char * OH_AVCODEC_MIMETYPE_AUDIO_AC3AC3(Dolby Audio Coding 3)音频解码器的MIME类型。
起始版本: 22
const char * OH_AVCODEC_MIMETYPE_AUDIO_EAC3EAC3(Enhanced AC-3)音频解码器的MIME类型。
起始版本: 22
const char * OH_AVCODEC_MIMETYPE_AUDIO_WMAV1WMA(Windows Media Audio)V1音频解码器的MIME类型。
起始版本: 22
const char * OH_AVCODEC_MIMETYPE_AUDIO_WMAV2WMA(Windows Media Audio)V2音频解码器的MIME类型。
起始版本: 22
const char * OH_AVCODEC_MIMETYPE_AUDIO_WMAPROWMA(Windows Media Audio)Pro音频解码器的MIME类型。
起始版本: 22
const char * OH_MD_KEY_BLOCK_ALIGN划分音频数据块大小的键,单位为字节,值类型为int32_t。该键仅用于WMA(V1、V2、PRO)解码器。
允许的MIME类型包括OH_AVCODEC_MIMETYPE_AUDIO_WMAV1,OH_AVCODEC_MIMETYPE_AUDIO_WMAV2和OH_AVCODEC_MIMETYPE_AUDIO_WMAPRO。
起始版本: 22
const char * OH_AVCODEC_MIMETYPE_AUDIO_GSMGSM(Global System for Mobile Communications)音频解码器的MIME类型。
起始版本: 22
const char * OH_AVCODEC_MIMETYPE_AUDIO_GSM_MSGSM MS(Microsoft variant)音频解码器的MIME类型。
起始版本: 22
const char * OH_AVCODEC_MIMETYPE_AUDIO_TWINVQTWINVQ(Transform-domain Weighted Interleave Vector Quantization)音频解码器的MIME类型。
起始版本: 23
const char * OH_AVCODEC_MIMETYPE_AUDIO_ILBCILBC(Internet Low Bitrate Codec) 音频解码器的MIME类型。
起始版本: 23
const char * OH_AVCODEC_MIMETYPE_AUDIO_TRUEHDTRUEHD(True High Definition)音频解码器的MIME类型。
起始版本: 23
const char * OH_AVCODEC_MIMETYPE_VIDEO_VVCVVC(H.266)视频编解码器的MIME类型。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_APEAPE音频解码器的MIME类型。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_SUBTITLE_SRTSRT字幕解封装器的MIME类型。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_SUBTITLE_WEBVTTWEBVTT字幕解封装器的MIME类型。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_RAWRAW音频码流的MIME类型。
起始版本: 18
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_G711AG711A音频解码器的MIME类型。
起始版本: 20
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_COOKCOOK(RealAudio Cook)音频解码器的MIME类型。
起始版本: 23
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_DTSDTS(Digital Theater Systems)音频解码器的MIME类型。
起始版本: 23
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_AVCODEC_MIMETYPE_AUDIO_DVAUDIODVAUDIO(Digital Video Audio)音频解码器的MIME类型。
起始版本: 23
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_ED_KEY_TIME_STAMP表示surfacebuffer时间戳的键,值类型为int64_t。
起始版本: 9
废弃版本: 14
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_ED_KEY_EOS表示surfacebuffer流结束符的键,值类型为int32_t。
起始版本: 9
废弃版本: 14
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_TRACK_TYPE轨道媒体类型的键,值类型为int32_t,请参见OH_MediaType
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_CODEC_MIME编解码器MIME类型的键,值类型为char *。
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_DURATION媒体文件持续时间的键,单位为微秒,值类型为int64_t。
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_BITRATE比特率的键,值类型为int64_t。可以通过能力查询接口OH_AVCapability_GetEncoderBitrateRange接口来获取取值范围。
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_MAX_INPUT_SIZE设置解码输入码流大小最大值的键,值类型为int32_t。
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_WIDTH视频宽度的键,值类型为int32_t。
在视频编解码流程中调用Configure接口时,使用此接口来设置视频帧的显示宽度。可以通过能力查询接口OH_AVCapability_GetVideoWidthRange来获取取值范围。
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_HEIGHT视频高度键,值类型为int32_t。
在视频编解码流程中调用Configure接口时,使用此接口来设置视频帧的显示高度。可以通过能力查询接口OH_AVCapability_GetVideoHeightRange来获取取值范围。
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_PIXEL_FORMAT视频像素格式的键,值类型为int32_t,请参见OH_AVPixelFormat
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_AUDIO_SAMPLE_FORMAT音频原始格式的键,值类型为int32_t,请参见OH_BitsPerSample
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_FRAME_RATE视频帧率的键,值类型为double。该值必须大于 0。可以通过能力查询接口OH_AVCapability_GetVideoFrameRateRange来获取取值范围。
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE视频编码码率模式,值类型为int32_t,请参见OH_BitrateMode
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_PROFILE编码档次,值类型为int32_t,请参见OH_AVCProfileOH_HEVCProfileOH_AACProfile。可以通过能力查询接口OH_AVCapability_GetSupportedProfiles来获取支持的档次。
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_AUD_CHANNEL_COUNT音频通道计数键,值类型为int32_t。
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_AUD_SAMPLE_RATE音频采样率键,值类型为int32_t。
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_I_FRAME_INTERVAL关键帧间隔的键,值类型为int32_t,单位为ms。该键是可选的且只用于视频编码。
负值表示只有第一帧是关键帧,0表示所有帧都是关键帧,正值表示每(frameRate * 设置值)/1000帧一个关键帧。默认值为1000。
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_ROTATIONsurface旋转角度的键,旋转方向为顺时针。值类型为int32_t,值为{0, 90, 180, 270},默认值为0。
该键只在视频解码Surface模式下使用。
设置视频解码surface模式旋转时,推荐使用OH_MD_KEY_VIDEO_TRANSFORM_TYPE键。
起始版本: 9
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_TRANSFORM_TYPE视频翻转角度的键,值类型为int32_t,请参见OH_NativeBuffer_TransformType
此键用于设置视频解码surface模式的翻转角度。若未指定,默认值为0 (NATIVEBUFFER_ROTATE_NONE)。
此键与OH_MD_KEY_ROTATION互斥。若两者同时设置,以OH_MD_KEY_VIDEO_TRANSFORM_TYPE为准,推荐使用OH_MD_KEY_VIDEO_TRANSFORM_TYPE键。
注意:OH_NativeBuffer_TransformType中指定的角度表示逆时针旋转,这与OH_MD_KEY_ROTATION定义的旋转方向相反。
对应关系如下:
- NATIVEBUFFER_ROTATE_NONE等同于OH_MD_KEY_ROTATION = 0。
- NATIVEBUFFER_ROTATE_90等同于OH_MD_KEY_ROTATION = 270。
- NATIVEBUFFER_ROTATE_180等同于OH_MD_KEY_ROTATION = 180。
- NATIVEBUFFER_ROTATE_270等同于OH_MD_KEY_ROTATION = 90。

起始版本: 22
const char * OH_MD_KEY_RANGE_FLAG视频YUV值域标志的键,值类型为int32_t,1表示full range,0表示limited range,默认值为0。配置非0值将按照配置1处理,表示full range。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_COLOR_PRIMARIES视频色域的键,值类型为int32_t,默认值为COLOR_PRIMARY_UNSPECIFIED。请参见OH_ColorPrimary,遵循H.273标准Table2。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_TRANSFER_CHARACTERISTICS视频传递函数的键,值类型为int32_t,默认值为TRANSFER_CHARACTERISTIC_UNSPECIFIED。请参见OH_TransferCharacteristic,遵循H.273标准Table3。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_MATRIX_COEFFICIENTS视频矩阵系数的键,值类型为int32_t,默认值为MATRIX_COEFFICIENT_UNSPECIFIED。请参见OH_MatrixCoefficient,遵循H.273标准Table4。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_REQUEST_I_FRAME请求立即编码I帧的键。值类型为int32_t。在调用OH_VideoEncoder_SetParameter阶段使用,或随帧立即生效。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_QUALITY所需编码质量的键。值类型为int32_t,默认值为50。在H.264、H.265编码场景值范围可以通过能力查询接口OH_AVCapability_GetEncoderQualityRange来获取取值范围,此键仅适用于配置在恒定质量模式下的编码器。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_CODEC_CONFIG编解码器特定数据的键,视频中表示传递SPS/PPS,音频中表示传递extraData,值类型为uint8_t*。 (视频编解码此功能暂未支持)
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_TITLE媒体文件标题的键,值类型为char *。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_ARTIST媒体文件艺术家的键,值类型为char *。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_ALBUM专辑的媒体文件的键,值类型为char *。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_ALBUM_ARTIST专辑艺术家的键,值类型为char *。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_DATE媒体文件日期的键,值类型为char *,例如2024年。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_COMMENT媒体文件注释的键,值类型为char *。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_ENABLE_MOOV_FRONT媒体文件moov元数据是否前置标志,值类型为int32_t, 1表示前置, 0表示不前置, 默认为0。
起始版本: 20
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_GENRE媒体文件流派的键,值类型为char *。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_COPYRIGHT媒体文件版权的键,值类型为char *。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_LANGUAGE媒体文件语言的键,值类型为char *。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_DESCRIPTION媒体文件描述的键,值类型为char *。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_LYRICS媒体文件歌词的键,值类型为char *。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_TRACK_COUNT媒体文件轨道数量的键,值类型为int32_t。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_CHANNEL_LAYOUT所需编码通道布局的键。值类型为int64_t,此键仅适用于编码器。请参见OH_AudioChannelLayout
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_BITS_PER_CODED_SAMPLE每个编码样本位数的键,值类型为int32_t。
API version 20前,FLAC编码必须设置此参数,设置为1即可;未设置此参数配置FLAC编码器时,调用OH_AudioCodec_Configure会返回错误码AV_ERR_INVALID_VAL。该值无实际作用,不会影响编码结果。
从API version 20开始,无需设置此参数。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_AAC_IS_ADTSaac格式的键,aac格式分为ADTS格式和LATM格式。值类型为int32_t,0表示LATM格式,1表示ADTS格式。aac解码器支持。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_SBRaac sbr模式的键,值类型为int32_t,aac编码器支持。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_COMPLIANCE_LEVELflac兼容性等级的键,值类型为int32_t,仅在音频编码使用。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_IDENTIFICATION_HEADERvorbis标识头的键,值类型为uint8_t*,仅vorbis解码器支持。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_SETUP_HEADERvorbis设置头的键,值类型为uint8_t*,仅vorbis解码器支持。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_SCALING_MODE视频缩放模式,值类型为int32_t,请参见OH_ScalingMode
建议直接调用OH_NativeWindow_NativeWindowSetScalingModeV2接口进行设置。该键是可选的且只用于视频解码Surface模式。
起始版本: 10
废弃版本: 14
替代接口: OH_NativeWindow_NativeWindowSetScalingModeV2
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_MAX_INPUT_BUFFER_COUNT最大输入缓冲区个数的键,值类型为int32_t。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_MAX_OUTPUT_BUFFER_COUNT最大输出缓冲区个数的键,值类型int32_t。
起始版本: 10
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_AUDIO_COMPRESSION_LEVEL音频编解码压缩水平的键,只在音频编码使用,值类型为int32_t。
起始版本: 11
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_IS_HDR_VIVID媒体文件中的视频轨是否为HDR Vivid的键,支持封装和解封装,值类型为int32_t。
1表示是HDR Vivid视频轨,0表示不是HDR Vivid视频轨。
起始版本: 11
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_AUDIO_OBJECT_NUMBER音频对象数目的键. 值类型为int32_t,只有Audio Vivid解码使用。
起始版本: 11
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_AUDIO_VIVID_METADATAAudio Vivid元数据的键,值类型为uint8_t*,只有Audio Vivid解码使用。
起始版本: 11
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_FEATURE_PROPERTY_KEY_VIDEO_ENCODER_MAX_LTR_FRAME_COUNT在视频编码中获取长期参考帧的最大个数的键,值类型为int32_t。
可以通过OH_AVCapability_GetFeatureProperties接口和枚举值OH_AVCapabilityFeature中的VIDEO_ENCODER_LONG_TERM_REFERENCE来查询这个最大值。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODER_ENABLE_TEMPORAL_SCALABILITY使能分层编码的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。
使用前可以通过OH_AVCapability_IsFeatureSupported接口和枚举值OH_AVCapabilityFeature中的VIDEO_ENCODER_TEMPORAL_SCALABILITY来查询当前视频编码器是否支持分层编码。
详情请参见:时域可分层视频编码
该键是可选的且只用于视频编码,在Configure阶段使用。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_SIZE描述图片组基本层图片的间隔大小的键,值类型为int32_t,只在使能分层编码时生效。
该键是可选的且只用于视频编码,在Configure阶段使用。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_REFERENCE_MODE描述图片组内参考模式的键,值类型为int32_t,请参见OH_TemporalGopReferenceMode,只在使能分层编码时生效。
该键是可选的且只用于视频编码,在Configure阶段使用。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_LAYER_ID描述图像组(GOP)内的时域层号ID键,数据类型为int32_t。
时域层号为0时,表示基础层,1及以上时表示增强层,最大时域层号与OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_REFERENCE_MODE参数和OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_SIZE参数相关。
该键目前仅用于查询编码器输出的AVBuffer中携带的时域层号。
使用流程如下:
1. 通过OH_AVCodecOnNewOutputBuffer接口或OH_VideoEncoder_GetOutputBuffer获取缓冲区实例(AVBuffer)。
2. 通过OH_AVBuffer_GetParameter获取除基础属性外的其他参数实例(OH_AVFormat)。
3. 通过OH_AVFormat_GetIntValue接口和本键获取对应帧的时域层号。
起始版本: 26.0.0
const char * OH_MD_KEY_VIDEO_ENCODER_LTR_FRAME_COUNT描述长期参考帧个数的键,值类型为int32_t,必须在支持的值范围内使用。
使用前可以通过OH_AVCapability_GetFeatureProperties接口和枚举值OH_AVCapabilityFeature中的VIDEO_ENCODER_LONG_TERM_REFERENCE来查询支持的LTR数目。
该键是可选的且只用于视频编码,在Configure阶段使用。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_MARK_LTR标记当前帧为长期参考帧的键,值类型为int32_t,1表示被标记,0表示未被标记,默认值为0。配置非0值将按照配置1处理,表示被标记。
只在长期参考帧个数被配置后生效。
该键是可选的且只用于视频编码输入轮转中,配置后立即生效。
详情请参见:时域可分层视频编码
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_USE_LTR描述当前帧参考的长期参考帧帧的POC号的键,值类型为int32_t。
该键是可选的且只用于视频编码输入轮转中,配置后立即生效。
详情请参见:时域可分层视频编码
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_PER_FRAME_IS_LTR当前OH_AVBuffer中输出的码流对应的帧是否为长期参考帧的键,值类型为int32_t,1表示是LTR,0表示不是LTR,默认值为0。配置非0值将按照配置1处理,表示是LTR。
该键是可选的且只用于视频编码输出轮转中。
表示帧的属性。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_PER_FRAME_POC描述帧的POC的键,值类型为int32_t。
该键是可选的且只用于视频编码输出轮转中。
表示帧的属性。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_CROP_TOP描述裁剪矩形顶部坐标(y)值的键,值类型为int32_t。
包含裁剪框顶部的行,行索引从0开始。
该键只用于视频解码。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_CROP_BOTTOM描述裁剪矩形底部坐标(y)值的键,值类型为int32_t。
包含裁剪框底部的行,行索引从0开始。
该键只用于视频解码。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_CROP_LEFT描述裁剪矩形左坐标(x)值的键,值类型为int32_t。
包含裁剪框最左边的列,列索引从0开始。
该键只用于视频解码。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_CROP_RIGHT描述裁剪矩形右坐标(x)值的键,值类型为int32_t。
包含裁剪框最右边的列,列索引从0开始。
该键只用于视频解码。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_STRIDE描述视频帧宽跨距的键,值类型为int32_t。
宽跨距是像素的索引与正下方像素的索引之间的差。
对于YUV420格式,宽跨距对应于Y平面,U和V平面的跨距可以根据颜色格式计算,但通常未定义,并且取决于设备和版本。
使用指导请参见:视频编码Buffer模式的“步骤-3”。
width、height、wStride、hStride图像排布与使用示例请参考:视频编码Buffer模式的“步骤-8”或视频解码Buffer模式“步骤-11”。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
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”。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_PIC_WIDTH描述视频帧真实宽度的键,值类型为int32_t。
视频解码时调用OH_VideoDecoder_GetOutputDescription接口,可以从其返回的OH_AVFormat中解析出宽度值。
当解码输出码流变化时,也可从OH_AVCodecOnStreamChanged返回的OH_AVFormat实例中解析出宽度值。
从OH_AVFormat实例中解析出来的是对齐后的宽、高与调用Configure接口设置的OH_MD_KEY_WIDTH、OH_MD_KEY_HEIGHT不一样。
width、height、wStride、hStride图像排布与使用示例请参考:视频编码Buffer模式的“步骤-8”或视频解码Buffer模式“步骤-11”。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_PIC_HEIGHT描述视频帧真实高度的键,值类型为int32_t。
视频解码时调用OH_VideoDecoder_GetOutputDescription接口,可以从其返回的OH_AVFormat中解析出高度值。
当解码输出码流变化时,也可从OH_AVCodecOnStreamChanged返回的OH_AVFormat实例中解析出高度值。
从OH_AVFormat实例中解析出来的是对齐后的宽、高与调用Configure接口设置的OH_MD_KEY_WIDTH、OH_MD_KEY_HEIGHT不一样。
width、height、wStride、hStride图像排布与使用示例请参考:视频编码Buffer模式的“步骤-8”或视频解码Buffer模式“步骤-11”。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY使能低时延视频解码的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。
该键是可选的,在Configure阶段使用。
如果使能,则视频解码器持有的输入和输出数据不会超过解码器标准所要求的数量。
可以通过能力查询接口OH_AVCapability_IsFeatureSupported来查询特定解码器是否支持低时延。若解码器支持,使能此接口时,视频解码器将按照解码序输出帧。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODER_QP_MAX描述视频编码器允许的最大量化参数的键,值类型为int32_t。
在Configure/SetParameter阶段使用,或随帧立即生效。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODER_QP_MIN描述视频编码器允许的最小量化参数的键,值类型为int32_t。
在Configure/SetParameter阶段使用,或随帧立即生效。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODER_QP_AVERAGE描述视频帧平均量化参数的键,值类型为int32_t。
表示当前帧编码块的平均qp值,随OH_AVBuffer输出。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODER_MSE描述视频帧平方误差的键,值类型为double。
表示当前帧编码块的MSE统计值,随OH_AVBuffer输出。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_DECODING_TIMESTAMPAVBuffer中携带的音视频或字幕的sample对应的解码时间戳的键,以微秒为单位,值类型为int64_t。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_BUFFER_DURATIONAVBuffer中携带的音视频或字幕的sample对应的持续时间的键,以微秒为单位,值类型为int64_t。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_SAR样本长宽比的键,值类型为double。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_START_TIME媒体文件中第一帧起始位置开始时间的键,以微秒为单位,值类型为int64_t。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_TRACK_START_TIME轨道开始时间的键,以微秒为单位,值类型为int64_t。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
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返回错误码OH_AVErrCode中的AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION。如果输入视频不是HDR Vivid视频,则会通过回调函数OH_AVCodecOnError报告错误OH_AVErrCode中的AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION。
起始版本: 12
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_DECODER_OUTPUT_ENABLE_VRR解码器是否打开视频可变帧率功能的键,值类型为int32_t。
1代表使能视频可变帧率功能,0代表不使能。
起始版本: 15
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_CREATION_TIME媒体文件创建时间的元数据,值类型为char *。使用ISO 8601标准的时间格式且为UTC时间,时间格式参考:"2024-12-28T00:00:00:000000Z"。
起始版本: 14
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_FRAME_AFTER如果在上一帧提交给编码器之后没有新的帧可用,则会以毫秒为单位重复提交最后一帧,值类型为int32_t。
该键只用于视频编码Surface模式,在Configure阶段使用。
配置的值:
- 小于等于0:Configure阶段会被拦截,返回ERROR AV_ERR_INVALID_VAL。
- 大于0:如果在上一帧提交给编码器之后没有新的帧可用,则会以毫秒为单位重复提交最后一帧。
起始版本: 18
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_MAX_COUNT描述编码器在没有新的帧可用的情况下,可以对之前的帧进行重复编码的最大次数,值类型为int32_t。
该键仅在OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_FRAME_AFTER可用时生效,在Configure阶段使用。
配置的值:
- 等于0:Configure阶段会被拦截,返回ERROR AV_ERR_INVALID_VAL。
- 小于0:在没有新的帧提交给编码器的这段时间内,编码器会一直重复编上一帧,直到达到系统上限。
- 大于0:在没有新的帧提交给编码器的这段时间内,最多可以重复编码的帧数。
起始版本: 18
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODER_ENABLE_B_FRAME使能B帧编码的键,值类型为int32_t(0或1):1表示使能,0表示不使能。该键是可选项,仅用于视频编码器,默认值为0。
如果使能,视频编码器将使用B帧,解码顺序与显示顺序会不同。
对于不支持的平台,配置该键不会生效。
可通过OH_AVCapability_IsFeatureSupported接口和枚举值OH_AVCapabilityFeature.VIDEO_ENCODER_B_FRAME查询平台能力。
该键仅在configure阶段使用。

起始版本: 20
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODER_MAX_B_FRAMES描述视频编码器支持的最大连续B帧数的键,值类型为int32_t。注意:该键目前仅用于查询编码器能力。
使用规范如下:
1. 通过OH_AVCapability_IsFeatureSupported接口和枚举值OH_AVCapabilityFeature.VIDEO_ENCODER_B_FRAME查询特性支持情况。
2. 通过OH_AVCapability_GetFeatureProperties接口和枚举值OH_AVCapabilityFeature.VIDEO_ENCODER_B_FRAME获取OH_AVFormat指针。
3. 通过OH_AVFormat_GetIntValue接口和本键获取最大B帧数。

起始版本: 20
系统能力: SystemCapability.Multimedia.Media.CodecBase
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)。
起始版本: 20
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_SQR_FACTOR指定SQR码控模式的质量参数,取值范围为[0, 51](同编码量化参数QP),值越小,编码输出码率越大,质量越好。
在Configure/SetParameter阶段使用。
起始版本: 20
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_MAX_BITRATE指定SQR码控模式的最大码率,使用OH_AVCapability_GetEncoderBitrateRange方法获取取值范围(同OH_MD_KEY_BITRATE),单位bps,值类型为int64_t。
在Configure/SetParameter阶段使用。
起始版本: 20
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_ENCODER_ENABLE_PTS_BASED_RATECONTROL使能基于显示时间戳(PTS)的码控模式的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。
该键值是可选的且只用于视频编码。
如果使能,则必须在每个视频帧中携带PTS信息,并发送到编码器。Surface模式下,通过OH_NativeWindow_NativeWindowHandleOpt接口设置PTS,时间单位为纳秒(ns);Buffer模式下,通过OH_AVBuffer_SetBufferAttr接口设置PTS,时间单位为微秒(us)。
在Configure阶段使用。
起始版本: 20
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_REFERENCE_TRACK_IDS媒体文件轨道间参考、被参考关系,值类型为int32_t*。
起始版本: 20
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_TRACK_REFERENCE_TYPE媒体文件辅助轨类型,值类型为char *。
起始版本: 20
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_TRACK_DESCRIPTION媒体文件辅助轨描述信息,值类型为char *。
起始版本: 20
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_ENABLE_SYNC_MODE使能音视频编解码同步模式的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。该键是可选。
如果使能,需要注意:
1. 编解码器不可设置回调函数。
2. 必须使用缓冲区查询接口替代回调。
3. 只能在Configure阶段使用。
起始版本: 20
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_DECODER_BLANK_FRAME_ON_SHUTDOWN用于指定视频解码器关闭时是否输出空白帧的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。该键是可选的且仅用于视频解码Surface模式。
使能后,调用OH_VideoDecoder_Stop接口或者OH_VideoDecoder_Destroy接口时,视频解码器将输出空白帧(通常为黑色)。该机制可避免因解码器突然终止导致的显示残留。
起始版本: 20
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_VIDEO_NATIVE_BUFFER_FORMAT用于查询视频编解码中native buffer像素格式的键,值类型为int32_t。
具体取值请参见OH_NativeBuffer_Format中定义的像素格式。该键主要用于以下两种场景:
1. 视频解码:调用OH_VideoDecoder_GetOutputDescription接口或OH_AVCodecOnStreamChanged,从返回的OH_AVFormat对象中获取当前输出格式。
2. 视频编码:调用OH_VideoEncoder_GetInputDescription接口,从返回的OH_AVFormat对象中获取当前输入格式。
起始版本: 22
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_BUFFER_SKIP_SAMPLES_INFOOH_AVBuffer中携带的键,用于跳过音频解码输出的数据。以采样点为单位,值类型为uint8_t*,当使用mp3、vorbis、opus解码器解码时,可设置该键。
仅音频的起始、末尾帧携带该键,该键是可选的。使用方法一:解封装时获取该信息并设置到解码输入的OH_AVBuffer。
1. 从OH_AVCodecCallback的回调函数OH_AVCodecOnNeedInputBuffer里获取解码用的OH_AVBuffer。
2. 调用OH_AVDemuxer_ReadSampleBuffer接口读取音频数据,该接口会自行设置OH_MD_KEY_BUFFER_SKIP_SAMPLES_INFO。
3. 调用OH_AudioCodec_PushInputBuffer输入OH_AVBuffer进行解码。
使用方法二:构造该键需要的数据并设置到解码输入的OH_AVBuffer。
开发者需要先创建一个10字节uint8_t[]类型的数组,具体结构如下:
1. 数组0~3,这4个字节表示从当前帧第一个采样点开始往后跳过的采样点数,以小端序存储uint32_t值。
2. 数组4~7,这4个字节表示从当前帧最后一个采样点开始往前跳过的采样点数(不大于1帧采样点数),以小端序存储uint32_t值。
3. 数组8~9,这2个字节填0即可。

起始版本: 23
系统能力: SystemCapability.Multimedia.Media.CodecBase
const char * OH_MD_KEY_ENABLE_BUFFER_SKIP_SAMPLES在音频解码器中使能OH_MD_KEY_BUFFER_SKIP_SAMPLES_INFO的键,值类型为int32_t。1表示使能,0表示不使能,默认值为0。配置非1值将按照配置0处理,表示不使能。
该键是可选的。仅用于音频解码器。
起始版本: 24
const char * OH_MD_KEY_LATITUDE纬度的键,值类型为float,范围为[-90.0, 90.0]。表示地理位置信息中的纬度。
起始版本: 24
const char * OH_MD_KEY_LONGITUDE经度的键,值类型为float,范围为[-180.0, 180.0]。表示地理位置信息中的经度。
起始版本: 24
const char * OH_MD_KEY_ALTITUDE海拔的键,值类型为float,该键是可选的。表示地理位置信息中的海拔。
起始版本: 24

枚举类型说明

OH_MediaType

enum OH_MediaType

描述

媒体类型。

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

起始版本: 9

枚举项描述
MEDIA_TYPE_AUD = 0音频轨。
MEDIA_TYPE_VID = 1视频轨。
MEDIA_TYPE_SUBTITLE = 2字幕轨。
起始版本: 12
MEDIA_TYPE_TIMED_METADATA = 5timed metadata轨。
起始版本: 20
MEDIA_TYPE_AUXILIARY = 6辅助轨。
起始版本: 20

OH_AACProfile

enum OH_AACProfile

描述

AAC档次。

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

起始版本: 9

枚举项描述
AAC_PROFILE_LC = 0AAC编码档次为Low Complexity级别。
AAC_PROFILE_HE = 3AAC编码档次为High Efficiency级别。包含音频对象类型:AAC LC和SBR。
起始版本: 14
AAC_PROFILE_HE_V2 = 4AAC编码档次为High Efficiency v2级别。包含音频对象类型:AAC LC、SBR和PS。
起始版本: 14

OH_AVCProfile

enum OH_AVCProfile

描述

AVC档次。

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

起始版本: 9

枚举项描述
AVC_PROFILE_BASELINE = 0AVC编码档次为基本档次。
AVC_PROFILE_HIGH = 4AVC编码档次为高档次。
AVC_PROFILE_MAIN = 8AVC编码档次为主档次。

OH_HEVCProfile

enum OH_HEVCProfile

描述

HEVC档次。

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

起始版本: 10

枚举项描述
HEVC_PROFILE_MAIN = 0HEVC编码档次为主档次。
HEVC_PROFILE_MAIN_10 = 1HEVC编码档次为10bit主档次。
HEVC_PROFILE_MAIN_STILL = 2HEVC编码档次为静止图像主档次。
HEVC_PROFILE_MAIN_10_HDR10 = 3HEVC编码档次为HDR10主档次。
废弃版本: 14
HEVC_PROFILE_MAIN_10_HDR10_PLUS = 4HEVC编码档次为HDR10+主档次。
废弃版本: 14

OH_VVCProfile

enum OH_VVCProfile

描述

VVC档次。

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

起始版本: 15

枚举项描述
VVC_PROFILE_MAIN_10 = 1VVC编码档次为10bit主档次。
VVC_PROFILE_MAIN_12 = 2VVC编码档次为12bit主档次。
VVC_PROFILE_MAIN_12_INTRA = 10VVC编码档次为12bit帧内主档次。
VVC_PROFILE_MULTI_MAIN_10 = 17VVC编码档次为多层编码10bit主档次。
VVC_PROFILE_MAIN_10_444 = 33VVC编码档次为10bit全采样主档次。
VVC_PROFILE_MAIN_12_444 = 34VVC编码档次为12bit全采样主档次。
VVC_PROFILE_MAIN_16_444 = 36VVC编码档次为16bit全采样主档次。
VVC_PROFILE_MAIN_12_444_INTRA = 42VVC编码档次为12bit全采样帧内主档次。
VVC_PROFILE_MAIN_16_444_INTRA = 44VVC编码档次为16bit全采样帧内主档次。
VVC_PROFILE_MULTI_MAIN_10_444 = 49VVC编码档次为多层编码10bit全采样主档次。
VVC_PROFILE_MAIN_10_STILL = 65VVC编码档次为10bit静止图像主档次。
VVC_PROFILE_MAIN_12_STILL = 66VVC编码档次为12bit静止图像主档次。
VVC_PROFILE_MAIN_10_444_STILL = 97VVC编码档次为10bit全采样静止图像主档次。
VVC_PROFILE_MAIN_12_444_STILL = 98VVC编码档次为12bit全采样静止图像主档次。
VVC_PROFILE_MAIN_16_444_STILL = 100VVC编码档次为16bit全采样静止图像主档次。

OH_MPEG2Profile

enum OH_MPEG2Profile

描述

MPEG2档次。

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

起始版本: 17

枚举项描述
MPEG2_PROFILE_SIMPLE = 0简单档次。
MPEG2_PROFILE_MAIN = 1主档次。
MPEG2_PROFILE_SNR_SCALABLE = 2信噪比可分级档次。
MPEG2_PROFILE_SPATIALLY_SCALABLE = 3空间可分级档次。
MPEG2_PROFILE_HIGH = 4高级档次。
MPEG2_PROFILE_422 = 54:2:2档次。

OH_MPEG4Profile

enum OH_MPEG4Profile

描述

MPEG4档次。

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

起始版本: 17

枚举项描述
MPEG4_PROFILE_SIMPLE = 0简单档次。
MPEG4_PROFILE_SIMPLE_SCALABLE = 1简单可分级档次。
MPEG4_PROFILE_CORE = 2核心档次。
MPEG4_PROFILE_MAIN = 3主档次。
MPEG4_PROFILE_N_BIT = 4N位档次。
MPEG4_PROFILE_HYBRID = 5混合档次。
MPEG4_PROFILE_BASIC_ANIMATED_TEXTURE = 6基本动画纹理档次。
MPEG4_PROFILE_SCALABLE_TEXTURE = 7可分级纹理档次。
MPEG4_PROFILE_SIMPLE_FA = 8简单FA档次。
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高级简单档次。

OH_H263Profile

enum OH_H263Profile

描述

H.263档次。

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

起始版本: 17

枚举项描述
H263_PROFILE_BASELINE = 0基线档次。
H263_PROFILE_VERSION_1_BACKWARD_COMPATIBILITY = 2版本1向后兼容档次。

OH_VC1Profile

enum OH_VC1Profile

描述

VC-1档次。

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

起始版本: 22

枚举项描述
VC1_PROFILE_SIMPLE = 0简单档次。
VC1_PROFILE_MAIN = 1主档次。
VC1_PROFILE_ADVANCED = 2高级档次。

OH_AV1Profile

enum OH_AV1Profile

描述

AV1档次。

起始版本: 23

枚举项描述
AV1_PROFILE_MAIN = 0主档次。
AV1_PROFILE_HIGH = 1高级档次。
AV1_PROFILE_PROFESSIONAL = 2专业档次。

OH_VP9Profile

enum OH_VP9Profile

描述

VP9档次。

起始版本: 23

枚举项描述
VP9_PROFILE_0 = 00档次。
VP9_PROFILE_1 = 11档次。
VP9_PROFILE_2 = 22档次。
VP9_PROFILE_3 = 33档次。

OH_WVC1Profile

enum OH_WVC1Profile

描述

WVC1档次。

起始版本: 23

枚举项描述
WVC1_PROFILE_ADVANCED = 0高级档次。

OH_WMV3Profile

enum OH_WMV3Profile

描述

WMV3档次。

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

起始版本: 22

枚举项描述
WMV3_PROFILE_SIMPLE = 0简单档次。
WMV3_PROFILE_MAIN = 1主档次。

OH_AVOutputFormat

enum OH_AVOutputFormat

描述

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

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

起始版本: 10

枚举项描述
AV_OUTPUT_FORMAT_DEFAULT = 0输出文件格式默认值,默认为MP4格式。
AV_OUTPUT_FORMAT_MPEG_4 = 2输出文件格式为MP4格式。
AV_OUTPUT_FORMAT_M4A = 6输出文件格式为M4A格式。
AV_OUTPUT_FORMAT_AMR = 8输出文件格式为AMR格式。
起始版本: 12
AV_OUTPUT_FORMAT_MP3 = 9输出文件格式为MP3格式。
起始版本: 12
AV_OUTPUT_FORMAT_WAV = 10输出文件格式为WAV格式。
起始版本: 12
AV_OUTPUT_FORMAT_AAC = 11输出文件格式为AAC格式。
起始版本: 18
AV_OUTPUT_FORMAT_FLAC = 12输出文件格式为FLAC格式。
起始版本: 20
AV_OUTPUT_FORMAT_OGG = 13输出文件格式为OGG格式。
起始版本: 23

OH_AVSeekMode

enum OH_AVSeekMode

描述

跳转模式。

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

起始版本: 10

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

OH_ScalingMode

enum OH_ScalingMode

描述

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

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

起始版本: 10

废弃版本: 14

替代接口: OHScalingModeV2

枚举项描述
SCALING_MODE_SCALE_TO_WINDOW = 1根据窗口尺寸自适应调整图像大小。
替代接口: OHScalingModeV2.OH_SCALING_MODE_SCALE_TO_WINDOW_V2
SCALING_MODE_SCALE_CROP = 2根据窗口尺寸裁剪图像大小。
替代接口: OHScalingModeV2.OH_SCALING_MODE_SCALE_CROP_V2

OH_BitsPerSample

enum OH_BitsPerSample

描述

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

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

起始版本: 10

枚举项描述
SAMPLE_U8 = 08位无符号整数采样。
SAMPLE_S16LE = 116位有符号整数采样。
SAMPLE_S24LE = 224位有符号整数采样。
SAMPLE_S32LE = 332位有符号整数采样。
SAMPLE_F32LE = 432位浮点采样。
SAMPLE_U8P = 58位无符号整数平面采样。
SAMPLE_S16P = 616位有符号整数平面采样。
SAMPLE_S24P = 724位有符号整数平面采样。
SAMPLE_S32P = 832位有符号整数平面采样。
SAMPLE_F32P = 932位浮点平面采样。
INVALID_WIDTH = -1无效采样格式。

OH_ColorPrimary

enum OH_ColorPrimary

描述

色域。编解码都支持。

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

起始版本: 10

枚举项描述
COLOR_PRIMARY_BT709 = 1BT709色域。
COLOR_PRIMARY_UNSPECIFIED = 2未指定色域。
COLOR_PRIMARY_BT470_M = 4BT470_M色域。
COLOR_PRIMARY_BT601_625 = 5BT601_625色域。
COLOR_PRIMARY_BT601_525 = 6BT601_525色域。
COLOR_PRIMARY_SMPTE_ST240 = 7SMPTE_ST240色域。
COLOR_PRIMARY_GENERIC_FILM = 8GENERIC_FILM色域。
COLOR_PRIMARY_BT2020 = 9BT2020色域。
COLOR_PRIMARY_SMPTE_ST428 = 10SMPTE_ST428色域。
COLOR_PRIMARY_P3DCI = 11P3DCI色域。
COLOR_PRIMARY_P3D65 = 12P3D65色域。

OH_TransferCharacteristic

enum OH_TransferCharacteristic

描述

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

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

起始版本: 10

枚举项描述
TRANSFER_CHARACTERISTIC_BT709 = 1BT709传递函数。
TRANSFER_CHARACTERISTIC_UNSPECIFIED = 2未指定传递函数。
TRANSFER_CHARACTERISTIC_GAMMA_2_2 = 4GAMMA_2_2传递函数。
TRANSFER_CHARACTERISTIC_GAMMA_2_8 = 5GAMMA_2_8传递函数。
TRANSFER_CHARACTERISTIC_BT601 = 6BT601传递函数。
TRANSFER_CHARACTERISTIC_SMPTE_ST240 = 7SMPTE_ST240传递函数。
TRANSFER_CHARACTERISTIC_LINEAR = 8LINEAR传递函数。
TRANSFER_CHARACTERISTIC_LOG = 9LOG传递函数。
TRANSFER_CHARACTERISTIC_LOG_SQRT = 10LOG_SQRT传递函数。
TRANSFER_CHARACTERISTIC_IEC_61966_2_4 = 11IEC_61966_2_4传递函数。
TRANSFER_CHARACTERISTIC_BT1361 = 12BT1361传递函数。
TRANSFER_CHARACTERISTIC_IEC_61966_2_1 = 13IEC_61966_2_1传递函数。
TRANSFER_CHARACTERISTIC_BT2020_10BIT = 14BT2020_10BIT传递函数。
TRANSFER_CHARACTERISTIC_BT2020_12BIT = 15BT2020_12BIT传递函数。
TRANSFER_CHARACTERISTIC_PQ = 16PQ传递函数。
TRANSFER_CHARACTERISTIC_SMPTE_ST428 = 17SMPTE_ST428传递函数。
TRANSFER_CHARACTERISTIC_HLG = 18HLG传递函数。

OH_MatrixCoefficient

enum OH_MatrixCoefficient

描述

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

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

起始版本: 10

枚举项描述
MATRIX_COEFFICIENT_IDENTITY = 0单位矩阵。
MATRIX_COEFFICIENT_BT709 = 1BT709转换矩阵。
MATRIX_COEFFICIENT_UNSPECIFIED = 2未指定转换矩阵。
MATRIX_COEFFICIENT_FCC = 4FCC转换矩阵。
MATRIX_COEFFICIENT_BT601_625 = 5BT601_625转换矩阵。
MATRIX_COEFFICIENT_BT601_525 = 6BT601_525转换矩阵。
MATRIX_COEFFICIENT_SMPTE_ST240 = 7SMPTE_ST240转换矩阵。
MATRIX_COEFFICIENT_YCGCO = 8YCGCO转换矩阵。
MATRIX_COEFFICIENT_BT2020_NCL = 9BT2020_NCL转换矩阵。
MATRIX_COEFFICIENT_BT2020_CL = 10BT2020_CL转换矩阵。
MATRIX_COEFFICIENT_SMPTE_ST2085 = 11SMPTE_ST2085转换矩阵。
MATRIX_COEFFICIENT_CHROMATICITY_NCL = 12CHROMATICITY_NCL转换矩阵。
MATRIX_COEFFICIENT_CHROMATICITY_CL = 13CHROMATICITY_CL转换矩阵。
MATRIX_COEFFICIENT_ICTCP = 14ICTCP转换矩阵。

OH_AVCLevel

enum OH_AVCLevel

描述

AVC级别。

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

起始版本: 12

枚举项描述
AVC_LEVEL_1 = 0级别1
AVC_LEVEL_1b = 1级别1b
AVC_LEVEL_11 = 2级别1.1
AVC_LEVEL_12 = 3级别1.2
AVC_LEVEL_13 = 4级别1.3
AVC_LEVEL_2 = 5级别2
AVC_LEVEL_21 = 6级别2.1
AVC_LEVEL_22 = 7级别2.2
AVC_LEVEL_3 = 8级别3
AVC_LEVEL_31 = 9级别3.1
AVC_LEVEL_32 = 10级别3.2
AVC_LEVEL_4 = 11级别4
AVC_LEVEL_41 = 12级别4.1
AVC_LEVEL_42 = 13级别4.2
AVC_LEVEL_5 = 14级别5
AVC_LEVEL_51 = 15级别5.1
AVC_LEVEL_52 = 16级别5.2
AVC_LEVEL_6 = 17级别6
AVC_LEVEL_61 = 18级别6.1
AVC_LEVEL_62 = 19级别6.2

OH_HEVCLevel

enum OH_HEVCLevel

描述

HEVC级别。

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

起始版本: 12

枚举项描述
HEVC_LEVEL_1 = 0级别1
HEVC_LEVEL_2 = 1级别2
HEVC_LEVEL_21 = 2级别2.1
HEVC_LEVEL_3 = 3级别3
HEVC_LEVEL_31 = 4级别3.1
HEVC_LEVEL_4 = 5级别4
HEVC_LEVEL_41 = 6级别4.1
HEVC_LEVEL_5 = 7级别5
HEVC_LEVEL_51 = 8级别5.1
HEVC_LEVEL_52 = 9级别5.2
HEVC_LEVEL_6 = 10级别6
HEVC_LEVEL_61 = 11级别6.1
HEVC_LEVEL_62 = 12级别6.2

OH_VVCLevel

enum OH_VVCLevel

描述

VVC级别。

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

起始版本: 15

枚举项描述
VVC_LEVEL_1 = 16级别1.0
VVC_LEVEL_2 = 32级别2.0
VVC_LEVEL_21 = 35级别2.1
VVC_LEVEL_3 = 48级别3.0
VVC_LEVEL_31 = 51级别3.1
VVC_LEVEL_4 = 64级别4.0
VVC_LEVEL_41 = 67级别4.1
VVC_LEVEL_5 = 80级别5.0
VVC_LEVEL_51 = 83级别5.1
VVC_LEVEL_52 = 86级别5.2
VVC_LEVEL_6 = 96级别6.0
VVC_LEVEL_61 = 99级别6.1
VVC_LEVEL_62 = 102级别6.2
VVC_LEVEL_63 = 105级别6.3
VVC_LEVEL_155 = 255级别15.5

OH_MPEG2Level

enum OH_MPEG2Level

描述

MPEG2级别。

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

起始版本: 17

枚举项描述
MPEG2_LEVEL_LOW = 0低级别。
MPEG2_LEVEL_MAIN = 1主级别。
MPEG2_LEVEL_HIGH_1440 = 2高1440级别。
MPEG2_LEVEL_HIGH = 3高级别。

OH_MPEG4Level

enum OH_MPEG4Level

描述

MPEG4级别。

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

起始版本: 17

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

OH_H263Level

enum OH_H263Level

描述

H.263级别。

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

起始版本: 17

枚举项描述
H263_LEVEL_10 = 0级别10。
H263_LEVEL_20 = 1级别20。
H263_LEVEL_30 = 2级别30。
H263_LEVEL_40 = 3级别40。
H263_LEVEL_45 = 4级别45。
H263_LEVEL_50 = 5级别50。
H263_LEVEL_60 = 6级别60。
H263_LEVEL_70 = 7级别70。

OH_VC1Level

enum OH_VC1Level

描述

VC-1级别。

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

起始版本: 22

枚举项描述
VC1_LEVEL_L0 = 0级别L0。
VC1_LEVEL_L1 = 1级别L1。
VC1_LEVEL_L2 = 2级别L2。
VC1_LEVEL_L3 = 3级别L3。
VC1_LEVEL_L4 = 4级别L4。
VC1_LEVEL_LOW = 5低级别。
VC1_LEVEL_MEDIUM = 6中级别。
VC1_LEVEL_HIGH = 7高级别。

OH_AV1Level

enum OH_AV1Level

描述

AV1级别。

起始版本: 23

枚举项描述
AV1_LEVEL_20 = 02.0级别。
AV1_LEVEL_21 = 12.1级别。
AV1_LEVEL_22 = 22.2级别。
AV1_LEVEL_23 = 32.3级别。
AV1_LEVEL_30 = 43.0级别。
AV1_LEVEL_31 = 53.1级别。
AV1_LEVEL_32 = 63.2级别。
AV1_LEVEL_33 = 73.3级别。
AV1_LEVEL_40 = 84.0级别。
AV1_LEVEL_41 = 94.1级别。
AV1_LEVEL_42 = 104.2级别。
AV1_LEVEL_43 = 114.3级别。
AV1_LEVEL_50 = 125.0级别。
AV1_LEVEL_51 = 135.1级别。
AV1_LEVEL_52 = 145.2级别。
AV1_LEVEL_53 = 155.3级别。
AV1_LEVEL_60 = 166.0级别。
AV1_LEVEL_61 = 176.1级别。
AV1_LEVEL_62 = 186.2级别。
AV1_LEVEL_63 = 196.3级别。
AV1_LEVEL_70 = 207.0级别。
AV1_LEVEL_71 = 217.1级别。
AV1_LEVEL_72 = 227.2级别。
AV1_LEVEL_73 = 237.3级别。

OH_VP9Level

enum OH_VP9Level

描述

VP9级别。

起始版本: 23

枚举项描述
VP9_LEVEL_1 = 01级别。
VP9_LEVEL_11 = 11.1级别。
VP9_LEVEL_2 = 22级别。
VP9_LEVEL_21 = 32.1级别。
VP9_LEVEL_3 = 43级别。
VP9_LEVEL_31 = 53.1级别。
VP9_LEVEL_4 = 64级别。
VP9_LEVEL_41 = 74.1级别。
VP9_LEVEL_5 = 85级别。
VP9_LEVEL_51 = 95.1级别。
VP9_LEVEL_52 = 105.2级别。
VP9_LEVEL_6 = 116级别。
VP9_LEVEL_61 = 126.1级别。
VP9_LEVEL_62 = 136.2级别。

OH_WVC1Level

enum OH_WVC1Level

描述

WVC1级别。

起始版本: 23

枚举项描述
WVC1_LEVEL_L0 = 0L0级别。
WVC1_LEVEL_L1 = 1L1级别。
WVC1_LEVEL_L2 = 2L2级别。
WVC1_LEVEL_L3 = 3L3级别。
WVC1_LEVEL_L4 = 4L4级别。

OH_WMV3Level

enum OH_WMV3Level

描述

WMV3级别。

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

起始版本: 22

枚举项描述
WMV3_LEVEL_LOW = 0低级别。
WMV3_LEVEL_MEDIUM = 1中级别。
WMV3_LEVEL_HIGH = 2高级别。

OH_TemporalGopReferenceMode

enum OH_TemporalGopReferenceMode

描述

时域图片组参考模式。

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

起始版本: 12

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

OH_BitrateMode

enum OH_BitrateMode

描述

编码器的比特率模式。

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

起始版本: 10

枚举项描述
BITRATE_MODE_CBR = 0恒定比特率模式。
BITRATE_MODE_VBR = 1可变比特率模式。
BITRATE_MODE_CQ = 2恒定质量模式。
BITRATE_MODE_SQR = 3质量稳定模式,仅支持H265(HEVC)。
起始版本: 20
BITRATE_MODE_CBR_HIGH_QUALITY = 4高质量恒定比特率模式,仅支持H265(HEVC)。
起始版本: 26.0.0

函数说明

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

参数:

参数项描述
OH_AVCodec *codecOH_AVCodec实例。
int32_t errorCode特定错误代码。
void *userData开发者执行回调所依赖的数据。

OH_AVCodecOnStreamChanged()

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

描述

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

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

起始版本: 9

参数:

参数项描述
OH_AVCodec *codecOH_AVCodec实例。
OH_AVFormat *format新输出流描述信息。
void *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

参数:

参数项描述
OH_AVCodec *codecOH_AVCodec实例。
uint32_t index与新可用的输入缓冲区相对应的索引。
OH_AVMemory *data新的可用输入缓冲区。
void *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

参数:

参数项描述
OH_AVCodec *codecOH_AVCodec实例。
uint32_t index与新输出缓冲区对应的索引。
OH_AVMemory *data包含新输出数据的缓冲区。
OH_AVCodecBufferAttr *attr新输出缓冲区的说明。
void *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

参数:

参数项描述
OH_AVCodec *codecOH_AVCodec实例。
uint32_t index与新可用的输入缓冲区相对应的索引。
OH_AVBuffer *buffer新的可用输入缓冲区。
void *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

参数:

参数项描述
OH_AVCodec *codecOH_AVCodec实例。
uint32_t index与新输出缓冲区对应的索引。
OH_AVBuffer *buffer包含新输出数据的缓冲区。
void *userData开发者执行回调所依赖的数据。

OH_AVDataSourceReadAt()

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

描述

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

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

起始版本: 12

参数:

参数项描述
OH_AVBuffer *data要填充的缓冲区。
int32_t length要读取的数据长度。
int64_t pos从偏移量位置读取。

返回:

类型说明
int32_t读取到缓冲区的数据的实际长度。

OH_AVDataSourceReadAtExt()

typedef int32_t (*OH_AVDataSourceReadAtExt)(OH_AVBuffer *data, int32_t length, int64_t pos, void *userData)

描述

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

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

起始版本: 20

参数:

参数项描述
OH_AVBuffer *data要填充的缓冲区。
int32_t length要读取的数据长度。
int64_t pos从偏移量位置读取。
void *userData用户自定义数据。

返回:

类型说明
int32_t读取到缓冲区的数据的实际长度。

你可能感兴趣的鸿蒙文章

openharmony 鸿蒙 capi-native-avcodec-audiocodec-h

openharmony 鸿蒙 capi-avsource-oh-avsource

openharmony 鸿蒙 capi-native-cencinfo-h

openharmony 鸿蒙 capi-avmuxer

openharmony 鸿蒙 capi-multimedia-drm-oh-avcencinfo

openharmony 鸿蒙 capi-native-avdemuxer-h

openharmony 鸿蒙 capi-media-types-h

openharmony 鸿蒙 capi-native-audio-channel-layout-h

openharmony 鸿蒙 capi-native-avbuffer-info-h

openharmony 鸿蒙 capi-codecbase-oh-avcodecasynccallback

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