Explorar o código

video-driver: diwali: Add 4096x2304 support

Add 4096x2304 resolution support across
all diwali sku's.

Change-Id: Icebe180db15464c21737be9c17ff9cd2677a6d25
Signed-off-by: Priyanka Gujjula <[email protected]>
Signed-off-by: Govindaraj Rajagopal <[email protected]>
Govindaraj Rajagopal %!s(int64=3) %!d(string=hai) anos
pai
achega
037ff5f9f8
Modificáronse 1 ficheiros con 92 adicións e 80 borrados
  1. 92 80
      driver/platform/diwali/src/msm_vidc_diwali.c

+ 92 - 80
driver/platform/diwali/src/msm_vidc_diwali.c

@@ -85,11 +85,10 @@ static struct msm_platform_core_capability core_data_diwali_v0[] = {
 	{MAX_NUM_8K_SESSIONS, 1},
 	{MAX_SECURE_SESSION_COUNT, 3},
 	{MAX_RT_MBPF, 138240}, /* ((8192x4320)/256) */
-	{MAX_MBPF, 173056}, /* (8192x4320)/256 + (4096x2176)/256*/
-	{MAX_MBPS, 4177920}, /* max_load
-			 * 4096x2176@120fps which is greater than
-			 * 8192x4320@30fps
-			 */
+	{MAX_MBPF, 175104}, /* (8192x4320)/256 + (4096x2304)/256*/
+	/* max_load 3840x2176@120fps which is greater than 7680x4320@30fps */
+	/* Concurrency: UHD@30 decode + uhd@30 encode */
+	{MAX_MBPS, 3916800},
 	{MAX_IMAGE_MBPF, 1048576},  /* (16384x16384)/256 */
 	{MAX_MBPF_HQ, 8160}, /* ((1920x1088)/256) */
 	{MAX_MBPS_HQ, 244800}, /* ((1920x1088)/256)@30fps */
@@ -137,8 +136,9 @@ static struct msm_platform_core_capability core_data_diwali_v1[] = {
 	{MAX_NUM_4K_SESSIONS, 4},
 	{MAX_SECURE_SESSION_COUNT, 3},
 	{MAX_RT_MBPF, 130560}, /* ((3840x2176)/256) x 4 */
-	{MAX_MBPF, 139264}, /* ((4096x2176)/256) x 4 */
-	{MAX_MBPS, 2088960}, /* 4096x2176@60fps */
+	{MAX_MBPF, 147456}, /* ((4096x2304)/256) x 4 */
+	/* Concurrency: UHD@30 decode + uhd@30 encode */
+	{MAX_MBPS, 2211840}, /* max_load 4096x2304@60fps */
 	{MAX_IMAGE_MBPF, 1048576},  /* (16384x16384)/256 */
 	{MAX_MBPF_HQ, 8160}, /* ((1920x1088)/256) */
 	{MAX_MBPS_HQ, 244800}, /* ((1920x1088)/256)@30fps */
@@ -185,9 +185,10 @@ static struct msm_platform_core_capability core_data_diwali_v2[] = {
 	{MAX_NUM_1080P_SESSIONS, 8},
 	{MAX_NUM_4K_SESSIONS, 4},
 	{MAX_SECURE_SESSION_COUNT, 3},
-	{MAX_RT_MBPF, 130560}, /* ((3840x2176)/256) x 3 */
-	{MAX_MBPF, 104448}, /* ((4096x2176)/256) x 3 */
-	{MAX_MBPS, 1044480}, /* 4096x2176@30fps */
+	{MAX_RT_MBPF, 97920}, /* ((3840x2176)/256) x 3 */
+	{MAX_MBPF, 110592}, /* ((4096x2304)/256) x 3 */
+	/* Concurrency: UHD@30 decode + 1080p@30 encode */
+	{MAX_MBPS, 1105920}, /* max_load 4096x2304@30fps*/
 	{MAX_IMAGE_MBPF, 1048576},  /* (16384x16384)/256 */
 	{MAX_MBPF_HQ, 8160}, /* ((1920x1088)/256) */
 	{MAX_MBPS_HQ, 244800}, /* ((1920x1088)/256)@30fps */
@@ -314,26 +315,26 @@ static struct msm_platform_inst_capability instance_data_diwali_v0[] = {
 		HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT,
 		CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
 
-	/* (4096 * 2176) / 256 */
-	{MBPF, ENC, CODECS_ALL, 64, 34816, 1, 34816},
+	/* (4096 * 2304) / 256 */
+	{MBPF, ENC, CODECS_ALL, 64, 36864, 1, 36864},
 	/* (8192 * 4320) / 256 */
 	{MBPF, DEC, CODECS_ALL, 36, 138240, 1, 138240},
-	/* (4096 * 2176) / 256 */
-	{MBPF, DEC, VP9, 36, 34816, 1, 34816},
-	/* (4096 * 2176) / 256 */
-	{LOSSLESS_MBPF, ENC, H264|HEVC, 64, 34816, 1, 34816},
+	/* (4096 * 2304) / 256 */
+	{MBPF, DEC, VP9, 36, 36864, 1, 36864},
+	/* (4096 * 2304) / 256 */
+	{LOSSLESS_MBPF, ENC, H264|HEVC, 64, 36864, 1, 36864},
 	/* Batch Mode Decode */
 	/* (1920 * 1088) / 256 */
 	{BATCH_MBPF, DEC, H264|HEVC|VP9, 64, 8160, 1, 8160},
 	{BATCH_FPS, DEC, H264|HEVC|VP9, 1, 120, 1, 60},
-	/* (4096 * 2176) / 256 */
-	{SECURE_MBPF, ENC|DEC, H264|HEVC|VP9, 64, 34816, 1, 34816},
-	/* ((4096 * 2176) / 256) * 60 fps */
-	{MBPS, ENC, CODECS_ALL, 64, 2088960, 1, 2088960},
-	/* ((4096 * 2176) / 256) * 120 fps */
-	{MBPS, DEC, CODECS_ALL, 36, 4147200, 1, 4147200},
-	/* ((4096 * 2176) / 256) * 60 */
-	{MBPS, DEC, VP9, 36, 2088960, 1, 2088960},
+	/* (4096 * 2304) / 256 */
+	{SECURE_MBPF, ENC|DEC, H264|HEVC|VP9, 64, 36864, 1, 36864},
+	/* ((4096 * 2304) / 256) * 60 fps */
+	{MBPS, ENC, CODECS_ALL, 64, 2211840, 1, 2211840},
+	/* ((3840 * 2176) / 256) * 120 fps */
+	{MBPS, DEC, CODECS_ALL, 36, 3916800, 1, 3916800},
+	/* ((4096 * 2304) / 256) * 60 */
+	{MBPS, DEC, VP9, 36, 2211840, 1, 2211840},
 	/* ((1920 * 1088) / 256) * 30 fps */
 	{POWER_SAVE_MBPS, ENC, CODECS_ALL, 0, 244800, 1, 244800},
 
@@ -1166,7 +1167,7 @@ static struct msm_platform_inst_capability instance_data_diwali_v0[] = {
 
 	{LEVEL, DEC, VP9,
 		V4L2_MPEG_VIDEO_VP9_LEVEL_1_0,
-		V4L2_MPEG_VIDEO_VP9_LEVEL_5_1,
+		V4L2_MPEG_VIDEO_VP9_LEVEL_5_2,
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_1_0) |
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_1_1) |
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_2_0) |
@@ -1176,8 +1177,9 @@ static struct msm_platform_inst_capability instance_data_diwali_v0[] = {
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_4_0) |
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_4_1) |
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_1),
-		V4L2_MPEG_VIDEO_VP9_LEVEL_5_1,
+		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_1) |
+		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_2),
+		V4L2_MPEG_VIDEO_VP9_LEVEL_5_2,
 		V4L2_CID_MPEG_VIDEO_VP9_LEVEL,
 		HFI_PROP_LEVEL,
 		CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU,
