1# CodecBase 2 3<!--Kit: AVCodec Kit--> 4<!--Subsystem: Multimedia--> 5<!--Owner: @mr-chencxy--> 6<!--Designer: @dpy2650---> 7<!--Tester: @baotianhao--> 8<!--Adviser: @zengyawen--> 9 10## 概述 11 12CodecBase模块提供用于音视频封装、解封装、编解码基础功能的变量、属性以及函数。 13 14**系统能力:** SystemCapability.Multimedia.Media.CodecBase 15 16**起始版本:** 9 17 18### 媒体编解码格式 19 20用于描述媒体编解码格式的名字如下表。类型是常量字符串。 21 22| 名称 | 描述 | 23| ------------------------------------------------------------ | ------------------------------------------------------ | 24| [OH_AVCODEC_MIMETYPE_AUDIO_AAC](#oh_avcodec_mimetype_audio_aac) | AAC音频编解码器的MIME类型。 | 25| [OH_AVCODEC_MIMETYPE_AUDIO_FLAC](#oh_avcodec_mimetype_audio_flac) | FLAC音频编解码器的MIME类型。 | 26| [OH_AVCODEC_MIMETYPE_AUDIO_OPUS](#oh_avcodec_mimetype_audio_opus) | OPUS音频编解码器的MIME类型。<!--Del-->(此规格暂未开放)<!--DelEnd--> | 27| [OH_AVCODEC_MIMETYPE_AUDIO_G711MU](#oh_avcodec_mimetype_audio_g711mu) | G711MU音频编解码器的MIME类型。 | 28| [OH_AVCODEC_MIMETYPE_AUDIO_G711A](#oh_avcodec_mimetype_audio_g711a) | G711A音频解码器的MIME类型。 | 29| [OH_AVCODEC_MIMETYPE_AUDIO_RAW](#oh_avcodec_mimetype_audio_raw) | RAW音频码流的MIME类型。 | 30| [OH_AVCODEC_MIMETYPE_AUDIO_VORBIS](#oh_avcodec_mimetype_audio_vorbis) | VORBIS音频解码器的MIME类型。 | 31| [OH_AVCODEC_MIMETYPE_AUDIO_MPEG](#oh_avcodec_mimetype_audio_mpeg) | MP3音频编解码器的MIME类型。 | 32| [OH_AVCODEC_MIMETYPE_AUDIO_VIVID](#oh_avcodec_mimetype_audio_vivid) | Audio Vivid音频解码器的MIME类型。<!--Del-->(此规格暂未开放)<!--DelEnd--> | 33| [OH_AVCODEC_MIMETYPE_AUDIO_AMR_NB](#oh_avcodec_mimetype_audio_amr_nb) | AMR_NB音频<!--RP4--><!--RP4End-->解码器的MIME类型。 | 34| [OH_AVCODEC_MIMETYPE_AUDIO_AMR_WB](#oh_avcodec_mimetype_audio_amr_wb) | AMR_WB音频<!--RP4--><!--RP4End-->解码器的MIME类型。 | 35| [OH_AVCODEC_MIMETYPE_AUDIO_APE](#oh_avcodec_mimetype_audio_ape) | APE音频解码器的MIME类型。 | 36| [OH_AVCODEC_MIMETYPE_VIDEO_VVC](#oh_avcodec_mimetype_video_vvc) | VVC(H.266)视频编解码器的MIME类型。 | 37| [OH_AVCODEC_MIMETYPE_VIDEO_HEVC](#oh_avcodec_mimetype_video_hevc) | HEVC(H.265)视频编解码器的MIME类型。 | 38| [OH_AVCODEC_MIMETYPE_VIDEO_AVC](#oh_avcodec_mimetype_video_avc) | AVC(H.264)视频编解码器的MIME类型。 | 39| [OH_AVCODEC_MIMETYPE_VIDEO_H263](#oh_avcodec_mimetype_video_h263) | H.263视频编解码器的MIME类型。 | 40| [OH_AVCODEC_MIMETYPE_VIDEO_MPEG4](#oh_avcodec_mimetype_video_mpeg4) | MPEG4视频编码的MIME类型,仅用于封装MPEG4视频码流使用。(API11废弃) | 41| [OH_AVCODEC_MIMETYPE_VIDEO_MPEG4_PART2](#oh_avcodec_mimetype_video_mpeg4_part2) | 视频MPEG4 Part2编解码器的MIME类型。 | 42| [OH_AVCODEC_MIMETYPE_VIDEO_MPEG2](#oh_avcodec_mimetype_video_mpeg2) | 视频MPEG2编解码器的MIME类型。 | 43| [OH_AVCODEC_MIMETYPE_IMAGE_JPG](#oh_avcodec_mimetype_image_jpg) | JPG图片编码的MIME类型,仅用于封装JPG封面时使用。 | 44| [OH_AVCODEC_MIMETYPE_IMAGE_PNG](#oh_avcodec_mimetype_image_png) | PNG图片编码的MIME类型,仅用于封装PNG封面时使用。 | 45| [OH_AVCODEC_MIMETYPE_IMAGE_BMP](#oh_avcodec_mimetype_image_bmp) | BMP图片编码的MIME类型,仅用于封装BMP封面时使用。 | 46| [OH_AVCODEC_MIMETYPE_SUBTITLE_WEBVTT](#oh_avcodec_mimetype_subtitle_webvtt) |WEBVTT字幕解封装器的MIME类型。 | 47| [OH_AVCODEC_MIMETYPE_SUBTITLE_SRT](#oh_avcodec_mimetype_subtitle_srt) |SRT字幕解封装器的MIME类型。 | 48 49 50### 媒体数据键值对 51 52用于描述媒体数据的键值对查找表如下。键的类型是常量字符串,值的类型可以是int32_t/int64_t/float/double/char */uint8_t *。 53 54使用以下key的主要接口是[OH_AVFormat](_core.md#oh_avformat),通过以下key可以进行参数配置或查询。 55 56能力查询专有的键值对: 57 58| 名称 | 描述 | 59| ------------------------------------------------------------ | ------------------------------------------------------------ | 60| [OH_FEATURE_PROPERTY_KEY_VIDEO_ENCODER_MAX_LTR_FRAME_COUNT](#oh_feature_property_key_video_encoder_max_ltr_frame_count) | 在视频编码中获取长期参考帧的最大个数的键,值类型为int32_t。 | 61 62音视频公共的键值对: 63 64| 名称 | 描述 | 65| ------------------------------------------------------------ | ------------------------------------------------------------ | 66| [OH_MD_KEY_CODEC_CONFIG](#oh_md_key_codec_config) | 编解码器特定数据的键,视频中表示传递SPS/PPS,音频中表示传递extraData,值类型为uint8_t\*。该键是可选的。 <!--Del-->(视频编解码此功能暂未支持)<!--DelEnd--> | 67| [OH_MD_MAX_INPUT_BUFFER_COUNT](#oh_md_max_input_buffer_count) | 最大输入缓冲区个数的键,值类型为int32_t。该键是可选的。 | 68| [OH_MD_MAX_OUTPUT_BUFFER_COUNT](#oh_md_max_output_buffer_count) | 最大输出缓冲区个数的键,值类型int32_t。该键是可选的。 | 69| [OH_MD_KEY_BITRATE](#oh_md_key_bitrate) | 比特率的键,值类型为int64_t。该键用于音视频编码场景。在视频编码场景下该键是可选的。 | 70| [OH_MD_KEY_PROFILE](#oh_md_key_profile) | 编码档次,值类型为int32_t,请参见[OH_AVCProfile](#oh_avcprofile),[OH_HEVCProfile](#oh_hevcprofile),[OH_AACProfile](#oh_aacprofile)。该键是可选的。 | 71| [OH_MD_KEY_MAX_INPUT_SIZE](#oh_md_key_max_input_size) | 设置解码输入码流大小最大值的键,值类型为int32_t。该键是可选的。 | 72| [OH_MD_KEY_ENABLE_SYNC_MODE](#oh_md_key_enable_sync_mode) | 使能音视频编解码同步模式的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。该键是可选,在Configure阶段使用。 | 73 74 75视频专有的键值对: 76 77| 名称 | 描述 | 78| ------------------------------------------------------------ | ------------------------------------------------------------ | 79| [OH_ED_KEY_TIME_STAMP](#oh_ed_key_time_stamp) | 表示surfacebuffer时间戳的键,值类型为int64_t。该键是可选的。(API14废弃) | 80| [OH_ED_KEY_EOS](#oh_ed_key_eos) | 表示surfacebuffer流结束符的键,值类型为int32_t。该键是可选的。(API14废弃)| 81| [OH_MD_KEY_WIDTH](#oh_md_key_width) | 视频宽度的键,值类型为int32_t。 | 82| [OH_MD_KEY_HEIGHT](#oh_md_key_height) | 视频高度键,值类型为int32_t。 | 83| [OH_MD_KEY_PIXEL_FORMAT](#oh_md_key_pixel_format) | 视频像素格式的键,值类型为int32_t,请参见[OH_AVPixelFormat](_core.md#oh_avpixelformat)。 | 84| [OH_MD_KEY_FRAME_RATE](#oh_md_key_frame_rate) | 视频帧率的键,值类型为double。该键是可选的。 | 85| [OH_MD_KEY_RANGE_FLAG](#oh_md_key_range_flag) | 视频YUV值域标志的键,值类型为int32_t,1表示full range,0表示limited range。该键是可选的。 | 86| [OH_MD_KEY_COLOR_PRIMARIES](#oh_md_key_color_primaries) | 视频色域的键,值类型为int32_t,请参见[OH_ColorPrimary](#oh_colorprimary),遵循H.273标准Table2。该键是可选的。 | 87| [OH_MD_KEY_TRANSFER_CHARACTERISTICS](#oh_md_key_transfer_characteristics) | 视频传递函数的键,值类型为int32_t,请参见[OH_TransferCharacteristic](#oh_transfercharacteristic),遵循H.273标准Table3。该键是可选的。 | 88| [OH_MD_KEY_MATRIX_COEFFICIENTS](#oh_md_key_matrix_coefficients) | 视频矩阵系数的键,值类型为int32_t,请参见[OH_MatrixCoefficient](#oh_matrixcoefficient),遵循H.273标准Table4。该键是可选的。 | 89| [OH_MD_KEY_VIDEO_STRIDE](#oh_md_key_video_stride) | 描述视频帧宽跨距的键,值类型为int32_t。该键是可选的。 | 90| [OH_MD_KEY_VIDEO_SLICE_HEIGHT](#oh_md_key_video_slice_height) | 描述视频帧高跨距的键,值类型为int32_t。该键是可选的。 | 91| [OH_MD_KEY_VIDEO_PIC_WIDTH](#oh_md_key_video_pic_width) | 描述视频帧真实宽度的键,值类型为int32_t。该键是可选的。 | 92| [OH_MD_KEY_VIDEO_PIC_HEIGHT](#oh_md_key_video_pic_height) | 描述视频帧真实高度的键,值类型为int32_t。该键是可选的。 | 93| [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](#oh_md_key_video_encode_bitrate_mode) | 视频编码码率模式,值类型为int32_t,请参见[OH_BitrateMode](#oh_bitratemode-1)。该键是可选的。 | 94| [OH_MD_KEY_QUALITY](#oh_md_key_quality) | 所需编码质量的键。值类型为int32_t,此键仅适用于配置在恒定质量模式下的编码器。该键是可选的。 | 95| [OH_MD_KEY_REQUEST_I_FRAME](#oh_md_key_request_i_frame) | 请求立即编码I帧的键。值类型为int32_t。该键是可选的。 | 96| [OH_MD_KEY_I_FRAME_INTERVAL](#oh_md_key_i_frame_interval) | 关键帧间隔的键,值类型为int32_t,单位为毫秒。该键是可选的且只用于视频编码。 | 97| [OH_MD_KEY_VIDEO_ENCODER_ENABLE_TEMPORAL_SCALABILITY](#oh_md_key_video_encoder_enable_temporal_scalability) | 使能分层编码的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。该键是可选的且只用于视频编码,在Configure阶段使用。 | 98| [OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_SIZE](#oh_md_key_video_encoder_temporal_gop_size) | 描述图片组基本层图片的间隔大小的键,值类型为int32_t,只在使能分层编码时生效。该键是可选的且只用于视频编码,在Configure阶段使用。 | 99| [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阶段使用。 | 100| [OH_MD_KEY_VIDEO_ENCODER_LTR_FRAME_COUNT](#oh_md_key_video_encoder_ltr_frame_count) | 描述长期参考帧个数的键,值类型为int32_t,必须在支持的值范围内使用。该键是可选的且只用于视频编码。| 101| [OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_MARK_LTR](#oh_md_key_video_encoder_per_frame_mark_ltr) | 标记当前帧为长期参考帧的键,值类型为int32_t,1表示被标记,0表示未被标记,默认值为0。配置非0值将按照配置1处理,表示被标记。该键是可选的且只用于视频编码。 | 102| [OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_USE_LTR](#oh_md_key_video_encoder_per_frame_use_ltr) | 描述当前帧参考的长期参考帧帧的POC号的键,值类型为int32_t。该键是可选的且只用于视频编码。 | 103| [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表示不是LTR,默认值为0。配置非0值将按照配置1处理,表示是LTR。该键是可选的且只用于视频编码。 | 104| [OH_MD_KEY_VIDEO_PER_FRAME_POC](#oh_md_key_video_per_frame_poc) | 描述帧的POC号的键,值类型为int32_t。该键是可选的且只用于视频编码。 | 105| [OH_MD_KEY_VIDEO_ENCODER_QP_MAX](#oh_md_key_video_encoder_qp_max) | 描述视频编码器允许的最大量化参数的键,值类型为int32_t。该键是可选的且只用于视频编码。 | 106| [OH_MD_KEY_VIDEO_ENCODER_QP_MIN](#oh_md_key_video_encoder_qp_min) | 描述视频编码器允许的最小量化参数的键,值类型为int32_t。该键是可选的且只用于视频编码。 | 107| [OH_MD_KEY_VIDEO_ENCODER_QP_AVERAGE](#oh_md_key_video_encoder_qp_average) |描述视频帧平均量化参数的键,值类型为int32_t。该键是可选的且只用于视频编码。 | 108| [OH_MD_KEY_VIDEO_ENCODER_MSE](#oh_md_key_video_encoder_mse) |描述视频帧平方误差的键,值类型为double。该键是可选的且只用于视频编码。 | 109| [OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_FRAME_AFTER](#oh_md_key_video_encoder_repeat_previous_frame_after) | 如果在上一帧提交给编码器之后没有新的帧可用,则会以毫秒为单位重复提交最后一帧,值类型为int32_t。该键只用于视频编码Surface模式,在Configure阶段使用。 | 110| [OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_MAX_COUNT](#oh_md_key_video_encoder_repeat_previous_max_count) | 描述编码器在没有新的帧可用的情况下,可以对之前的帧进行重复编码的最大次数,值类型为int32_t。该键仅在OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_FRAME_AFTER可用时生效,在Configure阶段使用。| 111| [OH_MD_KEY_SQR_FACTOR](#oh_md_key_sqr_factor) | 描述SQR码控模式的质量参数,取值范围为[0, 51](同编码量化参数QP),值越小,编码输出码率越大,质量越好,值类型为int32_t。该键值是可选的且只用于视频编码。 | 112| [OH_MD_KEY_MAX_BITRATE](#oh_md_key_max_bitrate) | 描述SQR码控模式的最大码率,使用[OH_AVCapability_GetEncoderBitrateRange](_a_v_capability.md#oh_avcapability_getencoderbitraterange)方法获取取值范围(同[OH_MD_KEY_BITRATE](#oh_md_key_bitrate)),单位bps,值类型为int64_t。该键值是可选的且只用于视频编码。 | 113| [OH_MD_KEY_VIDEO_ENCODER_ROI_PARAMS](#oh_md_key_video_encoder_roi_params) | 描述ROI编码参数,包括ROI区域和deltaQp,值类型为string。该键值是可选的且只用于视频编码。 | 114| [OH_MD_KEY_VIDEO_ENCODER_ENABLE_PTS_BASED_RATECONTROL](#oh_md_key_video_encoder_enable_pts_based_ratecontrol) | 使能基于显示时间戳(PTS)的码控模式的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。该键值是可选的且只用于视频编码。如果使能,则必须在每个视频帧中携带PTS信息,并发送到编码器。在Configure阶段使用。 | 115| [OH_MD_KEY_VIDEO_ENCODER_ENABLE_B_FRAME](#oh_md_key_video_encoder_enable_b_frame) | 使能B帧编码的键,值类型为int32_t,1表示使能,0表示不使能。该键值是可选的且只用于视频编码,默认值为0,在Configure阶段使用。 | 116| [OH_MD_KEY_VIDEO_ENCODER_MAX_B_FRAMES](#oh_md_key_video_encoder_max_b_frames) | 在视频编码中获取B帧编码支持最大B帧数量的键,值类型为int32_t。 | 117| [OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE](#oh_md_key_video_decoder_output_color_space) | 设置视频解码器输出色彩空间的键,值类型为int32_t。 支持的值为OH_COLORSPACE_BT709_LIMIT。| 118| [OH_MD_KEY_ROTATION](#oh_md_key_rotation) | surface旋转角度的键。值类型为int32_t:应为{0, 90, 180, 270},默认值为0。该键只在视频解码Surface模式下使用。该键是可选的。 | 119| [OH_MD_KEY_SCALING_MODE](#oh_md_key_scaling_mode) | 视频缩放模式,值类型为int32_t,请参见[OH_ScalingMode](#oh_scalingmode)。该键是可选的且只用于视频解码Surface模式。建议直接调用[OH_NativeWindow_NativeWindowSetScalingModeV2](../apis-arkgraphics2d/capi-external-window-h.md#oh_nativewindow_nativewindowsetscalingmodev2)接口进行设置。(API14废弃)| 120| [OH_MD_KEY_VIDEO_CROP_TOP](#oh_md_key_video_crop_top) | 描述裁剪矩形顶部坐标(y)值的键,值类型为int32_t。该键是可选的且只用于视频解码。 | 121| [OH_MD_KEY_VIDEO_CROP_BOTTOM](#oh_md_key_video_crop_bottom) | 描述裁剪矩形底部坐标(y)值的键,值类型为int32_t。该键是可选的且只用于视频解码。 | 122| [OH_MD_KEY_VIDEO_CROP_LEFT](#oh_md_key_video_crop_left) | 描述裁剪矩形左坐标(x)值的键,值类型为int32_t。该键是可选的且只用于视频解码。 | 123| [OH_MD_KEY_VIDEO_CROP_RIGHT](#oh_md_key_video_crop_right) | 描述裁剪矩形右坐标(x)值的键,值类型为int32_t。该键是可选的且只用于视频解码。 | 124| [OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY](#oh_md_key_video_enable_low_latency) | 使能低时延视频解码的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。该键是可选,在Configure阶段使用。 | 125| [OH_MD_KEY_VIDEO_DECODER_OUTPUT_ENABLE_VRR](#oh_md_key_video_decoder_output_enable_vrr) | 解码器是否打开视频可变帧率功能的键,值类型为int32_t。该键是可选的且只用于视频解码。 | 126| [OH_MD_KEY_VIDEO_DECODER_BLANK_FRAME_ON_SHUTDOWN](#oh_md_key_video_decoder_blank_frame_on_shutdown) | 用于指定视频解码器关闭时是否输出空白帧的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。该键是可选的且仅用于视频解码Surface模式。 | 127 128 129音频专有的键值对: 130 131| 名称 | 描述 | 132| ------------------------------------------------------------ | ------------------------------------------------------------ | 133| [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](#oh_md_key_audio_sample_format) | 音频原始格式的键,值类型为int32_t。请参见[OH_BitsPerSample](#oh_bitspersample-1)。| 134| [OH_MD_KEY_AUD_CHANNEL_COUNT](#oh_md_key_aud_channel_count) | 音频通道计数键,值类型为int32_t。 | 135| [OH_MD_KEY_AUD_SAMPLE_RATE](#oh_md_key_aud_sample_rate) | 音频采样率键,值类型为int32_t。 | 136| [OH_MD_KEY_AUDIO_COMPRESSION_LEVEL](#oh_md_key_audio_compression_level) | 音频编解码压缩水平的键,只在音频编码使用,值类型为int32_t。该键是可选的。 | 137| [OH_MD_KEY_CHANNEL_LAYOUT](#oh_md_key_channel_layout) | 所需编码通道布局的键。值类型为int64_t,此键仅适用于编码器。请参见[OH_AudioChannelLayout](_core.md#oh_audiochannellayout-1)。 | 138| [OH_MD_KEY_BITS_PER_CODED_SAMPLE](#oh_md_key_bits_per_coded_sample) | 每个编码样本位数的键,值类型为int32_t。该键是可选的。<br>API 20前,FLAC编码必须设置此参数,设置为1即可;未设置此参数配置FLAC编码器时,调用OH_AudioCodec_Configure会返回错误码AV_ERR_INVALID_VAL。该值无实际作用,不会影响编码结果。从API 20开始,无需设置此参数。| 139| [OH_MD_KEY_SBR](#oh_md_key_sbr) | aac sbr模式的键,值类型为int32_t,aac编码器支持。该键是可选的。 | 140| [OH_MD_KEY_COMPLIANCE_LEVEL](#oh_md_key_compliance_level) | flac兼容性等级的键,值类型为int32_t,仅在音频编码使用。该键是可选的。 | 141| [OH_MD_KEY_AAC_IS_ADTS](#oh_md_key_aac_is_adts) | aac格式的键,aac格式分为ADTS格式和LATM格式。值类型为int32_t,aac解码器支持。该键是可选的。 | 142| [OH_MD_KEY_IDENTIFICATION_HEADER](#oh_md_key_identification_header) | vorbis标识头的键,值类型为uint8_t\*,仅vorbis解码器支持。该键是可选的。 | 143| [OH_MD_KEY_SETUP_HEADER](#oh_md_key_setup_header) | vorbis设置头的键,值类型为uint8_t\*,仅vorbis解码器支持。该键是可选的。 | 144| [OH_MD_KEY_AUDIO_OBJECT_NUMBER](#oh_md_key_audio_object_number) | 音频对象数目的键,值类型为int32_t,只有Audio Vivid解码使用。该键是可选的。 | 145| [OH_MD_KEY_AUDIO_VIVID_METADATA](#oh_md_key_audio_vivid_metadata) | Audio Vivid元数据的键,值类型为uint8_t\*,只有Audio Vivid解码使用。该键是可选的。 | 146 147封装/解封装专有的键值对: 148 149| 名称 | 描述 | 150| ------------------------------------------------------------ | ------------------------------------------------------------ | 151| [OH_MD_KEY_VIDEO_IS_HDR_VIVID](#oh_md_key_video_is_hdr_vivid) | 媒体文件中的视频轨是否为HDR Vivid的键,支持封装和解封装,值类型为int32_t。该键是可选的。 | 152| [OH_MD_KEY_START_TIME](#oh_md_key_start_time) | 媒体文件中第一帧起始位置开始时间的键,以微秒为单位,值类型为int64_t。该键是可选的。 | 153| [OH_MD_KEY_TRACK_START_TIME](#oh_md_key_track_start_time) | 轨道开始时间的键,以微秒为单位,值类型为int64_t。该键是可选的。 | 154| [OH_MD_KEY_TRACK_TYPE](#oh_md_key_track_type) | 轨道媒体类型的键,值类型为int32_t,请参见[OH_MediaType](#oh_mediatype-1)。该键是可选的。 | 155| [OH_MD_KEY_DURATION](#oh_md_key_duration) | 媒体文件持续时间的键,值类型为int64_t。该键是可选的。 | 156| [OH_MD_KEY_TITLE](#oh_md_key_title) | 媒体文件标题的键,值类型为string。该键是可选的。 | 157| [OH_MD_KEY_ARTIST](#oh_md_key_artist) | 艺术家的键,值类型为string。该键是可选的。 | 158| [OH_MD_KEY_ALBUM](#oh_md_key_album) | 专辑的媒体文件的键,值类型为string。该键是可选的。 | 159| [OH_MD_KEY_ALBUM_ARTIST](#oh_md_key_album_artist) | 专辑艺术家的键,值类型为string。该键是可选的。 | 160| [OH_MD_KEY_DATE](#oh_md_key_date) | 媒体文件日期的键,值类型为string,例如2024年。该键是可选的。 | 161| [OH_MD_KEY_COMMENT](#oh_md_key_comment) | 媒体文件注释的键,值类型为string。该键是可选的。 | 162| [OH_MD_KEY_GENRE](#oh_md_key_genre) | 媒体文件流派的键,值类型为string。该键是可选的。 | 163| [OH_MD_KEY_COPYRIGHT](#oh_md_key_copyright) | 媒体文件版权的键,值类型为string。该键是可选的。 | 164| [OH_MD_KEY_LANGUAGE](#oh_md_key_language) | 媒体文件语言的键,值类型为string。该键是可选的。 | 165| [OH_MD_KEY_DESCRIPTION](#oh_md_key_description) | 媒体文件描述的键,值类型为string。该键是可选的。 | 166| [OH_MD_KEY_LYRICS](#oh_md_key_lyrics) | 媒体文件歌词的键,值类型为string。该键是可选的。 | 167| [OH_MD_KEY_TRACK_COUNT](#oh_md_key_track_count) | 媒体文件轨道数量的键,值类型为int32_t。该键是可选的。 | 168| [OH_MD_KEY_BUFFER_DURATION](#oh_md_key_buffer_duration) | AVBuffer中携带的音视频或字幕的sample对应的持续时间的键,以微秒为单位,值类型为int64_t。该键是可选的。 | 169| [OH_MD_KEY_DECODING_TIMESTAMP](#oh_md_key_decoding_timestamp) | AVBuffer中携带的音视频或字幕的sample对应的解码时间戳的键,以微秒为单位,值类型为int64_t。该键是可选的。 | 170| [OH_MD_KEY_CODEC_MIME](#oh_md_key_codec_mime) | 编解码器[MIME](#媒体编解码格式)类型的键,值类型为string。该键是可选的。 | 171| [OH_MD_KEY_VIDEO_SAR](#oh_md_key_video_sar) | 样本长宽比的键,值类型为double。 | 172| [OH_MD_KEY_CREATION_TIME](#oh_md_key_creation_time) | 媒体文件创建时间的元数据,值类型为string。 | 173| [OH_MD_KEY_REFERENCE_TRACK_IDS](#oh_md_key_reference_track_ids) | 媒体文件轨道间参考、被参考关系,值类型为int32_t\*。 | 174| [OH_MD_KEY_TRACK_REFERENCE_TYPE](#oh_md_key_track_reference_type) | 媒体文件辅助轨类型,值类型为string。 | 175| [OH_MD_KEY_TRACK_DESCRIPTION](#oh_md_key_track_description) | 媒体文件辅助轨描述信息,值类型为string。 | 176| [OH_MD_KEY_ENABLE_MOOV_FRONT](#oh_md_key_enable_moov_front) | 媒体文件moov元数据是否前置标志,值类型为int32_t。| 177 178 179## 汇总 180 181 182### 文件 183 184| 名称 | 描述 | 185| -------- | -------- | 186| [avcodec_audio_channel_layout.h](avcodec__audio__channel__layout_8h.md) | 音频编解码枚举的声明。 | 187| [native_avcodec_base.h](native__avcodec__base_8h.md) | 音视频封装、解封装、编解码基础功能Native API的声明。 | 188 189 190### 结构体 191 192| 名称 | 描述 | 193| -------- | -------- | 194| struct [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | OH_AVCodec中所有异步回调函数指针的集合。(API11废弃)| 195| struct [OH_AVCodecCallback](_o_h___a_v_codec_callback.md) | OH_AVCodec中所有异步回调函数指针的集合。 | 196| struct [OH_AVDataSource](_o_h___a_v_data_source.md) | 用户自定义数据源。 | 197 198 199### 类型定义 200 201| 名称 | 描述 | 202| -------- | -------- | 203| typedef struct NativeWindow [OHNativeWindow](#ohnativewindow) | 为图形接口定义native层对象。 | 204| typedef struct [OH_AVCodec](#oh_avcodec) [OH_AVCodec](#oh_avcodec) | 为音视频编解码接口定义native层对象。 | 205| typedef void(\* [OH_AVCodecOnError](#oh_avcodeconerror)) ([OH_AVCodec](#oh_avcodec) \*codec, int32_t errorCode, void \*userData) | 当OH_AVCodec实例运行出错时,会调用来上报具体的错误信息的函数指针。 | 206| typedef void(\* [OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)) ([OH_AVCodec](#oh_avcodec) \*codec, [OH_AVFormat](_core.md#oh_avformat) \*format, void \*userData) | 当视频解码输入码流分辨率或者视频编码输出码流的分辨率发生变化时,将调用此函数指针报告新的流描述信息。<br>从API 15开始,支持音频解码时,码流采样率、声道数或者音频采样格式发生变化时,将调用此函数指针报告新的流描述信息,支持检测此变化的解码格式有:<!--RP3--><!--RP3End-->AAC,FLAC,MP3,VORBIS。| 207| 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废弃)| 208| 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废弃)| 209| 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在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。 | 210| 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运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。 | 211| typedef struct [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) [OH_AVCodecAsyncCallback](#oh_avcodecasynccallback) | OH_AVCodec中所有异步回调函数指针的集合。(API11废弃)| 212| typedef struct [OH_AVCodecCallback](_o_h___a_v_codec_callback.md) [OH_AVCodecCallback](#oh_avcodeccallback) | OH_AVCodec中所有异步回调函数指针的集合。 | 213| typedef int32_t(\* [OH_AVDataSourceReadAt](#oh_avdatasourcereadat)) (OH_AVBuffer \*data, int32_t length, int64_t pos) | 函数指针定义,用于提供获取用户自定义媒体数据的能力。 | 214| typedef int32_t(\* [OH_AVDataSourceReadAtExt](#oh_avdatasourcereadatext)) (OH_AVBuffer \*data, int32_t length, int64_t pos, void *userData) | 函数指针定义,用于提供获取用户自定义媒体数据的能力。回调支持通过userData传递用户自定义数据。 | 215| typedef struct [OH_AVDataSource](_o_h___a_v_data_source.md) [OH_AVDataSource](#oh_avdatasource) | 用户自定义数据源。 | 216| typedef enum [OH_MediaType](#oh_mediatype-1) [OH_MediaType](#oh_mediatype) | 媒体类型。 | 217| typedef enum [OH_AACProfile](#oh_aacprofile-1) [OH_AACProfile](#oh_aacprofile) | AAC档次。 | 218| typedef enum [OH_AVCProfile](#oh_avcprofile-1) [OH_AVCProfile](#oh_avcprofile) | AVC档次。 | 219| typedef enum [OH_HEVCProfile](#oh_hevcprofile-1) [OH_HEVCProfile](#oh_hevcprofile) | HEVC档次。 | 220| typedef enum [OH_VVCProfile](#oh_vvcprofile-1) [OH_VVCProfile](#oh_vvcprofile) | VVC档次。 | 221| typedef enum [OH_H263Profile](#oh_h263profile-1) [OH_H263Profile](#oh_h263profile) | H.263档次。 | 222| typedef enum [OH_MPEG2Profile](#oh_mpeg2profile-1) [OH_MPEG2Profile](#oh_mpeg2profile) | MPEG2档次。 | 223| typedef enum [OH_MPEG4Profile](#oh_mpeg4profile-1) [OH_MPEG4Profile](#oh_mpeg4profile) | MPEG4档次。 | 224| typedef enum [OH_AVOutputFormat](#oh_avoutputformat-1) [OH_AVOutputFormat](#oh_avoutputformat) | 封装器支持的输出文件格式。 | 225| typedef enum [OH_AVSeekMode](#oh_avseekmode-1) [OH_AVSeekMode](#oh_avseekmode) | 跳转模式。 | 226| typedef enum [OH_ScalingMode](#oh_scalingmode-1) [OH_ScalingMode](#oh_scalingmode) | 缩放模式,只在Surface模式下使用。(API14废弃) | 227| typedef enum [OH_BitsPerSample](#oh_bitspersample-1) [OH_BitsPerSample](#oh_bitspersample) | 每个编码样本的音频位数。 | 228| typedef enum [OH_ColorPrimary](#oh_colorprimary-1) [OH_ColorPrimary](#oh_colorprimary) | 色域。 | 229| typedef enum [OH_TransferCharacteristic](#oh_transfercharacteristic-1) [OH_TransferCharacteristic](#oh_transfercharacteristic) | 转移特性。 | 230| typedef enum [OH_MatrixCoefficient](#oh_matrixcoefficient-1) [OH_MatrixCoefficient](#oh_matrixcoefficient) | 矩阵系数。 | 231| typedef enum [OH_AVCLevel](#oh_avclevel-1) [OH_AVCLevel](#oh_avclevel) | AVC级别。 | 232| typedef enum [OH_HEVCLevel](#oh_hevclevel-1) [OH_HEVCLevel](#oh_hevclevel) | HEVC级别。 | 233| typedef enum [OH_VVCLevel](#oh_vvclevel-1) [OH_VVCLevel](#oh_vvclevel) | VVC级别。 | 234| typedef enum [OH_H263Level ](#oh_h263level-1) [OH_H263Level ](#oh_h263level) | H.263级别。 | 235| typedef enum [OH_MPEG2Level](#oh_mpeg2level-1) [OH_MPEG2Level](#oh_mpeg2level) | MPEG2级别。 | 236| typedef enum [OH_MPEG4Level](#oh_mpeg4level-1) [OH_MPEG4Level](#oh_mpeg4level) | MPEG4级别。 | 237| typedef enum [OH_TemporalGopReferenceMode](#oh_temporalgopreferencemode-1) [OH_TemporalGopReferenceMode](#oh_temporalgopreferencemode) | 时域图片组参考模式。 | 238| typedef enum [OH_BitrateMode](#oh_bitratemode-1) [OH_BitrateMode](#oh_bitratemode) | 编码器的比特率模式。 | 239 240 241### 枚举 242 243| 名称 | 描述 | 244| -------- | -------- | 245| [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废弃)| 246| [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/>} | 音频声道数类型,将用户申请的解码器输出格式表示为编解码器的声道类型。(API11废弃) | 247| [OH_MediaType](#oh_mediatype-1) {<br/>MEDIA_TYPE_AUD = 0,<br/>MEDIA_TYPE_VID = 1,<br/>MEDIA_TYPE_SUBTITLE = 2,<br/>MEDIA_TYPE_TIMED_METADATA = 5,<br/>MEDIA_TYPE_AUXILIARY = 6<br/>} | 媒体类型。 | 248| [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--> | 249| [OH_AVCProfile](#oh_avcprofile-1) {<br/>AVC_PROFILE_BASELINE = 0,<br/>AVC_PROFILE_HIGH = 4,<br/>AVC_PROFILE_MAIN = 8<br/>} | AVC档次。 | 250| [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废弃)。| 251| [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档次。 | 252| [OH_H263Profile](#oh_h263profile-1) {<br/>H263_PROFILE_BASELINE = 0,<br/>H263_PROFILE_VERSION_1_BACKWARD_COMPATIBILITY = 2<br/>} | H.263档次。 | 253| [OH_MPEG2Profile](#oh_mpeg2profile-1) {<br/>MPEG2_PROFILE_SIMPLE = 0,<br/>MPEG2_PROFILE_MAIN = 1,<br/>MPEG2_PROFILE_SNR = 2,<br/>MPEG2_PROFILE_SPATIAL = 3,<br/>MPEG2_PROFILE_HIGH = 4,<br/>MPEG2_PROFILE_422 = 5<br/>} | MPEG2档次。 | 254| [OH_MPEG4Profile](#oh_mpeg4profile-1) {<br/>MPEG4_PROFILE_SIMPLE = 0,<br/>MPEG4_PROFILE_SIMPLE_SCALABLE = 1,<br/>MPEG4_PROFILE_CORE = 2,<br/>MPEG4_PROFILE_MAIN = 3,<br/>MPEG4_PROFILE_NBIT = 4,<br/>MPEG4_PROFILE_HYBRID = 5,<br/>MPEG4_PROFILE_BASIC_ANIMATED_TEXTURE = 6,<br/>MPEG4_PROFILE_SCALABLE_TEXTURE = 7,<br/>MPEG4_PROFILE_SIMPLE_FA = 8,<br/>MPEG4_PROFILE_ADVANCED_REAL_TIME_SIMPLE = 9,<br/>MPEG4_PROFILE_CORE_SCALABLE = 10,<br/>MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY = 11,<br/>MPEG4_PROFILE_ADVANCED_CORE = 12,<br/>MPEG4_PROFILE_ADVANCED_SCALABLE_TEXTURE = 13,<br/>MPEG4_PROFILE_ADVANCED_SIMPLE = 17<br/>} | MPEG4档次。 | 255| [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/>AV_OUTPUT_FORMAT_AAC = 11,<br/>AV_OUTPUT_FORMAT_FLAC = 12<br/>} | 封装器支持的输出文件格式。 | 256| [OH_AVSeekMode](#oh_avseekmode-1) {<br/>SEEK_MODE_NEXT_SYNC = 0,<br/>SEEK_MODE_PREVIOUS_SYNC,<br/>SEEK_MODE_CLOSEST_SYNC<br/>} | 跳转模式。 | 257| [OH_ScalingMode](#oh_scalingmode-1) {<br/>SCALING_MODE_SCALE_TO_WINDOW = 1,<br/>SCALING_MODE_SCALE_CROP = 2<br/>} | 缩放模式。(API14废弃) | 258| [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/>} | 每个编码样本的音频位数。 | 259| [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/>} | 色域。 | 260| [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/>} | 转移特性。 | 261| [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/>} | 矩阵系数。 | 262| [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级别。 | 263| [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级别。 | 264| [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级别。 | 265| [OH_H263Level ](#oh_h263level-1) {<br/>H263_LEVEL_10 = 0, <br/>H263_LEVEL_20 = 1, <br/>H263_LEVEL_30 = 2, <br/>H263_LEVEL_40 = 3, <br/>H263_LEVEL_45 = 4, <br/>H263_LEVEL_50 = 5, <br/>H263_LEVEL_60 = 6, <br/>H263_LEVEL_70 = 7<br/>} | H.263级别。 | 266| [OH_MPEG2Level](#oh_mpeg2level-1) {<br/>MPEG2_LEVEL_LL = 0,<br/>MPEG2_LEVEL_ML = 1,<br/>MPEG2_LEVEL_H14 = 2,<br/>MPEG2_LEVEL_HL = 3<br/> } | MPEG2级别。 | 267| [OH_MPEG4Level](#oh_mpeg4level-1) {<br/>MPEG4_LEVEL_0 = 0,<br/>MPEG4_LEVEL_0B = 1,<br/>MPEG4_LEVEL_1 = 2,<br/>MPEG4_LEVEL_2 = 3,<br/>MPEG4_LEVEL_3 = 4,<br/>MPEG4_LEVEL_3B = 5,<br/>MPEG4_LEVEL_4 = 6,<br/>MPEG4_LEVEL_4A = 7,<br/>MPEG4_LEVEL_5 = 8,<br/>MPEG4_LEVEL_6 = 9<br/>} | MPEG4级别。 | 268| [OH_TemporalGopReferenceMode](#oh_temporalgopreferencemode-1) { <br/>ADJACENT_REFERENCE = 0, <br/>JUMP_REFERENCE = 1, <br/>UNIFORMLY_SCALED_REFERENCE = 2 <br/>} | 时域图片组参考模式。 | 269| [OH_BitrateMode](#oh_bitratemode-1) { <br/>BITRATE_MODE_CBR = 0, <br/>BITRATE_MODE_VBR = 1, <br/>BITRATE_MODE_CQ = 2, <br/>BITRATE_MODE_SQR = 3<br/> } | 编码器的比特率模式。 | 270 271### 变量 272 273| 名称 | 描述 | 274| -------- | -------- | 275| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_AAC](#oh_avcodec_mimetype_audio_aac) | AAC音频编解码器的MIME类型。 | 276| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_FLAC](#oh_avcodec_mimetype_audio_flac) | FLAC音频编解码器的MIME类型。 | 277| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_OPUS](#oh_avcodec_mimetype_audio_opus) | OPUS音频编解码器的MIME类型。<!--Del-->(此规格暂未开放)<!--DelEnd--> | 278| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_G711MU](#oh_avcodec_mimetype_audio_g711mu) | G711MU音频编解码器的MIME类型。 | 279| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_G711A](#oh_avcodec_mimetype_audio_g711a) | G711A音频解码器的MIME类型。 | 280| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_VORBIS](#oh_avcodec_mimetype_audio_vorbis) | VORBIS音频解码器的MIME类型。 | 281| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_MPEG](#oh_avcodec_mimetype_audio_mpeg) | MP3音频编解码器的MIME类型。 | 282| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_VIVID](#oh_avcodec_mimetype_audio_vivid) | Audio Vivid音频解码器的MIME类型。<!--Del-->(此规格暂未开放)<!--DelEnd--> | 283| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_AMR_NB](#oh_avcodec_mimetype_audio_amr_nb) | AMR_NB音频解码器的MIME类型。 | 284| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_AMR_WB](#oh_avcodec_mimetype_audio_amr_wb) | AMR_WB音频解码器的MIME类型。 | 285| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_APE](#oh_avcodec_mimetype_audio_ape) |APE音频解码器的MIME类型。 | 286| const char \* [OH_AVCODEC_MIMETYPE_VIDEO_VVC](#oh_avcodec_mimetype_video_vvc) | VVC(H.266)视频编解码器的MIME类型。 | 287| const char \* [OH_AVCODEC_MIMETYPE_VIDEO_HEVC](#oh_avcodec_mimetype_video_hevc) | HEVC(H.265)视频编解码器的MIME类型。 | 288| const char \* [OH_AVCODEC_MIMETYPE_VIDEO_AVC](#oh_avcodec_mimetype_video_avc) | AVC(H.264)视频编解码器的MIME类型。 | 289| const char \* [OH_AVCODEC_MIMETYPE_VIDEO_H263](#oh_avcodec_mimetype_video_h263) | H.263视频编解码器的MIME类型。 | 290| const char \* [OH_AVCODEC_MIMETYPE_VIDEO_MPEG4](#oh_avcodec_mimetype_video_mpeg4) | MPEG4视频编码的MIME类型,仅用于封装MPEG4视频码流使用。(API11废弃) | 291| const char \* [OH_AVCODEC_MIMETYPE_VIDEO_MPEG2](#oh_avcodec_mimetype_video_mpeg2) | 视频MPEG2编解码器的MIME类型。 | 292| const char \* [OH_AVCODEC_MIMETYPE_VIDEO_MPEG4_PART2](#oh_avcodec_mimetype_video_mpeg4_part2) | 视频MPEG4 Part2编解码器的MIME类型。 | 293| const char \* [OH_AVCODEC_MIMETYPE_IMAGE_JPG](#oh_avcodec_mimetype_image_jpg) | JPG图片编码的MIME类型,仅用于封装JPG封面时使用。 | 294| const char \* [OH_AVCODEC_MIMETYPE_IMAGE_PNG](#oh_avcodec_mimetype_image_png) | PNG图片编码的MIME类型,仅用于封装PNG封面时使用。 | 295| const char \* [OH_AVCODEC_MIMETYPE_IMAGE_BMP](#oh_avcodec_mimetype_image_bmp) | BMP图片编码的MIME类型,仅用于封装BMP封面时使用。 | 296| const char \* [OH_AVCODEC_MIMETYPE_SUBTITLE_WEBVTT](#oh_avcodec_mimetype_subtitle_webvtt) |WEBVTT字幕解封装器的MIME类型。 | 297| const char \* [OH_AVCODEC_MIMETYPE_SUBTITLE_SRT](#oh_avcodec_mimetype_subtitle_srt) |SRT字幕解封装器的MIME类型。 | 298| const char \* [OH_FEATURE_PROPERTY_KEY_VIDEO_ENCODER_MAX_LTR_FRAME_COUNT](#oh_feature_property_key_video_encoder_max_ltr_frame_count) | 在视频编码中获取长期参考帧的最大个数的键,值类型为int32_t。 | 299| const char \* [OH_MD_KEY_CODEC_CONFIG](#oh_md_key_codec_config) | 编解码器特定数据的键,视频中表示传递SPS/PPS,音频中表示传递extraData,值类型为uint8_t\*。 <!--Del-->(视频编解码此功能暂未支持)<!--DelEnd--> | 300| const char \* [OH_MD_MAX_INPUT_BUFFER_COUNT](#oh_md_max_input_buffer_count) | 最大输入缓冲区个数的键,值类型为int32_t。 | 301| const char \* [OH_MD_MAX_OUTPUT_BUFFER_COUNT](#oh_md_max_output_buffer_count) | 最大输出缓冲区个数的键,值类型int32_t。 | 302| const char \* [OH_MD_KEY_BITRATE](#oh_md_key_bitrate) | 比特率的键,值类型为int64_t。 | 303| const char \* [OH_MD_KEY_PROFILE](#oh_md_key_profile) | 编码档次,值类型为int32_t,请参见[OH_AVCProfile](#oh_avcprofile),[OH_HEVCProfile](#oh_hevcprofile),[OH_AACProfile](#oh_aacprofile)。 | 304| const char \* [OH_MD_KEY_MAX_INPUT_SIZE](#oh_md_key_max_input_size) | 设置解码输入码流大小最大值的键,值类型为int32_t。 | 305| const char \* [OH_ED_KEY_TIME_STAMP](#oh_ed_key_time_stamp) | 表示surfacebuffer时间戳的键,值类型为int64_t。(API14废弃)| 306| const char \* [OH_ED_KEY_EOS](#oh_ed_key_eos) | 表示surfacebuffer流结束符的键,值类型为int32_t。(API14废弃)| 307| const char \* [OH_MD_KEY_WIDTH](#oh_md_key_width) | 视频宽度的键,值类型为int32_t。 | 308| const char \* [OH_MD_KEY_HEIGHT](#oh_md_key_height) | 视频高度键,值类型为int32_t。 | 309| const char \* [OH_MD_KEY_PIXEL_FORMAT](#oh_md_key_pixel_format) | 视频像素格式的键,值类型为int32_t,请参见[OH_AVPixelFormat](_core.md#oh_avpixelformat)。 | 310| const char \* [OH_MD_KEY_FRAME_RATE](#oh_md_key_frame_rate) | 视频帧率的键,值类型为double。 | 311| const char \* [OH_MD_KEY_ROTATION](#oh_md_key_rotation) | surface旋转角度的键。值类型为int32_t:应为{0, 90, 180, 270},默认值为0。该键只在视频解码Surface模式下使用。 | 312| const char \* [OH_MD_KEY_RANGE_FLAG](#oh_md_key_range_flag) | 视频YUV值域标志的键,值类型为int32_t,1表示full range,0表示limited range。 | 313| const char \* [OH_MD_KEY_COLOR_PRIMARIES](#oh_md_key_color_primaries) | 视频色域的键,值类型为int32_t,请参见[OH_ColorPrimary](#oh_colorprimary),遵循H.273标准Table2。 | 314| const char \* [OH_MD_KEY_TRANSFER_CHARACTERISTICS](#oh_md_key_transfer_characteristics) | 视频传递函数的键,值类型为int32_t,请参见[OH_TransferCharacteristic](#oh_transfercharacteristic),遵循H.273标准Table3。 | 315| const char \* [OH_MD_KEY_MATRIX_COEFFICIENTS](#oh_md_key_matrix_coefficients) | 视频矩阵系数的键,值类型为int32_t,请参见[OH_MatrixCoefficient](#oh_matrixcoefficient),遵循H.273标准Table4。 | 316| const char \* [OH_MD_KEY_SCALING_MODE](#oh_md_key_scaling_mode) | 视频缩放模式,值类型为int32_t,请参见[OH_ScalingMode](#oh_scalingmode)。该键是可选的且只用于视频解码Surface模式。建议直接调用[OH_NativeWindow_NativeWindowSetScalingModeV2](../apis-arkgraphics2d/capi-external-window-h.md#oh_nativewindow_nativewindowsetscalingmodev2)接口进行设置。(API14废弃)| 317| const char \* [OH_MD_KEY_VIDEO_CROP_TOP](#oh_md_key_video_crop_top) | 描述裁剪矩形顶部坐标(y)值的键,值类型为int32_t。 | 318| const char \* [OH_MD_KEY_VIDEO_CROP_BOTTOM](#oh_md_key_video_crop_bottom) | 描述裁剪矩形底部坐标(y)值的键,值类型为int32_t。 | 319| const char \* [OH_MD_KEY_VIDEO_CROP_LEFT](#oh_md_key_video_crop_left) | 描述裁剪矩形左坐标(x)值的键,值类型为int32_t。 | 320| const char \* [OH_MD_KEY_VIDEO_CROP_RIGHT](#oh_md_key_video_crop_right) | 描述裁剪矩形右坐标(x)值的键,值类型为int32_t。 | 321| const char \* [OH_MD_KEY_VIDEO_DECODER_OUTPUT_ENABLE_VRR](#oh_md_key_video_decoder_output_enable_vrr) | 解码器是否打开视频可变帧率功能的键,值类型为int32_t。 | 322| const char \* [OH_MD_KEY_SQR_FACTOR](#oh_md_key_sqr_factor) | 描述SQR码控模式的质量参数,取值范围为[0, 51](同编码量化参数QP),值越小,编码输出码率越大,质量越好,值类型为int32_t。 | 323| const char \* [OH_MD_KEY_MAX_BITRATE](#oh_md_key_max_bitrate) | 描述SQR码控模式的最大码率,使用[OH_AVCapability_GetEncoderBitrateRange](_a_v_capability.md#oh_avcapability_getencoderbitraterange)方法获取取值范围(同[OH_MD_KEY_BITRATE](#oh_md_key_bitrate)),单位bps,值类型为int64_t。 | 324| const char \* [OH_MD_KEY_VIDEO_ENCODER_ROI_PARAMS](#oh_md_key_video_encoder_roi_params) | 描述ROI编码参数,包括ROI区域和deltaQp,值类型为string。 | 325| const char \* [OH_MD_KEY_VIDEO_STRIDE](#oh_md_key_video_stride) | 描述视频帧宽跨距的键,值类型为int32_t。 | 326| const char \* [OH_MD_KEY_VIDEO_SLICE_HEIGHT](#oh_md_key_video_slice_height) | 描述视频帧高跨距的键,值类型为int32_t。 | 327| const char \* [OH_MD_KEY_VIDEO_PIC_WIDTH](#oh_md_key_video_pic_width) | 描述视频帧真实宽度的键,值类型为int32_t。 | 328| const char \* [OH_MD_KEY_VIDEO_PIC_HEIGHT](#oh_md_key_video_pic_height) | 描述视频帧真实高度的键,值类型为int32_t。 | 329| const char \* [OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY](#oh_md_key_video_enable_low_latency) | 使能低时延视频解码的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。如果使能,则视频解码器持有的输入和输出数据不会超过解码器标准所要求的数量。 | 330| const char \* [OH_MD_KEY_ENABLE_SYNC_MODE](#oh_md_key_enable_sync_mode) | 使能音视频编解码同步模式的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。该键是可选,在Configure阶段使用。 | 331| const char \* [OH_MD_KEY_VIDEO_ENCODER_ENABLE_PTS_BASED_RATECONTROL](#oh_md_key_video_encoder_enable_pts_based_ratecontrol) | 使能基于显示时间戳(PTS)的码控模式的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。如果使能,则必须在每个视频帧中携带PTS信息,并发送到编码器。 | 332| const char \* [OH_MD_KEY_VIDEO_ENCODER_ENABLE_B_FRAME](#oh_md_key_video_encoder_enable_b_frame) | 使能B帧编码的键,值类型为int32_t,1表示使能,0表示不使能。该键值是可选的且只用于视频编码,默认值为0,在Configure阶段使用。 | 333| const char \* [OH_MD_KEY_VIDEO_ENCODER_MAX_B_FRAMES](#oh_md_key_video_encoder_max_b_frames) | 在视频编码中获取B帧编码支持最大B帧数量的键,值类型为int32_t。 | 334| const char \* [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](#oh_md_key_video_encode_bitrate_mode) | 视频编码码率模式,值类型为int32_t,请参见[OH_BitrateMode](#oh_bitratemode-1)。 | 335| const char \* [OH_MD_KEY_QUALITY](#oh_md_key_quality) | 所需编码质量的键。值类型为int32_t,此键仅适用于配置在恒定质量模式下的编码器。 | 336| const char \* [OH_MD_KEY_REQUEST_I_FRAME](#oh_md_key_request_i_frame) | 请求立即编码I帧的键。值类型为int32_t。 | 337| const char \* [OH_MD_KEY_I_FRAME_INTERVAL](#oh_md_key_i_frame_interval) | 关键帧间隔的键,值类型为int32_t,单位为毫秒。该键是可选的且只用于视频编码。 | 338| const char \* [OH_MD_KEY_VIDEO_ENCODER_ENABLE_TEMPORAL_SCALABILITY](#oh_md_key_video_encoder_enable_temporal_scalability) | 使能分层编码的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。 | 339| const char \* [OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_SIZE](#oh_md_key_video_encoder_temporal_gop_size) | 描述图片组基本层图片的间隔大小的键,值类型为int32_t,只在使能分层编码时生效。 | 340| 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),只在使能分层编码时生效。 | 341| const char \* [OH_MD_KEY_VIDEO_ENCODER_LTR_FRAME_COUNT](#oh_md_key_video_encoder_ltr_frame_count) | 描述长期参考帧个数的键,值类型为int32_t,必须在支持的值范围内使用。该键是可选的且只用于视频编码。 | 342| const char \* [OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_MARK_LTR](#oh_md_key_video_encoder_per_frame_mark_ltr) | 标记当前帧为长期参考帧的键,值类型为int32_t,1表示被标记,0表示未被标记,默认值为0。配置非0值将按照配置1处理,表示被标记。该键是可选的且只用于视频编码。 | 343| const char \* [OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_USE_LTR](#oh_md_key_video_encoder_per_frame_use_ltr) | 描述当前帧参考的长期参考帧帧的POC号的键,值类型为int32_t。该键是可选的且只用于视频编码。 | 344| 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表示不是LTR,默认值为0。配置非0值将按照配置1处理,表示是LTR。该键是可选的且只用于视频编码。 | 345| const char \* [OH_MD_KEY_VIDEO_PER_FRAME_POC](#oh_md_key_video_per_frame_poc) | 描述帧的POC号的键,值类型为int32_t。该键是可选的且只用于视频编码。 | 346| const char \* [OH_MD_KEY_VIDEO_ENCODER_QP_MAX](#oh_md_key_video_encoder_qp_max) | 描述视频编码器允许的最大量化参数的键,值类型为int32_t。 | 347| const char \* [OH_MD_KEY_VIDEO_ENCODER_QP_MIN](#oh_md_key_video_encoder_qp_min) | 描述视频编码器允许的最小量化参数的键,值类型为int32_t。 | 348| const char \* [OH_MD_KEY_VIDEO_ENCODER_QP_AVERAGE](#oh_md_key_video_encoder_qp_average) | 描述视频帧平均量化参数的键,值类型为int32_t。 | 349| const char \* [OH_MD_KEY_VIDEO_ENCODER_MSE](#oh_md_key_video_encoder_mse) |描述视频帧平方误差的键,值类型为double。 | 350| const char \* [OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_FRAME_AFTER](#oh_md_key_video_encoder_repeat_previous_frame_after) | 如果在上一帧提交给编码器之后没有新的帧可用,则会以毫秒为单位重复提交最后一帧,值类型为int32_t。 | 351| const char \* [OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_MAX_COUNT](#oh_md_key_video_encoder_repeat_previous_max_count) | 描述编码器在没有新的帧可用的情况下,可以对之前的帧进行重复编码的最大次数,值类型为int32_t。| 352| const char \* [OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE](#oh_md_key_video_decoder_output_color_space) | 设置视频解码器输出色彩空间的键,值类型为int32_t。 支持的值为OH_COLORSPACE_BT709_LIMIT。| 353| const char \* [OH_MD_KEY_VIDEO_DECODER_BLANK_FRAME_ON_SHUTDOWN](#oh_md_key_video_decoder_blank_frame_on_shutdown) | 用于指定视频解码器关闭时是否输出空白帧的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。该键是可选的且仅用于视频解码Surface模式。 | 354| const char \* [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](#oh_md_key_audio_sample_format) | 音频原始格式的键,值类型为int32_t。请参见[OH_BitsPerSample](#oh_bitspersample-1)。 | 355| const char \* [OH_MD_KEY_AUD_CHANNEL_COUNT](#oh_md_key_aud_channel_count) | 音频通道计数键,值类型为int32_t。 | 356| const char \* [OH_MD_KEY_AUD_SAMPLE_RATE](#oh_md_key_aud_sample_rate) | 音频采样率键,值类型为int32_t。 | 357| const char \* [OH_MD_KEY_AUDIO_COMPRESSION_LEVEL](#oh_md_key_audio_compression_level) | 音频编解码压缩水平的键,只在音频编码使用,值类型为int32_t。 | 358| const char \* [OH_MD_KEY_CHANNEL_LAYOUT](#oh_md_key_channel_layout) | 所需编码通道布局的键。值类型为int64_t,此键仅适用于编码器。 | 359| const char \* [OH_MD_KEY_BITS_PER_CODED_SAMPLE](#oh_md_key_bits_per_coded_sample) | 每个编码样本位数的键,值类型为int32_t。<br>API 20前,FLAC编码必须设置此参数,设置为1即可;未设置此参数配置FLAC编码器时,调用OH_AudioCodec_Configure会返回错误码AV_ERR_INVALID_VAL。该值无实际作用,不会影响编码结果。从API 20开始,无需设置此参数。| 360| const char \* [OH_MD_KEY_SBR](#oh_md_key_sbr) | aac sbr模式的键,值类型为int32_t,aac编码器支持。 | 361| const char \* [OH_MD_KEY_COMPLIANCE_LEVEL](#oh_md_key_compliance_level) | flac兼容性等级的键,值类型为int32_t,仅在音频编码使用。 | 362| const char \* [OH_MD_KEY_AAC_IS_ADTS](#oh_md_key_aac_is_adts) | aac格式的键,aac格式分为ADTS格式和LATM格式。值类型为int32_t,aac解码器支持。 | 363| const char \* [OH_MD_KEY_IDENTIFICATION_HEADER](#oh_md_key_identification_header) | vorbis标识头的键,值类型为uint8_t\*,仅vorbis解码器支持。 | 364| const char \* [OH_MD_KEY_SETUP_HEADER](#oh_md_key_setup_header) | vorbis设置头的键,值类型为uint8_t\*,仅vorbis解码器支持。 | 365| const char \* [OH_MD_KEY_AUDIO_OBJECT_NUMBER](#oh_md_key_audio_object_number) | 音频对象数目的键,值类型为int32_t,只有Audio Vivid解码使用。 | 366| const char \* [OH_MD_KEY_AUDIO_VIVID_METADATA](#oh_md_key_audio_vivid_metadata) | Audio Vivid元数据的键,值类型为uint8_t\*,只有Audio Vivid解码使用。 | 367| const char \* [OH_MD_KEY_VIDEO_IS_HDR_VIVID](#oh_md_key_video_is_hdr_vivid) | 媒体文件中的视频轨是否为HDR Vivid的键,支持封装和解封装,值类型为int32_t。 | 368| const char \* [OH_MD_KEY_START_TIME](#oh_md_key_start_time) | 媒体文件中第一帧起始位置开始时间的键,以微秒为单位,值类型为int64_t。 | 369| const char \* [OH_MD_KEY_TRACK_START_TIME](#oh_md_key_track_start_time) | 轨道开始时间的键,以微秒为单位,值类型为int64_t。 | 370| const char \* [OH_MD_KEY_TRACK_TYPE](#oh_md_key_track_type) | 轨道媒体类型的键,值类型为int32_t,请参见[OH_MediaType](#oh_mediatype-1)。 | 371| const char \* [OH_MD_KEY_DURATION](#oh_md_key_duration) | 媒体文件持续时间的键,值类型为int64_t。 | 372| const char \* [OH_MD_KEY_TITLE](#oh_md_key_title) | 媒体文件标题的键,值类型为string。 | 373| const char \* [OH_MD_KEY_ARTIST](#oh_md_key_artist) | 媒体文件艺术家的键,值类型为string。 | 374| const char \* [OH_MD_KEY_ALBUM](#oh_md_key_album) | 专辑的媒体文件的键,值类型为string。 | 375| const char \* [OH_MD_KEY_ALBUM_ARTIST](#oh_md_key_album_artist) | 专辑艺术家的键,值类型为string。 | 376| const char \* [OH_MD_KEY_DATE](#oh_md_key_date) | 媒体文件日期的键,值类型为string,例如2024年。 | 377| const char \* [OH_MD_KEY_COMMENT](#oh_md_key_comment) | 媒体文件注释的键,值类型为string。 | 378| const char \* [OH_MD_KEY_GENRE](#oh_md_key_genre) | 媒体文件流派的键,值类型为string。 | 379| const char \* [OH_MD_KEY_COPYRIGHT](#oh_md_key_copyright) | 媒体文件版权的键,值类型为string。 | 380| const char \* [OH_MD_KEY_LANGUAGE](#oh_md_key_language) | 媒体文件语言的键,值类型为string。 | 381| const char \* [OH_MD_KEY_DESCRIPTION](#oh_md_key_description) | 媒体文件描述的键,值类型为string。 | 382| const char \* [OH_MD_KEY_LYRICS](#oh_md_key_lyrics) | 媒体文件歌词的键,值类型为string。 | 383| const char \* [OH_MD_KEY_TRACK_COUNT](#oh_md_key_track_count) | 媒体文件轨道数量的键,值类型为int32_t。 | 384| const char \* [OH_MD_KEY_BUFFER_DURATION](#oh_md_key_buffer_duration) | AVBuffer中携带的音视频或字幕的sample对应的持续时间的键,以微秒为单位,值类型为int64_t。 | 385| const char \* [OH_MD_KEY_DECODING_TIMESTAMP](#oh_md_key_decoding_timestamp) | AVBuffer中携带的音视频或字幕的sample对应的解码时间戳的键,以微秒为单位,值类型为int64_t。 | 386| const char \* [OH_MD_KEY_CODEC_MIME](#oh_md_key_codec_mime) | 编解码器[MIME](#媒体编解码格式)类型的键,值类型为string。 | 387| const char \* [OH_MD_KEY_VIDEO_SAR](#oh_md_key_video_sar) | 样本长宽比的键,值类型为double。 | 388| const char \* [OH_MD_KEY_CREATION_TIME](#oh_md_key_creation_time) | 媒体文件创建时间的元数据,值类型为string。 | 389| const char \* [OH_MD_KEY_REFERENCE_TRACK_IDS](#oh_md_key_reference_track_ids) | 媒体文件轨道间参考、被参考关系,值类型为int32_t\*。 | 390| const char \* [OH_MD_KEY_TRACK_REFERENCE_TYPE](#oh_md_key_track_reference_type) | 媒体文件辅助轨类型,值类型为string。 | 391| const char \* [OH_MD_KEY_TRACK_DESCRIPTION](#oh_md_key_track_description) | 媒体文件辅助轨描述信息,值类型为string。 | 392| const char \* [OH_MD_KEY_ENABLE_MOOV_FRONT](#oh_md_key_enable_moov_front) | 媒体文件moov元数据是否前置标志,值类型为int32_t。| 393 394 395## 类型定义说明 396 397 398### OH_AACProfile 399 400``` 401typedef enum OH_AACProfile OH_AACProfile 402``` 403**描述** 404AAC档次。 405 406**系统能力:** SystemCapability.Multimedia.Media.CodecBase 407 408**起始版本:** 9 409 410 411### OH_AVCLevel 412 413``` 414typedef enum OH_AVCLevel OH_AVCLevel 415``` 416**描述** 417AVC级别。 418 419**系统能力:** SystemCapability.Multimedia.Media.CodecBase 420 421**起始版本:** 12 422 423 424### OH_AVCodec 425 426``` 427typedef struct OH_AVCodec OH_AVCodec 428``` 429**描述** 430为音视频编解码接口定义native层对象。 431 432**起始版本:** 9 433 434 435### OH_AVCodecAsyncCallback 436 437``` 438typedef struct OH_AVCodecAsyncCallback OH_AVCodecAsyncCallback 439``` 440**描述** 441OH_AVCodec中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVCodec实例中,并处理回调上报的信息,以保证OH_AVCodec的正常运行。 442 443**系统能力:** SystemCapability.Multimedia.Media.CodecBase 444 445**起始版本:** 9 446 447**废弃版本:** 11 448 449**替代接口:**[OH_AVCodecCallback](#oh_avcodeccallback) 450 451**参数:** 452 453| 名称 | 描述 | 454| -------- | -------- | 455| onError | 监控编解码器操作错误,请参见[OH_AVCodecOnError](#oh_avcodeconerror)。 | 456| onStreamChanged | 监控编解码器流变化,请参见[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)。 | 457| onNeedInputData | 监控编解码器需要输入数据,请参见[OH_AVCodecOnNeedInputData](#oh_avcodeconneedinputdata)。 | 458| onNeedOutputData | 监控编解码器已生成输出数据,请参见[OH_AVCodecOnNewOutputData](#oh_avcodeconnewoutputdata)。 | 459 460 461### OH_AVCodecCallback 462 463``` 464typedef struct OH_AVCodecCallback OH_AVCodecCallback 465``` 466**描述** 467OH_AVCodec中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVCodec实例中,并处理回调上报的信息,以保证OH_AVCodec的正常运行。 468 469**系统能力:** SystemCapability.Multimedia.Media.CodecBase 470 471**起始版本:** 11 472 473**参数:** 474 475| 名称 | 描述 | 476| -------- | -------- | 477| onError | 监控编解码器操作错误,请参见[OH_AVCodecOnError](#oh_avcodeconerror)。 | 478| onStreamChanged | 监控编解码器流变化,请参见[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)。 | 479| onNeedInputBuffer | 监控编解码器需要输入数据,请参见[OH_AVCodecOnNeedInputBuffer](#oh_avcodeconneedinputbuffer)。 | 480| onNewOutputBuffer | 监控编解码器已生成输出数据,请参见[OH_AVCodecOnNewOutputBuffer](#oh_avcodeconnewoutputbuffer)。 | 481 482 483### OH_AVCodecOnError 484 485``` 486typedef void(* OH_AVCodecOnError) (OH_AVCodec *codec, int32_t errorCode, void *userData) 487``` 488**描述** 489当OH_AVCodec实例运行出错时,回调将上报具体的错误信息的函数指针。 490 491| 使用场景| 错误码 | 492| -------- | -------- | 493| 音频编解码 | AV_ERR_DRM_DECRYPT_FAILED:DRM解密失败。 | 494| 视频编解码 | AV_ERROR_NO_MEMORY:系统资源不足。<br>AV_ERROR_UNKNOWN:未知错误,请通过具体日志分析。<br>AV_ERR_SERVICE_DIED:服务状态已消亡。 | 495| 视频解码 | AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION:当前输入不支持色彩空间转换功能。 | 496<!--RP1--><!--RP1End--> 497 498**系统能力:** SystemCapability.Multimedia.Media.CodecBase 499 500**起始版本:** 9 501 502**参数:** 503 504| 名称 | 描述 | 505| -------- | -------- | 506| codec | OH_AVCodec实例。 | 507| errorCode | 特定错误代码。在不同场景下返回的错误码不同,详情可见上述描述中的表格。 | 508| userData | 开发者执行回调所依赖的数据。 | 509 510 511### OH_AVCodecOnNeedInputBuffer 512 513``` 514typedef void(* OH_AVCodecOnNeedInputBuffer) (OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData) 515``` 516**描述** 517当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。 518 519**系统能力:** SystemCapability.Multimedia.Media.CodecBase 520 521**起始版本:** 11 522 523**参数:** 524 525| 名称 | 描述 | 526| -------- | -------- | 527| codec | OH_AVCodec实例。 | 528| index | 与新可用的输入缓冲区相对应的索引。 | 529| buffer | 新的可用输入缓冲区。 | 530| userData | 开发者执行回调所依赖的数据。 | 531 532 533### OH_AVCodecOnNeedInputData 534 535``` 536typedef void(* OH_AVCodecOnNeedInputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, void *userData) 537``` 538**描述** 539当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。 540 541**系统能力:** SystemCapability.Multimedia.Media.CodecBase 542 543**起始版本:** 9 544 545**废弃版本:** 11 546 547**替代接口:**[OH_AVCodecOnNeedInputBuffer](#oh_avcodeconneedinputbuffer) 548 549**参数:** 550 551| 名称 | 描述 | 552| -------- | -------- | 553| codec | OH_AVCodec实例。 | 554| index | 与新可用的输入缓冲区相对应的索引。 | 555| data | 新的可用输入缓冲区。 | 556| userData | 开发者执行回调所依赖的数据。 | 557 558 559### OH_AVCodecOnNewOutputBuffer 560 561``` 562typedef void(* OH_AVCodecOnNewOutputBuffer) (OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData) 563``` 564**描述** 565当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。 566 567**系统能力:** SystemCapability.Multimedia.Media.CodecBase 568 569**起始版本:** 11 570 571**参数:** 572 573| 名称 | 描述 | 574| -------- | -------- | 575| codec | OH_AVCodec实例。 | 576| index | 与新输出缓冲区对应的索引。 | 577| buffer | 包含新输出数据的缓冲区。 | 578| userData | 开发者执行回调所依赖的数据。 | 579 580 581### OH_AVCodecOnNewOutputData 582 583``` 584typedef void(* OH_AVCodecOnNewOutputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, OH_AVCodecBufferAttr *attr, void *userData) 585``` 586**描述** 587当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅在调用函数指针时有效,这将禁止调用结束后继续访问。 588 589**系统能力:** SystemCapability.Multimedia.Media.CodecBase 590 591**起始版本:** 9 592 593**废弃版本:** 11 594 595**替代接口:**[OH_AVCodecOnNewOutputBuffer](#oh_avcodeconnewoutputbuffer) 596 597**参数:** 598 599| 名称 | 描述 | 600| -------- | -------- | 601| codec | OH_AVCodec实例。 | 602| index | 与新输出缓冲区对应的索引。 | 603| data | 包含新输出数据的缓冲区。 | 604| attr | 新输出缓冲区的说明,请参见[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)。 | 605| userData | 开发者执行回调所依赖的数据。 | 606 607 608### OH_AVCodecOnStreamChanged 609 610``` 611typedef void(* OH_AVCodecOnStreamChanged) (OH_AVCodec *codec, OH_AVFormat *format, void *userData) 612``` 613**描述** 614当视频解码输入码流分辨率或者视频编码输出码流的分辨率发生变化时,调用此函数指针报告新的流描述信息。<br>从API 15开始,支持音频解码时,码流采样率、声道数或者音频采样格式发生变化时,将调用此函数指针报告新的流描述信息,支持检测此变化的解码格式有:<!--RP3--><!--RP3End-->AAC,FLAC,MP3,VORBIS。<br>需要注意的是,OH_AVFormat指针的生命周期只有在函数指针被调用时才有效,调用结束后禁止继续访问。 615 616**系统能力:** SystemCapability.Multimedia.Media.CodecBase 617 618**起始版本:** 9 619 620**参数:** 621 622| 名称 | 描述 | 623| -------- | -------- | 624| codec | OH_AVCodec实例。 | 625| format | 新输出流描述信息。 | 626| userData | 开发者执行回调所依赖的数据。 | 627 628 629### OH_AVCProfile 630 631``` 632typedef enum OH_AVCProfile OH_AVCProfile 633``` 634**描述** 635AVC档次。 636 637**系统能力:** SystemCapability.Multimedia.Media.CodecBase 638 639**起始版本:** 9 640 641 642### OH_AVDataSource 643 644``` 645typedef struct OH_AVDataSource OH_AVDataSource 646``` 647**描述** 648用户自定义数据源。 649 650**系统能力:** SystemCapability.Multimedia.Media.CodecBase 651 652**起始版本:** 12 653 654 655### OH_AVDataSourceReadAt 656 657``` 658typedef int32_t(* OH_AVDataSourceReadAt) (OH_AVBuffer *data, int32_t length, int64_t pos) 659``` 660**描述** 661函数指针定义,用于提供获取用户自定义媒体数据的能力。 662 663**系统能力:** SystemCapability.Multimedia.Media.CodecBase 664 665**起始版本:** 12 666 667**参数:** 668 669| 名称 | 描述 | 670| -------- | -------- | 671| data | 要填充的缓冲区。 | 672| length | 要读取的数据长度。 | 673| pos | 从偏移量位置读取。 | 674 675**返回:** 676 677读取到缓冲区的数据的实际长度。 678 679 680### OH_AVDataSourceExt 681 682``` 683typedef struct OH_AVDataSourceExt OH_AVDataSourceExt 684``` 685**描述** 686用户自定义数据源。 687 688**系统能力:** SystemCapability.Multimedia.Media.CodecBase 689 690**起始版本:** 20 691 692 693### OH_AVDataSourceReadAtExt 694 695``` 696typedef int32_t (*OH_AVDataSourceReadAtExt)(OH_AVBuffer *data, int32_t length, int64_t pos, void *userData) 697``` 698**描述** 699函数指针定义,用于提供获取用户自定义媒体数据的能力。 700 701**系统能力:** SystemCapability.Multimedia.Media.CodecBase 702 703**起始版本:** 20 704 705**参数:** 706 707| 名称 | 描述 | 708| -------- | -------- | 709| data | 要填充的缓冲区。 | 710| length | 要读取的数据长度。 | 711| pos | 从偏移量位置读取。 | 712| userData | 用户自定义数据。 | 713 714**返回:** 715 716读取到缓冲区的数据的实际长度。 717 718 719### OH_AVOutputFormat 720 721``` 722typedef enum OH_AVOutputFormat OH_AVOutputFormat 723``` 724**描述** 725封装器支持的输出文件格式。 726 727**系统能力:** SystemCapability.Multimedia.Media.CodecBase 728 729**起始版本:** 10 730 731 732### OH_AVSeekMode 733 734``` 735typedef enum OH_AVSeekMode OH_AVSeekMode 736``` 737**描述** 738跳转模式。 739 740**系统能力:** SystemCapability.Multimedia.Media.CodecBase 741 742**起始版本:** 10 743 744 745### OH_BitsPerSample 746 747``` 748typedef enum OH_BitsPerSample OH_BitsPerSample 749``` 750**描述** 751每个编码样本的音频位数。 752 753**系统能力:** SystemCapability.Multimedia.Media.CodecBase 754 755**起始版本:** 10 756 757 758### OH_ColorPrimary 759 760``` 761typedef enum OH_ColorPrimary OH_ColorPrimary 762``` 763**描述** 764色域。 765 766**系统能力:** SystemCapability.Multimedia.Media.CodecBase 767 768**起始版本:** 10 769 770 771### OH_HEVCLevel 772 773``` 774typedef enum OH_HEVCLevel OH_HEVCLevel 775``` 776**描述** 777HEVC级别。 778 779**系统能力:** SystemCapability.Multimedia.Media.CodecBase 780 781**起始版本:** 12 782 783 784### OH_HEVCProfile 785 786``` 787typedef enum OH_HEVCProfile OH_HEVCProfile 788``` 789**描述** 790HEVC档次。 791 792**系统能力:** SystemCapability.Multimedia.Media.CodecBase 793 794**起始版本:** 10 795 796 797### OH_MatrixCoefficient 798 799``` 800typedef enum OH_MatrixCoefficient OH_MatrixCoefficient 801``` 802**描述** 803矩阵系数。 804 805**系统能力:** SystemCapability.Multimedia.Media.CodecBase 806 807**起始版本:** 10 808 809 810### OH_MediaType 811 812``` 813typedef enum OH_MediaType OH_MediaType 814``` 815**描述** 816媒体类型。 817 818**系统能力:** SystemCapability.Multimedia.Media.CodecBase 819 820**起始版本:** 9 821 822 823### OH_MPEG2Level 824 825``` 826typedef enum OH_MPEG2Level OH_MPEG2Level 827``` 828 829**描述** 830 831MPEG2级别。 832 833**系统能力:** SystemCapability.Multimedia.Media.CodecBase 834 835**起始版本:** 17 836 837 838### OH_MPEG2Profile 839 840``` 841typedef enum OH_MPEG2Profile OH_MPEG2Profile 842``` 843 844**描述** 845 846MPEG2档次。 847 848**系统能力:** SystemCapability.Multimedia.Media.CodecBase 849 850**起始版本:** 17 851 852 853### OH_MPEG4Level 854 855``` 856typedef enum OH_MPEG4Level OH_MPEG4Level 857``` 858 859**描述** 860 861MPEG4级别。 862 863**系统能力:** SystemCapability.Multimedia.Media.CodecBase 864 865**起始版本:** 17 866 867 868### OH_MPEG4Profile 869 870``` 871typedef enum OH_MPEG4Profile OH_MPEG4Profile 872``` 873 874**描述** 875 876MPEG4档次。 877 878**系统能力:** SystemCapability.Multimedia.Media.CodecBase 879 880**起始版本:** 17 881 882 883### OH_ScalingMode 884 885``` 886typedef enum OH_ScalingMode OH_ScalingMode 887``` 888**描述** 889缩放模式,只在Surface模式下使用。 890 891**系统能力:** SystemCapability.Multimedia.Media.CodecBase 892 893**起始版本:** 10 894 895**废弃版本:** 14 896 897**替代接口:**[OHScalingModeV2](../apis-arkgraphics2d/capi-external-window-h.md#ohscalingmodev2) 898 899 900### OH_TemporalGopReferenceMode 901 902``` 903typedef enum OH_TemporalGopReferenceMode OH_TemporalGopReferenceMode 904``` 905**描述** 906时域图片组参考模式。 907 908**系统能力:** SystemCapability.Multimedia.Media.CodecBase 909 910**起始版本:** 12 911 912### OH_VVCLevel 913 914``` 915typedef enum OH_VVCLevel OH_VVCLevel 916``` 917**描述** 918VVC级别。 919 920**系统能力:** SystemCapability.Multimedia.Media.CodecBase 921 922**起始版本:** 15 923 924 925### OH_VVCProfile 926 927``` 928typedef enum OH_VVCProfile OH_VVCProfile 929``` 930**描述** 931VVC档次。 932 933**系统能力:** SystemCapability.Multimedia.Media.CodecBase 934 935**起始版本:** 15 936 937 938### OH_H263Level 939 940``` 941typedef enum OH_H263Level OH_H263Level 942``` 943**描述** 944H.263级别。 945 946**系统能力:** SystemCapability.Multimedia.Media.CodecBase 947 948**起始版本:** 17 949 950 951### OH_H263Profile 952 953``` 954typedef enum OH_H263Profile OH_H263Profile 955``` 956**描述** 957H.263档次。 958 959**系统能力:** SystemCapability.Multimedia.Media.CodecBase 960 961**起始版本:** 17 962 963 964### OH_TransferCharacteristic 965 966``` 967typedef enum OH_TransferCharacteristic OH_TransferCharacteristic 968``` 969**描述** 970转移特性。 971 972**系统能力:** SystemCapability.Multimedia.Media.CodecBase 973 974**起始版本:** 10 975 976 977### OH_BitrateMode 978 979``` 980typedef enum OH_BitrateMode OH_BitrateMode 981``` 982**描述** 983编码器的比特率模式。从API14开始改变key的位置。 984 985**系统能力:** SystemCapability.Multimedia.Media.CodecBase 986 987**起始版本:** 10 988 989 990### OHNativeWindow 991 992``` 993typedef struct NativeWindow OHNativeWindow 994``` 995**描述** 996为图形接口定义native层对象。 997 998**起始版本:** 9 999 1000 1001## 枚举类型说明 1002 1003 1004### AudioChannelLayout 1005 1006``` 1007enum AudioChannelLayout : uint64_t 1008``` 1009 1010**描述** 1011音频声道数类型,将用户申请的解码器输出格式表示为编解码器的声道类型。 1012 1013**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1014 1015**起始版本:** 10 1016 1017**废弃版本:** 11 1018 1019**替代接口:**[OH_AudioChannelLayout](_core.md#oh_audiochannellayout) 1020 1021| 枚举值 | 描述 | 1022| -------- | -------- | 1023| UNKNOWN_CHANNEL_LAYOUT | 未知通道布局 | 1024| MONO | 单通道布局 | 1025| STEREO | 立体声布局 | 1026| CH_2POINT1 | 2.1布局 | 1027| CH_2_1 | 2_1布局 | 1028| SURROUND | 环绕布局 | 1029| CH_3POINT1 | 3.1布局 | 1030| CH_4POINT0 | 4.0布局 | 1031| CH_4POINT1 | 4.1布局 | 1032| CH_2_2 | 2_2布局 | 1033| QUAD | 四角形布局 | 1034| CH_5POINT0 | 5.0布局 | 1035| CH_5POINT1 | 5.1布局 | 1036| CH_5POINT0_BACK | 5.0后置布局 | 1037| CH_5POINT1_BACK | 5.1后置布局 | 1038| CH_6POINT0 | 6.0布局 | 1039| CH_6POINT0_FRONT | 6.0前置布局 | 1040| HEXAGONAL | 六角形布局 | 1041| CH_6POINT1 | 6.1布局 | 1042| CH_6POINT1_BACK | 6.1后置布局 | 1043| CH_6POINT1_FRONT | 6.1前置布局 | 1044| CH_7POINT0 | 7.0布局 | 1045| CH_7POINT0_FRONT | 7.0前置布局 | 1046| CH_7POINT1 | 7.1布局 | 1047| CH_7POINT1_WIDE | 7.1宽布局 | 1048| CH_7POINT1_WIDE_BACK | 7.1后置宽布局 | 1049| CH_3POINT1POINT2 | 3.1.2布局 | 1050| CH_5POINT1POINT2 | 5.1.2布局 | 1051| CH_5POINT1POINT4 | 5.1.4布局 | 1052| CH_7POINT1POINT2 | 7.1.2布局 | 1053| CH_7POINT1POINT4 | 7.1.4布局 | 1054| CH_9POINT1POINT4 | 9.1.4布局 | 1055| CH_9POINT1POINT6 | 9.1.6布局 | 1056| CH_10POINT2 | 10.2布局 | 1057| CH_22POINT2 | 22.2布局 | 1058| OCTAGONAL | 八边形布局 | 1059| HEXADECAGONAL | 十六边形布局 | 1060| STEREO_DOWNMIX | 立体声下混布局 | 1061| HOA_FIRST | 高阶立体声一阶布局 | 1062| HOA_SECOND | 高阶立体声二阶布局 | 1063| HOA_THIRD | 高阶立体声三阶布局 | 1064 1065 1066### AudioChannelSet 1067 1068``` 1069enum AudioChannelSet : uint64_t 1070``` 1071 1072**描述** 1073音频声道数集合, 将每一个声道数映射为int64_t的变量。 1074 1075**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1076 1077**起始版本:** 10 1078 1079**废弃版本:** 11 1080 1081**替代接口:**[OH_AudioChannelSet](_core.md#oh_audiochannelset) 1082 1083| 枚举值 | 描述 | 1084| -------- | -------- | 1085| FRONT_LEFT | 左前声道 | 1086| FRONT_RIGHT | 右前声道 | 1087| FRONT_CENTER | 中前声道 | 1088| LOW_FREQUENCY | 低频声道 | 1089| BACK_LEFT | 左后声道 | 1090| BACK_RIGHT | 右后声道 | 1091| FRONT_LEFT_OF_CENTER | 左前中置声道 | 1092| FRONT_RIGHT_OF_CENTER | 右前中置声道 | 1093| BACK_CENTER | 后方中置声道 | 1094| SIDE_LEFT | 左侧声道 | 1095| SIDE_RIGHT | 右侧声道 | 1096| TOP_CENTER | 上方中置声道 | 1097| TOP_FRONT_LEFT | 上方左前声道 | 1098| TOP_FRONT_CENTER | 上方中前声道 | 1099| TOP_FRONT_RIGHT | 上方右前声道 | 1100| TOP_BACK_LEFT | 上方左后声道 | 1101| TOP_BACK_CENTER | 上方中后声道 | 1102| TOP_BACK_RIGHT | 上方右后声道 | 1103| STEREO_LEFT | 立体声左声道 | 1104| STEREO_RIGHT | 立体声右声道 | 1105| WIDE_LEFT | 宽左声道 | 1106| WIDE_RIGHT | 宽右声道 | 1107| SURROUND_DIRECT_LEFT | 左环绕声道 | 1108| SURROUND_DIRECT_RIGHT | 右环绕声道 | 1109| LOW_FREQUENCY_2 | 低频声道2 | 1110| TOP_SIDE_LEFT | 上方左侧声道 | 1111| TOP_SIDE_RIGHT | 上方右侧声道 | 1112| BOTTOM_FRONT_CENTER | 下方中前声道 | 1113| BOTTOM_FRONT_LEFT | 下方左前声道 | 1114| BOTTOM_FRONT_RIGHT | 下方右前声道 | 1115| AMBISONICS_ACN0 | 零阶立体声声道数 0 | 1116| AMBISONICS_ACN1 | 一阶立体声声道数 1 | 1117| AMBISONICS_ACN2 | 一阶立体声声道数 2 | 1118| AMBISONICS_ACN3 | 一阶立体声声道数 3 | 1119| AMBISONICS_W | 同于零阶立体声声道数 0 | 1120| AMBISONICS_Y | 同于一阶立体声声道数 1 | 1121| AMBISONICS_Z | 同于一阶立体声声道数 2 | 1122| AMBISONICS_X | 同于一阶立体声声道数 3 | 1123| AMBISONICS_ACN4 | 二阶立体声声道数 4 | 1124| AMBISONICS_ACN5 | 二阶立体声声道数 5 | 1125| AMBISONICS_ACN6 | 二阶立体声声道数 6 | 1126| AMBISONICS_ACN7 | 二阶立体声声道数 7 | 1127| AMBISONICS_ACN8 | 二阶立体声声道数 8 | 1128| AMBISONICS_ACN9 | 三阶立体声声道数 9 | 1129| AMBISONICS_ACN10 | 三阶立体声声道数 10 | 1130| AMBISONICS_ACN11 | 三阶立体声声道数 11 | 1131| AMBISONICS_ACN12 | 三阶立体声声道数 12 | 1132| AMBISONICS_ACN13 | 三阶立体声声道数 13 | 1133| AMBISONICS_ACN14 | 三阶立体声声道数 14 | 1134| AMBISONICS_ACN15 | 三阶立体声声道数 15 | 1135 1136 1137### OH_AACProfile 1138 1139``` 1140enum OH_AACProfile 1141``` 1142**描述** 1143AAC档次。 1144 1145**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1146 1147**起始版本:** 9 1148 1149| 枚举值 | 描述 | 1150| -------- | -------- | 1151| AAC_PROFILE_LC | AAC编码档次为Low Complexity级别。 | 1152| AAC_PROFILE_HE | AAC编码档次为High Efficiency级别。<!--Del-->(此规格暂未开放)<!--DelEnd--> <br>**起始版本:** 14 | 1153| AAC_PROFILE_HE_V2 | AAC编码档次为High Efficiency v2级别。<!--Del-->(此规格暂未开放)<!--DelEnd--> <br>**起始版本:** 14 | 1154 1155 1156### OH_AVCLevel 1157 1158``` 1159enum OH_AVCLevel 1160``` 1161**描述** 1162AVC级别。 1163 1164**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1165 1166**起始版本:** 12 1167 1168| 枚举值 | 描述 | 1169| -------- | -------- | 1170| AVC_LEVEL_1 | 级别1 | 1171| AVC_LEVEL_1b | 级别1b | 1172| AVC_LEVEL_11 | 级别1.1 | 1173| AVC_LEVEL_12 | 级别1.2 | 1174| AVC_LEVEL_13 | 级别1.3 | 1175| AVC_LEVEL_2 | 级别2 | 1176| AVC_LEVEL_21 | 级别2.1 | 1177| AVC_LEVEL_22 | 级别2.2 | 1178| AVC_LEVEL_3 | 级别3 | 1179| AVC_LEVEL_31 | 级别3.1 | 1180| AVC_LEVEL_32 | 级别3.2 | 1181| AVC_LEVEL_4 | 级别4 | 1182| AVC_LEVEL_41 | 级别4.1 | 1183| AVC_LEVEL_42 | 级别4.2 | 1184| AVC_LEVEL_5 | 级别5 | 1185| AVC_LEVEL_51 | 级别5.1 | 1186| AVC_LEVEL_52 | 级别5.2 | 1187| AVC_LEVEL_6 | 级别6 | 1188| AVC_LEVEL_61 | 级别6.1 | 1189| AVC_LEVEL_62 | 级别6.2 | 1190 1191 1192### OH_AVCProfile 1193 1194``` 1195enum OH_AVCProfile 1196``` 1197**描述** 1198AVC档次。 1199 1200**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1201 1202**起始版本:** 9 1203 1204| 枚举值 | 描述 | 1205| -------- | -------- | 1206| AVC_PROFILE_BASELINE | AVC编码档次为基本档次。 | 1207| AVC_PROFILE_HIGH | AVC编码档次为高档次。 | 1208| AVC_PROFILE_MAIN | AVC编码档次为主档次。 | 1209 1210 1211### OH_AVOutputFormat 1212 1213``` 1214enum OH_AVOutputFormat 1215``` 1216**描述** 1217封装器支持的输出文件格式。 1218 1219**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1220 1221**起始版本:** 10 1222 1223| 枚举值 | 描述 | 1224| -------- | -------- | 1225| AV_OUTPUT_FORMAT_DEFAULT | 输出文件格式默认值,默认为MP4格式。 | 1226| AV_OUTPUT_FORMAT_MPEG_4 | 输出文件格式为MP4格式。 | 1227| AV_OUTPUT_FORMAT_M4A | 输出文件格式为M4A格式。 | 1228| AV_OUTPUT_FORMAT_AMR | 输出文件格式为AMR格式。<br>**起始版本:** 12 | 1229| AV_OUTPUT_FORMAT_MP3 | 输出文件格式为MP3格式。<br>**起始版本:** 12 | 1230| AV_OUTPUT_FORMAT_WAV | 输出文件格式为WAV格式。<br>**起始版本:** 12 | 1231| AV_OUTPUT_FORMAT_AAC | 输出文件格式为AAC格式。<br>**起始版本:** 18 | 1232| AV_OUTPUT_FORMAT_FLAC | 输出文件格式为FLAC格式。<br>**起始版本:** 20 | 1233 1234### OH_AVSeekMode 1235 1236``` 1237enum OH_AVSeekMode 1238``` 1239**描述** 1240跳转模式。 1241 1242**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1243 1244**起始版本:** 10 1245 1246| 枚举值 | 描述 | 1247| -------- | -------- | 1248| SEEK_MODE_NEXT_SYNC | 指定时间位置的下一I帧。若时间点后没有I帧,该模式可能跳转失败。 | 1249| SEEK_MODE_PREVIOUS_SYNC | 指定时间位置的上一I帧。 | 1250| SEEK_MODE_CLOSEST_SYNC | 指定时间位置的最近I帧。 | 1251 1252 1253### OH_BitsPerSample 1254 1255``` 1256enum OH_BitsPerSample 1257``` 1258**描述** 1259每个编码样本的音频位数。 1260 1261**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1262 1263**起始版本:** 10 1264 1265| 枚举值 | 描述 | 1266| -------- | -------- | 1267| SAMPLE_U8 | 8位无符号整数采样。 | 1268| SAMPLE_S16LE | 16位有符号整数采样。 | 1269| SAMPLE_S24LE | 24位有符号整数采样。 | 1270| SAMPLE_S32LE | 32位有符号整数采样。 | 1271| SAMPLE_F32LE | 32位浮点采样。 | 1272| SAMPLE_U8P | 8位无符号整数平面采样。 | 1273| SAMPLE_S16P | 16位有符号整数平面采样。 | 1274| SAMPLE_S24P | 24位有符号整数平面采样。 | 1275| SAMPLE_S32P | 32位有符号整数平面采样。 | 1276| SAMPLE_F32P | 32位浮点平面采样。 | 1277| INVALID_WIDTH | 无效采样格式。 | 1278 1279 1280### OH_ColorPrimary 1281 1282``` 1283enum OH_ColorPrimary 1284``` 1285**描述** 1286色域。编解码都支持。 1287 1288**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1289 1290**起始版本:** 10 1291 1292| 枚举值 | 描述 | 1293| -------- | -------- | 1294| COLOR_PRIMARY_BT709 | BT709色域。 | 1295| COLOR_PRIMARY_UNSPECIFIED | 未指定色域。 | 1296| COLOR_PRIMARY_BT470_M | BT470_M色域。 | 1297| COLOR_PRIMARY_BT601_625 | BT601_625色域。 | 1298| COLOR_PRIMARY_BT601_525 | BT601_525色域。 | 1299| COLOR_PRIMARY_SMPTE_ST240 | SMPTE_ST240色域。 | 1300| COLOR_PRIMARY_GENERIC_FILM | GENERIC_FILM色域。 | 1301| COLOR_PRIMARY_BT2020 | BT2020色域。 | 1302| COLOR_PRIMARY_SMPTE_ST428 | SMPTE_ST428色域。 | 1303| COLOR_PRIMARY_P3DCI | P3DCI色域。 | 1304| COLOR_PRIMARY_P3D65 | P3D65色域。 | 1305 1306 1307### OH_HEVCLevel 1308 1309``` 1310enum OH_HEVCLevel 1311``` 1312**描述** 1313HEVC级别。 1314 1315**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1316 1317**起始版本:** 12 1318 1319| 枚举值 | 描述 | 1320| -------- | -------- | 1321| HEVC_LEVEL_1 | 级别1 | 1322| HEVC_LEVEL_2 | 级别2 | 1323| HEVC_LEVEL_21 | 级别2.1 | 1324| HEVC_LEVEL_3 | 级别3 | 1325| HEVC_LEVEL_31 | 级别3.1 | 1326| HEVC_LEVEL_4 | 级别4 | 1327| HEVC_LEVEL_41 | 级别4.1 | 1328| HEVC_LEVEL_5 | 级别5 | 1329| HEVC_LEVEL_51 | 级别5.1 | 1330| HEVC_LEVEL_52 | 级别5.2 | 1331| HEVC_LEVEL_6 | 级别6 | 1332| HEVC_LEVEL_61 | 级别6.1 | 1333| HEVC_LEVEL_62 | 级别6.2 | 1334 1335 1336### OH_HEVCProfile 1337 1338``` 1339enum OH_HEVCProfile 1340``` 1341**描述** 1342HEVC档次。 1343 1344**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1345 1346**起始版本:** 10 1347 1348| 枚举值 | 描述 | 1349| -------- | -------- | 1350| HEVC_PROFILE_MAIN | HEVC编码档次为主档次。 | 1351| HEVC_PROFILE_MAIN_10 | HEVC编码档次为10bit主档次。 | 1352| HEVC_PROFILE_MAIN_STILL | HEVC编码档次为静止图像主档次。 | 1353| HEVC_PROFILE_MAIN_10_HDR10 | HEVC编码档次为HDR10主档次。(API14废弃) | 1354| HEVC_PROFILE_MAIN_10_HDR10_PLUS | HEVC编码档次为HDR10+主档次。(API14废弃) | 1355 1356 1357### OH_MatrixCoefficient 1358 1359``` 1360enum OH_MatrixCoefficient 1361``` 1362**描述** 1363矩阵系数。编解码都支持。 1364 1365**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1366 1367**起始版本:** 10 1368 1369| 枚举值 | 描述 | 1370| -------- | -------- | 1371| MATRIX_COEFFICIENT_IDENTITY | 单位矩阵。 | 1372| MATRIX_COEFFICIENT_BT709 | BT709转换矩阵。 | 1373| MATRIX_COEFFICIENT_UNSPECIFIED | 未指定转换矩阵。 | 1374| MATRIX_COEFFICIENT_FCC | FCC转换矩阵。 | 1375| MATRIX_COEFFICIENT_BT601_625 | BT601_625转换矩阵。 | 1376| MATRIX_COEFFICIENT_BT601_525 | BT601_525转换矩阵。 | 1377| MATRIX_COEFFICIENT_SMPTE_ST240 | SMPTE_ST240转换矩阵。 | 1378| MATRIX_COEFFICIENT_YCGCO | YCGCO转换矩阵。 | 1379| MATRIX_COEFFICIENT_BT2020_NCL | BT2020_NCL转换矩阵。 | 1380| MATRIX_COEFFICIENT_BT2020_CL | BT2020_CL转换矩阵。 | 1381| MATRIX_COEFFICIENT_SMPTE_ST2085 | SMPTE_ST2085转换矩阵。 | 1382| MATRIX_COEFFICIENT_CHROMATICITY_NCL | CHROMATICITY_NCL转换矩阵。 | 1383| MATRIX_COEFFICIENT_CHROMATICITY_CL | CHROMATICITY_CL转换矩阵。 | 1384| MATRIX_COEFFICIENT_ICTCP | ICTCP转换矩阵。 | 1385 1386 1387### OH_MediaType 1388 1389``` 1390enum OH_MediaType 1391``` 1392**描述** 1393媒体类型。 1394 1395**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1396 1397**起始版本:** 9 1398 1399| 枚举值 | 描述 | 1400| -------- | -------- | 1401| MEDIA_TYPE_AUD | 音频轨。 | 1402| MEDIA_TYPE_VID | 视频轨。 | 1403| MEDIA_TYPE_SUBTITLE | 字幕轨。 <br>**起始版本:** 12 | 1404| MEDIA_TYPE_TIMED_METADATA | timed metadata轨。 <br>**起始版本:** 20 | 1405| MEDIA_TYPE_AUXILIARY | 辅助轨。 <br>**起始版本:** 20 | 1406 1407### OH_MPEG2Level 1408 1409``` 1410enum OH_MPEG2Level 1411``` 1412 1413**描述** 1414 1415MPEG2级别。 1416 1417**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1418 1419**起始版本:** 17 1420 1421| 枚举值 | 描述 | 1422| -------- | -------- | 1423| MPEG2_LEVEL_LL | 低级别。 | 1424| MPEG2_LEVEL_ML | 主级别。 | 1425| MPEG2_LEVEL_H14 | 高1440级别。 | 1426| MPEG2_LEVEL_HL | 高级别。 | 1427 1428 1429### OH_MPEG2Profile 1430 1431``` 1432enum OH_MPEG2Profile 1433``` 1434 1435**描述** 1436 1437MPEG2档次。 1438 1439**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1440 1441**起始版本:** 17 1442 1443| 枚举值 | 描述 | 1444| -------- | -------- | 1445| MPEG2_PROFILE_SIMPLE | 简单档次。 | 1446| MPEG2_PROFILE_MAIN | 主档次。 | 1447| MPEG2_PROFILE_SNR | 信噪比可分级档次。 | 1448| MPEG2_PROFILE_SPATIAL | 空间可分级档次。 | 1449| MPEG2_PROFILE_HIGH | 高级档次。 | 1450| MPEG2_PROFILE_422 | 4:2:2档次。 | 1451 1452 1453### OH_MPEG4Level 1454 1455``` 1456enum OH_MPEG4Level 1457``` 1458 1459**描述** 1460 1461MPEG4级别。 1462 1463**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1464 1465**起始版本:** 17 1466 1467| 枚举值 | 描述 | 1468| -------- | -------- | 1469| MPEG4_LEVEL_0 | 级别0 | 1470| MPEG4_LEVEL_0B | 级别0B。 | 1471| MPEG4_LEVEL_1 | 级别1。 | 1472| MPEG4_LEVEL_2 | 级别2。 | 1473| MPEG4_LEVEL_3 | 级别3。 | 1474| MPEG4_LEVEL_3B | 级别3B。 | 1475| MPEG4_LEVEL_4 | 级别4。 | 1476| MPEG4_LEVEL_4A | 级别4A。 | 1477| MPEG4_LEVEL_5 | 级别5。 | 1478| MPEG4_LEVEL_6 | 级别6。 | 1479 1480 1481### OH_MPEG4Profile 1482 1483``` 1484enum OH_MPEG4Profile 1485``` 1486 1487**描述** 1488 1489MPEG4档次。 1490 1491**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1492 1493**起始版本:** 17 1494 1495| 枚举值 | 描述 | 1496| -------- | -------- | 1497| MPEG4_PROFILE_SIMPLE | 简单档次。 | 1498| MPEG4_PROFILE_SIMPLE_SCALABLE | 简单可分级档次。 | 1499| MPEG4_PROFILE_CORE | 核心档次。 | 1500| MPEG4_PROFILE_MAIN | 主档次。 | 1501| MPEG4_PROFILE_NBIT | N位档次。 | 1502| MPEG4_PROFILE_HYBRID | 混合档次。 | 1503| MPEG4_PROFILE_BASIC_ANIMATED_TEXTURE | 基本动画纹理档次。 | 1504| MPEG4_PROFILE_SCALABLE_TEXTURE | 可分级纹理档次。 | 1505| MPEG4_PROFILE_SIMPLE_FA | 简单FA档次。 | 1506| MPEG4_PROFILE_ADVANCED_REAL_TIME_SIMPLE | 高级实时简单档次。 | 1507| MPEG4_PROFILE_CORE_SCALABLE | 核心可分级档次。 | 1508| MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY | 高级编码效率档次。 | 1509| MPEG4_PROFILE_ADVANCED_CORE | 高级核心档次。 | 1510| MPEG4_PROFILE_ADVANCED_SCALABLE_TEXTURE | 高级可分级纹理档次。 | 1511| MPEG4_PROFILE_ADVANCED_SIMPLE | 高级简单档次。 | 1512 1513 1514### OH_ScalingMode 1515 1516``` 1517enum OH_ScalingMode 1518``` 1519**描述** 1520缩放模式,只在Surface模式下使用。 1521 1522**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1523 1524**起始版本:** 10 1525 1526**废弃版本:** 14 1527 1528**替代接口:** [OHScalingModeV2](../apis-arkgraphics2d/capi-external-window-h.md#ohscalingmodev2).OH_SCALING_MODE_SCALE_TO_WINDOW_V2、 1529[OHScalingModeV2](../apis-arkgraphics2d/capi-external-window-h.md#ohscalingmodev2).OH_SCALING_MODE_SCALE_CROP_V2 1530 1531| 枚举值 | 描述 | 1532| -------- | -------- | 1533| SCALING_MODE_SCALE_TO_WINDOW | 根据窗口尺寸自适应调整图像大小。 | 1534| SCALING_MODE_SCALE_CROP | 根据窗口尺寸裁剪图像大小。 | 1535 1536 1537 1538### OH_TemporalGopReferenceMode 1539 1540``` 1541enum OH_TemporalGopReferenceMode 1542``` 1543**描述** 1544时域图片组参考模式。 1545 1546**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1547 1548**起始版本:** 12 1549 1550| 枚举值 | 描述 | 1551| -------- | -------- | 1552| ADJACENT_REFERENCE | 参考最近的短期参考帧。 | 1553| JUMP_REFERENCE | 参考最近的长期参考帧。 | 1554| UNIFORMLY_SCALED_REFERENCE | 均匀分层参考结构,在丢弃最高层级视频帧后,视频帧均匀分布。其中时域图片组个数必须为2的幂。 | 1555 1556 1557### OH_VVCLevel 1558 1559``` 1560enum OH_VVCLevel 1561``` 1562**描述** 1563VVC级别。 1564 1565**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1566 1567**起始版本:** 15 1568 1569| 枚举值 | 描述 | 1570| -------- | -------- | 1571| VVC_LEVEL_1 | 级别1.0 | 1572| VVC_LEVEL_2 | 级别2.0 | 1573| VVC_LEVEL_21 | 级别2.1 | 1574| VVC_LEVEL_3 | 级别3.0 | 1575| VVC_LEVEL_31 | 级别3.1 | 1576| VVC_LEVEL_4 | 级别4.0 | 1577| VVC_LEVEL_41 | 级别4.1 | 1578| VVC_LEVEL_5 | 级别5.0 | 1579| VVC_LEVEL_51 | 级别5.1 | 1580| VVC_LEVEL_52 | 级别5.2 | 1581| VVC_LEVEL_6 | 级别6.0 | 1582| VVC_LEVEL_61 | 级别6.1 | 1583| VVC_LEVEL_62 | 级别6.2 | 1584| VVC_LEVEL_63 | 级别6.3 | 1585| VVC_LEVEL_155 | 级别15.5 | 1586 1587 1588### OH_VVCProfile 1589 1590``` 1591enum OH_VVCProfile 1592``` 1593**描述** 1594VVC档次。 1595 1596**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1597 1598**起始版本:** 15 1599 1600| 枚举值 | 描述 | 1601| -------- | -------- | 1602| VVC_PROFILE_MAIN_10 | VVC编码档次为10bit主档次。 | 1603| VVC_PROFILE_MAIN_12 | VVC编码档次为12bit主档次。 | 1604| VVC_PROFILE_MAIN_12_INTRA | VVC编码档次为12bit帧内主档次。 | 1605| VVC_PROFILE_MULTI_MAIN_10 | VVC编码档次为多层编码10bit主档次。 | 1606| VVC_PROFILE_MAIN_10_444 | VVC编码档次为10bit全采样主档次。 | 1607| VVC_PROFILE_MAIN_12_444 | VVC编码档次为12bit全采样主档次。 | 1608| VVC_PROFILE_MAIN_16_444 | VVC编码档次为16bit全采样主档次。 | 1609| VVC_PROFILE_MAIN_12_444_INTRA | VVC编码档次为12bit全采样帧内主档次。 | 1610| VVC_PROFILE_MAIN_16_444_INTRA | VVC编码档次为16bit全采样帧内主档次。 | 1611| VVC_PROFILE_MULTI_MAIN_10_444 | VVC编码档次为多层编码10bit全采样主档次。 | 1612| VVC_PROFILE_MAIN_10_STILL | VVC编码档次为10bit静止图像主档次。 | 1613| VVC_PROFILE_MAIN_12_STILL | VVC编码档次为12bit静止图像主档次。 | 1614| VVC_PROFILE_MAIN_10_444_STILL | VVC编码档次为10bit全采样静止图像主档次。 | 1615| VVC_PROFILE_MAIN_12_444_STILL | VVC编码档次为12bit全采样静止图像主档次。 | 1616| VVC_PROFILE_MAIN_16_444_STILL | VVC编码档次为16bit全采样静止图像主档次。 | 1617 1618 1619### OH_H263Level 1620 1621``` 1622enum OH_H263Level 1623``` 1624**描述** 1625H.263级别。 1626 1627**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1628 1629**起始版本:** 17 1630 1631| 枚举值 | 描述 | 1632| -------- | -------- | 1633| H263_LEVEL_10 | 级别10。 | 1634| H263_LEVEL_20 | 级别20。 | 1635| H263_LEVEL_30 | 级别30。 | 1636| H263_LEVEL_40 | 级别40。 | 1637| H263_LEVEL_45 | 级别45。 | 1638| H263_LEVEL_50 | 级别50。 | 1639| H263_LEVEL_60 | 级别60。 | 1640| H263_LEVEL_70 | 级别70。 | 1641 1642 1643### OH_H263Profile 1644 1645``` 1646enum OH_H263Profile 1647``` 1648**描述** 1649H.263档次。 1650 1651**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1652 1653**起始版本:** 17 1654 1655| 枚举值 | 描述 | 1656| -------- | -------- | 1657| H263_PROFILE_BASELINE | 基线档次。 | 1658| H263_PROFILE_VERSION_1_BACKWARD_COMPATIBILITY | 版本1向后兼容档次。 | 1659 1660 1661### OH_TransferCharacteristic 1662 1663``` 1664enum OH_TransferCharacteristic 1665``` 1666**描述** 1667转移特性。编解码都支持。 1668 1669**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1670 1671**起始版本:** 10 1672 1673| 枚举值 | 描述 | 1674| -------- | -------- | 1675| TRANSFER_CHARACTERISTIC_BT709 | BT709传递函数。 | 1676| TRANSFER_CHARACTERISTIC_UNSPECIFIED | 未指定传递函数。 | 1677| TRANSFER_CHARACTERISTIC_GAMMA_2_2 | GAMMA_2_2传递函数。 | 1678| TRANSFER_CHARACTERISTIC_GAMMA_2_8 | GAMMA_2_8传递函数。 | 1679| TRANSFER_CHARACTERISTIC_BT601 | BT601传递函数。 | 1680| TRANSFER_CHARACTERISTIC_SMPTE_ST240 | SMPTE_ST240传递函数。 | 1681| TRANSFER_CHARACTERISTIC_LINEAR | LINEAR传递函数。 | 1682| TRANSFER_CHARACTERISTIC_LOG | LOG传递函数。 | 1683| TRANSFER_CHARACTERISTIC_LOG_SQRT | LOG_SQRT传递函数。 | 1684| TRANSFER_CHARACTERISTIC_IEC_61966_2_4 | IEC_61966_2_4传递函数。 | 1685| TRANSFER_CHARACTERISTIC_BT1361 | BT1361传递函数。 | 1686| TRANSFER_CHARACTERISTIC_IEC_61966_2_1 | IEC_61966_2_1传递函数。 | 1687| TRANSFER_CHARACTERISTIC_BT2020_10BIT | BT2020_10BIT传递函数。 | 1688| TRANSFER_CHARACTERISTIC_BT2020_12BIT | BT2020_12BIT传递函数。 | 1689| TRANSFER_CHARACTERISTIC_PQ | PQ传递函数。 | 1690| TRANSFER_CHARACTERISTIC_SMPTE_ST428 | SMPTE_ST428传递函数。 | 1691| TRANSFER_CHARACTERISTIC_HLG | HLG传递函数。 | 1692 1693 1694### OH_BitrateMode 1695 1696``` 1697enum OH_BitrateMode 1698``` 1699**描述** 1700编码器的比特率模式。 1701 1702**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1703 1704**起始版本:** 10 1705 1706| 枚举值 | 描述 | 1707| -------- | -------- | 1708| BITRATE_MODE_CBR | 恒定比特率模式。 | 1709| BITRATE_MODE_VBR | 可变比特率模式,码率仅作参考。 | 1710| BITRATE_MODE_CQ | 恒定质量模式。 | 1711| BITRATE_MODE_SQR<sup>20+</sup> | 质量稳定模式,仅支持H265(HEVC)。 | 1712 1713## 变量说明 1714 1715 1716### OH_AVCODEC_MIMETYPE_SUBTITLE_SRT 1717 1718``` 1719const char* OH_AVCODEC_MIMETYPE_SUBTITLE_SRT 1720``` 1721**描述** 1722SRT字幕解封装器的MIME类型。 1723 1724**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1725 1726**起始版本:** 12 1727 1728 1729### OH_AVCODEC_MIMETYPE_SUBTITLE_WEBVTT 1730 1731``` 1732const char* OH_AVCODEC_MIMETYPE_SUBTITLE_WEBVTT 1733``` 1734**描述** 1735WEBVTT字幕解封装器的MIME类型。 1736 1737**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1738 1739**起始版本:** 12 1740 1741 1742### OH_AVCODEC_MIMETYPE_AUDIO_APE 1743 1744``` 1745const char* OH_AVCODEC_MIMETYPE_AUDIO_APE 1746``` 1747**描述** 1748APE音频解码器的MIME类型。 1749 1750**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1751 1752**起始版本:** 12 1753 1754 1755### OH_AVCODEC_MIMETYPE_AUDIO_AAC 1756 1757``` 1758const char* OH_AVCODEC_MIMETYPE_AUDIO_AAC 1759``` 1760**描述** 1761AAC音频编解码器的MIME类型。 1762 1763**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1764 1765**起始版本:** 9 1766 1767 1768### OH_AVCODEC_MIMETYPE_AUDIO_AMR_NB 1769 1770``` 1771const char* OH_AVCODEC_MIMETYPE_AUDIO_AMR_NB 1772``` 1773**描述** 1774AMR_NB音频<!--RP4--><!--RP4End-->解码器的MIME类型。 1775 1776**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1777 1778**起始版本:** 11 1779 1780 1781### OH_AVCODEC_MIMETYPE_AUDIO_AMR_WB 1782 1783``` 1784const char* OH_AVCODEC_MIMETYPE_AUDIO_AMR_WB 1785``` 1786**描述** 1787AMR_WB音频<!--RP4--><!--RP4End-->解码器的MIME类型。 1788 1789**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1790 1791**起始版本:** 11 1792 1793 1794### OH_AVCODEC_MIMETYPE_AUDIO_FLAC 1795 1796``` 1797const char* OH_AVCODEC_MIMETYPE_AUDIO_FLAC 1798``` 1799**描述** 1800FLAC音频编解码器的MIME类型。 1801 1802**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1803 1804**起始版本:** 10 1805 1806 1807### OH_AVCODEC_MIMETYPE_AUDIO_G711MU 1808 1809``` 1810const char* OH_AVCODEC_MIMETYPE_AUDIO_G711MU 1811``` 1812**描述** 1813G711MU音频编解码器的MIME类型。 1814 1815**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1816 1817**起始版本:** 11 1818 1819 1820### OH_AVCODEC_MIMETYPE_AUDIO_G711A 1821 1822``` 1823const char *OH_AVCODEC_MIMETYPE_AUDIO_G711A 1824``` 1825**描述** 1826G711A音频解码器的MIME类型。 1827 1828**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1829 1830**起始版本:** 20 1831 1832 1833### OH_AVCODEC_MIMETYPE_AUDIO_RAW 1834 1835``` 1836const char* OH_AVCODEC_MIMETYPE_AUDIO_RAW 1837``` 1838**描述** 1839RAW音频码流的MIME类型。 1840 1841**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1842 1843**起始版本:** 18 1844 1845 1846### OH_AVCODEC_MIMETYPE_AUDIO_MPEG 1847 1848``` 1849const char* OH_AVCODEC_MIMETYPE_AUDIO_MPEG 1850``` 1851**描述** 1852MP3音频编解码器的MIME类型。 1853 1854**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1855 1856**起始版本:** 10 1857 1858 1859### OH_AVCODEC_MIMETYPE_AUDIO_OPUS 1860 1861``` 1862const char* OH_AVCODEC_MIMETYPE_AUDIO_OPUS 1863``` 1864**描述** 1865OPUS音频编解码器的MIME类型。<!--Del-->(此规格暂未开放)<!--DelEnd--> 1866 1867**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1868 1869**起始版本:** 11 1870 1871 1872### OH_AVCODEC_MIMETYPE_AUDIO_VIVID 1873 1874``` 1875const char* OH_AVCODEC_MIMETYPE_AUDIO_VIVID 1876``` 1877**描述** 1878Audio Vivid音频解码器的MIME类型。<!--Del-->(目前本规格未开放)<!--DelEnd--> 1879 1880**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1881 1882**起始版本:** 11 1883 1884 1885### OH_AVCODEC_MIMETYPE_AUDIO_VORBIS 1886 1887``` 1888const char* OH_AVCODEC_MIMETYPE_AUDIO_VORBIS 1889``` 1890**描述** 1891VORBIS音频解码器的MIME类型。 1892 1893**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1894 1895**起始版本:** 10 1896 1897 1898### OH_AVCODEC_MIMETYPE_IMAGE_BMP 1899 1900``` 1901const char* OH_AVCODEC_MIMETYPE_IMAGE_BMP 1902``` 1903**描述** 1904BMP图片编码的MIME类型,仅用于封装BMP封面时使用。 1905 1906**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1907 1908**起始版本:** 10 1909 1910 1911### OH_AVCODEC_MIMETYPE_IMAGE_JPG 1912 1913``` 1914const char* OH_AVCODEC_MIMETYPE_IMAGE_JPG 1915``` 1916**描述** 1917JPG图片编码的MIME类型,仅用于封装JPG封面时使用。 1918 1919**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1920 1921**起始版本:** 10 1922 1923 1924### OH_AVCODEC_MIMETYPE_IMAGE_PNG 1925 1926``` 1927const char* OH_AVCODEC_MIMETYPE_IMAGE_PNG 1928``` 1929**描述** 1930PNG图片编码的MIME类型,仅用于封装PNG封面时使用。 1931 1932**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1933 1934**起始版本:** 10 1935 1936 1937### OH_AVCODEC_MIMETYPE_VIDEO_AVC 1938 1939``` 1940const char* OH_AVCODEC_MIMETYPE_VIDEO_AVC 1941``` 1942**描述** 1943AVC(H.264)视频编解码器的MIME类型。 1944 1945**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1946 1947**起始版本:** 9 1948 1949 1950### OH_AVCODEC_MIMETYPE_VIDEO_HEVC 1951 1952``` 1953const char* OH_AVCODEC_MIMETYPE_VIDEO_HEVC 1954``` 1955**描述** 1956HEVC(H.265)视频编解码器的MIME类型。 1957 1958**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1959 1960**起始版本:** 10 1961 1962 1963### OH_AVCODEC_MIMETYPE_VIDEO_VVC 1964 1965``` 1966const char* OH_AVCODEC_MIMETYPE_VIDEO_VVC 1967``` 1968**描述** 1969VVC(H.266)视频编解码器的MIME类型。 1970 1971**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1972 1973**起始版本:** 12 1974 1975 1976### OH_AVCODEC_MIMETYPE_VIDEO_H263 1977 1978``` 1979const char* OH_AVCODEC_MIMETYPE_VIDEO_H263 1980``` 1981**描述** 1982H.263视频编解码器的MIME类型。 1983 1984**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1985 1986**起始版本:** 17 1987 1988 1989### OH_AVCODEC_MIMETYPE_VIDEO_MPEG2 1990 1991``` 1992const char* OH_AVCODEC_MIMETYPE_VIDEO_MPEG2 1993``` 1994 1995**描述** 1996 1997视频MPEG2编解码器的MIME类型。 1998 1999**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2000 2001**起始版本:** 17 2002 2003 2004### OH_AVCODEC_MIMETYPE_VIDEO_MPEG4 2005 2006``` 2007const char* OH_AVCODEC_MIMETYPE_VIDEO_MPEG4 2008``` 2009**描述** 2010MPEG4视频编码的MIME类型,仅用于封装MPEG4视频码流使用。 2011 2012**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2013 2014**起始版本:** 10 2015 2016**废弃版本:** 11 2017 2018**替代接口:**[OH_AVCODEC_MIMETYPE_VIDEO_MPEG4_PART2](#oh_avcodec_mimetype_video_mpeg4_part2) 2019 2020 2021### OH_AVCODEC_MIMETYPE_VIDEO_MPEG4_PART2 2022 2023``` 2024const char* OH_AVCODEC_MIMETYPE_VIDEO_MPEG4_PART2 2025``` 2026 2027**描述** 2028 2029视频MPEG4 Part2编解码器的MIME类型。 2030 2031**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2032 2033**起始版本:** 17 2034 2035 2036### OH_ED_KEY_EOS 2037 2038``` 2039const char* OH_ED_KEY_EOS 2040``` 2041**描述** 2042表示surfacebuffer流结束符的键,值类型为int32_t。 2043 2044**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2045 2046**起始版本:** 9 2047 2048**废弃版本:** 14 2049 2050 2051### OH_ED_KEY_TIME_STAMP 2052 2053``` 2054const char* OH_ED_KEY_TIME_STAMP 2055``` 2056**描述** 2057表示surfacebuffer时间戳的键,值类型为int64_t。 2058 2059**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2060 2061**起始版本:** 9 2062 2063**废弃版本:** 14 2064 2065 2066### OH_FEATURE_PROPERTY_KEY_VIDEO_ENCODER_MAX_LTR_FRAME_COUNT 2067 2068``` 2069const char* OH_FEATURE_PROPERTY_KEY_VIDEO_ENCODER_MAX_LTR_FRAME_COUNT 2070``` 2071**描述** 2072在视频编码中获取长期参考帧的最大个数的键,值类型为int32_t。 2073 2074可以通过[OH_AVCapability_GetFeatureProperties](_a_v_capability.md#oh_avcapability_getfeatureproperties)接口和枚举值[VIDEO_ENCODER_LONG_TERM_REFERENCE](_a_v_capability.md#oh_avcapabilityfeature-1)来查询这个最大值。 2075 2076**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2077 2078**起始版本:** 12 2079 2080 2081### OH_MD_KEY_AAC_IS_ADTS 2082 2083``` 2084const char* OH_MD_KEY_AAC_IS_ADTS 2085``` 2086**描述** 2087aac格式的键,aac格式分为ADTS格式和LATM格式。值类型为int32_t,0表示LATM格式,1表示ADTS格式。aac解码器支持。 2088 2089**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2090 2091**起始版本:** 10 2092 2093 2094### OH_MD_KEY_ALBUM 2095 2096``` 2097const char* OH_MD_KEY_ALBUM 2098``` 2099**描述** 2100专辑的媒体文件的键,值类型为string。 2101 2102**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2103 2104**起始版本:** 10 2105 2106 2107### OH_MD_KEY_ALBUM_ARTIST 2108 2109``` 2110const char* OH_MD_KEY_ALBUM_ARTIST 2111``` 2112**描述** 2113专辑艺术家的键,值类型为string。 2114 2115**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2116 2117**起始版本:** 10 2118 2119 2120### OH_MD_KEY_ARTIST 2121 2122``` 2123const char* OH_MD_KEY_ARTIST 2124``` 2125**描述** 2126媒体文件艺术家的键,值类型为string。 2127 2128**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2129 2130**起始版本:** 10 2131 2132 2133### OH_MD_KEY_AUD_CHANNEL_COUNT 2134 2135``` 2136const char* OH_MD_KEY_AUD_CHANNEL_COUNT 2137``` 2138**描述** 2139音频通道计数键,值类型为int32_t。 2140 2141**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2142 2143**起始版本:** 9 2144 2145 2146### OH_MD_KEY_AUD_SAMPLE_RATE 2147 2148``` 2149const char* OH_MD_KEY_AUD_SAMPLE_RATE 2150``` 2151**描述** 2152音频采样率键,值类型为int32_t。 2153 2154**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2155 2156**起始版本:** 9 2157 2158 2159### OH_MD_KEY_AUDIO_COMPRESSION_LEVEL 2160 2161``` 2162const char* OH_MD_KEY_AUDIO_COMPRESSION_LEVEL 2163``` 2164**描述** 2165音频编解码压缩水平的键,只在音频编码使用,值类型为int32_t。 2166 2167**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2168 2169**起始版本:** 11 2170 2171 2172### OH_MD_KEY_AUDIO_OBJECT_NUMBER 2173 2174``` 2175const char* OH_MD_KEY_AUDIO_OBJECT_NUMBER 2176``` 2177**描述** 2178音频对象数目的键,值类型为int32_t,只有Audio Vivid解码使用。 2179 2180**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2181 2182**起始版本:** 11 2183 2184 2185### OH_MD_KEY_AUDIO_SAMPLE_FORMAT 2186 2187``` 2188const char* OH_MD_KEY_AUDIO_SAMPLE_FORMAT 2189``` 2190**描述** 2191音频原始格式的键,值类型为int32_t。请参见[OH_BitsPerSample](#oh_bitspersample-1)。 2192 2193**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2194 2195**起始版本:** 9 2196 2197 2198### OH_MD_KEY_AUDIO_VIVID_METADATA 2199 2200``` 2201const char* OH_MD_KEY_AUDIO_VIVID_METADATA 2202``` 2203**描述** 2204Audio Vivid元数据的键,值类型为uint8_t\*,只有Audio Vivid解码使用。 2205 2206**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2207 2208**起始版本:** 11 2209 2210 2211### OH_MD_KEY_BITRATE 2212 2213``` 2214const char* OH_MD_KEY_BITRATE 2215``` 2216**描述** 2217比特率的键,值类型为int64_t。 2218 2219可以通过能力查询接口[OH_AVCapability_GetEncoderBitrateRange](_a_v_capability.md#oh_avcapability_getencoderbitraterange)来获取取值范围。 2220 2221**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2222 2223**起始版本:** 9 2224 2225 2226### OH_MD_KEY_BITS_PER_CODED_SAMPLE 2227 2228``` 2229const char* OH_MD_KEY_BITS_PER_CODED_SAMPLE 2230``` 2231**描述** 2232每个编码样本位数的键,值类型为int32_t。 2233 2234API 20前,FLAC编码必须设置此参数,设置为1即可;未设置此参数配置FLAC编码器时,调用OH_AudioCodec_Configure会返回错误码AV_ERR_INVALID_VAL。该值无实际作用,不会影响编码结果。从API 20开始,无需设置此参数。 2235 2236**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2237 2238**起始版本:** 10 2239 2240 2241### OH_MD_KEY_CHANNEL_LAYOUT 2242 2243``` 2244const char* OH_MD_KEY_CHANNEL_LAYOUT 2245``` 2246**描述** 2247所需编码通道布局的键。值类型为int64_t,此键仅适用于编码器。 2248请参见[OH_AudioChannelLayout](_core.md#oh_audiochannellayout-1)。 2249 2250**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2251 2252**起始版本:** 10 2253 2254 2255### OH_MD_KEY_CODEC_CONFIG 2256 2257``` 2258const char* OH_MD_KEY_CODEC_CONFIG 2259``` 2260**描述** 2261 2262编解码器特定数据的键,视频中表示传递SPS/PPS,音频中表示传递extraData,值类型为uint8_t\*。 <!--Del-->(视频编解码此功能暂未支持)<!--DelEnd--> 2263 2264**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2265 2266**起始版本:** 10 2267 2268 2269### OH_MD_KEY_CODEC_MIME 2270 2271``` 2272const char* OH_MD_KEY_CODEC_MIME 2273``` 2274**描述** 2275编解码器[MIME](#媒体编解码格式)类型的键,值类型为string。 2276 2277**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2278 2279**起始版本:** 9 2280 2281 2282### OH_MD_KEY_COLOR_PRIMARIES 2283 2284``` 2285const char* OH_MD_KEY_COLOR_PRIMARIES 2286``` 2287**描述** 2288视频色域的键,值类型为int32_t,默认值为COLOR_PRIMARY_UNSPECIFIED。请参见[OH_ColorPrimary](#oh_colorprimary),遵循H.273标准Table2。 2289 2290**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2291 2292**起始版本:** 10 2293 2294 2295### OH_MD_KEY_COMMENT 2296 2297``` 2298const char* OH_MD_KEY_COMMENT 2299``` 2300**描述** 2301媒体文件注释的键,值类型为string。 2302 2303**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2304 2305**起始版本:** 10 2306 2307 2308### OH_MD_KEY_COMPLIANCE_LEVEL 2309 2310``` 2311const char* OH_MD_KEY_COMPLIANCE_LEVEL 2312``` 2313**描述** 2314flac兼容性等级的键,值类型为int32_t,仅在音频编码使用。 2315 2316**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2317 2318**起始版本:** 10 2319 2320 2321### OH_MD_KEY_COPYRIGHT 2322 2323``` 2324const char* OH_MD_KEY_COPYRIGHT 2325``` 2326**描述** 2327媒体文件版权的键,值类型为string。 2328 2329**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2330 2331**起始版本:** 10 2332 2333 2334### OH_MD_KEY_DATE 2335 2336``` 2337const char* OH_MD_KEY_DATE 2338``` 2339**描述** 2340媒体文件日期的键,值类型为string,例如2024年。 2341 2342**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2343 2344**起始版本:** 10 2345 2346 2347### OH_MD_KEY_DESCRIPTION 2348 2349``` 2350const char* OH_MD_KEY_DESCRIPTION 2351``` 2352**描述** 2353媒体文件描述的键,值类型为string。 2354 2355**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2356 2357**起始版本:** 10 2358 2359 2360### OH_MD_KEY_DURATION 2361 2362``` 2363const char* OH_MD_KEY_DURATION 2364``` 2365**描述** 2366媒体文件持续时间的键,单位为微秒,值类型为int64_t。 2367 2368**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2369 2370**起始版本:** 9 2371 2372 2373### OH_MD_KEY_FRAME_RATE 2374 2375``` 2376const char* OH_MD_KEY_FRAME_RATE 2377``` 2378**描述** 2379视频帧率的键,值类型为double。该值必须大于0。 2380 2381可以通过能力查询接口[OH_AVCapability_GetVideoFrameRateRange](_a_v_capability.md#oh_avcapability_getvideoframeraterange)来获取取值范围。 2382 2383**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2384 2385**起始版本:** 9 2386 2387 2388### OH_MD_KEY_GENRE 2389 2390``` 2391const char* OH_MD_KEY_GENRE 2392``` 2393**描述** 2394媒体文件流派的键,值类型为string。 2395 2396**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2397 2398**起始版本:** 10 2399 2400 2401### OH_MD_KEY_HEIGHT 2402 2403``` 2404const char* OH_MD_KEY_HEIGHT 2405``` 2406**描述** 2407视频高度键,值类型为int32_t。 2408 2409在视频编解码流程中调用Configure接口时,使用此接口来设置视频帧的显示高。 2410 2411可以通过能力查询接口[OH_AVCapability_GetVideoHeightRange](_a_v_capability.md#oh_avcapability_getvideoheightrange)来获取取值范围。 2412 2413使用指导请参见:[视频编码](../../media/avcodec/video-encoding.md)中的中的Surface模式的“步骤-5”或Buffer模式“步骤-4”。 2414 2415**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2416 2417**起始版本:** 9 2418 2419 2420### OH_MD_KEY_I_FRAME_INTERVAL 2421 2422``` 2423const char* OH_MD_KEY_I_FRAME_INTERVAL 2424``` 2425 2426**描述** 2427关键帧间隔的键,值类型为int32_t,单位为毫秒。该键是可选的且只用于视频编码。 2428 2429负值表示只有第一帧是关键帧,0表示所有帧都是关键帧,正值表示每(frameRate * 设置值)/1000帧一个关键帧。默认值为1000。 2430 2431**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2432 2433**起始版本:** 9 2434 2435 2436### OH_MD_KEY_IDENTIFICATION_HEADER 2437 2438``` 2439const char* OH_MD_KEY_IDENTIFICATION_HEADER 2440``` 2441**描述** 2442vorbis标识头的键,值类型为uint8_t\*,仅vorbis解码器支持。 2443 2444**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2445 2446**起始版本:** 10 2447 2448 2449### OH_MD_KEY_LANGUAGE 2450 2451``` 2452const char* OH_MD_KEY_LANGUAGE 2453``` 2454**描述** 2455媒体文件语言的键,值类型为string。 2456 2457**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2458 2459**起始版本:** 10 2460 2461 2462### OH_MD_KEY_LYRICS 2463 2464``` 2465const char* OH_MD_KEY_LYRICS 2466``` 2467**描述** 2468媒体文件歌词的键,值类型为string。 2469 2470**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2471 2472**起始版本:** 10 2473 2474 2475### OH_MD_KEY_MATRIX_COEFFICIENTS 2476 2477``` 2478const char* OH_MD_KEY_MATRIX_COEFFICIENTS 2479``` 2480**描述** 2481视频矩阵系数的键,值类型为int32_t,默认值为MATRIX_COEFFICIENT_UNSPECIFIED。请参见[OH_MatrixCoefficient](#oh_matrixcoefficient),遵循H.273标准Table4。 2482 2483**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2484 2485**起始版本:** 10 2486 2487 2488### OH_MD_KEY_MAX_INPUT_SIZE 2489 2490``` 2491const char* OH_MD_KEY_MAX_INPUT_SIZE 2492``` 2493**描述** 2494设置解码输入码流大小最大值的键,值类型为int32_t。 2495 2496**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2497 2498**起始版本:** 9 2499 2500 2501### OH_MD_KEY_PIXEL_FORMAT 2502 2503``` 2504const char* OH_MD_KEY_PIXEL_FORMAT 2505``` 2506**描述** 2507视频像素格式的键,值类型为int32_t,请参见[OH_AVPixelFormat](_core.md#oh_avpixelformat)。 2508 2509**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2510 2511**起始版本:** 9 2512 2513 2514### OH_MD_KEY_PROFILE 2515 2516``` 2517const char* OH_MD_KEY_PROFILE 2518``` 2519**描述** 2520编码档次,值类型为int32_t,请参见[OH_AVCProfile](#oh_avcprofile),[OH_HEVCProfile](#oh_hevcprofile),[OH_AACProfile](#oh_aacprofile)。 2521 2522可以通过能力查询接口[OH_AVCapability_GetSupportedProfiles](_a_v_capability.md#oh_avcapability_getsupportedprofiles)来获取支持的档次。 2523 2524**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2525 2526**起始版本:** 9 2527 2528 2529### OH_MD_KEY_QUALITY 2530 2531``` 2532const char* OH_MD_KEY_QUALITY 2533``` 2534**描述** 2535所需编码质量的键。值类型为int32_t,默认值为50。在H.264、H.265编码场景值范围可以通过能力查询接口[OH_AVCapability_GetEncoderQualityRange](_a_v_capability.md#oh_avcapability_getencoderqualityrange)来获取取值范围,此键仅适用于配置在恒定质量模式下的编码器。 2536 2537**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2538 2539**起始版本:** 10 2540 2541 2542### OH_MD_KEY_RANGE_FLAG 2543 2544``` 2545const char* OH_MD_KEY_RANGE_FLAG 2546``` 2547**描述** 2548视频YUV值域标志的键,值类型为int32_t,1表示full range,0表示limited range,默认值为0。配置非0值将按照配置1处理,表示full range。 2549 2550**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2551 2552**起始版本:** 10 2553 2554 2555### OH_MD_KEY_REQUEST_I_FRAME 2556 2557``` 2558const char* OH_MD_KEY_REQUEST_I_FRAME 2559``` 2560**描述** 2561请求立即编码I帧的键。值类型为int32_t。在调用OH_VideoEncoder_SetParameter()阶段使用,或随帧立即生效。 2562 2563**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2564 2565**起始版本:** 10 2566 2567 2568### OH_MD_KEY_ROTATION 2569 2570``` 2571const char* OH_MD_KEY_ROTATION 2572``` 2573**描述** 2574surface旋转角度的键。值类型为int32_t:应为{0, 90, 180, 270},默认值为0。该键只在视频解码Surface模式下使用。 2575 2576**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2577 2578**起始版本:** 9 2579 2580 2581### OH_MD_KEY_SBR 2582 2583``` 2584const char* OH_MD_KEY_SBR 2585``` 2586**描述** 2587aac sbr模式的键,值类型为int32_t,aac编码器支持。 2588 2589**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2590 2591**起始版本:** 10 2592 2593 2594### OH_MD_KEY_SCALING_MODE 2595 2596``` 2597const char* OH_MD_KEY_SCALING_MODE 2598``` 2599**描述** 2600视频缩放模式,值类型为int32_t,请参见[OH_ScalingMode](#oh_scalingmode)。建议直接调用[OH_NativeWindow_NativeWindowSetScalingModeV2](../apis-arkgraphics2d/capi-external-window-h.md#oh_nativewindow_nativewindowsetscalingmodev2)接口进行设置。该键是可选的且只用于视频解码Surface模式。 2601 2602**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2603 2604**起始版本:** 10 2605 2606**废弃版本:** 14 2607 2608**替代接口:**[OH_NativeWindow_NativeWindowSetScalingModeV2](../apis-arkgraphics2d/capi-external-window-h.md#oh_nativewindow_nativewindowsetscalingmodev2) 2609 2610 2611### OH_MD_KEY_SETUP_HEADER 2612 2613``` 2614const char* OH_MD_KEY_SETUP_HEADER 2615``` 2616**描述** 2617vorbis设置头的键,值类型为uint8_t\*,仅vorbis解码器支持。 2618 2619**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2620 2621**起始版本:** 10 2622 2623 2624### OH_MD_KEY_TITLE 2625 2626``` 2627const char* OH_MD_KEY_TITLE 2628``` 2629**描述** 2630媒体文件标题的键,值类型为string。 2631 2632**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2633 2634**起始版本:** 10 2635 2636 2637### OH_MD_KEY_TRACK_COUNT 2638 2639``` 2640const char* OH_MD_KEY_TRACK_COUNT 2641``` 2642**描述** 2643媒体文件轨道数量的键,值类型为int32_t。 2644 2645**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2646 2647**起始版本:** 10 2648 2649 2650### OH_MD_KEY_TRACK_TYPE 2651 2652``` 2653const char* OH_MD_KEY_TRACK_TYPE 2654``` 2655**描述** 2656 2657轨道媒体类型的键,值类型为int32_t,请参见[OH_MediaType](#oh_mediatype-1)。 2658 2659**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2660 2661**起始版本:** 9 2662 2663 2664### OH_MD_KEY_TRANSFER_CHARACTERISTICS 2665 2666``` 2667const char* OH_MD_KEY_TRANSFER_CHARACTERISTICS 2668``` 2669**描述** 2670视频传递函数的键,值类型为int32_t,默认值为TRANSFER_CHARACTERISTIC_UNSPECIFIED。请参见[OH_TransferCharacteristic](#oh_transfercharacteristic),遵循H.273标准Table3。 2671 2672**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2673 2674**起始版本:** 10 2675 2676### OH_MD_KEY_VIDEO_CROP_BOTTOM 2677 2678``` 2679const char* OH_MD_KEY_VIDEO_CROP_BOTTOM 2680``` 2681**描述** 2682描述裁剪矩形底部坐标(y)值的键,值类型为int32_t。 包含裁剪框底部的行,行索引从0开始。该键只用于视频解码。 2683 2684**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2685 2686**起始版本:** 12 2687 2688 2689### OH_MD_KEY_VIDEO_CROP_LEFT 2690 2691``` 2692const char* OH_MD_KEY_VIDEO_CROP_LEFT 2693``` 2694**描述** 2695描述裁剪矩形左坐标(x)值的键,值类型为int32_t。包含裁剪框最左边的列,列索引从0开始。该键只用于视频解码。 2696 2697**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2698 2699**起始版本:** 12 2700 2701 2702### OH_MD_KEY_VIDEO_CROP_RIGHT 2703 2704``` 2705const char* OH_MD_KEY_VIDEO_CROP_RIGHT 2706``` 2707**描述** 2708描述裁剪矩形右坐标(x)值的键,值类型为int32_t。包含裁剪框最右边的列,列索引从0开始。该键只用于视频解码。 2709 2710**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2711 2712**起始版本:** 12 2713 2714 2715### OH_MD_KEY_VIDEO_CROP_TOP 2716 2717``` 2718const char* OH_MD_KEY_VIDEO_CROP_TOP 2719``` 2720**描述** 2721描述裁剪矩形顶部坐标(y)值的键,值类型为int32_t。 包含裁剪框顶部的行,行索引从0开始。该键只用于视频解码。 2722 2723**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2724 2725**起始版本:** 12 2726 2727 2728### OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY 2729 2730``` 2731const char* OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY 2732``` 2733**描述** 2734使能低时延视频解码的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。该键是可选的,在Configure阶段使用。 2735 2736如果使能,则视频解码器持有的输入和输出数据不会超过解码器标准所要求的数量。 2737 2738可以通过能力查询接口[OH_AVCapability_IsFeatureSupported](_a_v_capability.md#oh_avcapability_isfeaturesupported)来查询特定解码器是否支持低时延。若解码器支持,使能此接口时,视频解码器将按照解码序输出帧。 2739 2740 2741**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2742 2743**起始版本:** 12 2744 2745 2746### OH_MD_KEY_ENABLE_SYNC_MODE 2747 2748``` 2749const char* OH_MD_KEY_ENABLE_SYNC_MODE 2750``` 2751**描述** 2752使能音视频编解码同步模式的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。该键是可选。 2753 2754如果使能,需要注意: 27551. 编解码器不可设置回调函数。 27562. 必须使用缓冲区查询接口替代回调。 27573. 只能在Configure阶段使用。 2758 2759**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2760 2761**起始版本:** 20 2762 2763 2764### OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE 2765 2766``` 2767const char* OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE 2768``` 2769**描述** 2770视频编码码率模式,值类型为int32_t,请参见[OH_BitrateMode](#oh_bitratemode-1)。 2771 2772**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2773 2774**起始版本:** 9 2775 2776### OH_MD_KEY_VIDEO_ENCODER_ENABLE_TEMPORAL_SCALABILITY 2777 2778``` 2779const char* OH_MD_KEY_VIDEO_ENCODER_ENABLE_TEMPORAL_SCALABILITY 2780``` 2781**描述** 2782使能分层编码的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。 2783 2784使用前可以通过[OH_AVCapability_IsFeatureSupported](_a_v_capability.md#oh_avcapability_isfeaturesupported)接口和枚举值 2785[VIDEO_ENCODER_TEMPORAL_SCALABILITY](_a_v_capability.md#oh_avcapabilityfeature-1)来查询当前视频编码器是否支持分层编码。 2786详情请参见:[时域可分层视频编码](../../media/avcodec/video-encoding-temporal-scalability.md#接口介绍)。 2787 2788该键是可选的且只用于视频编码,在Configure阶段使用。 2789 2790**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2791 2792**起始版本:** 12 2793 2794 2795### OH_MD_KEY_VIDEO_ENCODER_LTR_FRAME_COUNT 2796 2797``` 2798const char* OH_MD_KEY_VIDEO_ENCODER_LTR_FRAME_COUNT 2799``` 2800**描述** 2801描述长期参考帧个数的键,值类型为int32_t,必须在支持的值范围内使用。 2802 2803使用前可以通过[OH_AVCapability_GetFeatureProperties](_a_v_capability.md#oh_avcapability_getfeatureproperties)接口和枚举值[VIDEO_ENCODER_LONG_TERM_REFERENCE](_a_v_capability.md#oh_avcapabilityfeature-1)来查询支持的LTR数目。 2804 2805该键是可选的且只用于视频编码,在Configure阶段使用。 2806 2807详情请参见:[时域可分层视频编码](../../media/avcodec/video-encoding-temporal-scalability.md#接口介绍-1)。 2808 2809**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2810 2811**起始版本:** 12 2812 2813 2814### OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_MARK_LTR 2815 2816``` 2817const char* OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_MARK_LTR 2818``` 2819**描述** 2820标记当前帧为长期参考帧的键,值类型为int32_t,1表示被标记,0表示未被标记,默认值为0。配置非0值将按照配置1处理,表示被标记。 2821 2822只在长期参考帧个数被配置后生效。 2823 2824该键是可选的且只用于视频编码输入轮转中,配置后立即生效。 2825 2826详情请参见:[时域可分层视频编码](../../media/avcodec/video-encoding-temporal-scalability.md#接口介绍-1)。 2827 2828**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2829 2830**起始版本:** 12 2831 2832 2833### OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_USE_LTR 2834 2835``` 2836const char* OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_USE_LTR 2837``` 2838**描述** 2839描述当前帧参考的长期参考帧帧的POC号的键,值类型为int32_t。 2840 2841该键是可选的且只用于视频编码输入轮转中,配置后立即生效。 2842 2843详情请参见:[时域可分层视频编码](../../media/avcodec/video-encoding-temporal-scalability.md#接口介绍-1)。 2844 2845**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2846 2847**起始版本:** 12 2848 2849 2850### OH_MD_KEY_VIDEO_ENCODER_QP_MAX 2851 2852``` 2853const char* OH_MD_KEY_VIDEO_ENCODER_QP_MAX 2854``` 2855**描述** 2856描述视频编码器允许的最大量化参数的键,值类型为int32_t。 2857 2858在Configure/SetParameter阶段使用,或随帧立即生效。 2859 2860**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2861 2862**起始版本:** 12 2863 2864 2865### OH_MD_KEY_VIDEO_ENCODER_QP_MIN 2866 2867``` 2868const char* OH_MD_KEY_VIDEO_ENCODER_QP_MIN 2869``` 2870**描述** 2871描述视频编码器允许的最小量化参数的键,值类型为int32_t。 2872 2873在Configure/SetParameter阶段使用,或随帧立即生效。 2874 2875**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2876 2877**起始版本:** 12 2878 2879 2880### OH_MD_KEY_VIDEO_ENCODER_QP_AVERAGE 2881 2882``` 2883const char* OH_MD_KEY_VIDEO_ENCODER_QP_AVERAGE 2884``` 2885**描述** 2886描述视频帧平均量化参数的键,值类型为int32_t。 2887 2888表示当前帧编码块的平均qp值,随[OH_AVBuffer](_core.md#oh_avbuffer)输出。 2889 2890**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2891 2892**起始版本:** 12 2893 2894 2895### OH_MD_KEY_VIDEO_ENCODER_MSE 2896 2897``` 2898const char* OH_MD_KEY_VIDEO_ENCODER_MSE 2899``` 2900**描述** 2901描述视频帧平方误差的键,值类型为double。 2902 2903表示当前帧编码块的MSE统计值,随[OH_AVBuffer](_core.md#oh_avbuffer)输出。 2904 2905**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2906 2907**起始版本:** 12 2908 2909 2910### OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_REFERENCE_MODE 2911 2912``` 2913const char* OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_REFERENCE_MODE 2914``` 2915**描述** 2916描述图片组内参考模式的键,值类型为int32_t,请参见[OH_TemporalGopReferenceMode](#oh_temporalgopreferencemode),只在使能分层编码时生效。 2917 2918该键是可选的且只用于视频编码,在Configure阶段使用。 2919 2920**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2921 2922**起始版本:** 12 2923 2924 2925### OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_SIZE 2926 2927``` 2928const char* OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_SIZE 2929``` 2930**描述** 2931描述图片组基本层图片的间隔大小的键,值类型为int32_t,只在使能分层编码时生效。 2932 2933该键是可选的且只用于视频编码,在Configure阶段使用。 2934 2935**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2936 2937**起始版本:** 12 2938 2939 2940### OH_MD_KEY_VIDEO_IS_HDR_VIVID 2941 2942``` 2943const char* OH_MD_KEY_VIDEO_IS_HDR_VIVID 2944``` 2945**描述** 2946媒体文件中的视频轨是否为HDR Vivid的键,支持封装和解封装,值类型为int32_t。 2947 29481表示是HDR Vivid视频轨,0表示不是HDR Vivid视频轨。 2949 2950**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2951 2952**起始版本:** 11 2953 2954 2955### OH_MD_KEY_DECODING_TIMESTAMP 2956 2957``` 2958const char* OH_MD_KEY_DECODING_TIMESTAMP 2959``` 2960**描述** 2961AVBuffer中携带的音视频或字幕的sample对应的解码时间戳的键,以微秒为单位,值类型为int64_t。 2962 2963**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2964 2965**起始版本:** 12 2966 2967 2968### OH_MD_KEY_BUFFER_DURATION 2969 2970``` 2971const char* OH_MD_KEY_BUFFER_DURATION 2972``` 2973**描述** 2974AVBuffer中携带的音视频或字幕的sample对应的持续时间的键,以微秒为单位,值类型为int64_t。 2975 2976**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2977 2978**起始版本:** 12 2979 2980 2981### OH_MD_KEY_START_TIME 2982 2983``` 2984const char* OH_MD_KEY_START_TIME 2985``` 2986**描述** 2987媒体文件中第一帧起始位置开始时间的键,以微秒为单位,值类型为int64_t。 2988 2989**系统能力:** SystemCapability.Multimedia.Media.CodecBase 2990 2991**起始版本:** 12 2992 2993### OH_MD_KEY_TRACK_START_TIME 2994 2995``` 2996const char* OH_MD_KEY_TRACK_START_TIME 2997``` 2998**描述** 2999轨道开始时间的键,以微秒为单位,值类型为int64_t。 3000 3001**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3002 3003**起始版本:** 12 3004 3005 3006### OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE 3007 3008``` 3009const char* OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE 3010``` 3011**描述** 3012设置视频解码器输出色彩空间的键,值类型为int32_t。 3013 3014支持的值为OH_COLORSPACE_BT709_LIMIT,请参见[OH_NativeBuffer_ColorSpace](../apis-arkgraphics2d/capi-buffer-common-h.md#oh_nativebuffer_colorspace)。 3015 3016在视频解码调用[OH_VideoDecoder_Configure](_video_decoder.md#oh_videodecoder_configure)接口时使用此接口。 3017 3018在启动OH_VideoDecoder_Start接口前,必须要先调用OH_VideoDecoder_Prepare接口。 3019 3020如果支持色彩空间转换功能并配置了此键,则视频解码器会自动将HDR Vivid视频转码为指定的色彩空间。 3021 3022如果不支持色彩空间转换功能,则接口[OH_VideoDecoder_Configure](_video_decoder.md#oh_videodecoder_configure)返回错误码[AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION](_core.md#oh_averrcode-1)。 3023 3024如果输入视频不是HDR Vivid视频,则会通过回调函数[OH_AVCodecOnError](#oh_avcodeconerror)报告错误码[AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION](_core.md#oh_averrcode-1)。 3025 3026**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3027 3028**起始版本:** 12 3029 3030 3031### OH_MD_KEY_VIDEO_PER_FRAME_IS_LTR 3032 3033``` 3034const char* OH_MD_KEY_VIDEO_PER_FRAME_IS_LTR 3035``` 3036**描述** 3037当前OH_AVBuffer中输出的码流对应的帧是否为长期参考帧的键,值类型为int32_t,1表示是LTR,0表示不是LTR,默认值为0。配置非0值将按照配置1处理,表示是LTR。 3038 3039该键是可选的且只用于视频编码输出轮转中。 3040 3041表示帧的属性。 3042 3043**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3044 3045**起始版本:** 12 3046 3047 3048### OH_MD_KEY_VIDEO_PER_FRAME_POC 3049 3050``` 3051const char* OH_MD_KEY_VIDEO_PER_FRAME_POC 3052``` 3053**描述** 3054描述帧的POC号的键,值类型为int32_t。 3055 3056该键是可选的且只用于视频编码输出轮转中。 3057 3058表示帧的属性。 3059 3060**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3061 3062**起始版本:** 12 3063 3064 3065### OH_MD_KEY_VIDEO_PIC_HEIGHT 3066 3067``` 3068const char* OH_MD_KEY_VIDEO_PIC_HEIGHT 3069``` 3070**描述** 3071描述视频帧真实高度的键,值类型为int32_t。 3072 3073视频解码时调用[OH_VideoDecoder_GetOutputDescription](_video_decoder.md#oh_videodecoder_getoutputdescription)接口,可以从其返回的OH_AVFormat中解析出高度值。 3074 3075当解码输出码流<!--RP2--><!--RP2End-->变化时,也可从[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)返回的OH_AVForamt实例中解析出高度值。 3076 3077从OH_AVForamt实例中解析出来的是对齐后的宽、高与调用Configure接口设置的OH_MD_KEY_WIDTH、OH_MD_KEY_HEIGHT不一样。 3078 3079width、height、wStride、hStride图像排布与使用示例请参考:[视频编码Buffer模式](../../media/avcodec/video-encoding.md#buffer模式)的“步骤-8”或[视频解码Buffer模式](../../media/avcodec/video-decoding.md#buffer模式)“步骤-11”。 3080 3081**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3082 3083**起始版本:** 12 3084 3085 3086### OH_MD_KEY_VIDEO_PIC_WIDTH 3087 3088``` 3089const char* OH_MD_KEY_VIDEO_PIC_WIDTH 3090``` 3091**描述** 3092描述视频帧真实宽度的键,值类型为int32_t。 3093 3094视频解码时调用[OH_VideoDecoder_GetOutputDescription](_video_decoder.md#oh_videodecoder_getoutputdescription)接口,可以从其返回的OH_AVFormat中解析出宽度值。 3095 3096当解码输出码流<!--RP2--><!--RP2End-->变化时,也可从[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)返回的OH_AVForamt实例中解析出宽度值。 3097 3098从OH_AVForamt实例中解析出来的是对齐后的宽、高与调用Configure接口设置的OH_MD_KEY_WIDTH、OH_MD_KEY_HEIGHT不一样。 3099 3100width、height、wStride、hStride图像排布与使用示例请参考:[视频编码Buffer模式](../../media/avcodec/video-encoding.md#buffer模式)的“步骤-8”或[视频解码Buffer模式](../../media/avcodec/video-decoding.md#buffer模式)“步骤-11”。 3101 3102**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3103 3104**起始版本:** 12 3105 3106 3107### OH_MD_KEY_VIDEO_SLICE_HEIGHT 3108 3109``` 3110const char* OH_MD_KEY_VIDEO_SLICE_HEIGHT 3111``` 3112**描述** 3113描述视频帧高跨距的键,值类型为int32_t。 3114 3115高跨距是指从Y平面顶部到U平面顶部必须偏移的行数。本质上,U平面的偏移量是sliceHeight \* stride。 3116 3117U/V平面的高度可以根据颜色格式计算,尽管它通常是未定义的,并且取决于设备和版本。 3118 3119使用指导请参见:[视频编码Buffer模式](../../media/avcodec/video-encoding.md#buffer模式)的“步骤-3”。 3120 3121width、height、wStride、hStride图像排布与使用示例请参考:[视频编码Buffer模式](../../media/avcodec/video-encoding.md#buffer模式)的“步骤-8”或[视频解码Buffer模式](../../media/avcodec/video-decoding.md#buffer模式)“步骤-11”。 3122 3123**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3124 3125**起始版本:** 12 3126 3127 3128### OH_MD_KEY_VIDEO_STRIDE 3129 3130``` 3131const char* OH_MD_KEY_VIDEO_STRIDE 3132``` 3133**描述** 3134描述视频帧宽跨距的键,值类型为int32_t。 3135 3136宽跨距是像素的索引与正下方像素的索引之间的差。 3137 3138对于YUV420格式,宽跨距对应于Y平面,U和V平面的跨距可以根据颜色格式计算,但通常未定义,并且取决于设备和版本。 3139 3140使用指导请参见:[视频编码Buffer模式](../../media/avcodec/video-encoding.md#buffer模式)的“步骤-3”。 3141 3142width、height、wStride、hStride图像排布与使用示例请参考:[视频编码Buffer模式](../../media/avcodec/video-encoding.md#buffer模式)的“步骤-8”或[视频解码Buffer模式](../../media/avcodec/video-decoding.md#buffer模式)“步骤-11”。 3143 3144**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3145 3146**起始版本:** 12 3147 3148 3149### OH_MD_KEY_WIDTH 3150 3151``` 3152const char* OH_MD_KEY_WIDTH 3153``` 3154**描述** 3155视频宽度的键,值类型为int32_t。 3156 3157在视频编解码流程中调用Configure接口时,使用此接口来设置视频帧的显示宽度。 3158 3159可以通过能力查询接口[OH_AVCapability_GetVideoWidthRange](_a_v_capability.md#oh_avcapability_getvideowidthrange)来获取取值范围。 3160 3161使用指导请参见:[视频编码](../../media/avcodec/video-encoding.md)中的Surface模式的“步骤-5”或Buffer模式“步骤-4”。 3162 3163**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3164 3165**起始版本:** 9 3166 3167 3168### OH_MD_MAX_INPUT_BUFFER_COUNT 3169 3170``` 3171const char* OH_MD_MAX_INPUT_BUFFER_COUNT 3172``` 3173**描述** 3174最大输入缓冲区个数的键,值类型为int32_t。 3175 3176**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3177 3178**起始版本:** 10 3179 3180 3181### OH_MD_MAX_OUTPUT_BUFFER_COUNT 3182 3183``` 3184const char* OH_MD_MAX_OUTPUT_BUFFER_COUNT 3185``` 3186**描述** 3187最大输出缓冲区个数的键,值类型int32_t。 3188 3189**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3190 3191**起始版本:** 10 3192 3193 3194### OH_MD_KEY_VIDEO_SAR 3195 3196``` 3197const char* OH_MD_KEY_VIDEO_SAR 3198``` 3199**描述** 3200样本长宽比的键,值类型为double。 3201 3202**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3203 3204**起始版本:** 12 3205 3206 3207### OH_MD_KEY_CREATION_TIME 3208 3209``` 3210const char* OH_MD_KEY_CREATION_TIME 3211``` 3212**描述** 3213媒体文件创建时间的元数据,值类型为string。使用ISO 8601标准的时间格式且为UTC时间,时间格式参考:"2024-12-28T00:00:00:000000Z"。 3214 3215**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3216 3217**起始版本:** 14 3218 3219### OH_MD_KEY_VIDEO_DECODER_OUTPUT_ENABLE_VRR 3220 3221``` 3222const char* OH_MD_KEY_VIDEO_DECODER_OUTPUT_ENABLE_VRR 3223``` 3224**描述** 3225解码器是否打开视频可变帧率功能的键,值类型为int32_t。1代表使能视频可变帧率功能,0代表不使能。 3226 3227**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3228 3229**起始版本:** 15 3230 3231### OH_MD_KEY_SQR_FACTOR 3232 3233``` 3234const char* OH_MD_KEY_SQR_FACTOR 3235``` 3236**描述** 3237指定SQR码控模式的质量参数,取值范围为[0, 51](同编码量化参数QP),值越小,编码输出码率越大,质量越好。 3238 3239在Configure/SetParameter阶段使用。 3240 3241**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3242 3243**起始版本:** 20 3244 3245### OH_MD_KEY_MAX_BITRATE 3246 3247``` 3248const char* OH_MD_KEY_MAX_BITRATE 3249``` 3250**描述** 3251指定SQR码控模式的最大码率,使用[OH_AVCapability_GetEncoderBitrateRange](_a_v_capability.md#oh_avcapability_getencoderbitraterange)方法获取取值范围(同[OH_MD_KEY_BITRATE](#oh_md_key_bitrate)),单位bps。 3252 3253在Configure/SetParameter阶段使用。 3254 3255**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3256 3257**起始版本:** 20 3258 3259### OH_MD_KEY_VIDEO_ENCODER_ROI_PARAMS 3260 3261``` 3262const char* OH_MD_KEY_VIDEO_ENCODER_ROI_PARAMS 3263``` 3264**描述** 3265用于视频编码中,使能ROI编码并下发ROI参数,随帧设置且实时生效。 3266 3267参数需满足"Top1,Left1-Bottom1,Right1=Offset1;Top2,Left2-Bottom2,Right2=Offset2;"的格式,多个ROI参数之间使用";"连接。 3268 3269Top、Left、Bottom、Right指定一个ROI区域的上、左、下、右边界,Offset指定deltaQP,“=Offset”可以省略,省略时使用默认值(-3)。 3270 3271**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3272 3273**起始版本:** 20 3274 3275### OH_MD_KEY_ENABLE_MOOV_FRONT 3276 3277``` 3278const char* OH_MD_KEY_ENABLE_MOOV_FRONT 3279``` 3280**描述** 3281用于媒体封装,使能mp4的moov元数据前置,1代表前置,0代表不前置。 3282 3283**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3284 3285**起始版本:** 20 3286 3287### OH_MD_KEY_VIDEO_ENCODER_ENABLE_PTS_BASED_RATECONTROL 3288 3289``` 3290const char* OH_MD_KEY_VIDEO_ENCODER_ENABLE_PTS_BASED_RATECONTROL 3291``` 3292**描述** 3293使能基于显示时间戳(PTS)的码控模式的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。 3294 3295该键值是可选的且只用于视频编码。 3296 3297如果使能,则必须在每个视频帧中携带PTS信息,并发送到编码器。Surface模式下,通过[OH_NativeWindow_NativeWindowHandleOpt](../apis-arkgraphics2d/capi-external-window-h.md#oh_nativewindow_nativewindowhandleopt)接口设置PTS,时间单位为纳秒(ns);Buffer模式下,通过[OH_AVBuffer_SetBufferAttr](_core.md#oh_avbuffer_setbufferattr)接口设置PTS,时间单位为微秒(us)。 3298 3299在Configure阶段使用。 3300 3301**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3302 3303**起始版本:** 20 3304 3305### OH_MD_KEY_VIDEO_ENCODER_ENABLE_B_FRAME 3306 3307``` 3308const char* OH_MD_KEY_VIDEO_ENCODER_ENABLE_B_FRAME 3309``` 3310**描述** 3311使能B帧编码的键,值类型为int32_t,1表示使能,0表示不使能。 3312 3313该键值是可选的且只用于视频编码,默认值为0。 3314 3315使用前可以通过[OH_AVCapability_isFeatureSupported](_a_v_capability.md#oh_avcapability_isfeaturesupported)接口和枚举值[VIDEO_ENCODER_B_FRAME](_a_v_capability.md#oh_avcapabilityfeature-1)来查询平台是否支持该特性。 3316 3317该键是可选的且只用于视频编码,在Configure阶段使用。 3318 3319**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3320 3321**起始版本:** 20 3322 3323### OH_MD_KEY_VIDEO_ENCODER_MAX_B_FRAMES 3324 3325``` 3326const char* OH_MD_KEY_VIDEO_ENCODER_MAX_B_FRAMES 3327``` 3328**描述** 3329在视频编码中获取B帧编码支持最大B帧数量的键,值类型为int32_t。 3330 3331使用前可以通过[OH_AVCapability_GetFeatureProperties](_a_v_capability.md#oh_avcapability_getfeatureproperties)接口和枚举值[VIDEO_ENCODER_B_FRAME](_a_v_capability.md#oh_avcapabilityfeature-1)来查询平台是否支持B帧编码。 3332 3333通过[OH_AVCapability_GetFeatureProperties](_a_v_capability.md#oh_avcapability_getfeatureproperties)接口和枚举值[VIDEO_ENCODER_B_FRAME](_a_v_capability.md#oh_avcapabilityfeature-1)获取[OH_AVFormat](_core.md#oh_avformat)句柄。 3334 3335通过[OH_AVFormat_GetIntValue](_core.md#oh_avformat_getintvalue)接口查询支持的B帧数目。 3336 3337该键是可选的且只用于视频编码,在Configure阶段使用。 3338 3339详情请参见:[B帧视频编码](../../media/avcodec/video-encoding-b-frame.md#接口介绍)。 3340 3341 3342**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3343 3344**起始版本:** 20 3345 3346### OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_FRAME_AFTER 3347 3348``` 3349const char* OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_FRAME_AFTER 3350``` 3351**描述** 3352如果在上一帧提交给编码器之后没有新的帧可用,则会以毫秒为单位重复提交最后一帧,值类型为int32_t。 3353 3354该键只用于视频编码Surface模式,在Configure阶段使用。 3355 3356| 配置的值 | 描述 | 3357| -------- | -------- | 3358| 小于等于0 | Configure阶段会被拦截,返回ERROR AV_ERR_INVALID_VAL。 | 3359| 大于0| 如果在上一帧提交给编码器之后没有新的帧可用,则会以毫秒为单位重复提交最后一帧。 | 3360 3361**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3362 3363**起始版本:** 18 3364 3365 3366### OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_MAX_COUNT 3367 3368``` 3369const char* OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_MAX_COUNT 3370``` 3371**描述** 3372描述编码器在没有新的帧可用的情况下,可以对之前的帧进行重复编码的最大次数,值类型为int32_t。 3373 3374该键仅在[OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_FRAME_AFTER](#oh_md_key_video_encoder_repeat_previous_frame_after)可用时生效,在Configure阶段使用。 3375 3376| 配置的值 | 描述 | 3377| -------- | -------- | 3378| 0 | Configure阶段会被拦截,返回ERROR AV_ERR_INVALID_VAL。 | 3379| 小于0 | 在没有新的帧提交给编码器的这段时间内,编码器会一直重复编上一帧,直到达到系统上限。 | 3380| 大于0| 在没有新的帧提交给编码器的这段时间内,最多可以重复编码的帧数。 | 3381 3382**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3383 3384**起始版本:** 18 3385 3386### OH_MD_KEY_REFERENCE_TRACK_IDS 3387 3388``` 3389const char *OH_MD_KEY_REFERENCE_TRACK_IDS 3390``` 3391**描述** 3392媒体文件轨道间参考、被参考关系,值类型为int32_t\*。 3393 3394**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3395 3396**起始版本:** 20 3397 3398### OH_MD_KEY_TRACK_REFERENCE_TYPE 3399 3400``` 3401const char *OH_MD_KEY_TRACK_REFERENCE_TYPE 3402``` 3403**描述** 3404媒体文件辅助轨类型,值类型为string。 3405 3406**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3407 3408**起始版本:** 20 3409 3410### OH_MD_KEY_TRACK_DESCRIPTION 3411 3412``` 3413const char *OH_MD_KEY_TRACK_DESCRIPTION 3414``` 3415**描述** 3416媒体文件辅助轨描述信息,值类型为string。 3417 3418**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3419 3420**起始版本:** 20 3421 3422 3423### OH_MD_KEY_VIDEO_DECODER_BLANK_FRAME_ON_SHUTDOWN 3424 3425``` 3426const char *OH_MD_KEY_VIDEO_DECODER_BLANK_FRAME_ON_SHUTDOWN 3427``` 3428**描述** 3429用于指定视频解码器关闭时是否输出空白帧的键,值类型为int32_t,1表示使能,0表示不使能,默认值为0。配置非0值将按照配置1处理,表示使能。该键是可选的且仅用于视频解码Surface模式。 3430 3431使能后,视频解码器在停止或释放时将输出空白帧(通常为黑色),以确保显示设备平滑过渡到无信号状态。该机制可避免因解码器突然终止导致的显示残留或画面闪烁问题。 3432 3433**系统能力:** SystemCapability.Multimedia.Media.CodecBase 3434 3435**起始版本:** 20 3436