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