@@ -1216,7 +1218,7 @@ static struct msm_platform_inst_capability instance_data_diwali_v0[] = {
 
 	{LEVEL, ENC, H264,
 		V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
-		V4L2_MPEG_VIDEO_H264_LEVEL_5_2,
+		V4L2_MPEG_VIDEO_H264_LEVEL_6_0,
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_0) |
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1B) |
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_1) |
@@ -1233,8 +1235,9 @@ static struct msm_platform_inst_capability instance_data_diwali_v0[] = {
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_2) |
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_0) |
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_2),
-		V4L2_MPEG_VIDEO_H264_LEVEL_5_2,
+		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_2) |
+		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_6_0),
+		V4L2_MPEG_VIDEO_H264_LEVEL_6_0,
 		V4L2_CID_MPEG_VIDEO_H264_LEVEL,
 		HFI_PROP_LEVEL,
 		CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU,
@@ -1266,7 +1269,7 @@ static struct msm_platform_inst_capability instance_data_diwali_v0[] = {
 
 	{LEVEL, ENC, HEVC|HEIC,
 		V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1,
+		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2,
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_1) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1) |
@@ -1275,8 +1278,9 @@ static struct msm_platform_inst_capability instance_data_diwali_v0[] = {
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1),
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1,
+		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1) |
+		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2),
+		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2,
 		V4L2_CID_MPEG_VIDEO_HEVC_LEVEL,
 		HFI_PROP_LEVEL,
 		CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU,
