소스 검색

video: driver: introduce metadata size macro

introduce encode input and output metadata
size macro in the interface file.

Change-Id: I40776018c5c3278d40a426c2afde4d56e90066e2
Signed-off-by: Darshana Patil <[email protected]>
Darshana Patil 3 년 전
부모
커밋
808cebd0b4
3개의 변경된 파일6개의 추가작업 그리고 26개의 파일을 삭제
  1. 0 2
      driver/vidc/inc/msm_vidc_internal.h
  2. 1 24
      driver/vidc/src/msm_vidc_buffer.c
  3. 5 0
      include/uapi/vidc/media/v4l2_vidc_extensions.h

+ 0 - 2
driver/vidc/inc/msm_vidc_internal.h

@@ -136,8 +136,6 @@
   */
 #define MAX_DPB_LIST_ARRAY_SIZE (16 * 4)
 #define MAX_DPB_LIST_PAYLOAD_SIZE (16 * 4 * 4)
-/* Default metadata size */
-#define MSM_VIDC_METADATA_SIZE ALIGN(16 * 1024, SZ_4K)
 
 enum msm_vidc_domain_type {
 	MSM_VIDC_ENCODER           = BIT(0),

+ 1 - 24
driver/vidc/src/msm_vidc_buffer.c

@@ -369,30 +369,7 @@ static inline u32 ROI_METADATA_SIZE(
 
 u32 msm_vidc_encoder_input_meta_size(struct msm_vidc_inst *inst)
 {
-	u32 size = 0;
-	u32 lcu_size = 0;
-	struct v4l2_format *f;
-
-	if (!inst || !inst->capabilities) {
-		d_vpr_e("%s: invalid params\n", __func__);
-		return 0;
-	}
-
-	size = MSM_VIDC_METADATA_SIZE;
-
-	if (inst->capabilities->cap[META_ROI_INFO].value) {
-		lcu_size = 16;
-
-		f = &inst->fmts[OUTPUT_PORT];
-		if (f->fmt.pix_mp.pixelformat == V4L2_PIX_FMT_HEVC)
-			lcu_size = 32;
-
-		f = &inst->fmts[INPUT_PORT];
-		size += ROI_METADATA_SIZE(f->fmt.pix_mp.width,
-			f->fmt.pix_mp.height, lcu_size);
-		size = ALIGN(size, SZ_4K);
-	}
-	return size;
+	return ENCODE_INPUT_METADATA_SIZE;
 }
 
 u32 msm_vidc_encoder_output_meta_size(struct msm_vidc_inst *inst)

+ 5 - 0
include/uapi/vidc/media/v4l2_vidc_extensions.h

@@ -430,4 +430,9 @@ struct v4l2_event_vidc_metadata {
 };
 /* vendor events end */
 
+/* Default metadata size (align to 4KB) */
+#define MSM_VIDC_METADATA_SIZE           (4 * 4096) /* 16 KB */
+#define ENCODE_INPUT_METADATA_SIZE       (512 * 4096) /* 2 MB */
+#define DECODE_INPUT_METADATA_SIZE       MSM_VIDC_METADATA_SIZE
+
 #endif