1# CodecBase 2 3 4## 概述 5 6CodecBase模块提供用于音视频封装、解封装、编解码基础功能的变量、属性以及函数。 7 8**系统能力:** SystemCapability.Multimedia.Media.CodecBase 9 10**起始版本:** 9 11 12 13## 汇总 14 15 16### 文件 17 18| 名称 | 描述 | 19| -------- | -------- | 20| [avcodec_audio_channel_layout.h](avcodec__audio__channel__layout_8h.md) | 声明用于音频编解码的枚举。 | 21| [native_avcodec_base.h](native__avcodec__base_8h.md) | 声明用于音视频封装、解封装、编解码基础功能的Native API。 | 22 23 24### 结构体 25 26| 名称 | 描述 | 27| -------- | -------- | 28| struct [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | OH_AVCodec中所有异步回调函数指针的集合。 | 29| struct [OH_AVCodecCallback](_o_h___a_v_codec_callback.md) | OH_AVCodec中所有异步回调函数指针的集合。 | 30 31 32### 类型定义 33 34| 名称 | 描述 | 35| -------- | -------- | 36| typedef struct NativeWindow [OHNativeWindow](#ohnativewindow) | 为图形接口定义native层对象。 | 37| typedef struct [OH_AVCodec](#oh_avcodec) [OH_AVCodec](#oh_avcodec) | 为音视频编解码接口定义native层对象。 | 38| typedef void(\* [OH_AVCodecOnError](#oh_avcodeconerror)) ([OH_AVCodec](#oh_avcodec) \*codec, int32_t errorCode, void \*userData) | 当OH_AVCodec实例运行出错时,会调用来上报具体的错误信息的函数指针。 | 39| typedef void(\* [OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)) ([OH_AVCodec](#oh_avcodec) \*codec, [OH_AVFormat](_core.md#oh_avformat) \*format, void \*userData) | 当输出码流发生变化时,将调用此函数指针报告新的流描述信息。 | 40| 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在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。 | 41| 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运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。 | 42| 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在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。 | 43| 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运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。 | 44| typedef struct [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) [OH_AVCodecAsyncCallback](#oh_avcodecasynccallback) | OH_AVCodec中所有异步回调函数指针的集合。 | 45| typedef struct [OH_AVCodecCallback](_o_h___a_v_codec_callback.md) [OH_AVCodecCallback](#oh_avcodeccallback) | OH_AVCodec中所有异步回调函数指针的集合。 | 46| typedef enum [OH_MediaType](#oh_mediatype-1) [OH_MediaType](#oh_mediatype) | 媒体类型。 | 47| typedef enum [OH_AACProfile](#oh_aacprofile-1) [OH_AACProfile](#oh_aacprofile) | AAC配置。 | 48| typedef enum [OH_AVCProfile](#oh_avcprofile-1) [OH_AVCProfile](#oh_avcprofile) | AVC配置。 | 49| typedef enum [OH_HEVCProfile](#oh_hevcprofile-1) [OH_HEVCProfile](#oh_hevcprofile) | HEVC配置。 | 50| typedef enum [OH_AVOutputFormat](#oh_avoutputformat-1) [OH_AVOutputFormat](#oh_avoutputformat) | 枚举封装器的输出文件格式。 | 51| typedef enum [OH_AVSeekMode](#oh_avseekmode-1) [OH_AVSeekMode](#oh_avseekmode) | 跳转模式。 | 52| typedef enum [OH_ScalingMode](#oh_scalingmode-1) [OH_ScalingMode](#oh_scalingmode) | 缩放模式。 | 53| typedef enum [OH_BitsPerSample](#oh_bitspersample-1) [OH_BitsPerSample](#oh_bitspersample) | 枚举每个编码样本的音频位数。 | 54| typedef enum [OH_ColorPrimary](#oh_colorprimary-1) [OH_ColorPrimary](#oh_colorprimary) | 色域。 | 55| typedef enum [OH_TransferCharacteristic](#oh_transfercharacteristic-1) [OH_TransferCharacteristic](#oh_transfercharacteristic) | 转移特性。 | 56| typedef enum [OH_MatrixCoefficient](#oh_matrixcoefficient-1) [OH_MatrixCoefficient](#oh_matrixcoefficient) | 矩阵系数。 | 57 58 59### 枚举 60 61| 名称 | 描述 | 62| -------- | -------- | 63| [AudioChannelSet](#audiochannelset) : uint64_t {<br/>FRONT_LEFT = 1ULL << 0U,<br/>FRONT_RIGHT = 1ULL << 1U,<br/>FRONT_CENTER = 1ULL << 2U,<br/>LOW_FREQUENCY = 1ULL << 3U,<br/>BACK_LEFT = 1ULL << 4U,<br/>BACK_RIGHT = 1ULL << 5U,<br/>FRONT_LEFT_OF_CENTER = 1ULL << 6U,<br/>FRONT_RIGHT_OF_CENTER = 1ULL << 7U,<br/>BACK_CENTER = 1ULL << 8U,<br/>SIDE_LEFT = 1ULL << 9U,<br/>SIDE_RIGHT = 1ULL << 10U,<br/>TOP_CENTER = 1ULL << 11U,<br/>TOP_FRONT_LEFT = 1ULL << 12U,<br/>TOP_FRONT_CENTER = 1ULL << 13U,<br/>TOP_FRONT_RIGHT = 1ULL << 14U,<br/>TOP_BACK_LEFT = 1ULL << 15U,<br/>TOP_BACK_CENTER = 1ULL << 16U,<br/>TOP_BACK_RIGHT = 1ULL << 17U,<br/>STEREO_LEFT = 1ULL << 29U,<br/>STEREO_RIGHT = 1ULL << 30U,<br/>WIDE_LEFT = 1ULL << 31U,<br/>WIDE_RIGHT = 1ULL << 32U,<br/>SURROUND_DIRECT_LEFT = 1ULL << 33U,<br/>SURROUND_DIRECT_RIGHT = 1ULL << 34U,<br/>LOW_FREQUENCY_2 = 1ULL << 35U,<br/>TOP_SIDE_LEFT = 1ULL << 36U,<br/>TOP_SIDE_RIGHT = 1ULL << 37U,<br/>BOTTOM_FRONT_CENTER = 1ULL << 38U,<br/>BOTTOM_FRONT_LEFT = 1ULL << 39U,<br/>BOTTOM_FRONT_RIGHT = 1ULL << 40U,<br/>AMBISONICS_ACN0 = 1ULL << 41U,<br/>AMBISONICS_ACN1 = 1ULL << 42U,<br/>AMBISONICS_ACN2 = 1ULL << 43U,<br/>AMBISONICS_ACN3 = 1ULL << 44U,<br/>AMBISONICS_W = AMBISONICS_ACN0,<br/>AMBISONICS_Y = AMBISONICS_ACN1,<br/>AMBISONICS_Z = AMBISONICS_ACN2,<br/>AMBISONICS_X = AMBISONICS_ACN3,<br/>AMBISONICS_ACN4 = 1ULL << 45U,<br/>AMBISONICS_ACN5 = 1ULL << 46U,<br/>AMBISONICS_ACN6 = 1ULL << 47U,<br/>AMBISONICS_ACN7 = 1ULL << 48U,<br/>AMBISONICS_ACN8 = 1ULL << 49U,<br/>AMBISONICS_ACN9 = 1ULL << 50U,<br/>AMBISONICS_ACN10 = 1ULL << 51U,<br/>AMBISONICS_ACN11 = 1ULL << 52U,<br/>AMBISONICS_ACN12 = 1ULL << 53U,<br/>AMBISONICS_ACN13 = 1ULL << 54U,<br/>AMBISONICS_ACN14 = 1ULL << 55U,<br/>AMBISONICS_ACN15 = 1ULL << 56U<br/>} | 音频声道数集合, 将每一个声道数映射为int64的变量。 | 64| [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/>} | 音频声道数类型, 将用户申请的解码器输出格式表示为编解码器的声道类型。 | 65| [OH_MediaType](#oh_mediatype-1) {<br/>MEDIA_TYPE_AUD = 0,<br/>MEDIA_TYPE_VID = 1<br/>} | 媒体类型。 | 66| [OH_AACProfile](#oh_aacprofile-1) { AAC_PROFILE_LC = 0 } | AAC配置。 | 67| [OH_AVCProfile](#oh_avcprofile-1) {<br/>AVC_PROFILE_BASELINE = 0,<br/>AVC_PROFILE_HIGH = 4,<br/>AVC_PROFILE_MAIN = 8<br/>} | AVC配置。 | 68| [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配置。 | 69| [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/>} | 枚举封装器的输出文件格式。 | 70| [OH_AVSeekMode](#oh_avseekmode-1) {<br/>SEEK_MODE_NEXT_SYNC = 0,<br/>SEEK_MODE_PREVIOUS_SYNC,<br/>SEEK_MODE_CLOSEST_SYNC<br/>} | 跳转模式。 | 71| [OH_ScalingMode](#oh_scalingmode-1) {<br/>SCALING_MODE_SCALE_TO_WINDOW = 1,<br/>SCALING_MODE_SCALE_CROP = 2<br/>} | 缩放模式。 | 72| [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/>} | 枚举每个编码样本的音频位数。 | 73| [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/>} | 色域。 | 74| [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/>} | 转移特性。 | 75| [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/>} | 矩阵系数。 | 76 77 78### 变量 79 80| 名称 | 描述 | 81| -------- | -------- | 82| const char \* [OH_AVCODEC_MIMETYPE_VIDEO_AVC](#oh_avcodec_mimetype_video_avc) | AVC(H.264)视频编解码器的MIME类型。 | 83| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_AAC](#oh_avcodec_mimetype_audio_aac) | AAC音频编解码器的MIME类型。 | 84| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_FLAC](#oh_avcodec_mimetype_audio_flac) | FLAC音频编解码器的MIME类型。 | 85| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_VORBIS](#oh_avcodec_mimetype_audio_vorbis) | VORBIS音频解码器的MIME类型。 | 86| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_MPEG](#oh_avcodec_mimetype_audio_mpeg) | MP3音频解码器的MIME类型。 | 87| const char \* [OH_AVCODEC_MIMETYPE_VIDEO_HEVC](#oh_avcodec_mimetype_video_hevc) | HEVC(H.265)视频编解码器的MIME类型。 | 88| const char \* [OH_AVCODEC_MIMETYPE_VIDEO_MPEG4](#oh_avcodec_mimetype_video_mpeg4) | MPEG4视频编码的MIME类型,仅用于封装MPEG4视频码流使用。 | 89| const char \* [OH_AVCODEC_MIMETYPE_IMAGE_JPG](#oh_avcodec_mimetype_image_jpg) | JPG图片编码的MIME类型,仅用于封装JPG封面时使用。 | 90| const char \* [OH_AVCODEC_MIMETYPE_IMAGE_PNG](#oh_avcodec_mimetype_image_png) | PNG图片编码的MIME类型,仅用于封装PNG封面时使用。 | 91| const char \* [OH_AVCODEC_MIMETYPE_IMAGE_BMP](#oh_avcodec_mimetype_image_bmp) | BMP图片编码的MIME类型,仅用于封装BMP封面时使用。 | 92| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_VIVID](#oh_avcodec_mimetype_audio_vivid) | AudioVivid音频解码器的MIME类型。(此规格暂未开放) | 93| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_AMR_NB](#oh_avcodec_mimetype_audio_amr_nb) | AMR_NB音频解码器的MIME类型。 | 94| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_AMR_WB](#oh_avcodec_mimetype_audio_amr_wb) | AMR_WB音频解码器的MIME类型。 | 95| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_OPUS](#oh_avcodec_mimetype_audio_opus) | OPUS音频编解码器的MIME类型。(此规格暂未开放) | 96| const char \* [OH_AVCODEC_MIMETYPE_AUDIO_G711MU](#oh_avcodec_mimetype_audio_g711mu) | G711MU音频编解码器的MIME类型。 | 97| const char \* [OH_ED_KEY_TIME_STAMP](#oh_ed_key_time_stamp) | 表面的额外数据中时间戳的键,值类型为int64。 | 98| const char \* [OH_ED_KEY_EOS](#oh_ed_key_eos) | 表面的额外数据中流结束符的键,值类型为bool。 | 99| const char \* [OH_MD_KEY_TRACK_TYPE](#oh_md_key_track_type) | 曲目类型的键,值类型为uint8_t,请参见[OH_MediaType](#oh_mediatype)。 | 100| const char \* [OH_MD_KEY_CODEC_MIME](#oh_md_key_codec_mime) | 编解码器mime类型的键,值类型为string。 | 101| const char \* [OH_MD_KEY_DURATION](#oh_md_key_duration) | 持续时间键,值类型为int64_t。 | 102| const char \* [OH_MD_KEY_BITRATE](#oh_md_key_bitrate) | 比特率的键,值类型为int64_t。 | 103| const char \* [OH_MD_KEY_MAX_INPUT_SIZE](#oh_md_key_max_input_size) | 最大输入大小的键,值类型为uint32_t。 | 104| const char \* [OH_MD_KEY_WIDTH](#oh_md_key_width) | 视频宽度的键,值类型为uint32_t。 | 105| const char \* [OH_MD_KEY_HEIGHT](#oh_md_key_height) | 视频高度键,值类型为uint32_t。 | 106| const char \* [OH_MD_KEY_PIXEL_FORMAT](#oh_md_key_pixel_format) | 视频像素格式的键,值类型为int32_t,请参见[OH_AVPixelFormat](_core.md#oh_avpixelformat)。 | 107| const char \* [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](#oh_md_key_audio_sample_format) | 音频原始格式的键,值类型为uint32_t。 | 108| const char \* [OH_MD_KEY_FRAME_RATE](#oh_md_key_frame_rate) | 视频帧率的键,值类型为double。 | 109| 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)。 | 110| const char \* [OH_MD_KEY_PROFILE](#oh_md_key_profile) | 编码档次,值类型为int32_t请参见[OH_HEVCProfile](#oh_hevcprofile), [OH_AACProfile](#oh_aacprofile)。 | 111| const char \* [OH_MD_KEY_AUD_CHANNEL_COUNT](#oh_md_key_aud_channel_count) | 音频通道计数键,值类型为uint32_t。 | 112| const char \* [OH_MD_KEY_AUD_SAMPLE_RATE](#oh_md_key_aud_sample_rate) | 音频采样率键,值类型为uint32_t。 | 113| const char \* [OH_MD_KEY_I_FRAME_INTERVAL](#oh_md_key_i_frame_interval) | 关键帧间隔的键,值类型为int32_t,单位为毫秒。 | 114| const char \* [OH_MD_KEY_ROTATION](#oh_md_key_rotation) | 表面旋转角度的键。值类型为int32_t:应为{0, 90, 180, 270},默认值为0。 | 115| const char \* [OH_MD_KEY_RANGE_FLAG](#oh_md_key_range_flag) | 视频YUV值域标志的键,值类型为bool,true表示full range,false表示limited range。 | 116| const char \* [OH_MD_KEY_COLOR_PRIMARIES](#oh_md_key_color_primaries) | 视频色域的键, 值类型为int32_t, 请参见[OH_ColorPrimary](#oh_colorprimary),遵循H.273标准Table2。 | 117| const char \* [OH_MD_KEY_TRANSFER_CHARACTERISTICS](#oh_md_key_transfer_characteristics) | 视频传递函数的键,值类型为int32_t,请参见[OH_TransferCharacteristic](#oh_transfercharacteristic),遵循H.273标准Table3。 | 118| const char \* [OH_MD_KEY_MATRIX_COEFFICIENTS](#oh_md_key_matrix_coefficients) | 视频矩阵系数的键,值类型为int32_t,请参见[OH_MatrixCoefficient](#oh_matrixcoefficient),遵循H.273标准Table4。 | 119| const char \* [OH_MD_KEY_REQUEST_I_FRAME](#oh_md_key_request_i_frame) | 请求立即编码I帧的键。值类型为bool。 | 120| const char \* [OH_MD_KEY_QUALITY](#oh_md_key_quality) | 所需编码质量的键。值类型为uint32_t,此键仅适用于配置在恒定质量模式下的编码器。 | 121| const char \* [OH_MD_KEY_CODEC_CONFIG](#oh_md_key_codec_config) | 编解码器特定数据的键,值类型为uint8_t\*。 | 122| const char \* [OH_MD_KEY_TITLE](#oh_md_key_title) | 源格式标题的键,值类型为string。 | 123| const char \* [OH_MD_KEY_ARTIST](#oh_md_key_artist) | 艺术家的源格式键,值类型为string。 | 124| const char \* [OH_MD_KEY_ALBUM](#oh_md_key_album) | 相册的源格式键,值类型为string。 | 125| const char \* [OH_MD_KEY_ALBUM_ARTIST](#oh_md_key_album_artist) | 相册艺术家的键,值类型为string。 | 126| const char \* [OH_MD_KEY_DATE](#oh_md_key_date) | 源格式日期的键,值类型为string。 | 127| const char \* [OH_MD_KEY_COMMENT](#oh_md_key_comment) | 源格式注释的键,值类型为string。 | 128| const char \* [OH_MD_KEY_GENRE](#oh_md_key_genre) | 源格式类型的键,值类型为string。 | 129| const char \* [OH_MD_KEY_COPYRIGHT](#oh_md_key_copyright) | 源格式版权的键,值类型为string。 | 130| const char \* [OH_MD_KEY_LANGUAGE](#oh_md_key_language) | 源格式语言的键,值类型为string。 | 131| const char \* [OH_MD_KEY_DESCRIPTION](#oh_md_key_description) | 源格式描述的键,值类型为string。 | 132| const char \* [OH_MD_KEY_LYRICS](#oh_md_key_lyrics) | 源格式歌词的键,值类型为string。 | 133| const char \* [OH_MD_KEY_TRACK_COUNT](#oh_md_key_track_count) | 源格式轨道数量的键,值类型为uint32_t。 | 134| const char \* [OH_MD_KEY_CHANNEL_LAYOUT](#oh_md_key_channel_layout) | 所需编码通道布局的键。值类型为int64_t,此键仅适用于编码器。 | 135| const char \* [OH_MD_KEY_BITS_PER_CODED_SAMPLE](#oh_md_key_bits_per_coded_sample) | 每个编码样本位数的键,值类型为uint32_t,支持flac编码器,请参见[OH_BitsPerSample](#oh_bitspersample)。 | 136| const char \* [OH_MD_KEY_AAC_IS_ADTS](#oh_md_key_aac_is_adts) | aac格式的键,值类型为uint32_t,aac解码器支持。 | 137| const char \* [OH_MD_KEY_SBR](#oh_md_key_sbr) | aac sbr模式的键,值类型为uint32_t,aac编码器支持。 | 138| const char \* [OH_MD_KEY_COMPLIANCE_LEVEL](#oh_md_key_compliance_level) | flac合规性级别的键,值类型为int32_t。 | 139| const char \* [OH_MD_KEY_IDENTIFICATION_HEADER](#oh_md_key_identification_header) | vorbis标识头的键,值类型为uint8_t\*,仅vorbis解码器支持。 | 140| const char \* [OH_MD_KEY_SETUP_HEADER](#oh_md_key_setup_header) | vorbis设置头的键,值类型为uint8_t\*,仅vorbis解码器支持。 | 141| const char \* [OH_MD_KEY_SCALING_MODE](#oh_md_key_scaling_mode) | 视频表面尺度类型, 值类型为int32_t, 请参见[OH_ScalingMode](#oh_scalingmode)。 | 142| const char \* [OH_MD_MAX_INPUT_BUFFER_COUNT](#oh_md_max_input_buffer_count) | 最大输入缓冲区个数的键, 值类型为int32_t。 | 143| const char \* [OH_MD_MAX_OUTPUT_BUFFER_COUNT](#oh_md_max_output_buffer_count) | 最大输出缓冲区个数的键, 值类型int32_t。 | 144| const char \* [OH_MD_KEY_AUDIO_COMPRESSION_LEVEL](#oh_md_key_audio_compression_level) | 音频编解码压缩水平的键,值类型为uint32_t。 | 145| const char \* [OH_MD_KEY_VIDEO_IS_HDR_VIVID](#oh_md_key_video_is_hdr_vivid) | 查询是否是hdr vivid的键,值类型为bool。 | 146| const char \* [OH_MD_KEY_AUDIO_OBJECT_NUMBER](#oh_md_key_audio_object_number) | 音频对象数目的键. 值类型为int32_t。 | 147| const char \* [OH_MD_KEY_AUDIO_VIVID_METADATA](#oh_md_key_audio_vivid_metadata) | audio vivid元数据的键,值类型为uint8_t\*。 | 148 149 150## 类型定义说明 151 152 153### OH_AACProfile 154 155``` 156typedef enum OH_AACProfile OH_AACProfile 157``` 158 159**描述** 160 161AAC配置。 162 163**系统能力:** SystemCapability.Multimedia.Media.CodecBase 164 165**起始版本:** 9 166 167 168### OH_AVCodec 169 170``` 171typedef struct OH_AVCodec OH_AVCodec 172``` 173**描述** 174 175为音视频编解码接口定义native层对象。 176 177**起始版本:** 9 178 179 180### OH_AVCodecAsyncCallback 181 182``` 183typedef struct OH_AVCodecAsyncCallback OH_AVCodecAsyncCallback 184``` 185 186**描述** 187 188OH_AVCodec中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVCodec实例中, 并处理回调上报的信息,以保证OH_AVCodec的正常运行。 189 190**系统能力:** SystemCapability.Multimedia.Media.CodecBase 191 192**起始版本:** 9 193 194**废弃版本:** 11 195 196**替代接口:**[OH_AVCodecCallback](#oh_avcodeccallback) 197 198**参数:** 199 200| 名称 | 描述 | 201| -------- | -------- | 202| onError | 监控编解码器操作错误,请参见[OH_AVCodecOnError](#oh_avcodeconerror)。 | 203| onStreamChanged | 监控编解码器流变化,请参见[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)。 | 204| onNeedInputData | 监控编解码器需要输入数据,请参见[OH_AVCodecOnNeedInputData](#oh_avcodeconneedinputdata)。 | 205| onNeedOutputData | 监控编解码器已生成输出数据,请参见[OH_AVCodecOnNewOutputData](#oh_avcodeconnewoutputdata)。 | 206 207 208### OH_AVCodecCallback 209 210``` 211typedef struct OH_AVCodecCallback OH_AVCodecCallback 212``` 213 214**描述** 215 216OH_AVCodec中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVCodec实例中, 并处理回调上报的信息,以保证OH_AVCodec的正常运行。 217 218**系统能力:** SystemCapability.Multimedia.Media.CodecBase 219 220**起始版本:** 11 221 222**参数:** 223 224| 名称 | 描述 | 225| -------- | -------- | 226| onError | 监控编解码器操作错误,请参见[OH_AVCodecOnError](#oh_avcodeconerror)。 | 227| onStreamChanged | 监控编解码器流变化,请参见[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)。 | 228| onNeedInputBuffer | 监控编解码器需要输入数据,请参见[OH_AVCodecOnNeedInputBuffer](#oh_avcodeconneedinputbuffer)。 | 229| onNewOutputBuffer | 监控编解码器已生成输出数据,请参见[OH_AVCodecOnNewOutputBuffer](#oh_avcodeconnewoutputbuffer)。 | 230 231 232### OH_AVCodecOnError 233 234``` 235typedef void(* OH_AVCodecOnError) (OH_AVCodec *codec, int32_t errorCode, void *userData) 236``` 237 238**描述** 239 240当OH_AVCodec实例运行出错时,会调用来上报具体的错误信息的函数指针。 241 242**系统能力:** SystemCapability.Multimedia.Media.CodecBase 243 244**起始版本:** 9 245 246**参数:** 247 248| 名称 | 描述 | 249| -------- | -------- | 250| codec | OH_AVCodec实例。 | 251| errorCode | 特定错误代码。 | 252| userData | 用户特定数据。 | 253 254 255### OH_AVCodecOnNeedInputBuffer 256 257``` 258typedef void(* OH_AVCodecOnNeedInputBuffer) (OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData) 259``` 260 261**描述** 262 263当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。 264 265**系统能力:** SystemCapability.Multimedia.Media.CodecBase 266 267**起始版本:** 11 268 269**参数:** 270 271| 名称 | 描述 | 272| -------- | -------- | 273| codec | OH_AVCodec实例。 | 274| index | 与新可用的输入缓冲区相对应的索引。 | 275| buffer | 新的可用输入缓冲区。 | 276| userData | 用户特定数据。 | 277 278 279### OH_AVCodecOnNeedInputData 280 281``` 282typedef void(* OH_AVCodecOnNeedInputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, void *userData) 283``` 284 285**描述** 286 287当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。 288 289**系统能力:** SystemCapability.Multimedia.Media.CodecBase 290 291**起始版本:** 9 292 293**废弃版本:** 11 294 295**替代接口:**[OH_AVCodecOnNeedInputBuffer](#oh_avcodeconneedinputbuffer) 296 297**参数:** 298 299| 名称 | 描述 | 300| -------- | -------- | 301| codec | OH_AVCodec实例。 | 302| index | 与新可用的输入缓冲区相对应的索引。 | 303| data | 新的可用输入缓冲区。 | 304| userData | 用户特定数据。 | 305 306 307### OH_AVCodecOnNewOutputBuffer 308 309``` 310typedef void(* OH_AVCodecOnNewOutputBuffer) (OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData) 311``` 312 313**描述** 314 315当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。 316 317**系统能力:** SystemCapability.Multimedia.Media.CodecBase 318 319**起始版本:** 11 320 321**参数:** 322 323| 名称 | 描述 | 324| -------- | -------- | 325| codec | OH_AVCodec实例。 | 326| index | 与新输出缓冲区对应的索引。 | 327| buffer | 包含新输出数据的缓冲区。 | 328| userData | 用户特定数据。 | 329 330 331### OH_AVCodecOnNewOutputData 332 333``` 334typedef void(* OH_AVCodecOnNewOutputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, OH_AVCodecBufferAttr *attr, void *userData) 335``` 336 337**描述** 338 339当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅在调用函数指针时有效,这将禁止调用结束后继续访问。 340 341**系统能力:** SystemCapability.Multimedia.Media.CodecBase 342 343**起始版本:** 9 344 345**废弃版本:** 11 346 347**替代接口:**[OH_AVCodecOnNewOutputBuffer](#oh_avcodeconnewoutputbuffer) 348 349**参数:** 350 351| 名称 | 描述 | 352| -------- | -------- | 353| codec | OH_AVCodec实例。 | 354| index | 与新输出缓冲区对应的索引。 | 355| data | 包含新输出数据的缓冲区。 | 356| attr | 新输出缓冲区的说明,请参见[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)。 | 357| userData | 用户特定数据。 | 358 359 360### OH_AVCodecOnStreamChanged 361 362``` 363typedef void(* OH_AVCodecOnStreamChanged) (OH_AVCodec *codec, OH_AVFormat *format, void *userData) 364``` 365 366**描述** 367 368当输出码流发生变化时,将调用此函数指针报告新的流描述信息。需要注意的是, OH_AVFormat指针的生命周期只有在函数指针被调用时才有效,调用结束后禁止继续访问。 369 370**系统能力:** SystemCapability.Multimedia.Media.CodecBase 371 372**起始版本:** 9 373 374**参数:** 375 376| 名称 | 描述 | 377| -------- | -------- | 378| codec | OH_AVCodec实例。 | 379| format | 新输出流描述信息。 | 380| userData | 用户特定数据。 | 381 382 383### OH_AVCProfile 384 385``` 386typedef enum OH_AVCProfile OH_AVCProfile 387``` 388 389**描述** 390 391AVC配置。 392 393**系统能力:** SystemCapability.Multimedia.Media.CodecBase 394 395**起始版本:** 9 396 397 398### OH_AVOutputFormat 399 400``` 401typedef enum OH_AVOutputFormat OH_AVOutputFormat 402``` 403 404**描述** 405 406枚举封装器的输出文件格式。 407 408**系统能力:** SystemCapability.Multimedia.Media.CodecBase 409 410**起始版本:** 10 411 412 413### OH_AVSeekMode 414 415``` 416typedef enum OH_AVSeekMode OH_AVSeekMode 417``` 418 419**描述** 420 421跳转模式。 422 423**系统能力:** SystemCapability.Multimedia.Media.CodecBase 424 425**起始版本:** 10 426 427 428### OH_BitsPerSample 429 430``` 431typedef enum OH_BitsPerSample OH_BitsPerSample 432``` 433 434**描述** 435 436枚举每个编码样本的音频位数。 437 438**系统能力:** SystemCapability.Multimedia.Media.CodecBase 439 440**起始版本:** 10 441 442 443### OH_ColorPrimary 444 445``` 446typedef enum OH_ColorPrimary OH_ColorPrimary 447``` 448 449**描述** 450 451色域。 452 453**系统能力:** SystemCapability.Multimedia.Media.CodecBase 454 455**起始版本:** 10 456 457 458### OH_HEVCProfile 459 460``` 461typedef enum OH_HEVCProfile OH_HEVCProfile 462``` 463 464**描述** 465 466HEVC配置。 467 468**系统能力:** SystemCapability.Multimedia.Media.CodecBase 469 470**起始版本:** 10 471 472 473### OH_MatrixCoefficient 474 475``` 476typedef enum OH_MatrixCoefficient OH_MatrixCoefficient 477``` 478 479**描述** 480 481矩阵系数。 482 483**系统能力:** SystemCapability.Multimedia.Media.CodecBase 484 485**起始版本:** 10 486 487 488### OH_MediaType 489 490``` 491typedef enum OH_MediaType OH_MediaType 492``` 493 494**描述** 495 496媒体类型。 497 498**系统能力:** SystemCapability.Multimedia.Media.CodecBase 499 500**起始版本:** 9 501 502 503### OH_ScalingMode 504 505``` 506typedef enum OH_ScalingMode OH_ScalingMode 507``` 508 509**描述** 510 511缩放模式。 512 513**系统能力:** SystemCapability.Multimedia.Media.CodecBase 514 515**起始版本:** 10 516 517 518### OH_TransferCharacteristic 519 520``` 521typedef enum OH_TransferCharacteristic OH_TransferCharacteristic 522``` 523 524**描述** 525 526转移特性。 527 528**系统能力:** SystemCapability.Multimedia.Media.CodecBase 529 530**起始版本:** 10 531 532 533### OHNativeWindow 534 535``` 536typedef struct NativeWindow OHNativeWindow 537``` 538**描述** 539 540为图形接口定义native层对象。 541 542**起始版本:** 9 543 544 545## 枚举类型说明 546 547 548### AudioChannelLayout 549 550``` 551enum AudioChannelLayout : uint64_t 552``` 553 554**描述** 555 556音频声道数类型, 将用户申请的解码器输出格式表示为编解码器的声道类型。 557 558**系统能力:** SystemCapability.Multimedia.Media.CodecBase 559 560**起始版本:** 10 561 562**废弃版本:** 11 563 564**替代接口:**[OH_AudioChannelLayout](_core.md#oh_audiochannellayout) 565 566| 枚举值 | 描述 | 567| -------- | -------- | 568| UNKNOWN_CHANNEL_LAYOUT | 未知通道布局 | 569| MONO | 单通道布局 | 570| STEREO | 立体声布局 | 571| CH_2POINT1 | 2.1布局 | 572| CH_2_1 | 2_1布局 | 573| SURROUND | 环绕布局 | 574| CH_3POINT1 | 3.1布局 | 575| CH_4POINT0 | 4.0布局 | 576| CH_4POINT1 | 4.1布局 | 577| CH_2_2 | 2_2布局 | 578| QUAD | 四角形布局 | 579| CH_5POINT0 | 5.0布局 | 580| CH_5POINT1 | 5.1布局 | 581| CH_5POINT0_BACK | 5.0后置布局 | 582| CH_5POINT1_BACK | 5.1后置布局 | 583| CH_6POINT0 | 6.0布局 | 584| CH_6POINT0_FRONT | 6.0前置布局 | 585| HEXAGONAL | 六角形布局 | 586| CH_6POINT1 | 6.1布局 | 587| CH_6POINT1_BACK | 6.1后置布局 | 588| CH_6POINT1_FRONT | 6.1前置布局 | 589| CH_7POINT0 | 7.0布局 | 590| CH_7POINT0_FRONT | 7.0前置布局 | 591| CH_7POINT1 | 7.1布局 | 592| CH_7POINT1_WIDE | 7.1宽布局 | 593| CH_7POINT1_WIDE_BACK | 7.1后置宽布局 | 594| CH_3POINT1POINT2 | 3.1.2布局 | 595| CH_5POINT1POINT2 | 5.1.2布局 | 596| CH_5POINT1POINT4 | 5.1.4布局 | 597| CH_7POINT1POINT2 | 7.1.2布局 | 598| CH_7POINT1POINT4 | 7.1.4布局 | 599| CH_9POINT1POINT4 | 9.1.4布局 | 600| CH_9POINT1POINT6 | 9.1.6布局 | 601| CH_10POINT2 | 10.2布局 | 602| CH_22POINT2 | 22.2布局 | 603| OCTAGONAL | 八边形布局 | 604| HEXADECAGONAL | 十六边形布局 | 605| STEREO_DOWNMIX | 立体声下混布局 | 606| HOA_FIRST | 高阶立体声一阶布局 | 607| HOA_SECOND | 高阶立体声二阶布局 | 608| HOA_THIRD | 高阶立体声三阶布局 | 609 610 611### AudioChannelSet 612 613``` 614enum AudioChannelSet : uint64_t 615``` 616 617**描述** 618 619音频声道数集合, 将每一个声道数映射为int64的变量。 620 621**系统能力:** SystemCapability.Multimedia.Media.CodecBase 622 623**起始版本:** 10 624 625**废弃版本:** 11,请使用[OH_AudioChannelSet](_core.md#oh_audiochannelset)替代。 626 627| 枚举值 | 描述 | 628| -------- | -------- | 629| FRONT_LEFT | 左前声道 | 630| FRONT_RIGHT | 右前声道 | 631| FRONT_CENTER | 中前声道 | 632| LOW_FREQUENCY | 低频声道 | 633| BACK_LEFT | 左后声道 | 634| BACK_RIGHT | 右后声道 | 635| FRONT_LEFT_OF_CENTER | 左前中置声道 | 636| FRONT_RIGHT_OF_CENTER | 右前中置声道 | 637| BACK_CENTER | 后方中置声道 | 638| SIDE_LEFT | 左侧声道 | 639| SIDE_RIGHT | 右侧声道 | 640| TOP_CENTER | 上方中置声道 | 641| TOP_FRONT_LEFT | 上方左前声道 | 642| TOP_FRONT_CENTER | 上方中前声道 | 643| TOP_FRONT_RIGHT | 上方右前声道 | 644| TOP_BACK_LEFT | 上方左后声道 | 645| TOP_BACK_CENTER | 上方中后声道 | 646| TOP_BACK_RIGHT | 上方右后声道 | 647| STEREO_LEFT | 立体声左声道 | 648| STEREO_RIGHT | 立体声右声道 | 649| WIDE_LEFT | 宽左声道 | 650| WIDE_RIGHT | 宽右声道 | 651| SURROUND_DIRECT_LEFT | 左环绕声道 | 652| SURROUND_DIRECT_RIGHT | 右环绕声道 | 653| LOW_FREQUENCY_2 | 低频声道2 | 654| TOP_SIDE_LEFT | 上方左侧声道 | 655| TOP_SIDE_RIGHT | 上方右侧声道 | 656| BOTTOM_FRONT_CENTER | 下方中前声道 | 657| BOTTOM_FRONT_LEFT | 下方左前声道 | 658| BOTTOM_FRONT_RIGHT | 下方右前声道 | 659| AMBISONICS_ACN0 | 零阶立体声声道数 0 | 660| AMBISONICS_ACN1 | 一阶立体声声道数 1 | 661| AMBISONICS_ACN2 | 一阶立体声声道数 2 | 662| AMBISONICS_ACN3 | 一阶立体声声道数 3 | 663| AMBISONICS_W | 同于零阶立体声声道数 0 | 664| AMBISONICS_Y | 同于一阶立体声声道数 1 | 665| AMBISONICS_Z | 同于一阶立体声声道数 2 | 666| AMBISONICS_X | 同于一阶立体声声道数 3 | 667| AMBISONICS_ACN4 | 二阶立体声声道数 4 | 668| AMBISONICS_ACN5 | 二阶立体声声道数 5 | 669| AMBISONICS_ACN6 | 二阶立体声声道数 6 | 670| AMBISONICS_ACN7 | 二阶立体声声道数 7 | 671| AMBISONICS_ACN8 | 二阶立体声声道数 8 | 672| AMBISONICS_ACN9 | 三阶立体声声道数 9 | 673| AMBISONICS_ACN10 | 三阶立体声声道数 10 | 674| AMBISONICS_ACN11 | 三阶立体声声道数 11 | 675| AMBISONICS_ACN12 | 三阶立体声声道数 12 | 676| AMBISONICS_ACN13 | 三阶立体声声道数 13 | 677| AMBISONICS_ACN14 | 三阶立体声声道数 14 | 678| AMBISONICS_ACN15 | 三阶立体声声道数 15 | 679 680 681### OH_AACProfile 682 683``` 684enum OH_AACProfile 685``` 686 687**描述** 688 689AAC配置。 690 691**系统能力:** SystemCapability.Multimedia.Media.CodecBase 692 693**起始版本:** 9 694 695| 枚举值 | 描述 | 696| -------- | -------- | 697| AAC_PROFILE_LC | AAV编码配置为Low Complexity级别。 | 698 699 700### OH_AVCProfile 701 702``` 703enum OH_AVCProfile 704``` 705 706**描述** 707 708AVC配置。 709 710**系统能力:** SystemCapability.Multimedia.Media.CodecBase 711 712**起始版本:** 9 713 714| 枚举值 | 描述 | 715| -------- | -------- | 716| AVC_PROFILE_BASELINE | AVC编码配置为基本档次。 | 717| AVC_PROFILE_HIGH | AVC编码配置为高档次。 | 718| AVC_PROFILE_MAIN | AVC编码配置为主档次。 | 719 720 721### OH_AVOutputFormat 722 723``` 724enum OH_AVOutputFormat 725``` 726 727**描述** 728 729枚举封装器的输出文件格式。 730 731**系统能力:** SystemCapability.Multimedia.Media.CodecBase 732 733**起始版本:** 10 734 735| 枚举值 | 描述 | 736| -------- | -------- | 737| AV_OUTPUT_FORMAT_DEFAULT | 输出文件格式默认值,默认为MP4格式。 | 738| AV_OUTPUT_FORMAT_MPEG_4 | 输出文件格式为MP4格式。 | 739| AV_OUTPUT_FORMAT_M4A | 输出文件格式为M4A格式。 | 740 741 742### OH_AVSeekMode 743 744``` 745enum OH_AVSeekMode 746``` 747 748**描述** 749 750跳转模式。 751 752**系统能力:** SystemCapability.Multimedia.Media.CodecBase 753 754**起始版本:** 10 755 756| 枚举值 | 描述 | 757| -------- | -------- | 758| SEEK_MODE_NEXT_SYNC | 指定时间位置的下一关键帧。 | 759| SEEK_MODE_PREVIOUS_SYNC | 指定时间位置的上一关键帧。 | 760| SEEK_MODE_CLOSEST_SYNC | 指定时间位置的最近关键帧。 | 761 762 763### OH_BitsPerSample 764 765``` 766enum OH_BitsPerSample 767``` 768 769**描述** 770 771枚举每个编码样本的音频位数。 772 773**系统能力:** SystemCapability.Multimedia.Media.CodecBase 774 775**起始版本:** 10 776 777| 枚举值 | 描述 | 778| -------- | -------- | 779| SAMPLE_U8 | 8位无符号整数采样。 | 780| SAMPLE_S16LE | 16位有符号整数采样。 | 781| SAMPLE_S24LE | 24位有符号整数采样。 | 782| SAMPLE_S32LE | 32位有符号整数采样。 | 783| SAMPLE_F32LE | 32位浮点采样。 | 784| SAMPLE_U8P | 8位无符号整数平面采样。 | 785| SAMPLE_S16P | 16位有符号整数平面采样。 | 786| SAMPLE_S24P | 24位有符号整数平面采样。 | 787| SAMPLE_S32P | 32位有符号整数平面采样。 | 788| SAMPLE_F32P | 32位浮点平面采样。 | 789| INVALID_WIDTH | 无效采样格式。 | 790 791 792### OH_ColorPrimary 793 794``` 795enum OH_ColorPrimary 796``` 797 798**描述** 799 800色域。 801 802**系统能力:** SystemCapability.Multimedia.Media.CodecBase 803 804**起始版本:** 10 805 806| 枚举值 | 描述 | 807| -------- | -------- | 808| COLOR_PRIMARY_BT709 | BT709色域。 | 809| COLOR_PRIMARY_UNSPECIFIED | 未指定色域。 | 810| COLOR_PRIMARY_BT470_M | BT470_M色域。 | 811| COLOR_PRIMARY_BT601_625 | BT601_625色域。 | 812| COLOR_PRIMARY_BT601_525 | BT601_525色域。 | 813| COLOR_PRIMARY_SMPTE_ST240 | SMPTE_ST240色域。 | 814| COLOR_PRIMARY_GENERIC_FILM | GENERIC_FILM色域。 | 815| COLOR_PRIMARY_BT2020 | BT2020色域。 | 816| COLOR_PRIMARY_SMPTE_ST428 | SMPTE_ST428色域。 | 817| COLOR_PRIMARY_P3DCI | P3DCI色域。 | 818| COLOR_PRIMARY_P3D65 | P3D65色域。 | 819 820 821### OH_HEVCProfile 822 823``` 824enum OH_HEVCProfile 825``` 826 827**描述** 828 829HEVC配置。 830 831**系统能力:** SystemCapability.Multimedia.Media.CodecBase 832 833**起始版本:** 10 834 835| 枚举值 | 描述 | 836| -------- | -------- | 837| HEVC_PROFILE_MAIN | HEVC编码配置为主档次。 | 838| HEVC_PROFILE_MAIN_10 | HEVC编码配置为10bit主档次。 | 839| HEVC_PROFILE_MAIN_STILL | HEVC编码配置为静止图像主档次。 | 840| HEVC_PROFILE_MAIN_10_HDR10 | HEVC编码配置为HDR10主档次。 | 841| HEVC_PROFILE_MAIN_10_HDR10_PLUS | HEVC编码配置为HDR10+主档次。 | 842 843 844### OH_MatrixCoefficient 845 846``` 847enum OH_MatrixCoefficient 848``` 849 850**描述** 851 852矩阵系数。 853 854**系统能力:** SystemCapability.Multimedia.Media.CodecBase 855 856**起始版本:** 10 857 858| 枚举值 | 描述 | 859| -------- | -------- | 860| MATRIX_COEFFICIENT_IDENTITY | 单位矩阵。 | 861| MATRIX_COEFFICIENT_BT709 | BT709转换矩阵。 | 862| MATRIX_COEFFICIENT_UNSPECIFIED | 未指定转换矩阵。 | 863| MATRIX_COEFFICIENT_FCC | FCC转换矩阵。 | 864| MATRIX_COEFFICIENT_BT601_625 | BT601_625转换矩阵。 | 865| MATRIX_COEFFICIENT_BT601_525 | BT601_525转换矩阵。 | 866| MATRIX_COEFFICIENT_SMPTE_ST240 | SMPTE_ST240转换矩阵。 | 867| MATRIX_COEFFICIENT_YCGCO | YCGCO转换矩阵。 | 868| MATRIX_COEFFICIENT_BT2020_NCL | BT2020_NCL转换矩阵。 | 869| MATRIX_COEFFICIENT_BT2020_CL | BT2020_CL转换矩阵。 | 870| MATRIX_COEFFICIENT_SMPTE_ST2085 | SMPTE_ST2085转换矩阵。 | 871| MATRIX_COEFFICIENT_CHROMATICITY_NCL | CHROMATICITY_NCL转换矩阵。 | 872| MATRIX_COEFFICIENT_CHROMATICITY_CL | CHROMATICITY_CL转换矩阵。 | 873| MATRIX_COEFFICIENT_ICTCP | ICTCP转换矩阵。 | 874 875 876### OH_MediaType 877 878``` 879enum OH_MediaType 880``` 881 882**描述** 883 884媒体类型。 885 886**系统能力:** SystemCapability.Multimedia.Media.CodecBase 887 888**起始版本:** 9 889 890| 枚举值 | 描述 | 891| -------- | -------- | 892| MEDIA_TYPE_AUD | 音频轨。 | 893| MEDIA_TYPE_VID | 视频轨。 | 894 895 896### OH_ScalingMode 897 898``` 899enum OH_ScalingMode 900``` 901 902**描述** 903 904缩放模式。 905 906**系统能力:** SystemCapability.Multimedia.Media.CodecBase 907 908**起始版本:** 10 909 910| 枚举值 | 描述 | 911| -------- | -------- | 912| SCALING_MODE_SCALE_TO_WINDOW | 根据窗口尺寸自适应调整图像大小。 | 913| SCALING_MODE_SCALE_CROP | 根据窗口尺寸裁剪图像大小。 | 914 915 916### OH_TransferCharacteristic 917 918``` 919enum OH_TransferCharacteristic 920``` 921 922**描述** 923 924转移特性。 925 926**系统能力:** SystemCapability.Multimedia.Media.CodecBase 927 928**起始版本:** 10 929 930| 枚举值 | 描述 | 931| -------- | -------- | 932| TRANSFER_CHARACTERISTIC_BT709 | BT709传递函数。 | 933| TRANSFER_CHARACTERISTIC_UNSPECIFIED | 未指定传递函数。 | 934| TRANSFER_CHARACTERISTIC_GAMMA_2_2 | GAMMA_2_2传递函数。 | 935| TRANSFER_CHARACTERISTIC_GAMMA_2_8 | GAMMA_2_8传递函数。 | 936| TRANSFER_CHARACTERISTIC_BT601 | BT601传递函数。 | 937| TRANSFER_CHARACTERISTIC_SMPTE_ST240 | SMPTE_ST240传递函数。 | 938| TRANSFER_CHARACTERISTIC_LINEAR | LINEAR传递函数。 | 939| TRANSFER_CHARACTERISTIC_LOG | LOG传递函数。 | 940| TRANSFER_CHARACTERISTIC_LOG_SQRT | LOG_SQRT传递函数。 | 941| TRANSFER_CHARACTERISTIC_IEC_61966_2_4 | IEC_61966_2_4传递函数。 | 942| TRANSFER_CHARACTERISTIC_BT1361 | BT1361传递函数。 | 943| TRANSFER_CHARACTERISTIC_IEC_61966_2_1 | IEC_61966_2_1传递函数。 | 944| TRANSFER_CHARACTERISTIC_BT2020_10BIT | BT2020_10BIT传递函数。 | 945| TRANSFER_CHARACTERISTIC_BT2020_12BIT | BT2020_12BIT传递函数。 | 946| TRANSFER_CHARACTERISTIC_PQ | PQ传递函数。 | 947| TRANSFER_CHARACTERISTIC_SMPTE_ST428 | SMPTE_ST428传递函数。 | 948| TRANSFER_CHARACTERISTIC_HLG | HLG传递函数。 | 949 950 951## 变量说明 952 953 954### OH_AVCODEC_MIMETYPE_AUDIO_AAC 955 956``` 957const char* OH_AVCODEC_MIMETYPE_AUDIO_AAC 958``` 959 960**描述** 961 962AAC音频编解码器的MIME类型。 963 964**系统能力:** SystemCapability.Multimedia.Media.CodecBase 965 966**起始版本:** 9 967 968 969### OH_AVCODEC_MIMETYPE_AUDIO_AMR_NB 970 971``` 972const char* OH_AVCODEC_MIMETYPE_AUDIO_AMR_NB 973``` 974 975**描述** 976 977AMR_NB音频解码器的MIME类型。 978 979**系统能力:** SystemCapability.Multimedia.Media.CodecBase 980 981**起始版本:** 11 982 983 984### OH_AVCODEC_MIMETYPE_AUDIO_AMR_WB 985 986``` 987const char* OH_AVCODEC_MIMETYPE_AUDIO_AMR_WB 988``` 989 990**描述** 991 992AMR_WB音频解码器的MIME类型。 993 994**系统能力:** SystemCapability.Multimedia.Media.CodecBase 995 996**起始版本:** 11 997 998 999### OH_AVCODEC_MIMETYPE_AUDIO_FLAC 1000 1001``` 1002const char* OH_AVCODEC_MIMETYPE_AUDIO_FLAC 1003``` 1004 1005**描述** 1006 1007FLAC音频编解码器的MIME类型。 1008 1009**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1010 1011**起始版本:** 10 1012 1013 1014### OH_AVCODEC_MIMETYPE_AUDIO_G711MU 1015 1016``` 1017const char* OH_AVCODEC_MIMETYPE_AUDIO_G711MU 1018``` 1019 1020**描述** 1021 1022G711MU音频编解码器的MIME类型。 1023 1024**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1025 1026**起始版本:** 11 1027 1028 1029### OH_AVCODEC_MIMETYPE_AUDIO_MPEG 1030 1031``` 1032const char* OH_AVCODEC_MIMETYPE_AUDIO_MPEG 1033``` 1034 1035**描述** 1036 1037MP3音频解码器的MIME类型。 1038 1039**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1040 1041**起始版本:** 10 1042 1043 1044### OH_AVCODEC_MIMETYPE_AUDIO_OPUS 1045 1046``` 1047const char* OH_AVCODEC_MIMETYPE_AUDIO_OPUS 1048``` 1049 1050**描述** 1051 1052OPUS音频编解码器的MIME类型。(目前本规格未开放) 1053 1054**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1055 1056**起始版本:** 11 1057 1058 1059### OH_AVCODEC_MIMETYPE_AUDIO_VIVID 1060 1061``` 1062const char* OH_AVCODEC_MIMETYPE_AUDIO_VIVID 1063``` 1064 1065**描述** 1066 1067AudioVivid音频解码器的MIME类型。(目前本规格未开放) 1068 1069**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1070 1071**起始版本:** 11 1072 1073 1074### OH_AVCODEC_MIMETYPE_AUDIO_VORBIS 1075 1076``` 1077const char* OH_AVCODEC_MIMETYPE_AUDIO_VORBIS 1078``` 1079 1080**描述** 1081 1082VORBIS音频解码器的MIME类型。 1083 1084**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1085 1086**起始版本:** 10 1087 1088 1089### OH_AVCODEC_MIMETYPE_IMAGE_BMP 1090 1091``` 1092const char* OH_AVCODEC_MIMETYPE_IMAGE_BMP 1093``` 1094 1095**描述** 1096 1097BMP图片编码的MIME类型,仅用于封装BMP封面时使用。 1098 1099**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1100 1101**起始版本:** 10 1102 1103 1104### OH_AVCODEC_MIMETYPE_IMAGE_JPG 1105 1106``` 1107const char* OH_AVCODEC_MIMETYPE_IMAGE_JPG 1108``` 1109 1110**描述** 1111 1112JPG图片编码的MIME类型,仅用于封装JPG封面时使用。 1113 1114**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1115 1116**起始版本:** 10 1117 1118 1119### OH_AVCODEC_MIMETYPE_IMAGE_PNG 1120 1121``` 1122const char* OH_AVCODEC_MIMETYPE_IMAGE_PNG 1123``` 1124 1125**描述** 1126 1127PNG图片编码的MIME类型,仅用于封装PNG封面时使用。 1128 1129**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1130 1131**起始版本:** 10 1132 1133 1134### OH_AVCODEC_MIMETYPE_VIDEO_AVC 1135 1136``` 1137const char* OH_AVCODEC_MIMETYPE_VIDEO_AVC 1138``` 1139 1140**描述** 1141 1142AVC(H.264)视频编解码器的MIME类型。 1143 1144**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1145 1146**起始版本:** 9 1147 1148 1149### OH_AVCODEC_MIMETYPE_VIDEO_HEVC 1150 1151``` 1152const char* OH_AVCODEC_MIMETYPE_VIDEO_HEVC 1153``` 1154 1155**描述** 1156 1157HEVC(H.265)视频编解码器的MIME类型。 1158 1159**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1160 1161**起始版本:** 10 1162 1163 1164### OH_AVCODEC_MIMETYPE_VIDEO_MPEG4 1165 1166``` 1167const char* OH_AVCODEC_MIMETYPE_VIDEO_MPEG4 1168``` 1169 1170**描述** 1171 1172MPEG4视频编码的MIME类型,仅用于封装MPEG4视频码流使用。 1173 1174**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1175 1176**起始版本:** 10 1177 1178**废弃版本:** 11 1179 1180 1181### OH_ED_KEY_EOS 1182 1183``` 1184const char* OH_ED_KEY_EOS 1185``` 1186 1187**描述** 1188 1189表面的额外数据中流结束符的键,值类型为bool。 1190 1191**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1192 1193**起始版本:** 9 1194 1195 1196### OH_ED_KEY_TIME_STAMP 1197 1198``` 1199const char* OH_ED_KEY_TIME_STAMP 1200``` 1201 1202**描述** 1203 1204表面的额外数据中时间戳的键,值类型为int64。 1205 1206**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1207 1208**起始版本:** 9 1209 1210 1211### OH_MD_KEY_AAC_IS_ADTS 1212 1213``` 1214const char* OH_MD_KEY_AAC_IS_ADTS 1215``` 1216 1217**描述** 1218 1219aac格式的键,值类型为uint32_t,aac解码器支持。 1220 1221**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1222 1223**起始版本:** 10 1224 1225 1226### OH_MD_KEY_ALBUM 1227 1228``` 1229const char* OH_MD_KEY_ALBUM 1230``` 1231 1232**描述** 1233 1234相册的源格式键,值类型为string。 1235 1236**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1237 1238**起始版本:** 10 1239 1240 1241### OH_MD_KEY_ALBUM_ARTIST 1242 1243``` 1244const char* OH_MD_KEY_ALBUM_ARTIST 1245``` 1246 1247**描述** 1248 1249相册艺术家的键,值类型为string。 1250 1251**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1252 1253**起始版本:** 10 1254 1255 1256### OH_MD_KEY_ARTIST 1257 1258``` 1259const char* OH_MD_KEY_ARTIST 1260``` 1261 1262**描述** 1263 1264艺术家的源格式键,值类型为string。 1265 1266**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1267 1268**起始版本:** 10 1269 1270 1271### OH_MD_KEY_AUD_CHANNEL_COUNT 1272 1273``` 1274const char* OH_MD_KEY_AUD_CHANNEL_COUNT 1275``` 1276 1277**描述** 1278 1279音频通道计数键,值类型为uint32_t。 1280 1281**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1282 1283**起始版本:** 9 1284 1285 1286### OH_MD_KEY_AUD_SAMPLE_RATE 1287 1288``` 1289const char* OH_MD_KEY_AUD_SAMPLE_RATE 1290``` 1291 1292**描述** 1293 1294音频采样率键,值类型为uint32_t。 1295 1296**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1297 1298**起始版本:** 9 1299 1300 1301### OH_MD_KEY_AUDIO_COMPRESSION_LEVEL 1302 1303``` 1304const char* OH_MD_KEY_AUDIO_COMPRESSION_LEVEL 1305``` 1306 1307**描述** 1308 1309音频编解码压缩水平的键,值类型为uint32_t。 1310 1311**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1312 1313**起始版本:** 11 1314 1315 1316### OH_MD_KEY_AUDIO_OBJECT_NUMBER 1317 1318``` 1319const char* OH_MD_KEY_AUDIO_OBJECT_NUMBER 1320``` 1321 1322**描述** 1323 1324音频对象数目的键,值类型为int32_t。 1325 1326**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1327 1328**起始版本:** 11 1329 1330 1331### OH_MD_KEY_AUDIO_SAMPLE_FORMAT 1332 1333``` 1334const char* OH_MD_KEY_AUDIO_SAMPLE_FORMAT 1335``` 1336 1337**描述** 1338 1339音频原始格式的键,值类型为uint32_t。 1340 1341**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1342 1343**起始版本:** 9 1344 1345 1346### OH_MD_KEY_AUDIO_VIVID_METADATA 1347 1348``` 1349const char* OH_MD_KEY_AUDIO_VIVID_METADATA 1350``` 1351 1352**描述** 1353 1354audio vivid元数据的键,值类型为uint8_t\*。 1355 1356**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1357 1358**起始版本:** 11 1359 1360 1361### OH_MD_KEY_BITRATE 1362 1363``` 1364const char* OH_MD_KEY_BITRATE 1365``` 1366 1367**描述** 1368 1369比特率的键,值类型为int64_t。 1370 1371**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1372 1373**起始版本:** 9 1374 1375 1376### OH_MD_KEY_BITS_PER_CODED_SAMPLE 1377 1378``` 1379const char* OH_MD_KEY_BITS_PER_CODED_SAMPLE 1380``` 1381 1382**描述** 1383 1384每个编码样本位数的键,值类型为uint32_t,支持flac编码器,请参见[OH_BitsPerSample](#oh_bitspersample)。 1385 1386**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1387 1388**起始版本:** 10 1389 1390 1391### OH_MD_KEY_CHANNEL_LAYOUT 1392 1393``` 1394const char* OH_MD_KEY_CHANNEL_LAYOUT 1395``` 1396 1397**描述** 1398 1399所需编码通道布局的键。值类型为int64_t,此键仅适用于编码器。 1400 1401**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1402 1403**起始版本:** 10 1404 1405 1406### OH_MD_KEY_CODEC_CONFIG 1407 1408``` 1409const char* OH_MD_KEY_CODEC_CONFIG 1410``` 1411 1412**描述** 1413 1414编解码器特定数据的键,值类型为uint8_t\*。 1415 1416**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1417 1418**起始版本:** 10 1419 1420 1421### OH_MD_KEY_CODEC_MIME 1422 1423``` 1424const char* OH_MD_KEY_CODEC_MIME 1425``` 1426 1427**描述** 1428 1429编解码器mime类型的键,值类型为string。 1430 1431**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1432 1433**起始版本:** 9 1434 1435 1436### OH_MD_KEY_COLOR_PRIMARIES 1437 1438``` 1439const char* OH_MD_KEY_COLOR_PRIMARIES 1440``` 1441 1442**描述** 1443 1444视频色域的键, 值类型为int32_t, 请参见[OH_ColorPrimary](#oh_colorprimary),遵循H.273标准Table2。 1445 1446**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1447 1448**起始版本:** 10 1449 1450 1451### OH_MD_KEY_COMMENT 1452 1453``` 1454const char* OH_MD_KEY_COMMENT 1455``` 1456 1457**描述** 1458 1459源格式注释的键,值类型为string。 1460 1461**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1462 1463**起始版本:** 10 1464 1465 1466### OH_MD_KEY_COMPLIANCE_LEVEL 1467 1468``` 1469const char* OH_MD_KEY_COMPLIANCE_LEVEL 1470``` 1471 1472**描述** 1473 1474flac合规性级别的键,值类型为int32_t。 1475 1476**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1477 1478**起始版本:** 10 1479 1480 1481### OH_MD_KEY_COPYRIGHT 1482 1483``` 1484const char* OH_MD_KEY_COPYRIGHT 1485``` 1486 1487**描述** 1488 1489源格式版权的键,值类型为string。 1490 1491**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1492 1493**起始版本:** 10 1494 1495 1496### OH_MD_KEY_DATE 1497 1498``` 1499const char* OH_MD_KEY_DATE 1500``` 1501 1502**描述** 1503 1504源格式日期的键,值类型为string。 1505 1506**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1507 1508**起始版本:** 10 1509 1510 1511### OH_MD_KEY_DESCRIPTION 1512 1513``` 1514const char* OH_MD_KEY_DESCRIPTION 1515``` 1516 1517**描述** 1518 1519源格式描述的键,值类型为string。 1520 1521**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1522 1523**起始版本:** 10 1524 1525 1526### OH_MD_KEY_DURATION 1527 1528``` 1529const char* OH_MD_KEY_DURATION 1530``` 1531 1532**描述** 1533 1534持续时间键,值类型为int64_t。 1535 1536**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1537 1538**起始版本:** 9 1539 1540 1541### OH_MD_KEY_FRAME_RATE 1542 1543``` 1544const char* OH_MD_KEY_FRAME_RATE 1545``` 1546 1547**描述** 1548 1549视频帧率的键,值类型为double。 1550 1551**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1552 1553**起始版本:** 9 1554 1555 1556### OH_MD_KEY_GENRE 1557 1558``` 1559const char* OH_MD_KEY_GENRE 1560``` 1561 1562**描述** 1563 1564源格式类型的键,值类型为string。 1565 1566**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1567 1568**起始版本:** 10 1569 1570 1571### OH_MD_KEY_HEIGHT 1572 1573``` 1574const char* OH_MD_KEY_HEIGHT 1575``` 1576 1577**描述** 1578 1579视频高度键,值类型为uint32_t。 1580 1581**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1582 1583**起始版本:** 9 1584 1585 1586### OH_MD_KEY_I_FRAME_INTERVAL 1587 1588``` 1589const char* OH_MD_KEY_I_FRAME_INTERVAL 1590``` 1591 1592**描述** 1593 1594关键帧间隔的键,值类型为int32_t,单位为毫秒。 1595 1596**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1597 1598**起始版本:** 9 1599 1600 1601### OH_MD_KEY_IDENTIFICATION_HEADER 1602 1603``` 1604const char* OH_MD_KEY_IDENTIFICATION_HEADER 1605``` 1606 1607**描述** 1608 1609vorbis标识头的键,值类型为uint8_t\*,仅vorbis解码器支持。 1610 1611**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1612 1613**起始版本:** 10 1614 1615 1616### OH_MD_KEY_LANGUAGE 1617 1618``` 1619const char* OH_MD_KEY_LANGUAGE 1620``` 1621 1622**描述** 1623 1624源格式语言的键,值类型为string。 1625 1626**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1627 1628**起始版本:** 10 1629 1630 1631### OH_MD_KEY_LYRICS 1632 1633``` 1634const char* OH_MD_KEY_LYRICS 1635``` 1636 1637**描述** 1638 1639源格式歌词的键,值类型为string。 1640 1641**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1642 1643**起始版本:** 10 1644 1645 1646### OH_MD_KEY_MATRIX_COEFFICIENTS 1647 1648``` 1649const char* OH_MD_KEY_MATRIX_COEFFICIENTS 1650``` 1651 1652**描述** 1653 1654视频矩阵系数的键,值类型为int32_t,请参见[OH_MatrixCoefficient](#oh_matrixcoefficient),遵循H.273标准Table4。 1655 1656**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1657 1658**起始版本:** 10 1659 1660 1661### OH_MD_KEY_MAX_INPUT_SIZE 1662 1663``` 1664const char* OH_MD_KEY_MAX_INPUT_SIZE 1665``` 1666 1667**描述** 1668 1669最大输入大小的键,值类型为uint32_t。 1670 1671**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1672 1673**起始版本:** 9 1674 1675 1676### OH_MD_KEY_PIXEL_FORMAT 1677 1678``` 1679const char* OH_MD_KEY_PIXEL_FORMAT 1680``` 1681 1682**描述** 1683 1684视频像素格式的键,值类型为int32_t,请参见[OH_AVPixelFormat](_core.md#oh_avpixelformat)。 1685 1686**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1687 1688**起始版本:** 9 1689 1690 1691### OH_MD_KEY_PROFILE 1692 1693``` 1694const char* OH_MD_KEY_PROFILE 1695``` 1696 1697**描述** 1698 1699编码档次,值类型为int32_t请参见[OH_HEVCProfile](#oh_hevcprofile), [OH_AACProfile](#oh_aacprofile)。 1700 1701**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1702 1703**起始版本:** 9 1704 1705 1706### OH_MD_KEY_QUALITY 1707 1708``` 1709const char* OH_MD_KEY_QUALITY 1710``` 1711 1712**描述** 1713 1714所需编码质量的键。值类型为uint32_t,此键仅适用于配置在恒定质量模式下的编码器。 1715 1716**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1717 1718**起始版本:** 10 1719 1720 1721### OH_MD_KEY_RANGE_FLAG 1722 1723``` 1724const char* OH_MD_KEY_RANGE_FLAG 1725``` 1726 1727**描述** 1728 1729视频YUV值域标志的键,值类型为bool,true表示full range,false表示limited range。 1730 1731**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1732 1733**起始版本:** 10 1734 1735 1736### OH_MD_KEY_REQUEST_I_FRAME 1737 1738``` 1739const char* OH_MD_KEY_REQUEST_I_FRAME 1740``` 1741 1742**描述** 1743 1744请求立即编码I帧的键。值类型为bool。 1745 1746**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1747 1748**起始版本:** 10 1749 1750 1751### OH_MD_KEY_ROTATION 1752 1753``` 1754const char* OH_MD_KEY_ROTATION 1755``` 1756 1757**描述** 1758 1759表面旋转角度的键。值类型为int32_t:应为{0, 90, 180, 270},默认值为0。 1760 1761**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1762 1763**起始版本:** 9 1764 1765 1766### OH_MD_KEY_SBR 1767 1768``` 1769const char* OH_MD_KEY_SBR 1770``` 1771 1772**描述** 1773 1774aac sbr模式的键,值类型为uint32_t,aac编码器支持。 1775 1776**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1777 1778**起始版本:** 10 1779 1780 1781### OH_MD_KEY_SCALING_MODE 1782 1783``` 1784const char* OH_MD_KEY_SCALING_MODE 1785``` 1786 1787**描述** 1788 1789视频表面尺度类型, 值类型为int32_t, 请参见[OH_ScalingMode](#oh_scalingmode)。 1790 1791**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1792 1793**起始版本:** 10 1794 1795 1796### OH_MD_KEY_SETUP_HEADER 1797 1798``` 1799const char* OH_MD_KEY_SETUP_HEADER 1800``` 1801 1802**描述** 1803 1804vorbis设置头的键,值类型为uint8_t\*,仅vorbis解码器支持。 1805 1806**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1807 1808**起始版本:** 10 1809 1810 1811### OH_MD_KEY_TITLE 1812 1813``` 1814const char* OH_MD_KEY_TITLE 1815``` 1816 1817**描述** 1818 1819源格式标题的键,值类型为string。 1820 1821**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1822 1823**起始版本:** 10 1824 1825 1826### OH_MD_KEY_TRACK_COUNT 1827 1828``` 1829const char* OH_MD_KEY_TRACK_COUNT 1830``` 1831 1832**描述** 1833 1834源格式轨道数量的键,值类型为uint32_t。 1835 1836**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1837 1838**起始版本:** 10 1839 1840 1841### OH_MD_KEY_TRACK_TYPE 1842 1843``` 1844const char* OH_MD_KEY_TRACK_TYPE 1845``` 1846 1847**描述** 1848 1849曲目类型的键,值类型为uint8_t,请参见[OH_MediaType](#oh_mediatype)。 1850 1851**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1852 1853**起始版本:** 9 1854 1855 1856### OH_MD_KEY_TRANSFER_CHARACTERISTICS 1857 1858``` 1859const char* OH_MD_KEY_TRANSFER_CHARACTERISTICS 1860``` 1861 1862**描述** 1863 1864视频传递函数的键,值类型为int32_t,请参见[OH_TransferCharacteristic](#oh_transfercharacteristic),遵循H.273标准Table3。 1865 1866**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1867 1868**起始版本:** 10 1869 1870 1871### OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE 1872 1873``` 1874const char* OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE 1875``` 1876 1877**描述** 1878 1879视频编码码率模式,值类型为int32_t,请参见[OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode)。 1880 1881**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1882 1883**起始版本:** 9 1884 1885 1886### OH_MD_KEY_VIDEO_IS_HDR_VIVID 1887 1888``` 1889const char* OH_MD_KEY_VIDEO_IS_HDR_VIVID 1890``` 1891 1892**描述** 1893 1894查询是否是hdr vivid的键,值类型为bool。 1895 1896**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1897 1898**起始版本:** 11 1899 1900 1901### OH_MD_KEY_WIDTH 1902 1903``` 1904const char* OH_MD_KEY_WIDTH 1905``` 1906 1907**描述** 1908 1909视频宽度的键,值类型为uint32_t。 1910 1911**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1912 1913**起始版本:** 9 1914 1915 1916### OH_MD_MAX_INPUT_BUFFER_COUNT 1917 1918``` 1919const char* OH_MD_MAX_INPUT_BUFFER_COUNT 1920``` 1921 1922**描述** 1923 1924最大输入缓冲区个数的键, 值类型为int32_t。 1925 1926**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1927 1928**起始版本:** 10 1929 1930 1931### OH_MD_MAX_OUTPUT_BUFFER_COUNT 1932 1933``` 1934const char* OH_MD_MAX_OUTPUT_BUFFER_COUNT 1935``` 1936 1937**描述** 1938 1939最大输出缓冲区个数的键, 值类型int32_t。 1940 1941**系统能力:** SystemCapability.Multimedia.Media.CodecBase 1942 1943**起始版本:** 10 1944