@@ -1857,22 +1861,22 @@ static struct msm_platform_inst_capability instance_data_diwali_v1[] = {
 		HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT,
 		CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
 
-	/* (4096 * 2176) / 256 */
-	{MBPF, ENC, CODECS_ALL, 64, 34816, 1, 34816},
-	/* (4096 * 2176) / 256 */
-	{MBPF, DEC, CODECS_ALL, 36, 34816, 1, 34816},
-	/* (4096 * 2176) / 256 */
-	{LOSSLESS_MBPF, ENC, H264|HEVC, 64, 34816, 1, 34816},
+	/* (4096 * 2304) / 256 */
+	{MBPF, ENC, CODECS_ALL, 64, 36864, 1, 36864},
+	/* (4096 * 2304) / 256 */
+	{MBPF, DEC, CODECS_ALL, 36, 36864, 1, 36864},
+	/* (4096 * 2304) / 256 */
+	{LOSSLESS_MBPF, ENC, H264|HEVC, 64, 36864, 1, 36864},
 	/* Batch Mode Decode */
 	/* (1920 * 1088) / 256 */
 	{BATCH_MBPF, DEC, H264|HEVC|VP9, 64, 8160, 1, 8160},
 	{BATCH_FPS, DEC, H264|HEVC|VP9, 1, 120, 1, 60},
-	/* (4096 * 2176) / 256 */
-	{SECURE_MBPF, ENC|DEC, H264|HEVC|VP9, 64, 34816, 1, 34816},
-	/* ((4096 * 2176) / 256) * 60 fps */
-	{MBPS, ENC, CODECS_ALL, 64, 2088960, 1, 2088960},
-	/* ((4096 * 2176) / 256) * 60 fps */
-	{MBPS, DEC, CODECS_ALL, 36, 2088960, 1, 2088960},
+	/* (4096 * 2304) / 256 */
+	{SECURE_MBPF, ENC|DEC, H264|HEVC|VP9, 64, 36864, 1, 36864},
+	/* ((4096 * 2304) / 256) * 60 fps */
+	{MBPS, ENC, CODECS_ALL, 64, 2211840, 1, 2211840},
+	/* ((4096 * 2304) / 256) * 60 fps */
+	{MBPS, DEC, CODECS_ALL, 36, 2211840, 1, 2211840},
 	/* ((1920 * 1088) / 256) * 30 fps */
 	{POWER_SAVE_MBPS, ENC, CODECS_ALL, 0, 244800, 1, 244800},
 
@@ -2700,7 +2704,7 @@ static struct msm_platform_inst_capability instance_data_diwali_v1[] = {
 
 	{LEVEL, DEC, VP9,
 		V4L2_MPEG_VIDEO_VP9_LEVEL_1_0,
-		V4L2_MPEG_VIDEO_VP9_LEVEL_5_1,
+		V4L2_MPEG_VIDEO_VP9_LEVEL_5_2,
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_1_0) |
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_1_1) |
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_2_0) |
@@ -2710,8 +2714,9 @@ static struct msm_platform_inst_capability instance_data_diwali_v1[] = {
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_4_0) |
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_4_1) |
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_1),
-		V4L2_MPEG_VIDEO_VP9_LEVEL_5_1,
+		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_1) |
+		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_2),
+		V4L2_MPEG_VIDEO_VP9_LEVEL_5_2,
 		V4L2_CID_MPEG_VIDEO_VP9_LEVEL,
 		HFI_PROP_LEVEL,
 		CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU,
