浏览代码

video: driver: decrease heap usage for 24 session support on IRIS3

Originally h26xd and vp9 display buffer was allocated from FW heap.
In order to decrease heap usage for 24 session support on IRIS3,
FW has moved display buffer from FW heap to persist buffer.
Adding this support in driver.

Change-Id: If865748e7c0df5fecd26905f7ef343f465f69967
Signed-off-by: Mahesh Kumar Sharma <[email protected]>
Mahesh Kumar Sharma 3 年之前
父节点
当前提交
e3f2139586
共有 1 个文件被更改,包括 9 次插入1 次删除
  1. 9 1
      driver/variant/iris3/inc/hfi_buffer_iris3.h

+ 9 - 1
driver/variant/iris3/inc/hfi_buffer_iris3.h

@@ -512,8 +512,11 @@ typedef HFI_U32 HFI_BOOL;
 #define NUM_SLIST_BUF_H264 (256 + 32)
 #define SIZE_SLIST_BUF_H264 (512)
 #define SIZE_SEI_USERDATA (4096)
+#define H264_NUM_FRM_INFO (66)
+#define H264_DISPLAY_BUF_SIZE (3328)
 #define HFI_BUFFER_PERSIST_H264D(_size) \
 	_size = HFI_ALIGN((SIZE_SLIST_BUF_H264 * NUM_SLIST_BUF_H264 + \
+	H264_DISPLAY_BUF_SIZE * H264_NUM_FRM_INFO + \
 	NUM_HW_PIC_BUF * SIZE_SEI_USERDATA), VENUS_DMA_ALIGNMENT)
 
 #define LCU_MAX_SIZE_PELS 64
@@ -712,8 +715,11 @@ typedef HFI_U32 HFI_BOOL;
 #define H265_NUM_TILE_COL 32
 #define H265_NUM_TILE_ROW 128
 #define H265_NUM_TILE (H265_NUM_TILE_ROW * H265_NUM_TILE_COL + 1)
+#define H265_NUM_FRM_INFO (48)
+#define H265_DISPLAY_BUF_SIZE (3072)
 #define HFI_BUFFER_PERSIST_H265D(_size) \
 	_size = HFI_ALIGN((SIZE_SLIST_BUF_H265 * NUM_SLIST_BUF_H265 + \
+	H265_NUM_FRM_INFO * H265_DISPLAY_BUF_SIZE + \
 	H265_NUM_TILE * sizeof(HFI_U32) + NUM_HW_PIC_BUF * SIZE_SEI_USERDATA),\
 	VENUS_DMA_ALIGNMENT)
 
@@ -827,6 +833,7 @@ typedef HFI_U32 HFI_BOOL;
 #define VP9_NUM_FRAME_INFO_BUF 32
 #define VP9_NUM_PROBABILITY_TABLE_BUF (VP9_NUM_FRAME_INFO_BUF + 4)
 #define VP9_PROB_TABLE_SIZE (3840)
+#define VP9_FRAME_INFO_BUF_SIZE (6144)
 
 #define VP9_UDC_HEADER_BUF_SIZE (3 * 128)
 #define MAX_SUPERFRAME_HEADER_LEN (34)
@@ -839,7 +846,8 @@ typedef HFI_U32 HFI_BOOL;
 	VENUS_DMA_ALIGNMENT) + HFI_ALIGN(VP9_UDC_HEADER_BUF_SIZE, \
 	VENUS_DMA_ALIGNMENT) + HFI_ALIGN(VP9_NUM_FRAME_INFO_BUF * \
 	CCE_TILE_OFFSET_SIZE, VENUS_DMA_ALIGNMENT) + \
-	HDR10_HIST_EXTRADATA_SIZE
+	HFI_ALIGN(VP9_NUM_FRAME_INFO_BUF * VP9_FRAME_INFO_BUF_SIZE, \
+	VENUS_DMA_ALIGNMENT) + HDR10_HIST_EXTRADATA_SIZE
 
 #define HFI_BUFFER_LINE_MP2D(_size, frame_width, frame_height, \
 _yuv_bufcount_min, is_opb, num_vpp_pipes)           \