|
@@ -371,7 +371,7 @@ typedef HFI_U32 HFI_BOOL;
|
|
{ \
|
|
{ \
|
|
HFI_U32 _height = HFI_ALIGN(frame_height, \
|
|
HFI_U32 _height = HFI_ALIGN(frame_height, \
|
|
BUFFER_ALIGNMENT_32_BYTES); \
|
|
BUFFER_ALIGNMENT_32_BYTES); \
|
|
- _size = MIN((((_height + 15) >> 4) * 3 * 4), H264D_MAX_SLICE) *\
|
|
|
|
|
|
+ _size = MIN((((_height + 15) >> 4) * 48), H264D_MAX_SLICE) *\
|
|
SIZE_H264D_BSE_CMD_PER_BUF; \
|
|
SIZE_H264D_BSE_CMD_PER_BUF; \
|
|
} while (0)
|
|
} while (0)
|
|
|
|
|
|
@@ -380,7 +380,7 @@ typedef HFI_U32 HFI_BOOL;
|
|
{ \
|
|
{ \
|
|
HFI_U32 _height = HFI_ALIGN(frame_height, \
|
|
HFI_U32 _height = HFI_ALIGN(frame_height, \
|
|
BUFFER_ALIGNMENT_32_BYTES); \
|
|
BUFFER_ALIGNMENT_32_BYTES); \
|
|
- _size = MIN((((_height + 15) >> 4) * 3 * 4), H264D_MAX_SLICE) * \
|
|
|
|
|
|
+ _size = MIN((((_height + 15) >> 4) * 48), H264D_MAX_SLICE) * \
|
|
SIZE_H264D_VPP_CMD_PER_BUF; \
|
|
SIZE_H264D_VPP_CMD_PER_BUF; \
|
|
if (_size > VPP_CMD_MAX_SIZE) { _size = VPP_CMD_MAX_SIZE; } \
|
|
if (_size > VPP_CMD_MAX_SIZE) { _size = VPP_CMD_MAX_SIZE; } \
|
|
} while (0)
|
|
} while (0)
|
|
@@ -512,9 +512,15 @@ typedef HFI_U32 HFI_BOOL;
|
|
#define NUM_SLIST_BUF_H264 (256 + 32)
|
|
#define NUM_SLIST_BUF_H264 (256 + 32)
|
|
#define SIZE_SLIST_BUF_H264 (512)
|
|
#define SIZE_SLIST_BUF_H264 (512)
|
|
#define SIZE_SEI_USERDATA (4096)
|
|
#define SIZE_SEI_USERDATA (4096)
|
|
-#define HFI_BUFFER_PERSIST_H264D(_size) \
|
|
|
|
- _size = HFI_ALIGN((SIZE_SLIST_BUF_H264 * NUM_SLIST_BUF_H264 + \
|
|
|
|
- NUM_HW_PIC_BUF * SIZE_SEI_USERDATA), VENUS_DMA_ALIGNMENT)
|
|
|
|
|
|
+#define H264_NUM_FRM_INFO (66)
|
|
|
|
+#define H264_DISPLAY_BUF_SIZE (3328)
|
|
|
|
+#define SIZE_DOLBY_RPU_METADATA (41 * 1024)
|
|
|
|
+#define HFI_BUFFER_PERSIST_H264D(_size, rpu_enabled) \
|
|
|
|
+ (_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 + \
|
|
|
|
+ (rpu_enabled) * NUM_HW_PIC_BUF * SIZE_DOLBY_RPU_METADATA), \
|
|
|
|
+ VENUS_DMA_ALIGNMENT))
|
|
|
|
|
|
#define LCU_MAX_SIZE_PELS 64
|
|
#define LCU_MAX_SIZE_PELS 64
|
|
#define LCU_MIN_SIZE_PELS 16
|
|
#define LCU_MIN_SIZE_PELS 16
|
|
@@ -712,10 +718,14 @@ typedef HFI_U32 HFI_BOOL;
|
|
#define H265_NUM_TILE_COL 32
|
|
#define H265_NUM_TILE_COL 32
|
|
#define H265_NUM_TILE_ROW 128
|
|
#define H265_NUM_TILE_ROW 128
|
|
#define H265_NUM_TILE (H265_NUM_TILE_ROW * H265_NUM_TILE_COL + 1)
|
|
#define H265_NUM_TILE (H265_NUM_TILE_ROW * H265_NUM_TILE_COL + 1)
|
|
-#define HFI_BUFFER_PERSIST_H265D(_size) \
|
|
|
|
- _size = HFI_ALIGN((SIZE_SLIST_BUF_H265 * NUM_SLIST_BUF_H265 + \
|
|
|
|
- H265_NUM_TILE * sizeof(HFI_U32) + NUM_HW_PIC_BUF * SIZE_SEI_USERDATA),\
|
|
|
|
- VENUS_DMA_ALIGNMENT)
|
|
|
|
|
|
+#define H265_NUM_FRM_INFO (48)
|
|
|
|
+#define H265_DISPLAY_BUF_SIZE (3072)
|
|
|
|
+#define HFI_BUFFER_PERSIST_H265D(_size, rpu_enabled) \
|
|
|
|
+ (_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 + \
|
|
|
|
+ (rpu_enabled) * NUM_HW_PIC_BUF * SIZE_DOLBY_RPU_METADATA),\
|
|
|
|
+ VENUS_DMA_ALIGNMENT))
|
|
|
|
|
|
#define SIZE_VPXD_LB_FE_LEFT_CTRL(frame_width, frame_height) \
|
|
#define SIZE_VPXD_LB_FE_LEFT_CTRL(frame_width, frame_height) \
|
|
MAX(((frame_height + 15) >> 4) * \
|
|
MAX(((frame_height + 15) >> 4) * \
|
|
@@ -827,6 +837,7 @@ typedef HFI_U32 HFI_BOOL;
|
|
#define VP9_NUM_FRAME_INFO_BUF 32
|
|
#define VP9_NUM_FRAME_INFO_BUF 32
|
|
#define VP9_NUM_PROBABILITY_TABLE_BUF (VP9_NUM_FRAME_INFO_BUF + 4)
|
|
#define VP9_NUM_PROBABILITY_TABLE_BUF (VP9_NUM_FRAME_INFO_BUF + 4)
|
|
#define VP9_PROB_TABLE_SIZE (3840)
|
|
#define VP9_PROB_TABLE_SIZE (3840)
|
|
|
|
+#define VP9_FRAME_INFO_BUF_SIZE (6144)
|
|
|
|
|
|
#define VP9_UDC_HEADER_BUF_SIZE (3 * 128)
|
|
#define VP9_UDC_HEADER_BUF_SIZE (3 * 128)
|
|
#define MAX_SUPERFRAME_HEADER_LEN (34)
|
|
#define MAX_SUPERFRAME_HEADER_LEN (34)
|
|
@@ -839,7 +850,8 @@ typedef HFI_U32 HFI_BOOL;
|
|
VENUS_DMA_ALIGNMENT) + HFI_ALIGN(VP9_UDC_HEADER_BUF_SIZE, \
|
|
VENUS_DMA_ALIGNMENT) + HFI_ALIGN(VP9_UDC_HEADER_BUF_SIZE, \
|
|
VENUS_DMA_ALIGNMENT) + HFI_ALIGN(VP9_NUM_FRAME_INFO_BUF * \
|
|
VENUS_DMA_ALIGNMENT) + HFI_ALIGN(VP9_NUM_FRAME_INFO_BUF * \
|
|
CCE_TILE_OFFSET_SIZE, VENUS_DMA_ALIGNMENT) + \
|
|
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, \
|
|
#define HFI_BUFFER_LINE_MP2D(_size, frame_width, frame_height, \
|
|
_yuv_bufcount_min, is_opb, num_vpp_pipes) \
|
|
_yuv_bufcount_min, is_opb, num_vpp_pipes) \
|