diff --git a/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json b/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json index 98f900d10a6afded30281cf9ffbe00ac3a073d10..70a64bba5c6e4daf35621972154d92feb567d74c 100644 --- a/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json +++ b/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json @@ -95,6 +95,34 @@ "first_introduced": "17", "name": "OH_AVCODEC_MIMETYPE_VIDEO_H263" }, + { + "first_introduced": "22", + "name": "OH_AVCODEC_MIMETYPE_VIDEO_AV1" + }, + { + "first_introduced": "22", + "name": "OH_AVCODEC_MIMETYPE_VIDEO_VP9" + }, + { + "first_introduced": "22", + "name": "OH_AVCODEC_MIMETYPE_VIDEO_VP8" + }, + { + "first_introduced": "22", + "name": "OH_AVCODEC_MIMETYPE_VIDEO_VC1" + }, + { + "first_introduced": "22", + "name": "OH_AVCODEC_MIMETYPE_VIDEO_MSVIDEO1" + }, + { + "first_introduced": "22", + "name": "OH_AVCODEC_MIMETYPE_VIDEO_WMV3" + }, + { + "first_introduced": "22", + "name": "OH_AVCODEC_MIMETYPE_VIDEO_MJPEG" + }, { "first_introduced": "9", "name": "OH_ED_KEY_TIME_STAMP" diff --git a/multimedia/av_codec/native_avcodec_base.h b/multimedia/av_codec/native_avcodec_base.h index 0042b76b4a2da27c3f8f01b44f2254bfe09f2a95..1c05c6133f5a878f6e0c228790c5e1f31c67be09 100644 --- a/multimedia/av_codec/native_avcodec_base.h +++ b/multimedia/av_codec/native_avcodec_base.h @@ -422,6 +422,55 @@ extern const char *OH_AVCODEC_MIMETYPE_VIDEO_MPEG4_PART2; */ extern const char *OH_AVCODEC_MIMETYPE_VIDEO_H263; +/** + * @brief Enumerates the MIME type of video AV1 codec. + * + * @since 22 + */ +extern const char *OH_AVCODEC_MIMETYPE_VIDEO_AV1; + +/** + * @brief Enumerates the MIME type of video VP9 codec. + * + * @since 22 + */ +extern const char *OH_AVCODEC_MIMETYPE_VIDEO_VP9; + +/** + * @brief Enumerates the MIME type of video VP8 codec. + * + * @since 22 + */ +extern const char *OH_AVCODEC_MIMETYPE_VIDEO_VP8; + +/** + * @brief Enumerates the MIME type of video VC-1 codec. + * + * @since 22 + */ +extern const char *OH_AVCODEC_MIMETYPE_VIDEO_VC1; + +/** + * @brief Enumerates the MIME type of video MS VIDEO1 codec. + * + * @since 22 + */ +extern const char *OH_AVCODEC_MIMETYPE_VIDEO_MSVIDEO1; + +/** + * @brief Enumerates the MIME type of video WMV3 codec. + * + * @since 22 + */ +extern const char *OH_AVCODEC_MIMETYPE_VIDEO_WMV3; + +/** + * @brief Enumerates the MIME type of video MJPEG codec. + * + * @since 22 + */ +extern const char *OH_AVCODEC_MIMETYPE_VIDEO_MJPEG; + /** * @brief Key for timeStamp in surface's extraData, value type is int64_t. * @@ -1389,6 +1438,62 @@ typedef enum OH_H263Profile { H263_PROFILE_VERSION_1_BACKWARD_COMPATIBILITY = 2, } OH_H263Profile; +/** + * @brief AV1 Profile + * + * @since 22 + */ +typedef enum OH_AV1Profile { + /** Main profile */ + AV1_PROFILE_MAIN = 0, + /** High profile */ + AV1_PROFILE_HIGH = 1, + /** Professional profile */ + AV1_PROFILE_PROFESSIONAL = 2, +} OH_AV1Profile; + +/** + * @brief VP9 Profile + * + * @since 22 + */ +typedef enum OH_VP9Profile { + /** 0 profile */ + VP9_PROFILE_0 = 0, + /** 1 profile */ + VP9_PROFILE_1 = 1, + /** 2 profile */ + VP9_PROFILE_2 = 2, + /** 3 profile */ + VP9_PROFILE_3 = 3, +} OH_VP9Profile; + +/** + * @brief VC-1 Profile + * + * @since 22 + */ +typedef enum OH_VC1Profile { + /** Simple profile */ + VC1_PROFILE_SIMPLE = 0, + /** Main profile */ + VC1_PROFILE_MAIN = 1, + /** Advanced profile */ + VC1_PROFILE_ADVANCED = 2, +} OH_VC1Profile; + +/** + * @brief WMV3 Profile + * + * @since 22 + */ +typedef enum OH_WMV3Profile { + /** Simple profile */ + WMV3_PROFILE_SIMPLE = 0, + /** Main profile */ + WMV3_PROFILE_MAIN = 1, +} OH_WMV3Profile; + /** * @brief Enumerates the muxer output file format * @@ -1713,6 +1818,136 @@ typedef enum OH_H263Level { H263_LEVEL_70 = 7, } OH_H263Level; +/** + * @brief AV1 Level. + * + * @since 22 + */ +typedef enum OH_AV1Level { + /** 2.0 level */ + AV1_LEVEL_20 = 0, + /** 2.1 level */ + AV1_LEVEL_21 = 1, + /** 2.2 level */ + AV1_LEVEL_22 = 2, + /** 2.3 level */ + AV1_LEVEL_23 = 3, + /** 3.0 level */ + AV1_LEVEL_30 = 4, + /** 3.1 level */ + AV1_LEVEL_31 = 5, + /** 3.2 level */ + AV1_LEVEL_32 = 6, + /** 3.3 level */ + AV1_LEVEL_33 = 7, + /** 4.0 level */ + AV1_LEVEL_40 = 8, + /** 4.1 level */ + AV1_LEVEL_41 = 9, + /** 4.2 level */ + AV1_LEVEL_42 = 10, + /** 4.3 level */ + AV1_LEVEL_43 = 11, + /** 5.0 level */ + AV1_LEVEL_50 = 12, + /** 5.1 level */ + AV1_LEVEL_51 = 13, + /** 5.2 level */ + AV1_LEVEL_52 = 14, + /** 5.3 level */ + AV1_LEVEL_53 = 15, + /** 6.0 level */ + AV1_LEVEL_60 = 16, + /** 6.1 level */ + AV1_LEVEL_61 = 17, + /** 6.2 level */ + AV1_LEVEL_62 = 18, + /** 6.3 level */ + AV1_LEVEL_63 = 19, + /** 7.0 level */ + AV1_LEVEL_70 = 20, + /** 7.1 level */ + AV1_LEVEL_71 = 21, + /** 7.2 level */ + AV1_LEVEL_72 = 22, + /** 7.3 level */ + AV1_LEVEL_73 = 23, +} OH_AV1Level; + +/** + * @brief VP9 Level. + * + * @since 22 + */ +typedef enum OH_VP9Level { + /** 1 level */ + VP9_LEVEL_1 = 0, + /** 1.1 level */ + VP9_LEVEL_11 = 1, + /** 2 level */ + VP9_LEVEL_2 = 2, + /** 2.1 level */ + VP9_LEVEL_21 = 3, + /** 3 level */ + VP9_LEVEL_3 = 4, + /** 3.1 level */ + VP9_LEVEL_31 = 5, + /** 4 level */ + VP9_LEVEL_4 = 6, + /** 4.1 level */ + VP9_LEVEL_41 = 7, + /** 5 level */ + VP9_LEVEL_5 = 8, + /** 5.1 level */ + VP9_LEVEL_51 = 9, + /** 5.2 level */ + VP9_LEVEL_52 = 10, + /** 6 level */ + VP9_LEVEL_6 = 11, + /** 6.1 level */ + VP9_LEVEL_61 = 12, + /** 6.2 level */ + VP9_LEVEL_62 = 13, +} OH_VP9Level; + +/** + * @brief VC-1 Level. + * + * @since 22 + */ +typedef enum OH_VC1Level { + /** L0 level */ + VC1_LEVEL_L0 = 0, + /** L1 level */ + VC1_LEVEL_L1 = 1, + /** L2 level */ + VC1_LEVEL_L2 = 2, + /** L3 level */ + VC1_LEVEL_L3 = 3, + /** L4 level */ + VC1_LEVEL_L4 = 4, + /** LOW level */ + VC1_LEVEL_LOW = 5, + /** MEDIUM level */ + VC1_LEVEL_MEDIUM = 6, + /** HIGH level */ + VC1_LEVEL_HIGH = 7, +} OH_VC1Level; + +/** + * @brief WMV3 Level. + * + * @since 22 + */ +typedef enum OH_WMV3Level { + /** LOW level */ + WMV3_LEVEL_LOW = 0, + /** MEDIUM level */ + WMV3_LEVEL_MEDIUM = 1, + /** HIGH level */ + WMV3_LEVEL_HIGH = 2, +} OH_WMV3Level; + /** * @brief The reference mode in temporal group of picture. *