add VVC Profile and Level

Signed-off-by: zhanghongran <zhanghongran@huawei.com>
This commit is contained in:
zhanghongran 2024-11-07 14:01:07 +08:00
parent 30aee49a12
commit b0dd1edc14

View File

@ -1015,6 +1015,45 @@ typedef enum OH_HEVCProfile {
HEVC_PROFILE_MAIN_10_HDR10_PLUS = 4,
} OH_HEVCProfile;
/**
* @brief Profile: A specified subset of the syntax of VVC.
*
* @syscap SystemCapability.Multimedia.Media.CodecBase
* @since 14
*/
typedef enum OH_VVCProfile {
/** Main 10 profile */
VVC_PROFILE_MAIN_10 = 1, // 1 << 0
/** Main 12 profile */
VVC_PROFILE_MAIN_12 = 2, // 1 << 1
/** Main 12 Intra profile */
VVC_PROFILE_MAIN_12_INTRA = 10, // MAIN12 | INTRA
/** Multilayer Main 10 profile */
VVC_PROFILE_MULTI_MAIN_10 = 17, // MULTILAYER | MAIN_10
/** Main 10 4:4:4 profile */
VVC_PROFILE_MAIN_10_444 = 33, // YUV444 | MAIN_10
/** Main 12 4:4:4 profile */
VVC_PROFILE_MAIN_12_444 = 34, // YUV444 | MAIN_12
/** Main 16 4:4:4 profile */
VVC_PROFILE_MAIN_16_444 = 36, // YUV444 | MAIN_16
/** Main 12 4:4:4 Intra profile */
VVC_PROFILE_MAIN_12_444_INTRA = 42, // MAIN_12_444 | INTRA
/** Main 16 4:4:4 Intra profile */
VVC_PROFILE_MAIN_16_444_INTRA = 44, // MAIN_16_444 | INTRA
/** Multilayer Main 10 4:4:4 profile */
VVC_PROFILE_MULTI_MAIN_10_444 = 49, // YUV444 | MAIN_10 | MULTILAYER
/** Main 10 Still Picture profile */
VVC_PROFILE_MAIN_10_STILL = 65, // MAIN_10 | STILL_PICTURE
/** Main 12 Still Picture profile */
VVC_PROFILE_MAIN_12_STILL = 68, // MAIN_12 | STILL_PICTURE
/** Main 10 4:4:4 Still Picture profile */
VVC_PROFILE_MAIN_10_444_STILL = 97, // MAIN_10_444 | STILL_PICTURE
/** Main 12 4:4:4 Still Picture profile */
VVC_PROFILE_MAIN_12_444_STILL = 98, // MAIN_12_444 | STILL_PICTURE
/** Main 16 4:4:4 Still Picture profile */
VVC_PROFILE_MAIN_16_444_STILL = 100, // MAIN_16_444 | STILL_PICTURE
} OH_VVCProfile;
/**
* @brief Enumerates the muxer output file format
*
@ -1208,6 +1247,46 @@ typedef enum OH_HEVCLevel {
HEVC_LEVEL_62 = 12,
} OH_HEVCLevel;
/**
* @brief VVC Level: A defined set of constraints on the values that may be taken by the syntax elements and variables
* of VVC, or the value of a transform coefficient prior to scaling; code = (major_level * 16 + minor_level * 3).
*
* @syscap SystemCapability.Multimedia.Media.CodecBase
* @since 14
*/
typedef enum OH_VVCLevel {
/** VVC level 1.0 */
VVC_LEVEL_1 = 16,
/** VVC level 2.0 */
VVC_LEVEL_2 = 32,
/** VVC level 2.1 */
VVC_LEVEL_21 = 35,
/** VVC level 3.0 */
VVC_LEVEL_3 = 48,
/** VVC level 3.1 */
VVC_LEVEL_31 = 51,
/** VVC level 4.0 */
VVC_LEVEL_4 = 64,
/** VVC level 4.1 */
VVC_LEVEL_41 = 67,
/** VVC level 5.0 */
VVC_LEVEL_5 = 80,
/** VVC level 5.1 */
VVC_LEVEL_51 = 83,
/** VVC level 5.2 */
VVC_LEVEL_52 = 86,
/** VVC level 6.0 */
VVC_LEVEL_6 = 96,
/** VVC level 6.1 */
VVC_LEVEL_61 = 99,
/** VVC level 6.2 */
VVC_LEVEL_62 = 102,
/** VVC level 6.3 */
VVC_LEVEL_63 = 103,
/** VVC level 15.5 */
VVC_LEVEL_155 = 255,
} OH_VVCLevel;
/**
* @brief The reference mode in temporal group of picture.
*