• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 &lt;&lt; 0U,<br/>FRONT_RIGHT = 1ULL &lt;&lt; 1U,<br/>FRONT_CENTER = 1ULL &lt;&lt; 2U,<br/>LOW_FREQUENCY = 1ULL &lt;&lt; 3U,<br/>BACK_LEFT = 1ULL &lt;&lt; 4U,<br/>BACK_RIGHT = 1ULL &lt;&lt; 5U,<br/>FRONT_LEFT_OF_CENTER = 1ULL &lt;&lt; 6U,<br/>FRONT_RIGHT_OF_CENTER = 1ULL &lt;&lt; 7U,<br/>BACK_CENTER = 1ULL &lt;&lt; 8U,<br/>SIDE_LEFT = 1ULL &lt;&lt; 9U,<br/>SIDE_RIGHT = 1ULL &lt;&lt; 10U,<br/>TOP_CENTER = 1ULL &lt;&lt; 11U,<br/>TOP_FRONT_LEFT = 1ULL &lt;&lt; 12U,<br/>TOP_FRONT_CENTER = 1ULL &lt;&lt; 13U,<br/>TOP_FRONT_RIGHT = 1ULL &lt;&lt; 14U,<br/>TOP_BACK_LEFT = 1ULL &lt;&lt; 15U,<br/>TOP_BACK_CENTER = 1ULL &lt;&lt; 16U,<br/>TOP_BACK_RIGHT = 1ULL &lt;&lt; 17U,<br/>STEREO_LEFT = 1ULL &lt;&lt; 29U,<br/>STEREO_RIGHT = 1ULL &lt;&lt; 30U,<br/>WIDE_LEFT = 1ULL &lt;&lt; 31U,<br/>WIDE_RIGHT = 1ULL &lt;&lt; 32U,<br/>SURROUND_DIRECT_LEFT = 1ULL &lt;&lt; 33U,<br/>SURROUND_DIRECT_RIGHT = 1ULL &lt;&lt; 34U,<br/>LOW_FREQUENCY_2 = 1ULL &lt;&lt; 35U,<br/>TOP_SIDE_LEFT = 1ULL &lt;&lt; 36U,<br/>TOP_SIDE_RIGHT = 1ULL &lt;&lt; 37U,<br/>BOTTOM_FRONT_CENTER = 1ULL &lt;&lt; 38U,<br/>BOTTOM_FRONT_LEFT = 1ULL &lt;&lt; 39U,<br/>BOTTOM_FRONT_RIGHT = 1ULL &lt;&lt; 40U,<br/>AMBISONICS_ACN0 = 1ULL &lt;&lt; 41U,<br/>AMBISONICS_ACN1 = 1ULL &lt;&lt; 42U,<br/>AMBISONICS_ACN2 = 1ULL &lt;&lt; 43U,<br/>AMBISONICS_ACN3 = 1ULL &lt;&lt; 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 &lt;&lt; 45U,<br/>AMBISONICS_ACN5 = 1ULL &lt;&lt; 46U,<br/>AMBISONICS_ACN6 = 1ULL &lt;&lt; 47U,<br/>AMBISONICS_ACN7 = 1ULL &lt;&lt; 48U,<br/>AMBISONICS_ACN8 = 1ULL &lt;&lt; 49U,<br/>AMBISONICS_ACN9 = 1ULL &lt;&lt; 50U,<br/>AMBISONICS_ACN10 = 1ULL &lt;&lt; 51U,<br/>AMBISONICS_ACN11 = 1ULL &lt;&lt; 52U,<br/>AMBISONICS_ACN12 = 1ULL &lt;&lt; 53U,<br/>AMBISONICS_ACN13 = 1ULL &lt;&lt; 54U,<br/>AMBISONICS_ACN14 = 1ULL &lt;&lt; 55U,<br/>AMBISONICS_ACN15 = 1ULL &lt;&lt; 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
2858Configure/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
2873Configure/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
3239Configure/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
3253Configure/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