1# CodecBase 2 3 4## 概述 5 6CodecBase模块提供用于音视频封装、解封装、编解码基础功能的变量、属性以及函数。 7 8**系统能力:** SystemCapability.Multimedia.Media.CodecBase 9 10**起始版本:** 9 11 12### 媒体编解码格式 13 14用于描述媒体编解码格式的名字如下表。类型是常量字符串。 15 16| 名称 | 描述 | 17| ------------------------------------------------------------ | ------------------------------------------------------ | 18| [OH_AVCODEC_MIMETYPE_AUDIO_AAC](#oh_avcodec_mimetype_audio_aac) | AAC音频编解码器的MIME类型。 | 19| [OH_AVCODEC_MIMETYPE_AUDIO_FLAC](#oh_avcodec_mimetype_audio_flac) | FLAC音频编解码器的MIME类型。 | 20| [OH_AVCODEC_MIMETYPE_AUDIO_OPUS](#oh_avcodec_mimetype_audio_opus) | OPUS音频编解码器的MIME类型。<!--Del-->(此规格暂未开放)<!--DelEnd--> | 21| [OH_AVCODEC_MIMETYPE_AUDIO_G711MU](#oh_avcodec_mimetype_audio_g711mu) | G711MU音频编解码器的MIME类型。 | 22| [OH_AVCODEC_MIMETYPE_AUDIO_VORBIS](#oh_avcodec_mimetype_audio_vorbis) | VORBIS音频解码器的MIME类型。 | 23| [OH_AVCODEC_MIMETYPE_AUDIO_MPEG](#oh_avcodec_mimetype_audio_mpeg) | MP3音频解码器的MIME类型。 | 24| [OH_AVCODEC_MIMETYPE_AUDIO_VIVID](#oh_avcodec_mimetype_audio_vivid) | Audio Vivid音频解码器的MIME类型。<!--Del-->(此规格暂未开放)<!--DelEnd--> | 25| [OH_AVCODEC_MIMETYPE_AUDIO_AMR_NB](#oh_avcodec_mimetype_audio_amr_nb) | AMR_NB音频解码器的MIME类型。 | 26| [OH_AVCODEC_MIMETYPE_AUDIO_AMR_WB](#oh_avcodec_mimetype_audio_amr_wb) | AMR_WB音频解码器的MIME类型。 | 27| [OH_AVCODEC_MIMETYPE_AUDIO_APE](#oh_avcodec_mimetype_audio_ape) |APE音频解码器的MIME类型。 | 28| [OH_AVCODEC_MIMETYPE_VIDEO_VVC](#oh_avcodec_mimetype_video_vvc) | VVC(H.266)视频编解码器的MIME类型。 | 29| [OH_AVCODEC_MIMETYPE_VIDEO_HEVC](#oh_avcodec_mimetype_video_hevc) | HEVC(H.265)视频编解码器的MIME类型。 | 30| [OH_AVCODEC_MIMETYPE_VIDEO_AVC](#oh_avcodec_mimetype_video_avc) | AVC(H.264)视频编解码器的MIME类型。 | 31| [OH_AVCODEC_MIMETYPE_VIDEO_MPEG4](#oh_avcodec_mimetype_video_mpeg4) | MPEG4视频编码的MIME类型,仅用于封装MPEG4视频码流使用。 | 32| [OH_AVCODEC_MIMETYPE_IMAGE_JPG](#oh_avcodec_mimetype_image_jpg) | JPG图片编码的MIME类型,仅用于封装JPG封面时使用。 | 33| [OH_AVCODEC_MIMETYPE_IMAGE_PNG](#oh_avcodec_mimetype_image_png) | PNG图片编码的MIME类型,仅用于封装PNG封面时使用。 | 34| [OH_AVCODEC_MIMETYPE_IMAGE_BMP](#oh_avcodec_mimetype_image_bmp) | BMP图片编码的MIME类型,仅用于封装BMP封面时使用。 | 35| [OH_AVCODEC_MIMETYPE_SUBTITLE_WEBVTT](#oh_avcodec_mimetype_subtitle_webvtt) |WEBVTT字幕解封装器的MIME类型。 | 36| [OH_AVCODEC_MIMETYPE_SUBTITLE_SRT](#oh_avcodec_mimetype_subtitle_srt) |SRT字幕解封装器的MIME类型。 | 37 38 39### 媒体数据键值对 40 41用于描述媒体数据的键值对查找表如下。键的类型是常量字符串,值的类型可以是int32_t/int64_t/float/double/char */uint8_t *。 42 43使用以下key的主要接口是[OH_AVFormat](_core.md#函数),通过以下key可以进行参数配置或查询。 44 45能力查询专有的键值对: 46 47| 名称 | 描述 | 48| ------------------------------------------------------------ | ------------------------------------------------------------ | 49| [OH_FEATURE_PROPERTY_KEY_VIDEO_ENCODER_MAX_LTR_FRAME_COUNT](#oh_feature_property_key_video_encoder_max_ltr_frame_count) | 在视频编码中获取长期参考帧的最大个数的键,值类型为int32_t。 | 50 51音视频公共的键值对: 52 53| 名称 | 描述 | 54| ------------------------------------------------------------ | ------------------------------------------------------------ | 55| [OH_MD_KEY_CODEC_CONFIG](#oh_md_key_codec_config) | 编解码器特定数据的键,视频中表示传递SPS/PPS,音频中表示传递extraData,值类型为uint8_t\*。该键是可选的。 <!--Del-->(视频编解码此功能暂未支持)<!--DelEnd--> | 56| [OH_MD_MAX_INPUT_BUFFER_COUNT](#oh_md_max_input_buffer_count) | 最大输入缓冲区个数的键,值类型为int32_t。该键是可选的。 | 57| [OH_MD_MAX_OUTPUT_BUFFER_COUNT](#oh_md_max_output_buffer_count) | 最大输出缓冲区个数的键,值类型int32_t。该键是可选的。 | 58| [OH_MD_KEY_BITRATE](#oh_md_key_bitrate) | 比特率的键,值类型为int64_t。该键用于音视频编码场景。在视频编码场景下该键是可选的。 | 59| [OH_MD_KEY_PROFILE](#oh_md_key_profile) | 编码档次,值类型为int32_t,请参见[OH_AVCProfile](#oh_avcprofile),[OH_HEVCProfile](#oh_hevcprofile),[OH_AACProfile](#oh_aacprofile)。该键是可选的。 | 60| [OH_MD_KEY_MAX_INPUT_SIZE](#oh_md_key_max_input_size) | 设置解码输入码流大小最大值的键,值类型为int32_t。该键是可选的。 | 61 62 63视频专有的键值对: 64 65| 名称 | 描述 | 66| ------------------------------------------------------------ | ------------------------------------------------------------ | 67| [OH_ED_KEY_TIME_STAMP](#oh_ed_key_time_stamp) | 表示surfacebuffer时间戳的键,值类型为int64_t。该键是可选的。(API14废弃) | 68| [OH_ED_KEY_EOS](#oh_ed_key_eos) | 表示surfacebuffer流结束符的键,值类型为int32_t。该键是可选的。(API14废弃)| 69| [OH_MD_KEY_WIDTH](#oh_md_key_width) | 视频宽度的键,值类型为int32_t。 | 70| [OH_MD_KEY_HEIGHT](#oh_md_key_height) | 视频高度键,值类型为int32_t。 | 71| [OH_MD_KEY_PIXEL_FORMAT](#oh_md_key_pixel_format) | 视频像素格式的键,值类型为int32_t,请参见[OH_AVPixelFormat](_core.md#oh_avpixelformat)。 | 72| [OH_MD_KEY_FRAME_RATE](#oh_md_key_frame_rate) | 视频帧率的键,值类型为double。该键是可选的。 | 73| [OH_MD_KEY_RANGE_FLAG](#oh_md_key_range_flag) | 视频YUV值域标志的键,值类型为int32_t,1表示full range,0表示limited range。该键是可选的。 | 74| [OH_MD_KEY_COLOR_PRIMARIES](#oh_md_key_color_primaries) | 视频色域的键,值类型为int32_t,请参见[OH_ColorPrimary](#oh_colorprimary),遵循H.273标准Table2。该键是可选的。 | 75| [OH_MD_KEY_TRANSFER_CHARACTERISTICS](#oh_md_key_transfer_characteristics) | 视频传递函数的键,值类型为int32_t,请参见[OH_TransferCharacteristic](#oh_transfercharacteristic),遵循H.273标准Table3。该键是可选的。 | 76| [OH_MD_KEY_MATRIX_COEFFICIENTS](#oh_md_key_matrix_coefficients) | 视频矩阵系数的键,值类型为int32_t,请参见[OH_MatrixCoefficient](#oh_matrixcoefficient),遵循H.273标准Table4。该键是可选的。 | 77| [OH_MD_KEY_VIDEO_STRIDE](#oh_md_key_video_stride) | 描述视频帧宽跨距的键,值类型为int32_t。该键是可选的。 | 78| [OH_MD_KEY_VIDEO_SLICE_HEIGHT](#oh_md_key_video_slice_height) | 描述视频帧高跨距的键,值类型为int32_t。该键是可选的。 | 79| [OH_MD_KEY_VIDEO_PIC_WIDTH](#oh_md_key_video_pic_width) | 描述视频帧真实宽度的键,值类型为int32_t。该键是可选的。 | 80| [OH_MD_KEY_VIDEO_PIC_HEIGHT](#oh_md_key_video_pic_height) | 描述视频帧真实高度的键,值类型为int32_t。该键是可选的。 | 81| [OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY](#oh_md_key_video_enable_low_latency) | 使能低时延视频编解码的键,值类型为int32_t,1表示使能,0表示其它情况。该键是可选,在configure阶段使用。 | 82| [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](#oh_md_key_video_encode_bitrate_mode) | 视频编码码率模式,值类型为int32_t,请参见[OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode)。该键是可选的。 | 83| [OH_MD_KEY_QUALITY](#oh_md_key_quality) | 所需编码质量的键。值类型为int32_t,此键仅适用于配置在恒定质量模式下的编码器。该键是可选的。 | 84| [OH_MD_KEY_REQUEST_I_FRAME](#oh_md_key_request_i_frame) | 请求立即编码I帧的键。值类型为int32_t。该键是可选的。 | 85| [OH_MD_KEY_I_FRAME_INTERVAL](#oh_md_key_i_frame_interval) | 关键帧间隔的键,值类型为int32_t,单位为毫秒。该键是可选的且只用于视频编码。 | 86| [OH_MD_KEY_VIDEO_ENCODER_ENABLE_TEMPORAL_SCALABILITY](#oh_md_key_video_encoder_enable_temporal_scalability) | 使能分层编码的键,值类型为int32_t,1表示使能,0表示其它情况。该键是可选的且只用于视频编码,在configure阶段使用。 | 87| [OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_SIZE](#oh_md_key_video_encoder_temporal_gop_size) | 描述图片组基本层图片的间隔大小的键,值类型为int32_t,只在使能分层编码时生效。该键是可选的且只用于视频编码,在configure阶段使用。 | 88| [OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_REFERENCE_MODE](#oh_md_key_video_encoder_temporal_gop_reference_mode) | 描述图片组内参考模式的键,值类型为int32_t,请参见[OH_TemporalGopReferenceMode](#oh_temporalgopreferencemode-1),只在使能分层编码时生效。该键是可选的且只用于视频编码,在configure阶段使用。 | 89| [OH_MD_KEY_VIDEO_ENCODER_LTR_FRAME_COUNT](#oh_md_key_video_encoder_ltr_frame_count) | 描述长期参考帧个数的键,值类型为int32_t,必须在支持的值范围内使用。该键是可选的且只用于视频编码。| 90| [OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_MARK_LTR](#oh_md_key_video_encoder_per_frame_mark_ltr) | 标记当前帧为长期参考帧的键,值类型为int32_t,1表示被标记,0表示其它情况。该键是可选的且只用于视频编码。 | 91| [OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_USE_LTR](#oh_md_key_video_encoder_per_frame_use_ltr) | 描述当前帧参考的长期参考帧帧的POC号的键,值类型为int32_t。该键是可选的且只用于视频编码。 | 92| [OH_MD_KEY_VIDEO_PER_FRAME_IS_LTR](#oh_md_key_video_per_frame_is_ltr) | 当前[OH_AVBuffer](_core.md#oh_avbuffer)中输出的码流对应的帧是否为长期参考帧的键,值类型为int32_t,1表示是LTR,0表示其它情况。该键是可选的且只用于视频编码。 | 93| [OH_MD_KEY_VIDEO_PER_FRAME_POC](#oh_md_key_video_per_frame_poc) | 描述帧的POC号的键,值类型为int32_t。该键是可选的且只用于视频编码。 | 94| [OH_MD_KEY_VIDEO_ENCODER_QP_MAX](#oh_md_key_video_encoder_qp_max) | 描述视频编码器允许的最大量化参数的键,值类型为int32_t。该键是可选的。 | 95| [OH_MD_KEY_VIDEO_ENCODER_QP_MIN](#oh_md_key_video_encoder_qp_min) | 描述视频编码器允许的最小量化参数的键,值类型为int32_t。该键是可选的。 | 96| [OH_MD_KEY_VIDEO_ENCODER_QP_AVERAGE](#oh_md_key_video_encoder_qp_average) |描述视频帧平均量化参数的键,值类型为int32_t。该键是可选的。 | 97| [OH_MD_KEY_VIDEO_ENCODER_MSE](#oh_md_key_video_encoder_mse) |描述视频帧平方误差的键,值类型为double。该键是可选的。 | 98| [OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE](#oh_md_key_video_decoder_output_color_space) | 设置视频解码器输出色彩空间的键,值类型为int32_t。 支持的值为OH_COLORSPACE_BT709_LIMIT。| 99| [OH_MD_KEY_ROTATION](#oh_md_key_rotation) | surface旋转角度的键。值类型为int32_t:应为{0, 90, 180, 270},默认值为0。该键只在视频解码Surface模式下使用。该键是可选的。 | 100| [OH_MD_KEY_SCALING_MODE](#oh_md_key_scaling_mode) | 视频缩放模式,值类型为int32_t,请参见[OH_ScalingMode](#oh_scalingmode)。该键是可选的且只用于视频解码Surface模式。建议直接调用[OH_NativeWindow_NativeWindowSetScalingModeV2](../apis-arkgraphics2d/_native_window.md)接口进行设置。(API14废弃)| 101| [OH_MD_KEY_VIDEO_CROP_TOP](#oh_md_key_video_crop_top) | 描述裁剪矩形顶部坐标(y)值的键,值类型为int32_t。该键是可选的且只用于视频解码。 | 102| [OH_MD_KEY_VIDEO_CROP_BOTTOM](#oh_md_key_video_crop_bottom) | 描述裁剪矩形底部坐标(y)值的键,值类型为int32_t。该键是可选的且只用于视频解码。 | 103| [OH_MD_KEY_VIDEO_CROP_LEFT](#oh_md_key_video_crop_left) | 描述裁剪矩形左坐标(x)值的键,值类型为int32_t。该键是可选的且只用于视频解码。 | 104| [OH_MD_KEY_VIDEO_CROP_RIGHT](#oh_md_key_video_crop_right) | 描述裁剪矩形右坐标(x)值的键,值类型为int32_t。该键是可选的且只用于视频解码。 | 105 106 107音频专有的键值对: 108 109| 名称 | 描述 | 110| ------------------------------------------------------------ | ------------------------------------------------------------ | 111| [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](#oh_md_key_audio_sample_format) | 音频原始格式的键,值类型为int32_t。 请参见[AudioSampleFormat](../apis-audio-kit/js-apis-audio.md#audiosampleformat8) | 112| [OH_MD_KEY_AUD_CHANNEL_COUNT](#oh_md_key_aud_channel_count) | 音频通道计数键,值类型为int32_t。 | 113| [OH_MD_KEY_AUD_SAMPLE_RATE](#oh_md_key_aud_sample_rate) | 音频采样率键,值类型为int32_t。 | 114| [OH_MD_KEY_AUDIO_COMPRESSION_LEVEL](#oh_md_key_audio_compression_level) | 音频编解码压缩水平的键,只在音频编码使用,值类型为int32_t。该键是可选的。 | 115| [OH_MD_KEY_CHANNEL_LAYOUT](#oh_md_key_channel_layout) | 所需编码通道布局的键。值类型为int64_t,此键仅适用于编码器。请参见[OH_AudioChannelLayout](_core.md#oh_audiochannellayout-1)。 | 116| [OH_MD_KEY_BITS_PER_CODED_SAMPLE](#oh_md_key_bits_per_coded_sample) | 每个编码样本位数的键,值类型为int32_t,支持flac编码器,请参见[OH_BitsPerSample](#oh_bitspersample)。该键是可选的。 | 117| [OH_MD_KEY_SBR](#oh_md_key_sbr) | aac sbr模式的键,值类型为int32_t,aac编码器支持。该键是可选的。 | 118| [OH_MD_KEY_COMPLIANCE_LEVEL](#oh_md_key_compliance_level) | flac兼容性等级的键,值类型为int32_t,仅在音频编码使用。该键是可选的。 | 119| [OH_MD_KEY_AAC_IS_ADTS](#oh_md_key_aac_is_adts) | aac格式的键,aac格式分为ADTS格式和LATM格式。值类型为int32_t,aac解码器支持。该键是可选的。 | 120| [OH_MD_KEY_IDENTIFICATION_HEADER](#oh_md_key_identification_header) | vorbis标识头的键,值类型为uint8_t\*,仅vorbis解码器支持。该键是可选的。 | 121| [OH_MD_KEY_SETUP_HEADER](#oh_md_key_setup_header) | vorbis设置头的键,值类型为uint8_t\*,仅vorbis解码器支持。该键是可选的。 | 122| [OH_MD_KEY_AUDIO_OBJECT_NUMBER](#oh_md_key_audio_object_number) | 音频对象数目的键,值类型为int32_t,只有Audio Vivid解码使用。该键是可选的。 | 123| [OH_MD_KEY_AUDIO_VIVID_METADATA](#oh_md_key_audio_vivid_metadata) | Audio Vivid元数据的键,值类型为uint8_t\*,只有Audio Vivid解码使用。该键是可选的。 | 124 125封装/解封装专有的键值对: 126 127| 名称 | 描述 | 128| ------------------------------------------------------------ | ------------------------------------------------------------ | 129| [OH_MD_KEY_VIDEO_IS_HDR_VIVID](#oh_md_key_video_is_hdr_vivid) | 媒体文件中的视频轨是否为HDR Vivid的键,支持封装和解封装,值类型为int32_t。该键是可选的。 | 130| [OH_MD_KEY_START_TIME](#oh_md_key_start_time) | 媒体文件中第一帧起始位置开始时间的键,以微秒为单位,值类型为int64_t。该键是可选的。 | 131| [OH_MD_KEY_TRACK_START_TIME](#oh_md_key_track_start_time) | 轨道开始时间的键,以微秒为单位,值类型为int64_t。该键是可选的。 | 132| [OH_MD_KEY_TRACK_TYPE](#oh_md_key_track_type) | 轨道媒体类型的键,值类型为int32_t,请参见[OH_MediaType](#oh_mediatype-1)。该键是可选的。 | 133| [OH_MD_KEY_DURATION](#oh_md_key_duration) | 媒体文件持续时间的键,值类型为int64_t。该键是可选的。 | 134| [OH_MD_KEY_TITLE](#oh_md_key_title) | 媒体文件标题的键,值类型为string。该键是可选的。 | 135| [OH_MD_KEY_ARTIST](#oh_md_key_artist) | 艺术家的键,值类型为string。该键是可选的。 | 136| [OH_MD_KEY_ALBUM](#oh_md_key_album) | 专辑的媒体文件的键,值类型为string。该键是可选的。 | 137| [OH_MD_KEY_ALBUM_ARTIST](#oh_md_key_album_artist) | 专辑艺术家的键,值类型为string。该键是可选的。 | 138| [OH_MD_KEY_DATE](#oh_md_key_date) | 媒体文件日期的键,值类型为string,例如2024年。该键是可选的。 | 139| [OH_MD_KEY_COMMENT](#oh_md_key_comment) | 媒体文件注释的键,值类型为string。该键是可选的。 | 140| [OH_MD_KEY_GENRE](#oh_md_key_genre) | 媒体文件流派的键,值类型为string。该键是可选的。 | 141| [OH_MD_KEY_COPYRIGHT](#oh_md_key_copyright) | 媒体文件版权的键,值类型为string。该键是可选的。 | 142| [OH_MD_KEY_LANGUAGE](#oh_md_key_language) | 媒体文件语言的键,值类型为string。该键是可选的。 | 143| [OH_MD_KEY_DESCRIPTION](#oh_md_key_description) | 媒体文件描述的键,值类型为string。该键是可选的。 | 144| [OH_MD_KEY_LYRICS](#oh_md_key_lyrics) | 媒体文件歌词的键,值类型为string。该键是可选的。 | 145| [OH_MD_KEY_TRACK_COUNT](#oh_md_key_track_count) | 媒体文件轨道数量的键,值类型为int32_t。该键是可选的。 | 146| [OH_MD_KEY_BUFFER_DURATION](#oh_md_key_buffer_duration) | AVBuffer中携带的音视频或字幕的sample对应的持续时间的键,以微秒为单位,值类型为int64_t。该键是可选的。 | 147| [OH_MD_KEY_DECODING_TIMESTAMP](#oh_md_key_decoding_timestamp) | AVBuffer中携带的音视频或字幕的sample对应的解码时间戳的键,以微秒为单位,值类型为int64_t。该键是可选的。 | 148| [OH_MD_KEY_CODEC_MIME](#oh_md_key_codec_mime) | 编解码器[MIME](#媒体编解码格式)类型的键,值类型为string。该键是可选的。 | 149| [OH_MD_KEY_VIDEO_SAR](#oh_md_key_video_sar) | 样本长宽比的键,值类型为double。 | 150 151 152## 汇总 153 154 155### 文件 156 157| 名称 | 描述 | 158| -------- | -------- | 159| [avcodec_audio_channel_layout.h](avcodec__audio__channel__layout_8h.md) | 声明用于音频编解码的枚举。 | 160| [native_avcodec_base.h](native__avcodec__base_8h.md) | 声明用于音视频封装、解封装、编解码基础功能的Native API。 | 161 162 163### 结构体 164 165| 名称 | 描述 | 166| -------- | -------- | 167| struct [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | OH_AVCodec中所有异步回调函数指针的集合。(API11废弃)| 168| struct [OH_AVCodecCallback](_o_h___a_v_codec_callback.md) | OH_AVCodec中所有异步回调函数指针的集合。 | 169| struct [OH_AVDataSource](_o_h___a_v_data_source.md) | 用户自定义数据源。 | 170 171 172### 类型定义 173 174| 名称 | 描述 | 175| -------- | -------- | 176| typedef struct NativeWindow [OHNativeWindow](#ohnativewindow) | 为图形接口定义native层对象。 | 177| typedef struct [OH_AVCodec](#oh_avcodec) [OH_AVCodec](#oh_avcodec) | 为音视频编解码接口定义native层对象。 | 178| typedef void(\* [OH_AVCodecOnError](#oh_avcodeconerror)) ([OH_AVCodec](#oh_avcodec) \*codec, int32_t errorCode, void \*userData) | 当OH_AVCodec实例运行出错时,会调用来上报具体的错误信息的函数指针。 | 179| typedef void(\* [OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)) ([OH_AVCodec](#oh_avcodec) \*codec, [OH_AVFormat](_core.md#oh_avformat) \*format, void \*userData) | 当解码输入码流分辨率或者编码输出码流的分辨率发生变化时,将调用此函数指针报告新的流描述信息。 | 180| typedef void(\* [OH_AVCodecOnNeedInputData](#oh_avcodeconneedinputdata)) ([OH_AVCodec](#oh_avcodec) \*codec, uint32_t index, [OH_AVMemory](_core.md#oh_avmemory) \*data, void \*userData) | 当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。(API11废弃)| 181| typedef void(\* [OH_AVCodecOnNewOutputData](#oh_avcodeconnewoutputdata)) ([OH_AVCodec](#oh_avcodec) \*codec, uint32_t index, [OH_AVMemory](_core.md#oh_avmemory) \*data, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) \*attr, void \*userData) | 当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。(API11废弃)| 182| typedef void(\* [OH_AVCodecOnNeedInputBuffer](#oh_avcodeconneedinputbuffer)) ([OH_AVCodec](#oh_avcodec) \*codec, uint32_t index, [OH_AVBuffer](_core.md#oh_avbuffer) \*buffer, void \*userData) | 当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。 | 183| typedef void(\* [OH_AVCodecOnNewOutputBuffer](#oh_avcodeconnewoutputbuffer)) ([OH_AVCodec](#oh_avcodec) \*codec, uint32_t index, [OH_AVBuffer](_core.md#oh_avbuffer) \*buffer, void \*userData) | 当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。 | 184| typedef struct [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) [OH_AVCodecAsyncCallback](#oh_avcodecasynccallback) | OH_AVCodec中所有异步回调函数指针的集合。(API11废弃)| 185| typedef struct [OH_AVCodecCallback](_o_h___a_v_codec_callback.md) [OH_AVCodecCallback](#oh_avcodeccallback) | OH_AVCodec中所有异步回调函数指针的集合。 | 186| typedef int32_t(\* [OH_AVDataSourceReadAt](#oh_avdatasourcereadat)) (OH_AVBuffer \*data, int32_t length, int64_t pos) | 函数指针定义,用于提供获取用户自定义媒体数据的能力。 | 187| typedef struct [OH_AVDataSource](_o_h___a_v_data_source.md) [OH_AVDataSource](#oh_avdatasource) | 用户自定义数据源。 | 188| typedef enum [OH_MediaType](#oh_mediatype-1) [OH_MediaType](#oh_mediatype) | 媒体类型。 | 189| typedef enum [OH_AACProfile](#oh_aacprofile-1) [OH_AACProfile](#oh_aacprofile) | AAC档次。 | 190| typedef enum [OH_AVCProfile](#oh_avcprofile-1) [OH_AVCProfile](#oh_avcprofile) | AVC档次。 | 191| typedef enum [OH_HEVCProfile](#oh_hevcprofile-1) [OH_HEVCProfile](#oh_hevcprofile) | HEVC档次。 | 192| typedef enum [OH_VVCProfile](#oh_vvcprofile-1) [OH_VVCProfile](#oh_vvcprofile) | VVC档次。 | 193| typedef enum [OH_AVOutputFormat](#oh_avoutputformat-1) [OH_AVOutputFormat](#oh_avoutputformat) | 封装器支持的输出文件格式。 | 194| typedef enum [OH_AVSeekMode](#oh_avseekmode-1) [OH_AVSeekMode](#oh_avseekmode) | 跳转模式。 | 195| typedef enum [OH_ScalingMode](#oh_scalingmode-1) [OH_ScalingMode](#oh_scalingmode) | 缩放模式,只在Surface模式下使用。(API14废弃) | 196| typedef enum [OH_BitsPerSample](#oh_bitspersample-1) [OH_BitsPerSample](#oh_bitspersample) | 每个编码样本的音频位数。 | 197| typedef enum [OH_ColorPrimary](#oh_colorprimary-1) [OH_ColorPrimary](#oh_colorprimary) | 色域。 | 198| typedef enum [OH_TransferCharacteristic](#oh_transfercharacteristic-1) [OH_TransferCharacteristic](#oh_transfercharacteristic) | 转移特性。 | 199| typedef enum [OH_MatrixCoefficient](#oh_matrixcoefficient-1) [OH_MatrixCoefficient](#oh_matrixcoefficient) | 矩阵系数。 | 200| typedef enum [OH_AVCLevel](#oh_avclevel-1) [OH_AVCLevel](#oh_avclevel) | AVC级别。 | 201| typedef enum [OH_HEVCLevel](#oh_hevclevel-1) [OH_HEVCLevel](#oh_hevclevel) | HEVC级别。 | 202| typedef enum [OH_VVCLevel](#oh_vvclevel-1) [OH_VVCLevel](#oh_vvclevel) | VVC级别。 | 203| typedef enum [OH_TemporalGopReferenceMode](#oh_temporalgopreferencemode-1) [OH_TemporalGopReferenceMode](#oh_temporalgopreferencemode) | 时域图片组参考模式。 | 204| typedef enum [OH_BitrateMode](#oh_bitratemode-1) [OH_BitrateMode](#oh_bitratemode) | 编码器的比特率模式。 | 205 206 207### 枚举 208 209| 名称 | 描述 | 210| -------- | -------- | 211| [AudioChannelSet](#audiochannelset) : uint64_t {<br/>FRONT_LEFT = 1ULL << 0U,<br/>FRONT_RIGHT = 1ULL << 1U,<br/>FRONT_CENTER = 1ULL << 2U,<br/>LOW_FREQUENCY = 1ULL << 3U,<br/>BACK_LEFT = 1ULL << 4U,<br/>BACK_RIGHT = 1ULL << 5U,<br/>FRONT_LEFT_OF_CENTER = 1ULL << 6U,<br/>FRONT_RIGHT_OF_CENTER = 1ULL << 7U,<br/>BACK_CENTER = 1ULL << 8U,<br/>SIDE_LEFT = 1ULL << 9U,<br/>SIDE_RIGHT = 1ULL << 10U,<br/>TOP_CENTER = 1ULL << 11U,<br/>TOP_FRONT_LEFT = 1ULL << 12U,<br/>TOP_FRONT_CENTER = 1ULL << 13U,<br/>TOP_FRONT_RIGHT = 1ULL << 14U,<br/>TOP_BACK_LEFT = 1ULL << 15U,<br/>TOP_BACK_CENTER = 1ULL << 16U,<br/>TOP_BACK_RIGHT = 1ULL << 17U,<br/>STEREO_LEFT = 1ULL << 29U,<br/>STEREO_RIGHT = 1ULL << 30U,<br/>WIDE_LEFT = 1ULL << 31U,<br/>WIDE_RIGHT = 1ULL << 32U,<br/>SURROUND_DIRECT_LEFT = 1ULL << 33U,<br/>SURROUND_DIRECT_RIGHT = 1ULL << 34U,<br/>LOW_FREQUENCY_2 = 1ULL << 35U,<br/>TOP_SIDE_LEFT = 1ULL << 36U,<br/>TOP_SIDE_RIGHT = 1ULL << 37U,<br/>BOTTOM_FRONT_CENTER = 1ULL << 38U,<br/>BOTTOM_FRONT_LEFT = 1ULL << 39U,<br/>BOTTOM_FRONT_RIGHT = 1ULL << 40U,<br/>AMBISONICS_ACN0 = 1ULL << 41U,<br/>AMBISONICS_ACN1 = 1ULL << 42U,<br/>AMBISONICS_ACN2 = 1ULL << 43U,<br/>AMBISONICS_ACN3 = 1ULL << 44U,<br/>AMBISONICS_W = AMBISONICS_ACN0,<br/>AMBISONICS_Y = AMBISONICS_ACN1,<br/>AMBISONICS_Z = AMBISONICS_ACN2,<br/>AMBISONICS_X = AMBISONICS_ACN3,<br/>AMBISONICS_ACN4 = 1ULL << 45U,<br/>AMBISONICS_ACN5 = 1ULL << 46U,<br/>AMBISONICS_ACN6 = 1ULL << 47U,<br/>AMBISONICS_ACN7 = 1ULL << 48U,<br/>AMBISONICS_ACN8 = 1ULL << 49U,<br/>AMBISONICS_ACN9 = 1ULL << 50U,<br/>AMBISONICS_ACN10 = 1ULL << 51U,<br/>AMBISONICS_ACN11 = 1ULL << 52U,<br/>AMBISONICS_ACN12 = 1ULL << 53U,<br/>AMBISONICS_ACN13 = 1ULL << 54U,<br/>AMBISONICS_ACN14 = 1ULL << 55U,<br/>AMBISONICS_ACN15 = 1ULL << 56U<br/>} | 音频声道数集合, 将每一个声道数映射为int64_t的变量。(API11废弃)| 212| [AudioChannelLayout](#audiochannellayout) : uint64_t {<br/>UNKNOWN_CHANNEL_LAYOUT = 0,<br/>MONO = (AudioChannelSet::FRONT_CENTER),<br/>STEREO = (AudioChannelSet::FRONT_LEFT \| AudioChannelSet::FRONT_RIGHT),<br/>CH_2POINT1 = (STEREO \| AudioChannelSet::LOW_FREQUENCY),<br/>CH_2_1 = (STEREO \| AudioChannelSet::BACK_CENTER),<br/>SURROUND = (STEREO \| AudioChannelSet::FRONT_CENTER),<br/>CH_3POINT1 = (SURROUND \| AudioChannelSet::LOW_FREQUENCY),<br/>CH_4POINT0 = (SURROUND \| AudioChannelSet::BACK_CENTER),<br/>CH_4POINT1 = (CH_4POINT0 \| AudioChannelSet::LOW_FREQUENCY),<br/>CH_2_2 = (STEREO \| AudioChannelSet::SIDE_LEFT \| AudioChannelSet::SIDE_RIGHT),<br/>QUAD = (STEREO \| AudioChannelSet::BACK_LEFT \| AudioChannelSet::BACK_RIGHT),<br/>CH_5POINT0 = (SURROUND \| AudioChannelSet::SIDE_LEFT \| AudioChannelSet::SIDE_RIGHT),<br/>CH_5POINT1 = (CH_5POINT0 \| AudioChannelSet::LOW_FREQUENCY),<br/>CH_5POINT0_BACK = (SURROUND \| AudioChannelSet::BACK_LEFT \| AudioChannelSet::BACK_RIGHT),<br/>CH_5POINT1_BACK = (CH_5POINT0_BACK \| AudioChannelSet::LOW_FREQUENCY),<br/>CH_6POINT0 = (CH_5POINT0 \| AudioChannelSet::BACK_CENTER),<br/>CH_6POINT0_FRONT = (CH_2_2 \| AudioChannelSet::FRONT_LEFT_OF_CENTER \| AudioChannelSet::FRONT_RIGHT_OF_CENTER),<br/>HEXAGONAL = (CH_5POINT0_BACK \| AudioChannelSet::BACK_CENTER),<br/>CH_6POINT1 = (CH_5POINT1 \| AudioChannelSet::BACK_CENTER),<br/>CH_6POINT1_BACK = (CH_5POINT1_BACK \| AudioChannelSet::BACK_CENTER),<br/>CH_6POINT1_FRONT = (CH_6POINT0_FRONT \| AudioChannelSet::LOW_FREQUENCY),<br/>CH_7POINT0 = (CH_5POINT0 \| AudioChannelSet::BACK_LEFT \| AudioChannelSet::BACK_RIGHT),<br/>CH_7POINT0_FRONT = (CH_5POINT0 \| AudioChannelSet::FRONT_LEFT_OF_CENTER \| AudioChannelSet::FRONT_RIGHT_OF_CENTER),<br/>CH_7POINT1 = (CH_5POINT1 \| AudioChannelSet::BACK_LEFT \| AudioChannelSet::BACK_RIGHT),<br/>CH_7POINT1_WIDE = (CH_5POINT1 \| AudioChannelSet::FRONT_LEFT_OF_CENTER \| AudioChannelSet::FRONT_RIGHT_OF_CENTER),<br/>CH_7POINT1_WIDE_BACK, CH_3POINT1POINT2 = (CH_3POINT1 \| AudioChannelSet::TOP_FRONT_LEFT \| AudioChannelSet::TOP_FRONT_RIGHT),<br/>CH_5POINT1POINT2 = (CH_5POINT1 \| AudioChannelSet::TOP_SIDE_LEFT \| AudioChannelSet::TOP_SIDE_RIGHT),<br/>CH_5POINT1POINT4, CH_7POINT1POINT2 = (CH_7POINT1 \| AudioChannelSet::TOP_SIDE_LEFT \| AudioChannelSet::TOP_SIDE_RIGHT),<br/>CH_7POINT1POINT4, CH_9POINT1POINT4 = (CH_7POINT1POINT4 \| AudioChannelSet::WIDE_LEFT \| AudioChannelSet::WIDE_RIGHT),<br/>CH_9POINT1POINT6 = (CH_9POINT1POINT4 \| AudioChannelSet::TOP_SIDE_LEFT \| AudioChannelSet::TOP_SIDE_RIGHT),<br/>CH_10POINT2, CH_22POINT2, OCTAGONAL = (CH_5POINT0 \| AudioChannelSet::BACK_LEFT \| AudioChannelSet::BACK_CENTER \| AudioChannelSet::BACK_RIGHT),<br/>HEXADECAGONAL, STEREO_DOWNMIX = (AudioChannelSet::STEREO_LEFT \| AudioChannelSet::STEREO_RIGHT),<br/>HOA_FIRST,<br/>HOA_SECOND,<br/>HOA_THIRD<br/>} | 音频声道数类型, 将用户申请的解码器输出格式表示为编解码器的声道类型。 | 213| [OH_MediaType](#oh_mediatype-1) {<br/>MEDIA_TYPE_AUD = 0,<br/>MEDIA_TYPE_VID = 1,<br/>MEDIA_TYPE_SUBTITILE = 2<br/>} | 媒体类型。 | 214| [OH_AACProfile](#oh_aacprofile-1) {<br/>AAC_PROFILE_LC = 0,<br/>AAC_PROFILE_HE = 3,<br/>AAC_PROFILE_HE_V2 = 4<br/>} | AAC档次。<!--Del--><br/>(AAC_PROFILE_HE, AAC_PROFILE_HE_V2暂未开放)<!--DelEnd--> | 215| [OH_AVCProfile](#oh_avcprofile-1) {<br/>AVC_PROFILE_BASELINE = 0,<br/>AVC_PROFILE_HIGH = 4,<br/>AVC_PROFILE_MAIN = 8<br/>} | AVC档次。 | 216| [OH_HEVCProfile](#oh_hevcprofile-1) {<br/>HEVC_PROFILE_MAIN = 0,<br/>HEVC_PROFILE_MAIN_10 = 1,<br/>HEVC_PROFILE_MAIN_STILL = 2,<br/>HEVC_PROFILE_MAIN_10_HDR10 = 3,<br/>HEVC_PROFILE_MAIN_10_HDR10_PLUS = 4<br/>} | HEVC档次。<br>HEVC_PROFILE_MAIN_10_HDR10、HEVC_PROFILE_MAIN_10_HDR10_PLUS在API 14废弃。| 217| [OH_VVCProfile](#oh_vvcprofile-1) {<br/>VVC_PROFILE_MAIN_10 = 1, <br/>VVC_PROFILE_MAIN_12 = 2, <br/>VVC_PROFILE_MAIN_12_INTRA = 10, <br/>VVC_PROFILE_MULTI_MAIN_10 = 17, <br/>VVC_PROFILE_MAIN_10_444 = 33, <br/>VVC_PROFILE_MAIN_12_444 = 34, <br/>VVC_PROFILE_MAIN_16_444 = 36, <br/>VVC_PROFILE_MAIN_12_444_INTRA = 42, <br/>VVC_PROFILE_MAIN_16_444_INTRA = 44, <br/>VVC_PROFILE_MULTI_MAIN_10_444 = 49, <br/>VVC_PROFILE_MAIN_10_STILL = 65, <br/>VVC_PROFILE_MAIN_12_STILL = 66, <br/>VVC_PROFILE_MAIN_10_444_STILL = 97, <br/>VVC_PROFILE_MAIN_12_444_STILL = 98, <br/>VVC_PROFILE_MAIN_16_444_STILL = 100 <br/>} | VVC档次。 | 218| [OH_AVOutputFormat](#oh_avoutputformat-1) {<br/>AV_OUTPUT_FORMAT_DEFAULT = 0,<br/>AV_OUTPUT_FORMAT_MPEG_4 = 2,<br/>AV_OUTPUT_FORMAT_M4A = 6,<br/>AV_OUTPUT_FORMAT_AMR = 8,<br/>AV_OUTPUT_FORMAT_MP3 = 9,<br/>AV_OUTPUT_FORMAT_WAV = 10<br/>} | 封装器支持的输出文件格式。 | 219| [OH_AVSeekMode](#oh_avseekmode-1) {<br/>SEEK_MODE_NEXT_SYNC = 0,<br/>SEEK_MODE_PREVIOUS_SYNC,<br/>SEEK_MODE_CLOSEST_SYNC<br/>} | 跳转模式。 | 220| [OH_ScalingMode](#oh_scalingmode-1) {<br/>SCALING_MODE_SCALE_TO_WINDOW = 1,<br/>SCALING_MODE_SCALE_CROP = 2<br/>} | 缩放模式。(API14废弃) | 221| [OH_BitsPerSample](#oh_bitspersample-1) {<br/>SAMPLE_U8 = 0, SAMPLE_S16LE = 1,<br/>SAMPLE_S24LE = 2, SAMPLE_S32LE = 3,<br/>SAMPLE_F32LE = 4, SAMPLE_U8P = 5,<br/>SAMPLE_S16P = 6, SAMPLE_S24P = 7,<br/>SAMPLE_S32P = 8, SAMPLE_F32P = 9,<br/>INVALID_WIDTH = -1<br/>} | 每个编码样本的音频位数。 | 222| [OH_ColorPrimary](#oh_colorprimary-1) {<br/>COLOR_PRIMARY_BT709 = 1,<br/>COLOR_PRIMARY_UNSPECIFIED = 2,<br/>COLOR_PRIMARY_BT470_M = 4,<br/>COLOR_PRIMARY_BT601_625 = 5,<br/>COLOR_PRIMARY_BT601_525 = 6,<br/>COLOR_PRIMARY_SMPTE_ST240 = 7,<br/>COLOR_PRIMARY_GENERIC_FILM = 8,<br/>COLOR_PRIMARY_BT2020 = 9,<br/>COLOR_PRIMARY_SMPTE_ST428 = 10,<br/>COLOR_PRIMARY_P3DCI = 11,<br/>COLOR_PRIMARY_P3D65 = 12<br/>} | 色域。 | 223| [OH_TransferCharacteristic](#oh_transfercharacteristic-1) {<br/>TRANSFER_CHARACTERISTIC_BT709 = 1,<br/>TRANSFER_CHARACTERISTIC_UNSPECIFIED = 2,<br/>TRANSFER_CHARACTERISTIC_GAMMA_2_2 = 4,<br/>TRANSFER_CHARACTERISTIC_GAMMA_2_8 = 5,<br/>TRANSFER_CHARACTERISTIC_BT601 = 6,<br/>TRANSFER_CHARACTERISTIC_SMPTE_ST240 = 7,<br/>TRANSFER_CHARACTERISTIC_LINEAR = 8,<br/>TRANSFER_CHARACTERISTIC_LOG = 9,<br/>TRANSFER_CHARACTERISTIC_LOG_SQRT = 10,<br/>TRANSFER_CHARACTERISTIC_IEC_61966_2_4 = 11,<br/>TRANSFER_CHARACTERISTIC_BT1361 = 12,<br/>TRANSFER_CHARACTERISTIC_IEC_61966_2_1 = 13,<br/>TRANSFER_CHARACTERISTIC_BT2020_10BIT = 14,<br/>TRANSFER_CHARACTERISTIC_BT2020_12BIT = 15,<br/>TRANSFER_CHARACTERISTIC_PQ = 16,<br/>TRANSFER_CHARACTERISTIC_SMPTE_ST428 = 17,<br/>TRANSFER_CHARACTERISTIC_HLG = 18<br/>} | 转移特性。 | 224| [OH_MatrixCoefficient](#oh_matrixcoefficient-1) {<br/>MATRIX_COEFFICIENT_IDENTITY = 0,<br/>MATRIX_COEFFICIENT_BT709 = 1,<br/>MATRIX_COEFFICIENT_UNSPECIFIED = 2,<br/>MATRIX_COEFFICIENT_FCC = 4,<br/>MATRIX_COEFFICIENT_BT601_625 = 5,<br/>MATRIX_COEFFICIENT_BT601_525 = 6, MATRIX_COEFFICIENT_SMPTE_ST240 = 7,<br/>MATRIX_COEFFICIENT_YCGCO = 8,<br/>MATRIX_COEFFICIENT_BT2020_NCL = 9,<br/>MATRIX_COEFFICIENT_BT2020_CL = 10,<br/>MATRIX_COEFFICIENT_SMPTE_ST2085 = 11,<br/>MATRIX_COEFFICIENT_CHROMATICITY_NCL = 12,<br/>MATRIX_COEFFICIENT_CHROMATICITY_CL = 13,<br/>MATRIX_COEFFICIENT_ICTCP = 14<br/>} | 矩阵系数。 | 225| [OH_AVCLevel](#oh_avclevel-1) {<br/>AVC_LEVEL_1 = 0, <br/>AVC_LEVEL_1b = 1, <br/>AVC_LEVEL_11 = 2, <br/>AVC_LEVEL_12 = 3,<br/>AVC_LEVEL_13 = 4, <br/>AVC_LEVEL_2 = 5, <br/>AVC_LEVEL_21 = 6, <br/>AVC_LEVEL_22 = 7,<br/>AVC_LEVEL_3 = 8, <br/>AVC_LEVEL_31 = 9, <br/>AVC_LEVEL_32 = 10, <br/>AVC_LEVEL_4 = 11,<br/>AVC_LEVEL_41 = 12, <br/>AVC_LEVEL_42 = 13, <br/>AVC_LEVEL_5 = 14, <br/>AVC_LEVEL_51 = 15, <br/>AVC_LEVEL_52 = 16, <br/>AVC_LEVEL_6 = 17, <br/>AVC_LEVEL_61 = 18, <br/>AVC_LEVEL_62 = 19<br/>} | AVC级别。 | 226| [OH_HEVCLevel](#oh_hevclevel-1) {<br/>HEVC_LEVEL_1 = 0, <br/>HEVC_LEVEL_2 = 1, <br/>HEVC_LEVEL_21 = 2, <br/>HEVC_LEVEL_3 = 3,<br/>HEVC_LEVEL_31 = 4, <br/>HEVC_LEVEL_4 = 5, <br/>HEVC_LEVEL_41 = 6, <br/>HEVC_LEVEL_5 = 7,<br/>HEVC_LEVEL_51 = 8, <br/>HEVC_LEVEL_52 = 9, <br/>HEVC_LEVEL_6 = 10, <br/>HEVC_LEVEL_61 = 11,<br/>HEVC_LEVEL_62 = 12<br/>} | HEVC级别。 | 227| [OH_VVCLevel](#oh_vvclevel-1) {<br/>VVC_LEVEL_1 = 16, <br/>VVC_LEVEL_2 = 32, <br/>VVC_LEVEL_21 = 35, <br/>VVC_LEVEL_3 = 48, <br/>VVC_LEVEL_31 = 51, <br/>VVC_LEVEL_4 = 64, <br/>VVC_LEVEL_41 = 67, <br/>VVC_LEVEL_5 = 80, <br/>VVC_LEVEL_51 = 83, <br/>VVC_LEVEL_52 = 86, <br/>VVC_LEVEL_6 = 96, <br/>VVC_LEVEL_61 = 99, <br/>VVC_LEVEL_62 = 102, <br/>VVC_LEVEL_63 = 105, <br/>VVC_LEVEL_155 = 255<br/>} | VVC级别。 | 228| [OH_TemporalGopReferenceMode](#oh_temporalgopreferencemode-1) { <br/>ADJACENT_REFERENCE = 0, <br/>JUMP_REFERENCE = 1, <br/>UNIFORMLY_SCALED_REFERENCE = 2 <br/>} | 时域图片组参考模式。 | 229| [OH_BitrateMode](#oh_bitratemode-1) { <br/>BITRATE_MODE_CBR = 0, <br/>BITRATE_MODE_VBR = 1, <br/>BITRATE_MODE_CQ = 2 } | 编码器的比特率模式。 | 230 231### 变量 232 233| 名称 | 描述 | 234| -------- | -------- | 235| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_AAC](#oh_avcodec_mimetype_audio_aac) | AAC音频编解码器的MIME类型。 | 236| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_FLAC](#oh_avcodec_mimetype_audio_flac) | FLAC音频编解码器的MIME类型。 | 237| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_OPUS](#oh_avcodec_mimetype_audio_opus) | OPUS音频编解码器的MIME类型。<!--Del-->(此规格暂未开放)<!--DelEnd--> | 238| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_G711MU](#oh_avcodec_mimetype_audio_g711mu) | G711MU音频编解码器的MIME类型。 | 239| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_VORBIS](#oh_avcodec_mimetype_audio_vorbis) | VORBIS音频解码器的MIME类型。 | 240| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_MPEG](#oh_avcodec_mimetype_audio_mpeg) | MP3音频解码器的MIME类型。 | 241| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_VIVID](#oh_avcodec_mimetype_audio_vivid) | Audio Vivid音频解码器的MIME类型。<!--Del-->(此规格暂未开放)<!--DelEnd--> | 242| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_AMR_NB](#oh_avcodec_mimetype_audio_amr_nb) | AMR_NB音频解码器的MIME类型。 | 243| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_AMR_WB](#oh_avcodec_mimetype_audio_amr_wb) | AMR_WB音频解码器的MIME类型。 | 244| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_APE](#oh_avcodec_mimetype_audio_ape) |APE音频解码器的MIME类型。 | 245| const char \* [OH_AVCODEC_MIMETYPE_VIDEO_VVC](#oh_avcodec_mimetype_video_vvc) | VVC(H.266)视频编解码器的MIME类型。 | 246| const char \* [OH_AVCODEC_MIMETYPE_VIDEO_HEVC](#oh_avcodec_mimetype_video_hevc) | HEVC(H.265)视频编解码器的MIME类型。 | 247| const char \* [OH_AVCODEC_MIMETYPE_VIDEO_AVC](#oh_avcodec_mimetype_video_avc) | AVC(H.264)视频编解码器的MIME类型。 | 248| const char \* [OH_AVCODEC_MIMETYPE_VIDEO_MPEG4](#oh_avcodec_mimetype_video_mpeg4) | MPEG4视频编码的MIME类型,仅用于封装MPEG4视频码流使用。 | 249| const char \* [OH_AVCODEC_MIMETYPE_IMAGE_JPG](#oh_avcodec_mimetype_image_jpg) | JPG图片编码的MIME类型,仅用于封装JPG封面时使用。 | 250| const char \* [OH_AVCODEC_MIMETYPE_IMAGE_PNG](#oh_avcodec_mimetype_image_png) | PNG图片编码的MIME类型,仅用于封装PNG封面时使用。 | 251| const char \* [OH_AVCODEC_MIMETYPE_IMAGE_BMP](#oh_avcodec_mimetype_image_bmp) | BMP图片编码的MIME类型,仅用于封装BMP封面时使用。 | 252| const char \* [OH_AVCODEC_MIMETYPE_SUBTITLE_WEBVTT](#oh_avcodec_mimetype_subtitle_webvtt) |WEBVTT字幕解封装器的MIME类型。 | 253| const char \* [OH_AVCODEC_MIMETYPE_SUBTITLE_SRT](#oh_avcodec_mimetype_subtitle_srt) |SRT字幕解封装器的MIME类型。 | 254| const char \* [OH_FEATURE_PROPERTY_KEY_VIDEO_ENCODER_MAX_LTR_FRAME_COUNT](#oh_feature_property_key_video_encoder_max_ltr_frame_count) | 在视频编码中获取长期参考帧的最大个数的键,值类型为int32_t。 | 255| const char \* [OH_MD_KEY_CODEC_CONFIG](#oh_md_key_codec_config) | 编解码器特定数据的键,视频中表示传递SPS/PPS,音频中表示传递extraData,值类型为uint8_t\*。 <!--Del-->(视频编解码此功能暂未支持)<!--DelEnd--> | 256| const char \* [OH_MD_MAX_INPUT_BUFFER_COUNT](#oh_md_max_input_buffer_count) | 最大输入缓冲区个数的键,值类型为int32_t。 | 257| const char \* [OH_MD_MAX_OUTPUT_BUFFER_COUNT](#oh_md_max_output_buffer_count) | 最大输出缓冲区个数的键,值类型int32_t。 | 258| const char \* [OH_MD_KEY_BITRATE](#oh_md_key_bitrate) | 比特率的键,值类型为int64_t。 | 259| const char \* [OH_MD_KEY_PROFILE](#oh_md_key_profile) | 编码档次,值类型为int32_t,请参见[OH_AVCProfile](#oh_avcprofile),[OH_HEVCProfile](#oh_hevcprofile),[OH_AACProfile](#oh_aacprofile)。 | 260| const char \* [OH_MD_KEY_MAX_INPUT_SIZE](#oh_md_key_max_input_size) | 设置解码输入码流大小最大值的键,值类型为int32_t。 | 261| const char \* [OH_ED_KEY_TIME_STAMP](#oh_ed_key_time_stamp) | 表示surfacebuffer时间戳的键,值类型为int64_t。(API14废弃)| 262| const char \* [OH_ED_KEY_EOS](#oh_ed_key_eos) | 表示surfacebuffer流结束符的键,值类型为int32_t。(API14废弃)| 263| const char \* [OH_MD_KEY_WIDTH](#oh_md_key_width) | 视频宽度的键,值类型为int32_t。 | 264| const char \* [OH_MD_KEY_HEIGHT](#oh_md_key_height) | 视频高度键,值类型为int32_t。 | 265| const char \* [OH_MD_KEY_PIXEL_FORMAT](#oh_md_key_pixel_format) | 视频像素格式的键,值类型为int32_t,请参见[OH_AVPixelFormat](_core.md#oh_avpixelformat)。 | 266| const char \* [OH_MD_KEY_FRAME_RATE](#oh_md_key_frame_rate) | 视频帧率的键,值类型为double。 | 267| const char \* [OH_MD_KEY_ROTATION](#oh_md_key_rotation) | surface旋转角度的键。值类型为int32_t:应为{0, 90, 180, 270},默认值为0。该键只在视频解码Surface模式下使用。 | 268| const char \* [OH_MD_KEY_RANGE_FLAG](#oh_md_key_range_flag) | 视频YUV值域标志的键,值类型为int32_t,1表示full range,0表示limited range。 | 269| const char \* [OH_MD_KEY_COLOR_PRIMARIES](#oh_md_key_color_primaries) | 视频色域的键,值类型为int32_t,请参见[OH_ColorPrimary](#oh_colorprimary),遵循H.273标准Table2。 | 270| const char \* [OH_MD_KEY_TRANSFER_CHARACTERISTICS](#oh_md_key_transfer_characteristics) | 视频传递函数的键,值类型为int32_t,请参见[OH_TransferCharacteristic](#oh_transfercharacteristic),遵循H.273标准Table3。 | 271| const char \* [OH_MD_KEY_MATRIX_COEFFICIENTS](#oh_md_key_matrix_coefficients) | 视频矩阵系数的键,值类型为int32_t,请参见[OH_MatrixCoefficient](#oh_matrixcoefficient),遵循H.273标准Table4。 | 272| const char \* [OH_MD_KEY_SCALING_MODE](#oh_md_key_scaling_mode) | 视频缩放模式,值类型为int32_t,请参见[OH_ScalingMode](#oh_scalingmode)。该键是可选的且只用于视频解码Surface模式。建议直接调用[OH_NativeWindow_NativeWindowSetScalingModeV2](../apis-arkgraphics2d/_native_window.md)接口进行设置。(API14废弃)| 273| const char \* [OH_MD_KEY_VIDEO_CROP_TOP](#oh_md_key_video_crop_top) | 描述裁剪矩形顶部坐标(y)值的键,值类型为int32_t。 | 274| const char \* [OH_MD_KEY_VIDEO_CROP_BOTTOM](#oh_md_key_video_crop_bottom) | 描述裁剪矩形底部坐标(y)值的键,值类型为int32_t。 | 275| const char \* [OH_MD_KEY_VIDEO_CROP_LEFT](#oh_md_key_video_crop_left) | 描述裁剪矩形左坐标(x)值的键,值类型为int32_t。 | 276| const char \* [OH_MD_KEY_VIDEO_CROP_RIGHT](#oh_md_key_video_crop_right) | 描述裁剪矩形右坐标(x)值的键,值类型为int32_t。 | 277| const char \* [OH_MD_KEY_VIDEO_STRIDE](#oh_md_key_video_stride) | 描述视频帧宽跨距的键,值类型为int32_t。本。 | 278| const char \* [OH_MD_KEY_VIDEO_SLICE_HEIGHT](#oh_md_key_video_slice_height) | 描述视频帧高跨距的键,值类型为int32_t。 | 279| const char \* [OH_MD_KEY_VIDEO_PIC_WIDTH](#oh_md_key_video_pic_width) | 描述视频帧真实宽度的键,值类型为int32_t。 | 280| const char \* [OH_MD_KEY_VIDEO_PIC_HEIGHT](#oh_md_key_video_pic_height) | 描述视频帧真实高度的键,值类型为int32_t。 | 281| const char \* [OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY](#oh_md_key_video_enable_low_latency) | 使能低时延视频编解码的键,值类型为int32_t,1表示使能,0表示其它情况。如果使能,则视频编码器或视频解码器持有的输入和输出数据不会超过编解码器标准所要求的数量。 | 282| const char \* [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](#oh_md_key_video_encode_bitrate_mode) | 视频编码码率模式,值类型为int32_t,请参见[OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode)。 | 283| const char \* [OH_MD_KEY_QUALITY](#oh_md_key_quality) | 所需编码质量的键。值类型为int32_t,此键仅适用于配置在恒定质量模式下的编码器。 | 284| const char \* [OH_MD_KEY_REQUEST_I_FRAME](#oh_md_key_request_i_frame) | 请求立即编码I帧的键。值类型为int32_t。 | 285| const char \* [OH_MD_KEY_I_FRAME_INTERVAL](#oh_md_key_i_frame_interval) | 关键帧间隔的键,值类型为int32_t,单位为毫秒。该键是可选的且只用于视频编码。 | 286| const char \* [OH_MD_KEY_VIDEO_ENCODER_ENABLE_TEMPORAL_SCALABILITY](#oh_md_key_video_encoder_enable_temporal_scalability) | 使能分层编码的键,值类型为int32_t,1表示使能,0表示其它情况。 | 287| const char \* [OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_SIZE](#oh_md_key_video_encoder_temporal_gop_size) | 描述图片组基本层图片的间隔大小的键,值类型为int32_t,只在使能分层编码时生效。 | 288| const char \* [OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_REFERENCE_MODE](#oh_md_key_video_encoder_temporal_gop_reference_mode) | 描述图片组内参考模式的键,值类型为int32_t,请参见[OH_TemporalGopReferenceMode](#oh_temporalgopreferencemode),只在使能分层编码时生效。 | 289| const char \* [OH_MD_KEY_VIDEO_ENCODER_LTR_FRAME_COUNT](#oh_md_key_video_encoder_ltr_frame_count) | 描述长期参考帧个数的键,值类型为int32_t,必须在支持的值范围内使用。该键是可选的且只用于视频编码。 | 290| const char \* [OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_MARK_LTR](#oh_md_key_video_encoder_per_frame_mark_ltr) | 标记当前帧为长期参考帧的键,值类型为int32_t,1表示被标记,0表示其它情况。该键是可选的且只用于视频编码。 | 291| const char \* [OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_USE_LTR](#oh_md_key_video_encoder_per_frame_use_ltr) | 描述当前帧参考的长期参考帧帧的POC号的键,值类型为int32_t。该键是可选的且只用于视频编码。 | 292| const char \* [OH_MD_KEY_VIDEO_PER_FRAME_IS_LTR](#oh_md_key_video_per_frame_is_ltr) | 当前OH_AVBuffer中输出的码流对应的帧是否为长期参考帧的键,值类型为int32_t,1表示是LTR,0表示其它情况。该键是可选的且只用于视频编码。 | 293| const char \* [OH_MD_KEY_VIDEO_PER_FRAME_POC](#oh_md_key_video_per_frame_poc) | 描述帧的POC号的键,值类型为int32_t。该键是可选的且只用于视频编码。 | 294| const char \* [OH_MD_KEY_VIDEO_ENCODER_QP_MAX](#oh_md_key_video_encoder_qp_max) | 描述视频编码器允许的最大量化参数的键,值类型为int32_t。 | 295| const char \* [OH_MD_KEY_VIDEO_ENCODER_QP_MIN](#oh_md_key_video_encoder_qp_min) | 描述视频编码器允许的最小量化参数的键,值类型为int32_t。 | 296| const char \* [OH_MD_KEY_VIDEO_ENCODER_QP_AVERAGE](#oh_md_key_video_encoder_qp_average) | 描述视频帧平均量化参数的键,值类型为int32_t。 | 297| const char \* [OH_MD_KEY_VIDEO_ENCODER_MSE](#oh_md_key_video_encoder_mse) |描述视频帧平方误差的键,值类型为double。 | 298| const char \* [OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE](#oh_md_key_video_decoder_output_color_space) | 设置视频解码器输出色彩空间的键,值类型为int32_t。 支持的值为OH_COLORSPACE_BT709_LIMIT。| 299| const char \* [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](#oh_md_key_audio_sample_format) | 音频原始格式的键,值类型为int32_t。 | 300| const char \* [OH_MD_KEY_AUD_CHANNEL_COUNT](#oh_md_key_aud_channel_count) | 音频通道计数键,值类型为int32_t。 | 301| const char \* [OH_MD_KEY_AUD_SAMPLE_RATE](#oh_md_key_aud_sample_rate) | 音频采样率键,值类型为int32_t。 | 302| const char \* [OH_MD_KEY_AUDIO_COMPRESSION_LEVEL](#oh_md_key_audio_compression_level) | 音频编解码压缩水平的键,只在音频编码使用,值类型为int32_t。 | 303| const char \* [OH_MD_KEY_CHANNEL_LAYOUT](#oh_md_key_channel_layout) | 所需编码通道布局的键。值类型为int64_t,此键仅适用于编码器。 | 304| const char \* [OH_MD_KEY_BITS_PER_CODED_SAMPLE](#oh_md_key_bits_per_coded_sample) | 每个编码样本位数的键,值类型为int32_t,支持flac编码器,请参见[OH_BitsPerSample](#oh_bitspersample)。 | 305| const char \* [OH_MD_KEY_SBR](#oh_md_key_sbr) | aac sbr模式的键,值类型为int32_t,aac编码器支持。 | 306| const char \* [OH_MD_KEY_COMPLIANCE_LEVEL](#oh_md_key_compliance_level) | flac兼容性等级的键,值类型为int32_t,仅在音频编码使用。 | 307| const char \* [OH_MD_KEY_AAC_IS_ADTS](#oh_md_key_aac_is_adts) | aac格式的键,aac格式分为ADTS格式和LATM格式。值类型为int32_t,aac解码器支持。 | 308| const char \* [OH_MD_KEY_IDENTIFICATION_HEADER](#oh_md_key_identification_header) | vorbis标识头的键,值类型为uint8_t\*,仅vorbis解码器支持。 | 309| const char \* [OH_MD_KEY_SETUP_HEADER](#oh_md_key_setup_header) | vorbis设置头的键,值类型为uint8_t\*,仅vorbis解码器支持。 | 310| const char \* [OH_MD_KEY_AUDIO_OBJECT_NUMBER](#oh_md_key_audio_object_number) | 音频对象数目的键,值类型为int32_t,只有Audio Vivid解码使用。 | 311| const char \* [OH_MD_KEY_AUDIO_VIVID_METADATA](#oh_md_key_audio_vivid_metadata) | Audio Vivid元数据的键,值类型为uint8_t\*,只有Audio Vivid解码使用。 | 312| const char \* [OH_MD_KEY_VIDEO_IS_HDR_VIVID](#oh_md_key_video_is_hdr_vivid) | 媒体文件中的视频轨是否为HDR Vivid的键,支持封装和解封装,值类型为int32_t。 | 313| const char \* [OH_MD_KEY_START_TIME](#oh_md_key_start_time) | 媒体文件中第一帧起始位置开始时间的键,以微秒为单位,值类型为int64_t。 | 314| const char \* [OH_MD_KEY_TRACK_START_TIME](#oh_md_key_track_start_time) | 轨道开始时间的键,以微秒为单位,值类型为int64_t。 | 315| const char \* [OH_MD_KEY_TRACK_TYPE](#oh_md_key_track_type) | 轨道媒体类型的键,值类型为int32_t,请参见[OH_MediaType](#oh_mediatype-1)。 | 316| const char \* [OH_MD_KEY_DURATION](#oh_md_key_duration) | 媒体文件持续时间的键,值类型为int64_t。 | 317| const char \* [OH_MD_KEY_TITLE](#oh_md_key_title) | 媒体文件标题的键,值类型为string。 | 318| const char \* [OH_MD_KEY_ARTIST](#oh_md_key_artist) | 媒体文件艺术家的键,值类型为string。 | 319| const char \* [OH_MD_KEY_ALBUM](#oh_md_key_album) | 专辑的媒体文件的键,值类型为string。 | 320| const char \* [OH_MD_KEY_ALBUM_ARTIST](#oh_md_key_album_artist) | 专辑艺术家的键,值类型为string。 | 321| const char \* [OH_MD_KEY_DATE](#oh_md_key_date) | 媒体文件日期的键,值类型为string,例如2024年。 | 322| const char \* [OH_MD_KEY_COMMENT](#oh_md_key_comment) | 媒体文件注释的键,值类型为string。 | 323| const char \* [OH_MD_KEY_GENRE](#oh_md_key_genre) | 媒体文件流派的键,值类型为string。 | 324| const char \* [OH_MD_KEY_COPYRIGHT](#oh_md_key_copyright) | 媒体文件版权的键,值类型为string。 | 325| const char \* [OH_MD_KEY_LANGUAGE](#oh_md_key_language) | 媒体文件语言的键,值类型为string。 | 326| const char \* [OH_MD_KEY_DESCRIPTION](#oh_md_key_description) | 媒体文件描述的键,值类型为string。 | 327| const char \* [OH_MD_KEY_LYRICS](#oh_md_key_lyrics) | 媒体文件歌词的键,值类型为string。 | 328| const char \* [OH_MD_KEY_TRACK_COUNT](#oh_md_key_track_count) | 媒体文件轨道数量的键,值类型为int32_t。 | 329| const char \* [OH_MD_KEY_BUFFER_DURATION](#oh_md_key_buffer_duration) | AVBuffer中携带的音视频或字幕的sample对应的持续时间的键,以微秒为单位,值类型为int64_t。 | 330| const char \* [OH_MD_KEY_DECODING_TIMESTAMP](#oh_md_key_decoding_timestamp) | AVBuffer中携带的音视频或字幕的sample对应的解码时间戳的键,以微秒为单位,值类型为int64_t。 | 331| const char \* [OH_MD_KEY_CODEC_MIME](#oh_md_key_codec_mime) | 编解码器[MIME](#媒体编解码格式)类型的键,值类型为string。 | 332| const char \* [OH_MD_KEY_VIDEO_SAR](#oh_md_key_video_sar) | 样本长宽比的键,值类型为double。 | 333 334 335## 类型定义说明 336 337 338### OH_AACProfile 339 340``` 341typedef enum OH_AACProfile OH_AACProfile 342``` 343**描述** 344AAC档次。 345 346**系统能力:** SystemCapability.Multimedia.Media.CodecBase 347 348**起始版本:** 9 349 350 351### OH_AVCLevel 352 353``` 354typedef enum OH_AVCLevel OH_AVCLevel 355``` 356**描述** 357AVC级别。 358 359**系统能力:** SystemCapability.Multimedia.Media.CodecBase 360 361**起始版本:** 12 362 363 364### OH_AVCodec 365 366``` 367typedef struct OH_AVCodec OH_AVCodec 368``` 369**描述** 370为音视频编解码接口定义native层对象。 371 372**起始版本:** 9 373 374 375### OH_AVCodecAsyncCallback 376 377``` 378typedef struct OH_AVCodecAsyncCallback OH_AVCodecAsyncCallback 379``` 380**描述** 381OH_AVCodec中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVCodec实例中, 并处理回调上报的信息,以保证OH_AVCodec的正常运行。 382 383**系统能力:** SystemCapability.Multimedia.Media.CodecBase 384 385**起始版本:** 9 386 387**废弃版本:** 11 388 389**替代接口:**[OH_AVCodecCallback](#oh_avcodeccallback) 390 391**参数:** 392 393| 名称 | 描述 | 394| -------- | -------- | 395| onError | 监控编解码器操作错误,请参见[OH_AVCodecOnError](#oh_avcodeconerror)。 | 396| onStreamChanged | 监控编解码器流变化,请参见[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)。 | 397| onNeedInputData | 监控编解码器需要输入数据,请参见[OH_AVCodecOnNeedInputData](#oh_avcodeconneedinputdata)。 | 398| onNeedOutputData | 监控编解码器已生成输出数据,请参见[OH_AVCodecOnNewOutputData](#oh_avcodeconnewoutputdata)。 | 399 400 401### OH_AVCodecCallback 402 403``` 404typedef struct OH_AVCodecCallback OH_AVCodecCallback 405``` 406**描述** 407OH_AVCodec中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVCodec实例中, 并处理回调上报的信息,以保证OH_AVCodec的正常运行。 408 409**系统能力:** SystemCapability.Multimedia.Media.CodecBase 410 411**起始版本:** 11 412 413**参数:** 414 415| 名称 | 描述 | 416| -------- | -------- | 417| onError | 监控编解码器操作错误,请参见[OH_AVCodecOnError](#oh_avcodeconerror)。 | 418| onStreamChanged | 监控编解码器流变化,请参见[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)。 | 419| onNeedInputBuffer | 监控编解码器需要输入数据,请参见[OH_AVCodecOnNeedInputBuffer](#oh_avcodeconneedinputbuffer)。 | 420| onNewOutputBuffer | 监控编解码器已生成输出数据,请参见[OH_AVCodecOnNewOutputBuffer](#oh_avcodeconnewoutputbuffer)。 | 421 422 423### OH_AVCodecOnError 424 425``` 426typedef void(* OH_AVCodecOnError) (OH_AVCodec *codec, int32_t errorCode, void *userData) 427``` 428**描述** 429当OH_AVCodec实例运行出错时,回调将上报具体的错误信息的函数指针。 430 431| 使用场景| 错误码 | 432| -------- | -------- | 433| 音频编解码 | AV_ERR_DRM_DECRYPT_FAILED:DRM解密失败。 | 434| 视频编解码 | AV_ERROR_NO_MEMORY:系统资源不足。<br>AV_ERROR_UNKNOWN:未知错误,请通过具体日志分析。<br>AV_ERR_SERVICE_DIED:服务状态已消亡。 | 435| 视频解码 | AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION:当前输入不支持色彩空间转换功能。 | 436<!--RP1--><!--RP1End--> 437 438**系统能力:** SystemCapability.Multimedia.Media.CodecBase 439 440**起始版本:** 9 441 442**参数:** 443 444| 名称 | 描述 | 445| -------- | -------- | 446| codec | OH_AVCodec实例。 | 447| errorCode | 特定错误代码。在不同场景下返回的错误码不同,详情可见方法描述中的表格。 | 448| userData | 用户执行回调所依赖的数据。 | 449 450 451### OH_AVCodecOnNeedInputBuffer 452 453``` 454typedef void(* OH_AVCodecOnNeedInputBuffer) (OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData) 455``` 456**描述** 457当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。 458 459**系统能力:** SystemCapability.Multimedia.Media.CodecBase 460 461**起始版本:** 11 462 463**参数:** 464 465| 名称 | 描述 | 466| -------- | -------- | 467| codec | OH_AVCodec实例。 | 468| index | 与新可用的输入缓冲区相对应的索引。 | 469| buffer | 新的可用输入缓冲区。 | 470| userData | 用户执行回调所依赖的数据。 | 471 472 473### OH_AVCodecOnNeedInputData 474 475``` 476typedef void(* OH_AVCodecOnNeedInputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, void *userData) 477``` 478**描述** 479当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。 480 481**系统能力:** SystemCapability.Multimedia.Media.CodecBase 482 483**起始版本:** 9 484 485**废弃版本:** 11 486 487**替代接口:**[OH_AVCodecOnNeedInputBuffer](#oh_avcodeconneedinputbuffer) 488 489**参数:** 490 491| 名称 | 描述 | 492| -------- | -------- | 493| codec | OH_AVCodec实例。 | 494| index | 与新可用的输入缓冲区相对应的索引。 | 495| data | 新的可用输入缓冲区。 | 496| userData | 用户执行回调所依赖的数据。 | 497 498 499### OH_AVCodecOnNewOutputBuffer 500 501``` 502typedef void(* OH_AVCodecOnNewOutputBuffer) (OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData) 503``` 504**描述** 505当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。 506 507**系统能力:** SystemCapability.Multimedia.Media.CodecBase 508 509**起始版本:** 11 510 511**参数:** 512 513| 名称 | 描述 | 514| -------- | -------- | 515| codec | OH_AVCodec实例。 | 516| index | 与新输出缓冲区对应的索引。 | 517| buffer | 包含新输出数据的缓冲区。 | 518| userData | 用户执行回调所依赖的数据。 | 519 520 521### OH_AVCodecOnNewOutputData 522 523``` 524typedef void(* OH_AVCodecOnNewOutputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, OH_AVCodecBufferAttr *attr, void *userData) 525``` 526**描述** 527当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅在调用函数指针时有效,这将禁止调用结束后继续访问。 528 529**系统能力:** SystemCapability.Multimedia.Media.CodecBase 530 531**起始版本:** 9 532 533**废弃版本:** 11 534 535**替代接口:**[OH_AVCodecOnNewOutputBuffer](#oh_avcodeconnewoutputbuffer) 536 537**参数:** 538 539| 名称 | 描述 | 540| -------- | -------- | 541| codec | OH_AVCodec实例。 | 542| index | 与新输出缓冲区对应的索引。 | 543| data | 包含新输出数据的缓冲区。 | 544| attr | 新输出缓冲区的说明,请参见**OH_AVCodecBufferAttr**。 | 545| userData | 用户执行回调所依赖的数据。 | 546 547 548### OH_AVCodecOnStreamChanged 549 550``` 551typedef void(* OH_AVCodecOnStreamChanged) (OH_AVCodec *codec, OH_AVFormat *format, void *userData) 552``` 553**描述** 554当解码输入码流分辨率或者编码输出码流的分辨率发生变化时,调用此函数指针报告新的流描述信息。需要注意的是, 555OH_AVFormat指针的生命周期只有在函数指针被调用时才有效,调用结束后禁止继续访问。 556 557**系统能力:** SystemCapability.Multimedia.Media.CodecBase 558 559**起始版本:** 9 560 561**参数:** 562 563| 名称 | 描述 | 564| -------- | -------- | 565| codec | OH_AVCodec实例。 | 566| format | 新输出流描述信息。 | 567| userData | 用户执行回调所依赖的数据。 | 568 569 570### OH_AVCProfile 571 572``` 573typedef enum OH_AVCProfile OH_AVCProfile 574``` 575**描述** 576AVC档次。 577 578**系统能力:** SystemCapability.Multimedia.Media.CodecBase 579 580**起始版本:** 9 581 582 583### OH_AVDataSource 584 585``` 586typedef struct OH_AVDataSource OH_AVDataSource 587``` 588**描述** 589用户自定义数据源。 590 591**系统能力:** SystemCapability.Multimedia.Media.CodecBase 592 593**起始版本:** 12 594 595 596### OH_AVDataSourceReadAt 597 598``` 599typedef int32_t(* OH_AVDataSourceReadAt) (OH_AVBuffer *data, int32_t length, int64_t pos) 600``` 601**描述** 602函数指针定义,用于提供获取用户自定义媒体数据的能力。 603 604**系统能力:** SystemCapability.Multimedia.Media.CodecBase 605 606**起始版本:** 12 607 608**参数:** 609 610| 名称 | 描述 | 611| -------- | -------- | 612| data | 要填充的缓冲区。 | 613| length | 要读取的数据长度。 | 614| pos | 从偏移量位置读取。 | 615 616**返回:** 617 618读取到缓冲区的数据的实际长度。 619 620 621### OH_AVOutputFormat 622 623``` 624typedef enum OH_AVOutputFormat OH_AVOutputFormat 625``` 626**描述** 627封装器支持的输出文件格式。 628 629**系统能力:** SystemCapability.Multimedia.Media.CodecBase 630 631**起始版本:** 10 632 633 634### OH_AVSeekMode 635 636``` 637typedef enum OH_AVSeekMode OH_AVSeekMode 638``` 639**描述** 640跳转模式。 641 642**系统能力:** SystemCapability.Multimedia.Media.CodecBase 643 644**起始版本:** 10 645 646 647### OH_BitsPerSample 648 649``` 650typedef enum OH_BitsPerSample OH_BitsPerSample 651``` 652**描述** 653每个编码样本的音频位数。 654 655**系统能力:** SystemCapability.Multimedia.Media.CodecBase 656 657**起始版本:** 10 658 659 660### OH_ColorPrimary 661 662``` 663typedef enum OH_ColorPrimary OH_ColorPrimary 664``` 665**描述** 666色域。 667 668**系统能力:** SystemCapability.Multimedia.Media.CodecBase 669 670**起始版本:** 10 671 672 673### OH_HEVCLevel 674 675``` 676typedef enum OH_HEVCLevel OH_HEVCLevel 677``` 678**描述** 679HEVC级别。 680 681**系统能力:** SystemCapability.Multimedia.Media.CodecBase 682 683**起始版本:** 12 684 685 686### OH_HEVCProfile 687 688``` 689typedef enum OH_HEVCProfile OH_HEVCProfile 690``` 691**描述** 692HEVC档次。 693 694**系统能力:** SystemCapability.Multimedia.Media.CodecBase 695 696**起始版本:** 10 697 698 699### OH_MatrixCoefficient 700 701``` 702typedef enum OH_MatrixCoefficient OH_MatrixCoefficient 703``` 704**描述** 705矩阵系数。 706 707**系统能力:** SystemCapability.Multimedia.Media.CodecBase 708 709**起始版本:** 10 710 711 712### OH_MediaType 713 714``` 715typedef enum OH_MediaType OH_MediaType 716``` 717**描述** 718媒体类型。 719 720**系统能力:** SystemCapability.Multimedia.Media.CodecBase 721 722**起始版本:** 9 723 724 725### OH_ScalingMode 726 727``` 728typedef enum OH_ScalingMode OH_ScalingMode 729``` 730**描述** 731缩放模式,只在Surface模式下使用。 732 733**系统能力:** SystemCapability.Multimedia.Media.CodecBase 734 735**起始版本:** 10 736 737**废弃版本:** 14 738 739**替代接口:**[OHScalingModeV2](../apis-arkgraphics2d/_native_window.md#ohscalingmodev2) 740 741 742### OH_TemporalGopReferenceMode 743 744``` 745typedef enum OH_TemporalGopReferenceMode OH_TemporalGopReferenceMode 746``` 747**描述** 748时域图片组参考模式。 749 750**系统能力:** SystemCapability.Multimedia.Media.CodecBase 751 752**起始版本:** 12 753 754### OH_VVCLevel 755 756``` 757typedef enum OH_VVCLevel OH_VVCLevel 758``` 759**描述** 760VVC级别。 761 762**系统能力:** SystemCapability.Multimedia.Media.CodecBase 763 764**起始版本:** 14 765 766 767### OH_VVCProfile 768 769``` 770typedef enum OH_VVCProfile OH_VVCProfile 771``` 772**描述** 773VVC档次。 774 775**系统能力:** SystemCapability.Multimedia.Media.CodecBase 776 777**起始版本:** 14 778 779 780### OH_TransferCharacteristic 781 782``` 783typedef enum OH_TransferCharacteristic OH_TransferCharacteristic 784``` 785**描述** 786转移特性。 787 788**系统能力:** SystemCapability.Multimedia.Media.CodecBase 789 790**起始版本:** 10 791 792 793### OH_BitrateMode 794 795``` 796typedef enum OH_BitrateMode OH_BitrateMode 797``` 798**描述** 799编码器的比特率模式。从API14开始改变key的位置。 800 801**系统能力:** SystemCapability.Multimedia.Media.CodecBase 802 803**起始版本:** 10 804 805 806### OHNativeWindow 807 808``` 809typedef struct NativeWindow OHNativeWindow 810``` 811**描述** 812为图形接口定义native层对象。 813 814**起始版本:** 9 815 816 817## 枚举类型说明 818 819 820### AudioChannelLayout 821 822``` 823enum AudioChannelLayout : uint64_t 824``` 825 826**描述** 827音频声道数类型, 将用户申请的解码器输出格式表示为编解码器的声道类型。 828 829**系统能力:** SystemCapability.Multimedia.Media.CodecBase 830 831**起始版本:** 10 832 833**废弃版本:** 11 834 835**替代接口:**[OH_AudioChannelLayout](_core.md#oh_audiochannellayout) 836 837| 枚举值 | 描述 | 838| -------- | -------- | 839| UNKNOWN_CHANNEL_LAYOUT | 未知通道布局 | 840| MONO | 单通道布局 | 841| STEREO | 立体声布局 | 842| CH_2POINT1 | 2.1布局 | 843| CH_2_1 | 2_1布局 | 844| SURROUND | 环绕布局 | 845| CH_3POINT1 | 3.1布局 | 846| CH_4POINT0 | 4.0布局 | 847| CH_4POINT1 | 4.1布局 | 848| CH_2_2 | 2_2布局 | 849| QUAD | 四角形布局 | 850| CH_5POINT0 | 5.0布局 | 851| CH_5POINT1 | 5.1布局 | 852| CH_5POINT0_BACK | 5.0后置布局 | 853| CH_5POINT1_BACK | 5.1后置布局 | 854| CH_6POINT0 | 6.0布局 | 855| CH_6POINT0_FRONT | 6.0前置布局 | 856| HEXAGONAL | 六角形布局 | 857| CH_6POINT1 | 6.1布局 | 858| CH_6POINT1_BACK | 6.1后置布局 | 859| CH_6POINT1_FRONT | 6.1前置布局 | 860| CH_7POINT0 | 7.0布局 | 861| CH_7POINT0_FRONT | 7.0前置布局 | 862| CH_7POINT1 | 7.1布局 | 863| CH_7POINT1_WIDE | 7.1宽布局 | 864| CH_7POINT1_WIDE_BACK | 7.1后置宽布局 | 865| CH_3POINT1POINT2 | 3.1.2布局 | 866| CH_5POINT1POINT2 | 5.1.2布局 | 867| CH_5POINT1POINT4 | 5.1.4布局 | 868| CH_7POINT1POINT2 | 7.1.2布局 | 869| CH_7POINT1POINT4 | 7.1.4布局 | 870| CH_9POINT1POINT4 | 9.1.4布局 | 871| CH_9POINT1POINT6 | 9.1.6布局 | 872| CH_10POINT2 | 10.2布局 | 873| CH_22POINT2 | 22.2布局 | 874| OCTAGONAL | 八边形布局 | 875| HEXADECAGONAL | 十六边形布局 | 876| STEREO_DOWNMIX | 立体声下混布局 | 877| HOA_FIRST | 高阶立体声一阶布局 | 878| HOA_SECOND | 高阶立体声二阶布局 | 879| HOA_THIRD | 高阶立体声三阶布局 | 880 881 882### AudioChannelSet 883 884``` 885enum AudioChannelSet : uint64_t 886``` 887 888**描述** 889音频声道数集合, 将每一个声道数映射为int64_t的变量。 890 891**系统能力:** SystemCapability.Multimedia.Media.CodecBase 892 893**起始版本:** 10 894 895**废弃版本:** 11,请使用[OH_AudioChannelSet](_core.md#oh_audiochannelset)替代。 896 897| 枚举值 | 描述 | 898| -------- | -------- | 899| FRONT_LEFT | 左前声道 | 900| FRONT_RIGHT | 右前声道 | 901| FRONT_CENTER | 中前声道 | 902| LOW_FREQUENCY | 低频声道 | 903| BACK_LEFT | 左后声道 | 904| BACK_RIGHT | 右后声道 | 905| FRONT_LEFT_OF_CENTER | 左前中置声道 | 906| FRONT_RIGHT_OF_CENTER | 右前中置声道 | 907| BACK_CENTER | 后方中置声道 | 908| SIDE_LEFT | 左侧声道 | 909| SIDE_RIGHT | 右侧声道 | 910| TOP_CENTER | 上方中置声道 | 911| TOP_FRONT_LEFT | 上方左前声道 | 912| TOP_FRONT_CENTER | 上方中前声道 | 913| TOP_FRONT_RIGHT | 上方右前声道 | 914| TOP_BACK_LEFT | 上方左后声道 | 915| TOP_BACK_CENTER | 上方中后声道 | 916| TOP_BACK_RIGHT | 上方右后声道 | 917| STEREO_LEFT | 立体声左声道 | 918| STEREO_RIGHT | 立体声右声道 | 919| WIDE_LEFT | 宽左声道 | 920| WIDE_RIGHT | 宽右声道 | 921| SURROUND_DIRECT_LEFT | 左环绕声道 | 922| SURROUND_DIRECT_RIGHT | 右环绕声道 | 923| LOW_FREQUENCY_2 | 低频声道2 | 924| TOP_SIDE_LEFT | 上方左侧声道 | 925| TOP_SIDE_RIGHT | 上方右侧声道 | 926| BOTTOM_FRONT_CENTER | 下方中前声道 | 927| BOTTOM_FRONT_LEFT | 下方左前声道 | 928| BOTTOM_FRONT_RIGHT | 下方右前声道 | 929| AMBISONICS_ACN0 | 零阶立体声声道数 0 | 930| AMBISONICS_ACN1 | 一阶立体声声道数 1 | 931| AMBISONICS_ACN2 | 一阶立体声声道数 2 | 932| AMBISONICS_ACN3 | 一阶立体声声道数 3 | 933| AMBISONICS_W | 同于零阶立体声声道数 0 | 934| AMBISONICS_Y | 同于一阶立体声声道数 1 | 935| AMBISONICS_Z | 同于一阶立体声声道数 2 | 936| AMBISONICS_X | 同于一阶立体声声道数 3 | 937| AMBISONICS_ACN4 | 二阶立体声声道数 4 | 938| AMBISONICS_ACN5 | 二阶立体声声道数 5 | 939| AMBISONICS_ACN6 | 二阶立体声声道数 6 | 940| AMBISONICS_ACN7 | 二阶立体声声道数 7 | 941| AMBISONICS_ACN8 | 二阶立体声声道数 8 | 942| AMBISONICS_ACN9 | 三阶立体声声道数 9 | 943| AMBISONICS_ACN10 | 三阶立体声声道数 10 | 944| AMBISONICS_ACN11 | 三阶立体声声道数 11 | 945| AMBISONICS_ACN12 | 三阶立体声声道数 12 | 946| AMBISONICS_ACN13 | 三阶立体声声道数 13 | 947| AMBISONICS_ACN14 | 三阶立体声声道数 14 | 948| AMBISONICS_ACN15 | 三阶立体声声道数 15 | 949 950 951### OH_AACProfile 952 953``` 954enum OH_AACProfile 955``` 956**描述** 957AAC档次。 958 959**系统能力:** SystemCapability.Multimedia.Media.CodecBase 960 961**起始版本:** 9 962 963| 枚举值 | 描述 | 964| -------- | -------- | 965| AAC_PROFILE_LC | AAC编码档次为Low Complexity级别。 | 966| AAC_PROFILE_HE | AAC编码档次为High Efficiency级别。<!--Del-->(此规格暂未开放)<!--DelEnd--> <br>**起始版本:** 14 | 967| AAC_PROFILE_HE_V2 | AAC编码档次为High Efficiency v2级别。<!--Del-->(此规格暂未开放)<!--DelEnd--> <br>**起始版本:** 14 | 968 969 970### OH_AVCLevel 971 972``` 973enum OH_AVCLevel 974``` 975**描述** 976AVC级别。 977 978**系统能力:** SystemCapability.Multimedia.Media.CodecBase 979 980**起始版本:** 12 981 982| 枚举值 | 描述 | 983| -------- | -------- | 984| AVC_LEVEL_1 | 级别1 | 985| AVC_LEVEL_1b | 级别1b | 986| AVC_LEVEL_11 | 级别1.1 | 987| AVC_LEVEL_12 | 级别1.2 | 988| AVC_LEVEL_13 | 级别1.3 | 989| AVC_LEVEL_2 | 级别2 | 990| AVC_LEVEL_21 | 级别2.1 | 991| AVC_LEVEL_22 | 级别2.2 | 992| AVC_LEVEL_3 | 级别3 | 993| AVC_LEVEL_31 | 级别3.1 | 994| AVC_LEVEL_32 | 级别3.2 | 995| AVC_LEVEL_4 | 级别4 | 996| AVC_LEVEL_41 | 级别4.1 | 997| AVC_LEVEL_42 | 级别4.2 | 998| AVC_LEVEL_5 | 级别5 | 999| AVC_LEVEL_51 | 级别5.1 | 1000| AVC_LEVEL_52 | 级别5.2 | 1001| AVC_LEVEL_6 | 级别6 | 1002| AVC_LEVEL_61 | 级别6.1 | 1003| AVC_LEVEL_62 | 级别6.2 | 1004 1005 1006### OH_AVCProfile 1007 1008``` 1009enum OH_AVCProfile 1010``` 1011**描述** 1012AVC档次。 1013 1014**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1015 1016**起始版本:** 9 1017 1018| 枚举值 | 描述 | 1019| -------- | -------- | 1020| AVC_PROFILE_BASELINE | AVC编码档次为基本档次。 | 1021| AVC_PROFILE_HIGH | AVC编码档次为高档次。 | 1022| AVC_PROFILE_MAIN | AVC编码档次为主档次。 | 1023 1024 1025### OH_AVOutputFormat 1026 1027``` 1028enum OH_AVOutputFormat 1029``` 1030**描述** 1031封装器支持的输出文件格式。 1032 1033**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1034 1035**起始版本:** 10 1036 1037| 枚举值 | 描述 | 1038| -------- | -------- | 1039| AV_OUTPUT_FORMAT_DEFAULT | 输出文件格式默认值,默认为MP4格式。 | 1040| AV_OUTPUT_FORMAT_MPEG_4 | 输出文件格式为MP4格式。 | 1041| AV_OUTPUT_FORMAT_M4A | 输出文件格式为M4A格式。 | 1042| AV_OUTPUT_FORMAT_AMR | 输出文件格式为AMR格式。<br>**起始版本:** 12 | 1043| AV_OUTPUT_FORMAT_MP3 | 输出文件格式为MP3格式。<br>**起始版本:** 12 | 1044| AV_OUTPUT_FORMAT_WAV | 输出文件格式为WAV格式。<br>**起始版本:** 12 | 1045 1046### OH_AVSeekMode 1047 1048``` 1049enum OH_AVSeekMode 1050``` 1051**描述** 1052跳转模式。 1053 1054**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1055 1056**起始版本:** 10 1057 1058| 枚举值 | 描述 | 1059| -------- | -------- | 1060| SEEK_MODE_NEXT_SYNC | 指定时间位置的下一I帧。若时间点后没有I帧,该模式可能跳转失败。 | 1061| SEEK_MODE_PREVIOUS_SYNC | 指定时间位置的上一I帧。 | 1062| SEEK_MODE_CLOSEST_SYNC | 指定时间位置的最近I帧。 | 1063 1064 1065### OH_BitsPerSample 1066 1067``` 1068enum OH_BitsPerSample 1069``` 1070**描述** 1071每个编码样本的音频位数。 1072 1073**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1074 1075**起始版本:** 10 1076 1077| 枚举值 | 描述 | 1078| -------- | -------- | 1079| SAMPLE_U8 | 8位无符号整数采样。 | 1080| SAMPLE_S16LE | 16位有符号整数采样。 | 1081| SAMPLE_S24LE | 24位有符号整数采样。 | 1082| SAMPLE_S32LE | 32位有符号整数采样。 | 1083| SAMPLE_F32LE | 32位浮点采样。 | 1084| SAMPLE_U8P | 8位无符号整数平面采样。 | 1085| SAMPLE_S16P | 16位有符号整数平面采样。 | 1086| SAMPLE_S24P | 24位有符号整数平面采样。 | 1087| SAMPLE_S32P | 32位有符号整数平面采样。 | 1088| SAMPLE_F32P | 32位浮点平面采样。 | 1089| INVALID_WIDTH | 无效采样格式。 | 1090 1091 1092### OH_ColorPrimary 1093 1094``` 1095enum OH_ColorPrimary 1096``` 1097**描述** 1098色域。编解码都支持。 1099 1100**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1101 1102**起始版本:** 10 1103 1104| 枚举值 | 描述 | 1105| -------- | -------- | 1106| COLOR_PRIMARY_BT709 | BT709色域。 | 1107| COLOR_PRIMARY_UNSPECIFIED | 未指定色域。 | 1108| COLOR_PRIMARY_BT470_M | BT470_M色域。 | 1109| COLOR_PRIMARY_BT601_625 | BT601_625色域。 | 1110| COLOR_PRIMARY_BT601_525 | BT601_525色域。 | 1111| COLOR_PRIMARY_SMPTE_ST240 | SMPTE_ST240色域。 | 1112| COLOR_PRIMARY_GENERIC_FILM | GENERIC_FILM色域。 | 1113| COLOR_PRIMARY_BT2020 | BT2020色域。 | 1114| COLOR_PRIMARY_SMPTE_ST428 | SMPTE_ST428色域。 | 1115| COLOR_PRIMARY_P3DCI | P3DCI色域。 | 1116| COLOR_PRIMARY_P3D65 | P3D65色域。 | 1117 1118 1119### OH_HEVCLevel 1120 1121``` 1122enum OH_HEVCLevel 1123``` 1124**描述** 1125HEVC级别。 1126 1127**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1128 1129**起始版本:** 12 1130 1131| 枚举值 | 描述 | 1132| -------- | -------- | 1133| HEVC_LEVEL_1 | 级别1 | 1134| HEVC_LEVEL_2 | 级别2 | 1135| HEVC_LEVEL_21 | 级别2.1 | 1136| HEVC_LEVEL_3 | 级别3 | 1137| HEVC_LEVEL_31 | 级别3.1 | 1138| HEVC_LEVEL_4 | 级别4 | 1139| HEVC_LEVEL_41 | 级别4.1 | 1140| HEVC_LEVEL_5 | 级别5 | 1141| HEVC_LEVEL_51 | 级别5.1 | 1142| HEVC_LEVEL_52 | 级别5.2 | 1143| HEVC_LEVEL_6 | 级别6 | 1144| HEVC_LEVEL_61 | 级别6.1 | 1145| HEVC_LEVEL_62 | 级别6.2 | 1146 1147 1148### OH_HEVCProfile 1149 1150``` 1151enum OH_HEVCProfile 1152``` 1153**描述** 1154HEVC档次。 1155 1156**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1157 1158**起始版本:** 10 1159 1160| 枚举值 | 描述 | 1161| -------- | -------- | 1162| HEVC_PROFILE_MAIN | HEVC编码档次为主档次。 | 1163| HEVC_PROFILE_MAIN_10 | HEVC编码档次为10bit主档次。 | 1164| HEVC_PROFILE_MAIN_STILL | HEVC编码档次为静止图像主档次。 | 1165| HEVC_PROFILE_MAIN_10_HDR10 | HEVC编码档次为HDR10主档次。(API14废弃) | 1166| HEVC_PROFILE_MAIN_10_HDR10_PLUS | HEVC编码档次为HDR10+主档次。(API14废弃) | 1167 1168 1169### OH_MatrixCoefficient 1170 1171``` 1172enum OH_MatrixCoefficient 1173``` 1174**描述** 1175矩阵系数。编解码都支持。 1176 1177**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1178 1179**起始版本:** 10 1180 1181| 枚举值 | 描述 | 1182| -------- | -------- | 1183| MATRIX_COEFFICIENT_IDENTITY | 单位矩阵。 | 1184| MATRIX_COEFFICIENT_BT709 | BT709转换矩阵。 | 1185| MATRIX_COEFFICIENT_UNSPECIFIED | 未指定转换矩阵。 | 1186| MATRIX_COEFFICIENT_FCC | FCC转换矩阵。 | 1187| MATRIX_COEFFICIENT_BT601_625 | BT601_625转换矩阵。 | 1188| MATRIX_COEFFICIENT_BT601_525 | BT601_525转换矩阵。 | 1189| MATRIX_COEFFICIENT_SMPTE_ST240 | SMPTE_ST240转换矩阵。 | 1190| MATRIX_COEFFICIENT_YCGCO | YCGCO转换矩阵。 | 1191| MATRIX_COEFFICIENT_BT2020_NCL | BT2020_NCL转换矩阵。 | 1192| MATRIX_COEFFICIENT_BT2020_CL | BT2020_CL转换矩阵。 | 1193| MATRIX_COEFFICIENT_SMPTE_ST2085 | SMPTE_ST2085转换矩阵。 | 1194| MATRIX_COEFFICIENT_CHROMATICITY_NCL | CHROMATICITY_NCL转换矩阵。 | 1195| MATRIX_COEFFICIENT_CHROMATICITY_CL | CHROMATICITY_CL转换矩阵。 | 1196| MATRIX_COEFFICIENT_ICTCP | ICTCP转换矩阵。 | 1197 1198 1199### OH_MediaType 1200 1201``` 1202enum OH_MediaType 1203``` 1204**描述** 1205媒体类型。 1206 1207**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1208 1209**起始版本:** 9 1210 1211| 枚举值 | 描述 | 1212| -------- | -------- | 1213| MEDIA_TYPE_AUD | 音频轨。 | 1214| MEDIA_TYPE_VID | 视频轨。 | 1215| MEDIA_TYPE_SUBTITILE | 字幕轨。 <br>**起始版本:** 12 | 1216 1217### OH_ScalingMode 1218 1219``` 1220enum OH_ScalingMode 1221``` 1222**描述** 1223缩放模式,只在Surface模式下使用。 1224 1225**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1226 1227**起始版本:** 10 1228 1229**废弃版本:** 14 1230 1231**替代接口:** [OHScalingModeV2](../apis-arkgraphics2d/_native_window.md#ohscalingmodev2-1).OH_SCALING_MODE_SCALE_TO_WINDOW_V2、 1232[OHScalingModeV2](../apis-arkgraphics2d/_native_window.md#ohscalingmodev2-1).OH_SCALING_MODE_SCALE_CROP_V2 1233 1234| 枚举值 | 描述 | 1235| -------- | -------- | 1236| SCALING_MODE_SCALE_TO_WINDOW | 根据窗口尺寸自适应调整图像大小。 | 1237| SCALING_MODE_SCALE_CROP | 根据窗口尺寸裁剪图像大小。 | 1238 1239 1240 1241### OH_TemporalGopReferenceMode 1242 1243``` 1244enum OH_TemporalGopReferenceMode 1245``` 1246**描述** 1247时域图片组参考模式。 1248 1249**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1250 1251**起始版本:** 12 1252 1253| 枚举值 | 描述 | 1254| -------- | -------- | 1255| ADJACENT_REFERENCE | 参考最近的短期参考帧。 | 1256| JUMP_REFERENCE | 参考最近的长期参考帧。 | 1257| UNIFORMLY_SCALED_REFERENCE | 均匀分层参考结构,在丢弃最高层级视频帧后,视频帧均匀分布。其中时域图片组个数必须为2的幂 | 1258 1259 1260### OH_VVCLevel 1261 1262``` 1263enum OH_VVCLevel 1264``` 1265**描述** 1266VVC级别。 1267 1268**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1269 1270**起始版本:** 14 1271 1272| 枚举值 | 描述 | 1273| -------- | -------- | 1274| VVC_LEVEL_1 | 级别1.0 | 1275| VVC_LEVEL_2 | 级别2.0 | 1276| VVC_LEVEL_21 | 级别2.1 | 1277| VVC_LEVEL_3 | 级别3.0 | 1278| VVC_LEVEL_31 | 级别3.1 | 1279| VVC_LEVEL_4 | 级别4.0 | 1280| VVC_LEVEL_41 | 级别4.1 | 1281| VVC_LEVEL_5 | 级别5.0 | 1282| VVC_LEVEL_51 | 级别5.1 | 1283| VVC_LEVEL_52 | 级别5.2 | 1284| VVC_LEVEL_6 | 级别6.0 | 1285| VVC_LEVEL_61 | 级别6.1 | 1286| VVC_LEVEL_62 | 级别6.2 | 1287| VVC_LEVEL_63 | 级别6.3 | 1288| VVC_LEVEL_155 | 级别15.5 | 1289 1290 1291### OH_VVCProfile 1292 1293``` 1294enum OH_VVCProfile 1295``` 1296**描述** 1297VVC档次。 1298 1299**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1300 1301**起始版本:** 14 1302 1303| 枚举值 | 描述 | 1304| -------- | -------- | 1305| VVC_PROFILE_MAIN_10 | VVC编码档次为10bit主档次。 | 1306| VVC_PROFILE_MAIN_12 VVC | 编码档次为12bit主档次。 | 1307| VVC_PROFILE_MAIN_12_INTRA | VVC编码档次为12bit帧内主档次。 | 1308| VVC_PROFILE_MULTI_MAIN_10 | VVC编码档次为多层编码10bit主档次。 | 1309| VVC_PROFILE_MAIN_10_444 | VVC编码档次为10bit全采样主档次。 | 1310| VVC_PROFILE_MAIN_12_444 | VVC编码档次为12bit全采样主档次。 | 1311| VVC_PROFILE_MAIN_16_444 | VVC编码档次为16bit全采样主档次。 | 1312| VVC_PROFILE_MAIN_12_444_INTRA | VVC编码档次为12bit全采样帧内主档次。 | 1313| VVC_PROFILE_MAIN_16_444_INTRA | VVC编码档次为16bit全采样帧内主档次。 | 1314| VVC_PROFILE_MULTI_MAIN_10_444 | VVC编码档次为多层编码10bit全采样主档次。 | 1315| VVC_PROFILE_MAIN_10_STILL | VVC编码档次为10bit静止图像主档次。 | 1316| VVC_PROFILE_MAIN_12_STILL | VVC编码档次为12bit静止图像主档次。 | 1317| VVC_PROFILE_MAIN_10_444_STILL | VVC编码档次为10bit全采样静止图像主档次。 | 1318| VVC_PROFILE_MAIN_12_444_STILL | VVC编码档次为12bit全采样静止图像主档次。 | 1319| VVC_PROFILE_MAIN_16_444_STILL | VVC编码档次为16bit全采样静止图像主档次。 | 1320 1321 1322### OH_TransferCharacteristic 1323 1324``` 1325enum OH_TransferCharacteristic 1326``` 1327**描述** 1328转移特性。编解码都支持。 1329 1330**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1331 1332**起始版本:** 10 1333 1334| 枚举值 | 描述 | 1335| -------- | -------- | 1336| TRANSFER_CHARACTERISTIC_BT709 | BT709传递函数。 | 1337| TRANSFER_CHARACTERISTIC_UNSPECIFIED | 未指定传递函数。 | 1338| TRANSFER_CHARACTERISTIC_GAMMA_2_2 | GAMMA_2_2传递函数。 | 1339| TRANSFER_CHARACTERISTIC_GAMMA_2_8 | GAMMA_2_8传递函数。 | 1340| TRANSFER_CHARACTERISTIC_BT601 | BT601传递函数。 | 1341| TRANSFER_CHARACTERISTIC_SMPTE_ST240 | SMPTE_ST240传递函数。 | 1342| TRANSFER_CHARACTERISTIC_LINEAR | LINEAR传递函数。 | 1343| TRANSFER_CHARACTERISTIC_LOG | LOG传递函数。 | 1344| TRANSFER_CHARACTERISTIC_LOG_SQRT | LOG_SQRT传递函数。 | 1345| TRANSFER_CHARACTERISTIC_IEC_61966_2_4 | IEC_61966_2_4传递函数。 | 1346| TRANSFER_CHARACTERISTIC_BT1361 | BT1361传递函数。 | 1347| TRANSFER_CHARACTERISTIC_IEC_61966_2_1 | IEC_61966_2_1传递函数。 | 1348| TRANSFER_CHARACTERISTIC_BT2020_10BIT | BT2020_10BIT传递函数。 | 1349| TRANSFER_CHARACTERISTIC_BT2020_12BIT | BT2020_12BIT传递函数。 | 1350| TRANSFER_CHARACTERISTIC_PQ | PQ传递函数。 | 1351| TRANSFER_CHARACTERISTIC_SMPTE_ST428 | SMPTE_ST428传递函数。 | 1352| TRANSFER_CHARACTERISTIC_HLG | HLG传递函数。 | 1353 1354 1355### OH_BitrateMode 1356 1357``` 1358enum OH_BitrateMode 1359``` 1360**描述** 1361编码器的比特率模式。 1362 1363**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1364 1365**起始版本:** 10 1366 1367| 枚举值 | 描述 | 1368| -------- | -------- | 1369| BITRATE_MODE_CBR | 恒定比特率模式。 | 1370| BITRATE_MODE_VBR | 可变比特率模式,码率仅作参考。 | 1371| BITRATE_MODE_CQ | 恒定质量模式。 | 1372 1373## 变量说明 1374 1375 1376### OH_AVCODEC_MIMETYPE_SUBTITLE_SRT 1377 1378``` 1379const char* OH_AVCODEC_MIMETYPE_SUBTITLE_SRT 1380``` 1381**描述** 1382SRT字幕解封装器的MIME类型。 1383 1384**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1385 1386**起始版本:** 12 1387 1388 1389### OH_AVCODEC_MIMETYPE_SUBTITLE_WEBVTT 1390 1391``` 1392const char* OH_AVCODEC_MIMETYPE_SUBTITLE_WEBVTT 1393``` 1394**描述** 1395WEBVTT字幕解封装器的MIME类型。 1396 1397**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1398 1399**起始版本:** 12 1400 1401 1402### OH_AVCODEC_MIMETYPE_AUDIO_APE 1403 1404``` 1405const char* OH_AVCODEC_MIMETYPE_AUDIO_APE 1406``` 1407**描述** 1408APE音频解码器的MIME类型。 1409 1410**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1411 1412**起始版本:** 12 1413 1414 1415### OH_AVCODEC_MIMETYPE_AUDIO_AAC 1416 1417``` 1418const char* OH_AVCODEC_MIMETYPE_AUDIO_AAC 1419``` 1420**描述** 1421AAC音频编解码器的MIME类型。 1422 1423**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1424 1425**起始版本:** 9 1426 1427 1428### OH_AVCODEC_MIMETYPE_AUDIO_AMR_NB 1429 1430``` 1431const char* OH_AVCODEC_MIMETYPE_AUDIO_AMR_NB 1432``` 1433**描述** 1434AMR_NB音频解码器的MIME类型。 1435 1436**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1437 1438**起始版本:** 11 1439 1440 1441### OH_AVCODEC_MIMETYPE_AUDIO_AMR_WB 1442 1443``` 1444const char* OH_AVCODEC_MIMETYPE_AUDIO_AMR_WB 1445``` 1446**描述** 1447AMR_WB音频解码器的MIME类型。 1448 1449**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1450 1451**起始版本:** 11 1452 1453 1454### OH_AVCODEC_MIMETYPE_AUDIO_FLAC 1455 1456``` 1457const char* OH_AVCODEC_MIMETYPE_AUDIO_FLAC 1458``` 1459**描述** 1460FLAC音频编解码器的MIME类型。 1461 1462**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1463 1464**起始版本:** 10 1465 1466 1467### OH_AVCODEC_MIMETYPE_AUDIO_G711MU 1468 1469``` 1470const char* OH_AVCODEC_MIMETYPE_AUDIO_G711MU 1471``` 1472**描述** 1473G711MU音频编解码器的MIME类型。 1474 1475**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1476 1477**起始版本:** 11 1478 1479 1480### OH_AVCODEC_MIMETYPE_AUDIO_MPEG 1481 1482``` 1483const char* OH_AVCODEC_MIMETYPE_AUDIO_MPEG 1484``` 1485**描述** 1486MP3音频解码器的MIME类型。 1487 1488**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1489 1490**起始版本:** 10 1491 1492 1493### OH_AVCODEC_MIMETYPE_AUDIO_OPUS 1494 1495``` 1496const char* OH_AVCODEC_MIMETYPE_AUDIO_OPUS 1497``` 1498**描述** 1499OPUS音频编解码器的MIME类型。<!--Del-->(此规格暂未开放)<!--DelEnd--> 1500 1501**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1502 1503**起始版本:** 11 1504 1505 1506### OH_AVCODEC_MIMETYPE_AUDIO_VIVID 1507 1508``` 1509const char* OH_AVCODEC_MIMETYPE_AUDIO_VIVID 1510``` 1511**描述** 1512Audio Vivid音频解码器的MIME类型。<!--Del-->(目前本规格未开放)<!--DelEnd--> 1513 1514**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1515 1516**起始版本:** 11 1517 1518 1519### OH_AVCODEC_MIMETYPE_AUDIO_VORBIS 1520 1521``` 1522const char* OH_AVCODEC_MIMETYPE_AUDIO_VORBIS 1523``` 1524**描述** 1525VORBIS音频解码器的MIME类型。 1526 1527**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1528 1529**起始版本:** 10 1530 1531 1532### OH_AVCODEC_MIMETYPE_IMAGE_BMP 1533 1534``` 1535const char* OH_AVCODEC_MIMETYPE_IMAGE_BMP 1536``` 1537**描述** 1538BMP图片编码的MIME类型,仅用于封装BMP封面时使用。 1539 1540**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1541 1542**起始版本:** 10 1543 1544 1545### OH_AVCODEC_MIMETYPE_IMAGE_JPG 1546 1547``` 1548const char* OH_AVCODEC_MIMETYPE_IMAGE_JPG 1549``` 1550**描述** 1551JPG图片编码的MIME类型,仅用于封装JPG封面时使用。 1552 1553**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1554 1555**起始版本:** 10 1556 1557 1558### OH_AVCODEC_MIMETYPE_IMAGE_PNG 1559 1560``` 1561const char* OH_AVCODEC_MIMETYPE_IMAGE_PNG 1562``` 1563**描述** 1564PNG图片编码的MIME类型,仅用于封装PNG封面时使用。 1565 1566**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1567 1568**起始版本:** 10 1569 1570 1571### OH_AVCODEC_MIMETYPE_VIDEO_AVC 1572 1573``` 1574const char* OH_AVCODEC_MIMETYPE_VIDEO_AVC 1575``` 1576**描述** 1577AVC(H.264)视频编解码器的MIME类型。 1578 1579**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1580 1581**起始版本:** 9 1582 1583 1584### OH_AVCODEC_MIMETYPE_VIDEO_HEVC 1585 1586``` 1587const char* OH_AVCODEC_MIMETYPE_VIDEO_HEVC 1588``` 1589**描述** 1590HEVC(H.265)视频编解码器的MIME类型。 1591 1592**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1593 1594**起始版本:** 10 1595 1596 1597### OH_AVCODEC_MIMETYPE_VIDEO_VVC 1598 1599``` 1600const char* OH_AVCODEC_MIMETYPE_VIDEO_VVC 1601``` 1602**描述** 1603VVC(H.266)视频编解码器的MIME类型。 1604 1605**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1606 1607**起始版本:** 12 1608 1609 1610### OH_AVCODEC_MIMETYPE_VIDEO_MPEG4 1611 1612``` 1613const char* OH_AVCODEC_MIMETYPE_VIDEO_MPEG4 1614``` 1615**描述** 1616MPEG4视频编码的MIME类型,仅用于封装MPEG4视频码流使用。 1617 1618**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1619 1620**起始版本:** 10 1621 1622**废弃版本:** 11 1623 1624 1625### OH_ED_KEY_EOS 1626 1627``` 1628const char* OH_ED_KEY_EOS 1629``` 1630**描述** 1631表示surfacebuffer流结束符的键,值类型为int32_t。 1632 1633**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1634 1635**起始版本:** 9 1636 1637**废弃版本:** 14 1638 1639 1640### OH_ED_KEY_TIME_STAMP 1641 1642``` 1643const char* OH_ED_KEY_TIME_STAMP 1644``` 1645**描述** 1646表示surfacebuffer时间戳的键,值类型为int64_t。 1647 1648**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1649 1650**起始版本:** 9 1651 1652**废弃版本:** 14 1653 1654 1655### OH_FEATURE_PROPERTY_KEY_VIDEO_ENCODER_MAX_LTR_FRAME_COUNT 1656 1657``` 1658const char* OH_FEATURE_PROPERTY_KEY_VIDEO_ENCODER_MAX_LTR_FRAME_COUNT 1659``` 1660**描述** 1661在视频编码中获取长期参考帧的最大个数的键,值类型为int32_t。 1662 1663可以通过[OH_AVCapability_GetFeatureProperties](_a_v_capability.md#oh_avcapability_getfeatureproperties)接口和枚举值[VIDEO_ENCODER_LONG_TERM_REFERENCE](_a_v_capability.md#oh_avcapabilityfeature)来查询这个最大值。 1664 1665**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1666 1667**起始版本:** 12 1668 1669 1670### OH_MD_KEY_AAC_IS_ADTS 1671 1672``` 1673const char* OH_MD_KEY_AAC_IS_ADTS 1674``` 1675**描述** 1676aac格式的键,aac格式分为ADTS格式和LATM格式。值类型为int32_t,0表示LATM格式,1表示ADTS格式。aac解码器支持。 1677 1678**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1679 1680**起始版本:** 10 1681 1682 1683### OH_MD_KEY_ALBUM 1684 1685``` 1686const char* OH_MD_KEY_ALBUM 1687``` 1688**描述** 1689专辑的媒体文件的键,值类型为string。 1690 1691**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1692 1693**起始版本:** 10 1694 1695 1696### OH_MD_KEY_ALBUM_ARTIST 1697 1698``` 1699const char* OH_MD_KEY_ALBUM_ARTIST 1700``` 1701**描述** 1702专辑艺术家的键,值类型为string。 1703 1704**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1705 1706**起始版本:** 10 1707 1708 1709### OH_MD_KEY_ARTIST 1710 1711``` 1712const char* OH_MD_KEY_ARTIST 1713``` 1714**描述** 1715媒体文件艺术家的键,值类型为string。 1716 1717**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1718 1719**起始版本:** 10 1720 1721 1722### OH_MD_KEY_AUD_CHANNEL_COUNT 1723 1724``` 1725const char* OH_MD_KEY_AUD_CHANNEL_COUNT 1726``` 1727**描述** 1728音频通道计数键,值类型为int32_t。 1729 1730**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1731 1732**起始版本:** 9 1733 1734 1735### OH_MD_KEY_AUD_SAMPLE_RATE 1736 1737``` 1738const char* OH_MD_KEY_AUD_SAMPLE_RATE 1739``` 1740**描述** 1741音频采样率键,值类型为int32_t。 1742 1743**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1744 1745**起始版本:** 9 1746 1747 1748### OH_MD_KEY_AUDIO_COMPRESSION_LEVEL 1749 1750``` 1751const char* OH_MD_KEY_AUDIO_COMPRESSION_LEVEL 1752``` 1753**描述** 1754音频编解码压缩水平的键,只在音频编码使用,值类型为int32_t。 1755 1756**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1757 1758**起始版本:** 11 1759 1760 1761### OH_MD_KEY_AUDIO_OBJECT_NUMBER 1762 1763``` 1764const char* OH_MD_KEY_AUDIO_OBJECT_NUMBER 1765``` 1766**描述** 1767音频对象数目的键,值类型为int32_t,只有Audio Vivid解码使用。 1768 1769**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1770 1771**起始版本:** 11 1772 1773 1774### OH_MD_KEY_AUDIO_SAMPLE_FORMAT 1775 1776``` 1777const char* OH_MD_KEY_AUDIO_SAMPLE_FORMAT 1778``` 1779**描述** 1780音频原始格式的键,值类型为int32_t。请参见[AudioSampleFormat](../apis-audio-kit/js-apis-audio.md#audiosampleformat8)。 1781 1782**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1783 1784**起始版本:** 9 1785 1786 1787### OH_MD_KEY_AUDIO_VIVID_METADATA 1788 1789``` 1790const char* OH_MD_KEY_AUDIO_VIVID_METADATA 1791``` 1792**描述** 1793Audio Vivid元数据的键,值类型为uint8_t\*,只有Audio Vivid解码使用。 1794 1795**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1796 1797**起始版本:** 11 1798 1799 1800### OH_MD_KEY_BITRATE 1801 1802``` 1803const char* OH_MD_KEY_BITRATE 1804``` 1805**描述** 1806比特率的键,值类型为int64_t。 1807 1808**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1809 1810**起始版本:** 9 1811 1812 1813### OH_MD_KEY_BITS_PER_CODED_SAMPLE 1814 1815``` 1816const char* OH_MD_KEY_BITS_PER_CODED_SAMPLE 1817``` 1818**描述** 1819每个编码样本位数的键,值类型为int32_t,支持flac编码器,请参见[OH_BitsPerSample](#oh_bitspersample)。 1820 1821**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1822 1823**起始版本:** 10 1824 1825 1826### OH_MD_KEY_CHANNEL_LAYOUT 1827 1828``` 1829const char* OH_MD_KEY_CHANNEL_LAYOUT 1830``` 1831**描述** 1832所需编码通道布局的键。值类型为int64_t,此键仅适用于编码器。 1833请参见[OH_AudioChannelLayout](_core.md#oh_audiochannellayout-1)。 1834 1835**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1836 1837**起始版本:** 10 1838 1839 1840### OH_MD_KEY_CODEC_CONFIG 1841 1842``` 1843const char* OH_MD_KEY_CODEC_CONFIG 1844``` 1845**描述** 1846 1847编解码器特定数据的键,视频中表示传递SPS/PPS,音频中表示传递extraData,值类型为uint8_t\*。 <!--Del-->(视频编解码此功能暂未支持)<!--DelEnd--> 1848 1849**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1850 1851**起始版本:** 10 1852 1853 1854### OH_MD_KEY_CODEC_MIME 1855 1856``` 1857const char* OH_MD_KEY_CODEC_MIME 1858``` 1859**描述** 1860编解码器[MIME](#媒体编解码格式)类型的键,值类型为string。 1861 1862**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1863 1864**起始版本:** 9 1865 1866 1867### OH_MD_KEY_COLOR_PRIMARIES 1868 1869``` 1870const char* OH_MD_KEY_COLOR_PRIMARIES 1871``` 1872**描述** 1873视频色域的键,值类型为int32_t,请参见[OH_ColorPrimary](#oh_colorprimary),遵循H.273标准Table2。 1874 1875**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1876 1877**起始版本:** 10 1878 1879 1880### OH_MD_KEY_COMMENT 1881 1882``` 1883const char* OH_MD_KEY_COMMENT 1884``` 1885**描述** 1886媒体文件注释的键,值类型为string。 1887 1888**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1889 1890**起始版本:** 10 1891 1892 1893### OH_MD_KEY_COMPLIANCE_LEVEL 1894 1895``` 1896const char* OH_MD_KEY_COMPLIANCE_LEVEL 1897``` 1898**描述** 1899flac兼容性等级的键,值类型为int32_t,仅在音频编码使用。 1900 1901**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1902 1903**起始版本:** 10 1904 1905 1906### OH_MD_KEY_COPYRIGHT 1907 1908``` 1909const char* OH_MD_KEY_COPYRIGHT 1910``` 1911**描述** 1912媒体文件版权的键,值类型为string。 1913 1914**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1915 1916**起始版本:** 10 1917 1918 1919### OH_MD_KEY_DATE 1920 1921``` 1922const char* OH_MD_KEY_DATE 1923``` 1924**描述** 1925媒体文件日期的键,值类型为string,例如2024年。 1926 1927**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1928 1929**起始版本:** 10 1930 1931 1932### OH_MD_KEY_DESCRIPTION 1933 1934``` 1935const char* OH_MD_KEY_DESCRIPTION 1936``` 1937**描述** 1938媒体文件描述的键,值类型为string。 1939 1940**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1941 1942**起始版本:** 10 1943 1944 1945### OH_MD_KEY_DURATION 1946 1947``` 1948const char* OH_MD_KEY_DURATION 1949``` 1950**描述** 1951媒体文件持续时间的键,单位为微秒,值类型为int64_t。 1952 1953**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1954 1955**起始版本:** 9 1956 1957 1958### OH_MD_KEY_FRAME_RATE 1959 1960``` 1961const char* OH_MD_KEY_FRAME_RATE 1962``` 1963**描述** 1964视频帧率的键,值类型为double。该值必须大于 0。 1965 1966**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1967 1968**起始版本:** 9 1969 1970 1971### OH_MD_KEY_GENRE 1972 1973``` 1974const char* OH_MD_KEY_GENRE 1975``` 1976**描述** 1977媒体文件流派的键,值类型为string。 1978 1979**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1980 1981**起始版本:** 10 1982 1983 1984### OH_MD_KEY_HEIGHT 1985 1986``` 1987const char* OH_MD_KEY_HEIGHT 1988``` 1989**描述** 1990视频高度键,值类型为int32_t。 1991 1992使用指导请参见:[视频编码](../../media/avcodec/video-encoding.md)中的“Surface模式的步骤-6或Buffer模式步骤-4”。 1993 1994**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1995 1996**起始版本:** 9 1997 1998 1999### OH_MD_KEY_I_FRAME_INTERVAL 2000 2001``` 2002const char* OH_MD_KEY_I_FRAME_INTERVAL 2003``` 2004 2005**描述** 2006关键帧间隔的键,值类型为int32_t,单位为毫秒。该键是可选的且只用于视频编码。 2007 2008负值表示只有第一帧是关键帧,零表示所有帧都是关键帧。 2009 2010**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2011 2012**起始版本:** 9 2013 2014 2015### OH_MD_KEY_IDENTIFICATION_HEADER 2016 2017``` 2018const char* OH_MD_KEY_IDENTIFICATION_HEADER 2019``` 2020**描述** 2021vorbis标识头的键,值类型为uint8_t\*,仅vorbis解码器支持。 2022 2023**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2024 2025**起始版本:** 10 2026 2027 2028### OH_MD_KEY_LANGUAGE 2029 2030``` 2031const char* OH_MD_KEY_LANGUAGE 2032``` 2033**描述** 2034媒体文件语言的键,值类型为string。 2035 2036**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2037 2038**起始版本:** 10 2039 2040 2041### OH_MD_KEY_LYRICS 2042 2043``` 2044const char* OH_MD_KEY_LYRICS 2045``` 2046**描述** 2047媒体文件歌词的键,值类型为string。 2048 2049**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2050 2051**起始版本:** 10 2052 2053 2054### OH_MD_KEY_MATRIX_COEFFICIENTS 2055 2056``` 2057const char* OH_MD_KEY_MATRIX_COEFFICIENTS 2058``` 2059**描述** 2060视频矩阵系数的键,值类型为int32_t,请参见[OH_MatrixCoefficient](#oh_matrixcoefficient),遵循H.273标准Table4。 2061 2062**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2063 2064**起始版本:** 10 2065 2066 2067### OH_MD_KEY_MAX_INPUT_SIZE 2068 2069``` 2070const char* OH_MD_KEY_MAX_INPUT_SIZE 2071``` 2072**描述** 2073设置解码输入码流大小最大值的键,值类型为int32_t。 2074 2075**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2076 2077**起始版本:** 9 2078 2079 2080### OH_MD_KEY_PIXEL_FORMAT 2081 2082``` 2083const char* OH_MD_KEY_PIXEL_FORMAT 2084``` 2085**描述** 2086视频像素格式的键,值类型为int32_t,请参见[OH_AVPixelFormat](_core.md#oh_avpixelformat)。 2087 2088**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2089 2090**起始版本:** 9 2091 2092 2093### OH_MD_KEY_PROFILE 2094 2095``` 2096const char* OH_MD_KEY_PROFILE 2097``` 2098**描述** 2099编码档次,值类型为int32_t,请参见[OH_AVCProfile](#oh_avcprofile),[OH_HEVCProfile](#oh_hevcprofile),[OH_AACProfile](#oh_aacprofile)。 2100 2101**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2102 2103**起始版本:** 9 2104 2105 2106### OH_MD_KEY_QUALITY 2107 2108``` 2109const char* OH_MD_KEY_QUALITY 2110``` 2111**描述** 2112所需编码质量的键。值类型为int32_t,在H264、H265编码场景值范围可以根据能力查询接口OH_AVCapability_GetEncoderQualityRange()获取,此键仅适用于配置在恒定质量模式下的编码器。 2113 2114**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2115 2116**起始版本:** 10 2117 2118 2119### OH_MD_KEY_RANGE_FLAG 2120 2121``` 2122const char* OH_MD_KEY_RANGE_FLAG 2123``` 2124**描述** 2125视频YUV值域标志的键,值类型为int32_t,1表示full range,0表示limited range。 2126 2127**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2128 2129**起始版本:** 10 2130 2131 2132### OH_MD_KEY_REQUEST_I_FRAME 2133 2134``` 2135const char* OH_MD_KEY_REQUEST_I_FRAME 2136``` 2137**描述** 2138请求立即编码I帧的键。值类型为int32_t。在调用OH_VideoEncoder_SetParameter()阶段使用,或随帧立即生效。 2139 2140**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2141 2142**起始版本:** 10 2143 2144 2145### OH_MD_KEY_ROTATION 2146 2147``` 2148const char* OH_MD_KEY_ROTATION 2149``` 2150**描述** 2151surface旋转角度的键。值类型为int32_t:应为{0, 90, 180, 270},默认值为0。该键只在视频解码Surface模式下使用。 2152 2153**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2154 2155**起始版本:** 9 2156 2157 2158### OH_MD_KEY_SBR 2159 2160``` 2161const char* OH_MD_KEY_SBR 2162``` 2163**描述** 2164aac sbr模式的键,值类型为int32_t,aac编码器支持。 2165 2166**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2167 2168**起始版本:** 10 2169 2170 2171### OH_MD_KEY_SCALING_MODE 2172 2173``` 2174const char* OH_MD_KEY_SCALING_MODE 2175``` 2176**描述** 2177视频缩放模式,值类型为int32_t,请参见[OH_ScalingMode](#oh_scalingmode)。建议直接调用[OH_NativeWindow_NativeWindowSetScalingModeV2](../apis-arkgraphics2d/_native_window.md)接口进行设置。该键是可选的且只用于视频解码Surface模式。 2178 2179**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2180 2181**起始版本:** 10 2182 2183**废弃版本:** 14 2184 2185**替代接口:**[OH_NativeWindow_NativeWindowSetScalingModeV2](../apis-arkgraphics2d/_native_window.md#oh_nativewindow_nativewindowsetscalingmodev2) 2186 2187 2188### OH_MD_KEY_SETUP_HEADER 2189 2190``` 2191const char* OH_MD_KEY_SETUP_HEADER 2192``` 2193**描述** 2194vorbis设置头的键,值类型为uint8_t\*,仅vorbis解码器支持。 2195 2196**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2197 2198**起始版本:** 10 2199 2200 2201### OH_MD_KEY_TITLE 2202 2203``` 2204const char* OH_MD_KEY_TITLE 2205``` 2206**描述** 2207媒体文件标题的键,值类型为string。 2208 2209**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2210 2211**起始版本:** 10 2212 2213 2214### OH_MD_KEY_TRACK_COUNT 2215 2216``` 2217const char* OH_MD_KEY_TRACK_COUNT 2218``` 2219**描述** 2220媒体文件轨道数量的键,值类型为int32_t。 2221 2222**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2223 2224**起始版本:** 10 2225 2226 2227### OH_MD_KEY_TRACK_TYPE 2228 2229``` 2230const char* OH_MD_KEY_TRACK_TYPE 2231``` 2232**描述** 2233 2234轨道媒体类型的键,值类型为int32_t,请参见[OH_MediaType](#oh_mediatype-1)。 2235 2236**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2237 2238**起始版本:** 9 2239 2240 2241### OH_MD_KEY_TRANSFER_CHARACTERISTICS 2242 2243``` 2244const char* OH_MD_KEY_TRANSFER_CHARACTERISTICS 2245``` 2246**描述** 2247视频传递函数的键,值类型为int32_t,请参见[OH_TransferCharacteristic](#oh_transfercharacteristic),遵循H.273标准Table3。 2248 2249**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2250 2251**起始版本:** 10 2252 2253### OH_MD_KEY_VIDEO_CROP_BOTTOM 2254 2255``` 2256const char* OH_MD_KEY_VIDEO_CROP_BOTTOM 2257``` 2258**描述** 2259描述裁剪矩形底部坐标(y)值的键,值类型为int32_t。 包含裁剪框底部的行,行索引从0开始。该键只用于视频解码。 2260 2261**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2262 2263**起始版本:** 12 2264 2265 2266### OH_MD_KEY_VIDEO_CROP_LEFT 2267 2268``` 2269const char* OH_MD_KEY_VIDEO_CROP_LEFT 2270``` 2271**描述** 2272描述裁剪矩形左坐标(x)值的键,值类型为int32_t。包含裁剪框最左边的列,列索引从0开始。该键只用于视频解码。 2273 2274**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2275 2276**起始版本:** 12 2277 2278 2279### OH_MD_KEY_VIDEO_CROP_RIGHT 2280 2281``` 2282const char* OH_MD_KEY_VIDEO_CROP_RIGHT 2283``` 2284**描述** 2285描述裁剪矩形右坐标(x)值的键,值类型为int32_t。包含裁剪框最右边的列,列索引从0开始。该键只用于视频解码。 2286 2287**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2288 2289**起始版本:** 12 2290 2291 2292### OH_MD_KEY_VIDEO_CROP_TOP 2293 2294``` 2295const char* OH_MD_KEY_VIDEO_CROP_TOP 2296``` 2297**描述** 2298描述裁剪矩形顶部坐标(y)值的键,值类型为int32_t。 包含裁剪框顶部的行,行索引从0开始。该键只用于视频解码。 2299 2300**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2301 2302**起始版本:** 12 2303 2304 2305### OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY 2306 2307``` 2308const char* OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY 2309``` 2310**描述** 2311使能低时延视频编解码的键,值类型为int32_t,1表示使能,0表示其它情况。 2312 2313如果使能,则视频编码器或视频解码器持有的输入和输出数据不会超过编解码器标准所要求的数量。 2314 2315该键是可选的,在configure阶段使用。 2316 2317**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2318 2319**起始版本:** 12 2320 2321 2322### OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE 2323 2324``` 2325const char* OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE 2326``` 2327**描述** 2328视频编码码率模式,值类型为int32_t,请参见[OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode)。 2329 2330**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2331 2332**起始版本:** 9 2333 2334### OH_MD_KEY_VIDEO_ENCODER_ENABLE_TEMPORAL_SCALABILITY 2335 2336``` 2337const char* OH_MD_KEY_VIDEO_ENCODER_ENABLE_TEMPORAL_SCALABILITY 2338``` 2339**描述** 2340使能分层编码的键,值类型为int32_t,1表示使能,0表示其它情况。 2341 2342使用前可以通过[OH_AVCapability_IsFeatureSupported](_a_v_capability.md#oh_avcapability_isfeaturesupported)接口和枚举值 2343[VIDEO_ENCODER_TEMPORAL_SCALABILITY](_a_v_capability.md#oh_avcapabilityfeature)来查询当前视频编码器是否支持分层编码。 2344详情请参见:[时域可分层视频编码](../../media/avcodec/video-encoding-temporal-scalability.md#接口介绍)。 2345 2346该键是可选的且只用于视频编码,在configure阶段使用。 2347 2348**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2349 2350**起始版本:** 12 2351 2352 2353### OH_MD_KEY_VIDEO_ENCODER_LTR_FRAME_COUNT 2354 2355``` 2356const char* OH_MD_KEY_VIDEO_ENCODER_LTR_FRAME_COUNT 2357``` 2358**描述** 2359描述长期参考帧个数的键,值类型为int32_t,必须在支持的值范围内使用。 2360 2361使用前可以通过[OH_AVCapability_GetFeatureProperties](_a_v_capability.md#oh_avcapability_getfeatureproperties)接口和枚举值[VIDEO_ENCODER_LONG_TERM_REFERENCE](_a_v_capability.md#oh_avcapabilityfeature)来查询支持的LTR数目。 2362 2363该键是可选的且只用于视频编码,在configure阶段使用。 2364 2365详情请参见:[时域可分层视频编码](../../media/avcodec/video-encoding-temporal-scalability.md#接口介绍-1)。 2366 2367**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2368 2369**起始版本:** 12 2370 2371 2372### OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_MARK_LTR 2373 2374``` 2375const char* OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_MARK_LTR 2376``` 2377**描述** 2378标记当前帧为长期参考帧的键,值类型为int32_t,1表示被标记,0表示其它情况。 2379 2380只在长期参考帧个数被配置后生效。 2381 2382该键是可选的且只用于视频编码输入轮转中,配置后立即生效。 2383 2384详情请参见:[时域可分层视频编码](../../media/avcodec/video-encoding-temporal-scalability.md#接口介绍-1)。 2385 2386**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2387 2388**起始版本:** 12 2389 2390 2391### OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_USE_LTR 2392 2393``` 2394const char* OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_USE_LTR 2395``` 2396**描述** 2397描述当前帧参考的长期参考帧帧的POC号的键,值类型为int32_t。 2398 2399该键是可选的且只用于视频编码输入轮转中,配置后立即生效。 2400 2401详情请参见:[时域可分层视频编码](../../media/avcodec/video-encoding-temporal-scalability.md#接口介绍-1)。 2402 2403**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2404 2405**起始版本:** 12 2406 2407 2408### OH_MD_KEY_VIDEO_ENCODER_QP_MAX 2409 2410``` 2411const char* OH_MD_KEY_VIDEO_ENCODER_QP_MAX 2412``` 2413**描述** 2414描述视频编码器允许的最大量化参数的键,值类型为int32_t。 2415 2416在configure/setparameter阶段使用,或随帧立即生效。 2417 2418**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2419 2420**起始版本:** 12 2421 2422 2423### OH_MD_KEY_VIDEO_ENCODER_QP_MIN 2424 2425``` 2426const char* OH_MD_KEY_VIDEO_ENCODER_QP_MIN 2427``` 2428**描述** 2429描述视频编码器允许的最小量化参数的键,值类型为int32_t。 2430 2431在configure/setparameter阶段使用,或随帧立即生效。 2432 2433**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2434 2435**起始版本:** 12 2436 2437 2438### OH_MD_KEY_VIDEO_ENCODER_QP_AVERAGE 2439 2440``` 2441const char* OH_MD_KEY_VIDEO_ENCODER_QP_AVERAGE 2442``` 2443**描述** 2444描述视频帧平均量化参数的键,值类型为int32_t。 2445 2446表示当前帧编码块的平均qp值,随[OH_AVBuffer](_core.md#oh_avbuffer)输出。 2447 2448**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2449 2450**起始版本:** 12 2451 2452 2453### OH_MD_KEY_VIDEO_ENCODER_MSE 2454 2455``` 2456const char* OH_MD_KEY_VIDEO_ENCODER_MSE 2457``` 2458**描述** 2459描述视频帧平方误差的键,值类型为double。 2460 2461表示当前帧编码块的MSE统计值,随[OH_AVBuffer](_core.md#oh_avbuffer)输出。 2462 2463**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2464 2465**起始版本:** 12 2466 2467 2468### OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_REFERENCE_MODE 2469 2470``` 2471const char* OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_REFERENCE_MODE 2472``` 2473**描述** 2474描述图片组内参考模式的键,值类型为int32_t,请参见[OH_TemporalGopReferenceMode](#oh_temporalgopreferencemode),只在使能分层编码时生效。 2475 2476该键是可选的且只用于视频编码,在configure阶段使用。 2477 2478**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2479 2480**起始版本:** 12 2481 2482 2483### OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_SIZE 2484 2485``` 2486const char* OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_SIZE 2487``` 2488**描述** 2489描述图片组基本层图片的间隔大小的键,值类型为int32_t,只在使能分层编码时生效。 2490 2491该键是可选的且只用于视频编码,在configure阶段使用。 2492 2493**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2494 2495**起始版本:** 12 2496 2497 2498### OH_MD_KEY_VIDEO_IS_HDR_VIVID 2499 2500``` 2501const char* OH_MD_KEY_VIDEO_IS_HDR_VIVID 2502``` 2503**描述** 2504媒体文件中的视频轨是否为HDR Vivid的键,支持封装和解封装,值类型为int32_t。 2505 2506**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2507 2508**起始版本:** 11 2509 2510 2511### OH_MD_KEY_DECODING_TIMESTAMP 2512 2513``` 2514const char* OH_MD_KEY_DECODING_TIMESTAMP 2515``` 2516**描述** 2517AVBuffer中携带的音视频或字幕的sample对应的解码时间戳的键,以微秒为单位,值类型为int64_t。 2518 2519**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2520 2521**起始版本:** 12 2522 2523 2524### OH_MD_KEY_BUFFER_DURATION 2525 2526``` 2527const char* OH_MD_KEY_BUFFER_DURATION 2528``` 2529**描述** 2530AVBuffer中携带的音视频或字幕的sample对应的持续时间的键,以微秒为单位,值类型为int64_t。 2531 2532**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2533 2534**起始版本:** 12 2535 2536 2537### OH_MD_KEY_START_TIME 2538 2539``` 2540const char* OH_MD_KEY_START_TIME 2541``` 2542**描述** 2543媒体文件中第一帧起始位置开始时间的键,以微秒为单位,值类型为int64_t。 2544 2545**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2546 2547**起始版本:** 12 2548 2549### OH_MD_KEY_TRACK_START_TIME 2550 2551``` 2552const char* OH_MD_KEY_TRACK_START_TIME 2553``` 2554**描述** 2555轨道开始时间的键,以微秒为单位,值类型为int64_t。 2556 2557**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2558 2559**起始版本:** 12 2560 2561 2562### OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE 2563 2564``` 2565const char* OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE 2566``` 2567**描述** 2568设置视频解码器输出色彩空间的键,值类型为int32_t。 2569 2570支持的值为OH_COLORSPACE_BT709_LIMIT,请参见[OH_NativeBuffer_ColorSpace](../../reference/apis-arkgraphics2d/_o_h___native_buffer.md#oh_nativebuffer_colorspace-1)。 2571 2572在视频解码调用[OH_VideoDecoder_Configure](_video_decoder.md#oh_videodecoder_configure)接口时使用。 2573 2574如果支持色彩空间转换功能并配置了此键,则视频解码器会自动将HDR Vivid视频转码为色彩空间BT709的SDR视频。 2575 2576如果不支持色彩空间转换功能,则接口[OH_VideoDecoder_Configure](_video_decoder.md#oh_videodecoder_configure)返回错误码[AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION](_core.md#oh_averrcode-1)。 2577 2578如果输入视频不是HDR Vivid视频,则会通过回调函数[OH_AVCodecOnError](#oh_avcodeconerror)报告错误码[AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION](_core.md#oh_averrcode-1)。 2579 2580**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2581 2582**起始版本:** 12 2583 2584 2585### OH_MD_KEY_VIDEO_PER_FRAME_IS_LTR 2586 2587``` 2588const char* OH_MD_KEY_VIDEO_PER_FRAME_IS_LTR 2589``` 2590**描述** 2591当前OH_AVBuffer中输出的码流对应的帧是否为长期参考帧的键,值类型为int32_t,1表示是LTR,0表示其它情况。 2592 2593该键是可选的且只用于视频编码输出轮转中。 2594 2595表示帧的属性。 2596 2597**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2598 2599**起始版本:** 12 2600 2601 2602### OH_MD_KEY_VIDEO_PER_FRAME_POC 2603 2604``` 2605const char* OH_MD_KEY_VIDEO_PER_FRAME_POC 2606``` 2607**描述** 2608描述帧的POC号的键,值类型为int32_t。 2609 2610该键是可选的且只用于视频编码输出轮转中。 2611 2612表示帧的属性。 2613 2614**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2615 2616**起始版本:** 12 2617 2618 2619### OH_MD_KEY_VIDEO_PIC_HEIGHT 2620 2621``` 2622const char* OH_MD_KEY_VIDEO_PIC_HEIGHT 2623``` 2624**描述** 2625描述视频帧真实高度的键,值类型为int32_t。 2626 2627视频解码时调用[OH_VideoDecoder_GetOutputDescription](_video_decoder.md#oh_videodecoder_getoutputdescription)接口,可以从其返回的OH_AVFormat中解析出高度值。 2628 2629当解码输出码流<!--RP2--><!--RP2End-->变化时,也可从[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)返回的OH_AVForamt实例中解析出高度值。 2630 2631**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2632 2633**起始版本:** 12 2634 2635 2636### OH_MD_KEY_VIDEO_PIC_WIDTH 2637 2638``` 2639const char* OH_MD_KEY_VIDEO_PIC_WIDTH 2640``` 2641**描述** 2642描述视频帧真实宽度的键,值类型为int32_t。 2643 2644视频解码时调用[OH_VideoDecoder_GetOutputDescription](_video_decoder.md#oh_videodecoder_getoutputdescription)接口,可以从其返回的OH_AVFormat中解析出宽度值。 2645 2646当解码输出码流<!--RP2--><!--RP2End-->变化时,也可从[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)返回的OH_AVForamt实例中解析出宽度值。 2647 2648**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2649 2650**起始版本:** 12 2651 2652 2653### OH_MD_KEY_VIDEO_SLICE_HEIGHT 2654 2655``` 2656const char* OH_MD_KEY_VIDEO_SLICE_HEIGHT 2657``` 2658**描述** 2659描述视频帧高跨距的键,值类型为int32_t。 2660 2661高跨距是指从Y平面顶部到U平面顶部必须偏移的行数。本质上,U平面的偏移量是sliceHeight \* stride。 2662 2663U/V平面的高度可以根据颜色格式计算,尽管它通常是未定义的,并且取决于设备和版本。 2664 2665使用指导请参见:[视频编码](../../media/avcodec/video-encoding.md#)中的“Buffer模式步骤-3”。 2666 2667**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2668 2669**起始版本:** 12 2670 2671 2672### OH_MD_KEY_VIDEO_STRIDE 2673 2674``` 2675const char* OH_MD_KEY_VIDEO_STRIDE 2676``` 2677**描述** 2678描述视频帧宽跨距的键,值类型为int32_t。 2679 2680宽跨距是像素的索引与正下方像素的索引之间的差。 2681 2682对于YUV420格式,宽跨距对应于Y平面,U和V平面的跨距可以根据颜色格式计算,但通常未定义,并且取决于设备和版本。 2683 2684使用指导请参见:[视频编码](../../media/avcodec/video-encoding.md#)中的“Buffer模式步骤-3”。 2685 2686**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2687 2688**起始版本:** 12 2689 2690 2691### OH_MD_KEY_WIDTH 2692 2693``` 2694const char* OH_MD_KEY_WIDTH 2695``` 2696**描述** 2697视频宽度的键,值类型为int32_t。 2698 2699使用指导请参见:[视频编码](../../media/avcodec/video-encoding.md)中的“Surface模式的步骤-6或Buffer模式步骤-4”。 2700 2701**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2702 2703**起始版本:** 9 2704 2705 2706### OH_MD_MAX_INPUT_BUFFER_COUNT 2707 2708``` 2709const char* OH_MD_MAX_INPUT_BUFFER_COUNT 2710``` 2711**描述** 2712最大输入缓冲区个数的键,值类型为int32_t。 2713 2714**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2715 2716**起始版本:** 10 2717 2718 2719### OH_MD_MAX_OUTPUT_BUFFER_COUNT 2720 2721``` 2722const char* OH_MD_MAX_OUTPUT_BUFFER_COUNT 2723``` 2724**描述** 2725最大输出缓冲区个数的键,值类型int32_t。 2726 2727**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2728 2729**起始版本:** 10 2730 2731 2732### OH_MD_KEY_VIDEO_SAR 2733 2734``` 2735const char* OH_MD_KEY_VIDEO_SAR 2736``` 2737**描述** 2738样本长宽比的键,值类型为double。 2739 2740**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2741 2742**起始版本:** 12