@@ -2721,7 +2726,7 @@ static struct msm_platform_inst_capability instance_data_diwali_v1[] = {
 
 	{LEVEL, DEC, H264,
 		V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
-		V4L2_MPEG_VIDEO_H264_LEVEL_5_2,
+		V4L2_MPEG_VIDEO_H264_LEVEL_6_0,
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_0) |
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1B) |
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_1) |
@@ -2738,8 +2743,9 @@ static struct msm_platform_inst_capability instance_data_diwali_v1[] = {
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_2) |
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_0) |
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_2),
-		V4L2_MPEG_VIDEO_H264_LEVEL_5_2,
+		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_2) |
+		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_6_0),
+		V4L2_MPEG_VIDEO_H264_LEVEL_6_0,
 		V4L2_CID_MPEG_VIDEO_H264_LEVEL,
 		HFI_PROP_LEVEL,
 		CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU,
@@ -2749,7 +2755,7 @@ static struct msm_platform_inst_capability instance_data_diwali_v1[] = {
 
 	{LEVEL, ENC, H264,
 		V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
-		V4L2_MPEG_VIDEO_H264_LEVEL_5_2,
+		V4L2_MPEG_VIDEO_H264_LEVEL_6_0,
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_0) |
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1B) |
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_1) |
@@ -2766,8 +2772,9 @@ static struct msm_platform_inst_capability instance_data_diwali_v1[] = {
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_2) |
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_0) |
 		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_2),
-		V4L2_MPEG_VIDEO_H264_LEVEL_5_2,
+		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_2) |
+		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_6_0),
+		V4L2_MPEG_VIDEO_H264_LEVEL_6_0,
 		V4L2_CID_MPEG_VIDEO_H264_LEVEL,
 		HFI_PROP_LEVEL,
 		CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU,
@@ -2777,7 +2784,7 @@ static struct msm_platform_inst_capability instance_data_diwali_v1[] = {
 
 	{LEVEL, DEC, HEVC|HEIC,
 		V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1,
+		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2,
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_1) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1) |
@@ -2786,8 +2793,9 @@ static struct msm_platform_inst_capability instance_data_diwali_v1[] = {
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1),
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1,
+		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1) |
+		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2),
+		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2,
 		V4L2_CID_MPEG_VIDEO_HEVC_LEVEL,
 		HFI_PROP_LEVEL,
 		CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU,
@@ -2797,7 +2805,7 @@ static struct msm_platform_inst_capability instance_data_diwali_v1[] = {
 
 	{LEVEL, ENC, HEVC|HEIC,
 		V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1,
+		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2,
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_1) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1) |
@@ -2806,8 +2814,9 @@ static struct msm_platform_inst_capability instance_data_diwali_v1[] = {
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1),
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1,
+		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1) |
+		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2),
+		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2,
 		V4L2_CID_MPEG_VIDEO_HEVC_LEVEL,
 		HFI_PROP_LEVEL,
 		CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU,
