Pārlūkot izejas kodu

video: driver: add all intra encoding support

add ALL_INTRA database entry and its dependecies.
impletment adjust functions. imported from waipio.

Change-Id: Iaddb6cd59d3c3e69570bb5347ebf396622524875
Signed-off-by: DEEPA GUTHYAPPA MADIVALARA <[email protected]>
Deepa Guthyappa Madivalara 3 gadi atpakaļ
vecāks
revīzija
3a05f79ac1
1 mainītis faili ar 16 papildinājumiem un 5 dzēšanām
  1. 16 5
      driver/platform/kalama/src/msm_vidc_kalama.c

+ 16 - 5
driver/platform/kalama/src/msm_vidc_kalama.c

@@ -75,6 +75,7 @@ static struct msm_platform_core_capability core_data_kalama[] = {
 	{MAX_MBPS_HQ, 489600}, /* ((1920x1088)/256)@60fps */
 	{MAX_MBPF_B_FRAME, 32640}, /* 3840x2176/256 */
 	{MAX_MBPS_B_FRAME, 1958400}, /* 3840x2176/256 MBs@60fps */
+	{MAX_MBPS_ALL_INTRA, 1958400}, /* 3840x2176/256 MBs@60fps */
 	{MAX_ENH_LAYER_COUNT, 5},
 	{NUM_VPP_PIPE, 4},
 	{SW_PC, 1},
@@ -460,7 +461,7 @@ static struct msm_platform_inst_capability instance_data_kalama[] = {
 		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
 			CAP_FLAG_DYNAMIC_ALLOWED,
 		{ENH_LAYER_COUNT},
-		{0},
+		{ALL_INTRA},
 		msm_vidc_adjust_gop_size, msm_vidc_set_gop_size},
 
 	{GOP_CLOSURE, ENC, H264|HEVC,
@@ -475,7 +476,7 @@ static struct msm_platform_inst_capability instance_data_kalama[] = {
 		HFI_PROP_MAX_B_FRAMES,
 		CAP_FLAG_OUTPUT_PORT,
 		{ENH_LAYER_COUNT},
-		{0},
+		{ALL_INTRA},
 		msm_vidc_adjust_b_frame, msm_vidc_set_u32},
 
 	{BLUR_TYPES, ENC, CODECS_ALL,
@@ -545,7 +546,7 @@ static struct msm_platform_inst_capability instance_data_kalama[] = {
 		V4L2_CID_MPEG_VIDEO_LTR_COUNT,
 		HFI_PROP_LTR_COUNT,
 		CAP_FLAG_OUTPUT_PORT,
-		{BITRATE_MODE}, {0},
+		{BITRATE_MODE, ALL_INTRA}, {0},
 		msm_vidc_adjust_ltr_count, msm_vidc_set_u32},
 
 	{USE_LTR, ENC, H264|HEVC,
@@ -579,7 +580,7 @@ static struct msm_platform_inst_capability instance_data_kalama[] = {
 		V4L2_CID_MPEG_VIDC_INTRA_REFRESH_PERIOD,
 		HFI_PROP_IR_RANDOM_PERIOD,
 		CAP_FLAG_OUTPUT_PORT,
-		{BITRATE_MODE}, {0},
+		{BITRATE_MODE, ALL_INTRA}, {0},
 		msm_vidc_adjust_ir_random, msm_vidc_set_u32},
 
 	{AU_DELIMITER, ENC, H264|HEVC,
@@ -1307,7 +1308,7 @@ static struct msm_platform_inst_capability instance_data_kalama[] = {
 		V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE,
 		0,
 		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU,
-		{BITRATE_MODE}, {0},
+		{BITRATE_MODE, ALL_INTRA}, {0},
 		msm_vidc_adjust_slice_count, msm_vidc_set_slice_count},
 
 	{SLICE_MAX_BYTES, ENC, H264|HEVC|HEIC,
@@ -1503,6 +1504,16 @@ static struct msm_platform_inst_capability instance_data_kalama[] = {
 		V4L2_CID_MPEG_VIDC_METADATA_CROP_OFFSETS,
 		HFI_PROP_CROP_OFFSETS},
 
+	{ALL_INTRA, ENC, H264|HEVC,
+		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
+		1, V4L2_MPEG_MSM_VIDC_DISABLE,
+		0,
+		0,
+		CAP_FLAG_OUTPUT_PORT,
+		{GOP_SIZE, B_FRAME},
+		{LTR_COUNT, IR_RANDOM, SLICE_MODE},
+		msm_vidc_adjust_all_intra, NULL},
+
 	{META_LTR_MARK_USE, ENC, H264|HEVC,
 		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
 		1, V4L2_MPEG_MSM_VIDC_DISABLE,