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 <quic_smahesh@quicinc.com>
This commit is contained in:
Mahesh Kumar Sharma
2022-02-25 11:42:56 -08:00
zatwierdzone przez Gerrit - the friendly Code Review server
rodzic 475418eabf
commit e3f2139586

Wyświetl plik

@@ -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) \