@@ -3388,18 +3397,18 @@ static struct msm_platform_inst_capability instance_data_diwali_v2[] = {
 		HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT,
 		CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
 
-	/* (4096 * 2176) / 256 */
-	{MBPF, ENC, CODECS_ALL, 64, 34816, 1, 34816},
-	/* (4096 * 2176) / 256 */
-	{MBPF, DEC, CODECS_ALL, 36, 34816, 1, 34816},
-	/* (4096 * 2176) / 256 */
-	{LOSSLESS_MBPF, ENC, H264|HEVC, 64, 34816, 1, 34816},
-	/* (4096 * 2176) / 256 */
-	{SECURE_MBPF, ENC|DEC, H264|HEVC|VP9, 64, 34816, 1, 34816},
+	/* (4096 * 2304) / 256 */
+	{MBPF, ENC, CODECS_ALL, 64, 36864, 1, 36864},
+	/* (4096 * 2304) / 256 */
+	{MBPF, DEC, CODECS_ALL, 36, 36864, 1, 36864},
+	/* (4096 * 2304) / 256 */
+	{LOSSLESS_MBPF, ENC, H264|HEVC, 64, 36864, 1, 36864},
+	/* (4096 * 2304) / 256 */
+	{SECURE_MBPF, ENC|DEC, H264|HEVC|VP9, 64, 36864, 1, 36864},
+	/* ((4096 * 2304) / 256) * 30 fps */
+	{MBPS, ENC, CODECS_ALL, 64, 1105920, 1, 1105920},
 	/* ((4096 * 2176) / 256) * 30 fps */
-	{MBPS, ENC, CODECS_ALL, 64, 1044480, 1, 1044480},
-	/* ((4096 * 2176) / 256) * 30 fps */
-	{MBPS, DEC, CODECS_ALL, 36, 1044480, 1, 1044480},
+	{MBPS, DEC, CODECS_ALL, 36, 1105920, 1, 1105920},
 	/* ((1920 * 1088) / 256) * 30 fps */
 	{POWER_SAVE_MBPS, ENC, CODECS_ALL, 0, 244800, 1, 244800},
 
@@ -4227,7 +4236,7 @@ static struct msm_platform_inst_capability instance_data_diwali_v2[] = {
 
 	{LEVEL, DEC, VP9,
 		V4L2_MPEG_VIDEO_VP9_LEVEL_1_0,
-		V4L2_MPEG_VIDEO_VP9_LEVEL_5_0,
+		V4L2_MPEG_VIDEO_VP9_LEVEL_5_1,
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_1_0) |
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_1_1) |
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_2_0) |
@@ -4236,8 +4245,9 @@ static struct msm_platform_inst_capability instance_data_diwali_v2[] = {
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_3_1) |
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_4_0) |
 		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_0),
-		V4L2_MPEG_VIDEO_VP9_LEVEL_5_0,
+		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_0) |
+		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_1),
+		V4L2_MPEG_VIDEO_VP9_LEVEL_5_1,
 		V4L2_CID_MPEG_VIDEO_VP9_LEVEL,
 		HFI_PROP_LEVEL,
 		CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU,
@@ -4303,7 +4313,7 @@ static struct msm_platform_inst_capability instance_data_diwali_v2[] = {
 
 	{LEVEL, DEC, HEVC|HEIC,
 		V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_5,
+		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1,
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_1) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1) |
@@ -4311,8 +4321,9 @@ static struct msm_platform_inst_capability instance_data_diwali_v2[] = {
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5),
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_5,
+		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5) |
+		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1),
+		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1,
 		V4L2_CID_MPEG_VIDEO_HEVC_LEVEL,
 		HFI_PROP_LEVEL,
 		CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU,
@@ -4322,7 +4333,7 @@ static struct msm_platform_inst_capability instance_data_diwali_v2[] = {
 
 	{LEVEL, ENC, HEVC|HEIC,
 		V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_5,
+		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1,
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_1) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1) |
@@ -4330,8 +4341,9 @@ static struct msm_platform_inst_capability instance_data_diwali_v2[] = {
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4) |
 		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5),
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_5,
+		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5) |
+		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1),
+		V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1,
 		V4L2_CID_MPEG_VIDEO_HEVC_LEVEL,
 		HFI_PROP_LEVEL,
 		CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU,