From 1aa4d5bd2af89a642f59d6ef263cf8b44cc85bf8 Mon Sep 17 00:00:00 2001 From: never-xiao <2735892124@qq.com> Date: Tue, 14 Jul 2026 10:43:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E6=BA=90=E4=B8=AD=E8=8B=B1=E6=96=87?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E6=AF=94=E5=AF=B9=E4=BA=92=E8=BF=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: never-xiao <2735892124@qq.com> --- .../av_codec/native_avcodec_audiocodec.h | 1 - .../av_codec/native_avcodec_audiodecoder.h | 2 - .../av_codec/native_avcodec_audioencoder.h | 2 - multimedia/av_codec/native_avcodec_base.h | 110 ++++++++++-------- multimedia/av_codec/native_avmuxer.h | 1 - .../native_audio_channel_layout.h | 53 +++++++-- .../media_foundation/native_audio_vivid.h | 7 +- 7 files changed, 108 insertions(+), 68 deletions(-) diff --git a/multimedia/av_codec/native_avcodec_audiocodec.h b/multimedia/av_codec/native_avcodec_audiocodec.h index d294a345a..ea40edd65 100644 --- a/multimedia/av_codec/native_avcodec_audiocodec.h +++ b/multimedia/av_codec/native_avcodec_audiocodec.h @@ -30,7 +30,6 @@ * * @kit AVCodecKit * @library libnative_media_acodec.so - * @syscap SystemCapability.Multimedia.Media.AudioCodec * @since 11 */ diff --git a/multimedia/av_codec/native_avcodec_audiodecoder.h b/multimedia/av_codec/native_avcodec_audiodecoder.h index 41a845cb9..d7ff3b707 100644 --- a/multimedia/av_codec/native_avcodec_audiodecoder.h +++ b/multimedia/av_codec/native_avcodec_audiodecoder.h @@ -31,8 +31,6 @@ * * @kit AVCodecKit * @library libnative_media_adec.so - * @syscap SystemCapability.Multimedia.Media.AudioDecoder - * @deprecated since 11 * @since 9 */ diff --git a/multimedia/av_codec/native_avcodec_audioencoder.h b/multimedia/av_codec/native_avcodec_audioencoder.h index 5c7a34aa0..e7f9bfa7d 100644 --- a/multimedia/av_codec/native_avcodec_audioencoder.h +++ b/multimedia/av_codec/native_avcodec_audioencoder.h @@ -31,8 +31,6 @@ * * @kit AVCodecKit * @library libnative_media_aenc.so - * @syscap SystemCapability.Multimedia.Media.AudioEncoder - * @deprecated since 11 * @since 9 */ diff --git a/multimedia/av_codec/native_avcodec_base.h b/multimedia/av_codec/native_avcodec_base.h index 75743da05..48f2cb992 100644 --- a/multimedia/av_codec/native_avcodec_base.h +++ b/multimedia/av_codec/native_avcodec_base.h @@ -19,7 +19,7 @@ * * @brief The CodecBase module provides variables, properties, and functions * for audio and video muxer, demuxer, and basic encoding and decoding functions. - * + * @syscap SystemCapability.Multimedia.Media.CodecBase * @since 9 */ @@ -31,15 +31,17 @@ * * @kit AVCodecKit * @library libnative_media_codecbase.so - * @syscap SystemCapability.Multimedia.Media.CodecBase * @since 9 */ + #ifndef NATIVE_AVCODEC_BASE_H #define NATIVE_AVCODEC_BASE_H + #include #include #include "native_avbuffer.h" #include "native_avmemory.h" + #ifdef __cplusplus extern "C" { #endif @@ -201,7 +203,7 @@ typedef int32_t (*OH_AVDataSourceReadAt)(OH_AVBuffer *data, int32_t length, int6 /** * @brief The struct describes a user-defined data source. - * + * * @since 12 */ typedef struct OH_AVDataSource { @@ -583,6 +585,13 @@ extern const char *OH_AVCODEC_MIMETYPE_VIDEO_RV40; * */ extern const char *OH_AVCODEC_MIMETYPE_VIDEO_WVC1; +/** + * @brief MIME type of the Cinepak video codec. + * + * @since 24 + */ +extern const char *OH_AVCODEC_MIMETYPE_VIDEO_CINEPAK; + /** * @brief MIME type of the DVVIDEO (Digital Video) video codec. Supports DV NTSC, DV PAL, and DVCPRO HD. * @@ -688,8 +697,8 @@ extern const char *OH_MD_KEY_MAX_INPUT_SIZE; /** * @brief Pointer to the key that describes the video width. The value type is int32_t. * - * For video encoding, this key is used to set the target encoding resolution. For video decoding, this key serves - * as a resolution hint for the decoder to pre-allocate internal buffers. + * For video encoding, this key is used to set the target encoding resolution. For video decoding, this key serves + * as a resolution hint for the decoder to pre-allocate internal buffers. * The actual decoded output dimensions are provided by **OH_MD_KEY_VIDEO_PIC_WIDTH**. * This key is mainly used to control memory allocation. You can call {@link OH_AVCapability_GetVideoWidthRange} * to obtain the recommended value range. This API defines the decoding width range supported by the codec. @@ -777,6 +786,19 @@ extern const char *OH_MD_KEY_AUD_SAMPLE_RATE; */ extern const char *OH_MD_KEY_I_FRAME_INTERVAL; +/** + * @brief Pointer to the key that describes the rotation angle of the surface, with a clockwise direction. The value + * type is int32_t, and the value range is {0, 90, 180, 270}. The default value is 0. + * + * This key is optional and is used only for video decoding in surface mode + * + * You are advised to use the **OH_MD_KEY_VIDEO_TRANSFORM_TYPE** key to set the rotation angle of the surface for video + * decoding. + * + * @since 9 + */ +extern const char *OH_MD_KEY_ROTATION; + /** * @brief Key for video transform type, value type is int32_t, see {@link OH_NativeBuffer_TransformType}. * @@ -2084,7 +2106,7 @@ typedef enum OH_MediaType { * Auxiliary track. * @since 20 */ - MEDIA_TYPE_AUXILIARY = 6 + MEDIA_TYPE_AUXILIARY = 6, } OH_MediaType; /** @@ -2108,7 +2130,7 @@ typedef enum OH_AACProfile { * AAC profile of the high efficiency V2 level. Audio object types AAC LC, SBR, and PS are included. * @since 14 */ - AAC_PROFILE_HE_V2 = 4 + AAC_PROFILE_HE_V2 = 4, } OH_AACProfile; /** @@ -2122,18 +2144,16 @@ typedef enum OH_AVCProfile { * @since 9 */ AVC_PROFILE_BASELINE = 0, - /** * AVC high profile. * @since 9 */ AVC_PROFILE_HIGH = 4, - /** * AVC main profile. * @since 9 */ - AVC_PROFILE_MAIN = 8 + AVC_PROFILE_MAIN = 8, } OH_AVCProfile; /** @@ -2147,19 +2167,16 @@ typedef enum OH_HEVCProfile { * @since 10 */ HEVC_PROFILE_MAIN = 0, - /** * HEVC profile of the 10-bit main level. * @since 10 */ HEVC_PROFILE_MAIN_10 = 1, - /** * HEVC profile of the main still picture level. * @since 10 */ HEVC_PROFILE_MAIN_STILL = 2, - /** * HEVC profile of the main 10 HDR10 level. * @deprecated since 14 @@ -2171,7 +2188,7 @@ typedef enum OH_HEVCProfile { * @deprecated since 14 * @since 10 */ - HEVC_PROFILE_MAIN_10_HDR10_PLUS = 4 + HEVC_PROFILE_MAIN_10_HDR10_PLUS = 4, } OH_HEVCProfile; /** @@ -2254,7 +2271,7 @@ typedef enum OH_VVCProfile { * VVC profile of the 16-bit full-sample still picture main level. * @since 15 */ - VVC_PROFILE_MAIN_16_444_STILL = 100 + VVC_PROFILE_MAIN_16_444_STILL = 100, } OH_VVCProfile; /** @@ -2292,7 +2309,7 @@ typedef enum OH_MPEG2Profile { * 4:2:2 profile. * @since 17 */ - MPEG2_PROFILE_422 = 5 + MPEG2_PROFILE_422 = 5, } OH_MPEG2Profile; /** @@ -2375,7 +2392,7 @@ typedef enum OH_MPEG4Profile { * Advanced simple profile. * @since 17 */ - MPEG4_PROFILE_ADVANCED_SIMPLE = 17 + MPEG4_PROFILE_ADVANCED_SIMPLE = 17, } OH_MPEG4Profile; /** @@ -2393,7 +2410,7 @@ typedef enum OH_H263Profile { * Version 1 backward compatibility. * @since 17 */ - H263_PROFILE_VERSION_1_BACKWARD_COMPATIBILITY = 2 + H263_PROFILE_VERSION_1_BACKWARD_COMPATIBILITY = 2, } OH_H263Profile; /** @@ -2416,7 +2433,7 @@ typedef enum OH_VC1Profile { * High profile. * @since 22 */ - VC1_PROFILE_ADVANCED = 2 + VC1_PROFILE_ADVANCED = 2, } OH_VC1Profile; /** @@ -2439,7 +2456,7 @@ typedef enum OH_AV1Profile { * Professional profile. * @since 23 */ - AV1_PROFILE_PROFESSIONAL = 2 + AV1_PROFILE_PROFESSIONAL = 2, } OH_AV1Profile; /** @@ -2467,7 +2484,7 @@ typedef enum OH_VP9Profile { * Profile 3. * @since 23 */ - VP9_PROFILE_3 = 3 + VP9_PROFILE_3 = 3, } OH_VP9Profile; /** @@ -2480,8 +2497,8 @@ typedef enum OH_WVC1Profile { * High profile. * @since 23 */ - WVC1_PROFILE_ADVANCED = 0 -} OH_WVC1Profile; + WVC1_PROFILE_ADVANCED = 0, + } OH_WVC1Profile; /** * @brief Enumerates the WMV3 profiles. @@ -2498,7 +2515,7 @@ typedef enum OH_WMV3Profile { * Main profile. * @since 22 */ - WMV3_PROFILE_MAIN = 1 + WMV3_PROFILE_MAIN = 1, } OH_WMV3Profile; /** @@ -2566,7 +2583,7 @@ typedef enum OH_AVOutputFormat { * * @since 26.0.0 */ - AV_OUTPUT_FORMAT_FLV = 14 + AV_OUTPUT_FORMAT_FLV = 14, } OH_AVOutputFormat; /** @@ -2593,7 +2610,7 @@ typedef enum OH_AVSeekMode { * * @since 10 */ - SEEK_MODE_CLOSEST_SYNC + SEEK_MODE_CLOSEST_SYNC, } OH_AVSeekMode; /** @@ -2617,7 +2634,7 @@ typedef enum OH_ScalingMode { * @useinstead OH_SCALING_MODE_SCALE_CROP_V2 * @since 10 */ - SCALING_MODE_SCALE_CROP = 2 + SCALING_MODE_SCALE_CROP = 2, } OH_ScalingMode; /** @@ -2743,7 +2760,7 @@ typedef enum OH_ColorPrimary { * P3D65 color gamut. * @since 10 */ - COLOR_PRIMARY_P3D65 = 12 + COLOR_PRIMARY_P3D65 = 12, } OH_ColorPrimary; /** @@ -2836,7 +2853,7 @@ typedef enum OH_TransferCharacteristic { * HLG transfer function. * @since 10 */ - TRANSFER_CHARACTERISTIC_HLG = 18 + TRANSFER_CHARACTERISTIC_HLG = 18, } OH_TransferCharacteristic; /** @@ -2914,7 +2931,7 @@ typedef enum OH_MatrixCoefficient { * ICTCP conversion matrix. * @since 10 */ - MATRIX_COEFFICIENT_ICTCP = 14 + MATRIX_COEFFICIENT_ICTCP = 14, } OH_MatrixCoefficient; /** @@ -3022,7 +3039,7 @@ typedef enum OH_AVCLevel { * Level 6.2. * @since 12 */ - AVC_LEVEL_62 = 19 + AVC_LEVEL_62 = 19, } OH_AVCLevel; /** @@ -3095,7 +3112,7 @@ typedef enum OH_HEVCLevel { * Level 6.2. * @since 12 */ - HEVC_LEVEL_62 = 12 + HEVC_LEVEL_62 = 12, } OH_HEVCLevel; /** @@ -3178,7 +3195,7 @@ typedef enum OH_VVCLevel { * Level 15.5. * @since 15 */ - VVC_LEVEL_155 = 255 + VVC_LEVEL_155 = 255, } OH_VVCLevel; /** @@ -3206,7 +3223,7 @@ typedef enum OH_MPEG2Level { * High level. * @since 17 */ - MPEG2_LEVEL_HIGH = 3 + MPEG2_LEVEL_HIGH = 3, } OH_MPEG2Level; /** @@ -3264,7 +3281,7 @@ typedef enum OH_MPEG4Level { * Level 6. * @since 17 */ - MPEG4_LEVEL_6 = 9 + MPEG4_LEVEL_6 = 9, } OH_MPEG4Level; /** @@ -3312,7 +3329,7 @@ typedef enum OH_H263Level { * Level 70. * @since 17 */ - H263_LEVEL_70 = 7 + H263_LEVEL_70 = 7, } OH_H263Level; /** @@ -3360,7 +3377,7 @@ typedef enum OH_VC1Level { * High level. * @since 22 */ - VC1_LEVEL_HIGH = 7 + VC1_LEVEL_HIGH = 7, } OH_VC1Level; /** @@ -3429,13 +3446,11 @@ typedef enum OH_AV1Level { * @since 23 */ AV1_LEVEL_43 = 11, - /** * Level 5.0. * @since 23 */ AV1_LEVEL_50 = 12, - /** * Level 5.1. * @since 23 @@ -3490,7 +3505,7 @@ typedef enum OH_AV1Level { * Level 7.3. * @since 23 */ - AV1_LEVEL_73 = 23 + AV1_LEVEL_73 = 23, } OH_AV1Level; /** @@ -3568,7 +3583,7 @@ typedef enum OH_VP9Level { * Level 6.2. * @since 23 */ - VP9_LEVEL_62 = 13 + VP9_LEVEL_62 = 13, } OH_VP9Level; /** @@ -3601,7 +3616,7 @@ typedef enum OH_WVC1Level { * Level L4. * @since 23 */ - WVC1_LEVEL_L4 = 4 + WVC1_LEVEL_L4 = 4, } OH_WVC1Level; /** @@ -3624,9 +3639,9 @@ typedef enum OH_WMV3Level { * High level. * @since 22 */ - WMV3_LEVEL_HIGH = 2 + WMV3_LEVEL_HIGH = 2, } OH_WMV3Level; - + /** * @brief Enumerates the reference modes of temporal image groups. * @@ -3648,7 +3663,7 @@ typedef enum OH_TemporalGopReferenceMode { * enhance layer. The temporal group of pictures must be power of 2. * @since 12 */ - UNIFORMLY_SCALED_REFERENCE = 2 + UNIFORMLY_SCALED_REFERENCE = 2, } OH_TemporalGopReferenceMode; /** @@ -3716,7 +3731,7 @@ typedef enum OH_FrameRetentionMode { * * @since 26.0.0 */ - OH_FRAME_RETENTION_MODE_UNIFORM = 2 + OH_FRAME_RETENTION_MODE_UNIFORM = 2, } OH_FrameRetentionMode; /** @@ -3742,8 +3757,9 @@ typedef enum OH_AudioEncoderPTSMode { * * @since 26.0.0 */ - OH_AUDIO_ENCODER_PTS_MODE_FIRST_INPUT_START = 2 + OH_AUDIO_ENCODER_PTS_MODE_FIRST_INPUT_START = 2, } OH_AudioEncoderPTSMode; + #ifdef __cplusplus } #endif diff --git a/multimedia/av_codec/native_avmuxer.h b/multimedia/av_codec/native_avmuxer.h index ef5c06a28..810128054 100644 --- a/multimedia/av_codec/native_avmuxer.h +++ b/multimedia/av_codec/native_avmuxer.h @@ -30,7 +30,6 @@ * * @kit AVCodecKit * @library libnative_media_avmuxer.so - * @syscap SystemCapability.Multimedia.Media.Muxer * @since 10 */ diff --git a/multimedia/media_foundation/native_audio_channel_layout.h b/multimedia/media_foundation/native_audio_channel_layout.h index 49cb0d153..ca56c6729 100644 --- a/multimedia/media_foundation/native_audio_channel_layout.h +++ b/multimedia/media_foundation/native_audio_channel_layout.h @@ -18,7 +18,7 @@ * @{ * * @brief Provides APIs for Core. - * + * @syscap SystemCapability.Multimedia.Media.Core * @since 11 */ @@ -29,7 +29,6 @@ * * @kit AVCodecKit * @library NA - * @syscap SystemCapability.Multimedia.Media.Core * @since 11 */ @@ -265,32 +264,64 @@ typedef enum OH_AudioChannelSet { * @brief Ambisonic attribute set. * * A set of 64-bit integers indicate the ambisonic attributes. - * @syscap SystemCapability.Multimedia.Media.Core + * * @since 11 */ typedef enum OH_AmbAttributeSet { - /** Ambisonic attribute: order 1 */ + /** + * Ambisonic attribute: order 1. + * + * @since 11 + */ AMB_ORD_1 = 1ULL << 0U, - /** Ambisonic attribute: order 2 */ + /** + * Ambisonic attribute: order 2. + * + * @since 11 + */ AMB_ORD_2 = 2ULL << 0U, - /** Ambisonic attribute: order 3 */ + /** + * Ambisonic attribute: order 3. + * + * @since 11 + */ AMB_ORD_3 = 3ULL << 0U, - /** Ambisonic attribute: ACN Component Ordering */ + /** + * Ambisonic attribute: ACN Component Ordering. + * + * @since 11 + */ AMB_COM_ACN = 0ULL << 8U, - /** Ambisonic attribute: FUMA Component Ordering */ + /** + * Ambisonic attribute: FUMA Component Ordering. + * + * @since 11 + */ AMB_COM_FUMA = 1ULL << 8U, - /** Ambisonic attribute: N3D Normalization */ + /** + * Ambisonic attribute: N3D Normalization. + * + * @since 11 + */ AMB_NOR_N3D = 0ULL << 12U, - /** Ambisonic attribute: SN3D Normalization */ + /** + * Ambisonic attribute: SN3D Normalization. + * + * @since 11 + */ AMB_NOR_SN3D = 1ULL << 12U, - /** Channel layout: Ambisonic mode */ + /** + * Channel layout: Ambisonic mode. + * + * @since 11 + */ AMB_MODE = 1ULL << 44U } OH_AmbAttributeSet; diff --git a/multimedia/media_foundation/native_audio_vivid.h b/multimedia/media_foundation/native_audio_vivid.h index c998c9692..b67c730ba 100644 --- a/multimedia/media_foundation/native_audio_vivid.h +++ b/multimedia/media_foundation/native_audio_vivid.h @@ -18,7 +18,7 @@ * @{ * * @brief The AudioVivid module provides builder for audio vivid meta data. - * + * @syscap SystemCapability.Multimedia.Media.Core * @since 26.0.0 */ @@ -29,7 +29,6 @@ * * @kit AVCodecKit * @library libnative_media_core.so - * @syscap SystemCapability.Multimedia.Media.Core * @since 26.0.0 */ @@ -307,7 +306,7 @@ OH_AVErrCode OH_AudioVividMetaBuilder_CreateEmptyBuilder(OH_AudioVividMetaBuilde * @param len Length of the buffer in bytes. * @return Returns AV_ERR_OK if successful, otherwise returns a specific error code, refer to {@link OH_AVErrCode}. * {@link AV_ERR_INVALID_VAL}, builder is nullptr or invalid, buffer is nullptr or len is invalid. - * @note **Constraint:** + * @note **Constraint:** * The total number of soundbed channels plus base objects plus added objects must not exceed 16. * @since 26.0.0 */ @@ -325,7 +324,7 @@ OH_AVErrCode OH_AudioVividMetaBuilder_UpdateBaseMeta(OH_AudioVividMetaBuilder *b * @return Returns AV_ERR_OK if successful, otherwise returns a specific error code, refer to {@link OH_AVErrCode}. * {@link AV_ERR_INVALID_VAL}, builder is nullptr or invalid, objectIndex is nullptr. * {@link AV_ERR_UNKNOWN}, add object fail with unknown error. For details, check logs. - * @note **Constraint:** + * @note **Constraint:** * The total number of soundbed channels plus base objects plus added objects must not exceed 16. * @since 26.0.0 */