video: driver: internal buffer size for h264d

add internal buffer size change for h264 decoder.

Change-Id: Idc5aa592ff7cd5a04c5e982becb128e626455ef2
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
This commit is contained in:
Darshana Patil
2021-01-22 13:21:26 -08:00
parent 5c1c023d36
commit 3b10d3f3d8
2 changed files with 6 additions and 10 deletions

View File

@@ -659,17 +659,12 @@ typedef HFI_U32 HFI_BOOL;
_size = HFI_ALIGN(_size_bse, VENUS_DMA_ALIGNMENT) + \ _size = HFI_ALIGN(_size_bse, VENUS_DMA_ALIGNMENT) + \
HFI_ALIGN(_size_vpp, VENUS_DMA_ALIGNMENT) + \ HFI_ALIGN(_size_vpp, VENUS_DMA_ALIGNMENT) + \
HFI_ALIGN(SIZE_HW_PIC(SIZE_H264D_HW_PIC_T), \ HFI_ALIGN(SIZE_HW_PIC(SIZE_H264D_HW_PIC_T), \
VENUS_DMA_ALIGNMENT)+ HFI_ALIGN(SIZE_H264D_QP\ VENUS_DMA_ALIGNMENT); \
(frame_width, frame_height), VENUS_DMA_ALIGNMENT); \
_size = HFI_ALIGN(_size, VENUS_DMA_ALIGNMENT); \ _size = HFI_ALIGN(_size, VENUS_DMA_ALIGNMENT); \
} while (0) } while (0)
/*
* _yuv_bufcount_min = MAX(Min YUV Buffer count,
* (HFI_PROPERTY_PARAM_VDEC_VPP_DELAY + 1))
*/
#define HFI_BUFFER_LINE_H264D(_size, frame_width, frame_height, \ #define HFI_BUFFER_LINE_H264D(_size, frame_width, frame_height, \
_yuv_bufcount_min, is_opb, num_vpp_pipes) \ is_opb, num_vpp_pipes) \
do \ do \
{ \ { \
HFI_U32 vpss_lb_size = 0; \ HFI_U32 vpss_lb_size = 0; \
@@ -690,7 +685,8 @@ typedef HFI_U32 HFI_BOOL;
frame_height), VENUS_DMA_ALIGNMENT) + \ frame_height), VENUS_DMA_ALIGNMENT) + \
HFI_ALIGN(SIZE_H264D_LB_RECON_DMA_METADATA_WR\ HFI_ALIGN(SIZE_H264D_LB_RECON_DMA_METADATA_WR\
(frame_width, frame_height), \ (frame_width, frame_height), \
VENUS_DMA_ALIGNMENT) * 2; \ VENUS_DMA_ALIGNMENT) * 2 + HFI_ALIGN(SIZE_H264D_QP\
(frame_width, frame_height), VENUS_DMA_ALIGNMENT); \
_size = HFI_ALIGN(_size, VENUS_DMA_ALIGNMENT); \ _size = HFI_ALIGN(_size, VENUS_DMA_ALIGNMENT); \
if (is_opb) \ if (is_opb) \
{ \ { \

View File

@@ -156,8 +156,8 @@ static u32 msm_vidc_decoder_line_size_iris2(struct msm_vidc_inst *inst)
out_min_count = max(vpp_delay + 1, out_min_count); out_min_count = max(vpp_delay + 1, out_min_count);
if (inst->codec == MSM_VIDC_H264) if (inst->codec == MSM_VIDC_H264)
HFI_BUFFER_LINE_H264D(size, width, height, out_min_count, HFI_BUFFER_LINE_H264D(size, width, height, is_opb,
is_opb, num_vpp_pipes); num_vpp_pipes);
else if (inst->codec == MSM_VIDC_HEVC) else if (inst->codec == MSM_VIDC_HEVC)
HFI_BUFFER_LINE_H265D(size, width, height, is_opb, HFI_BUFFER_LINE_H265D(size, width, height, is_opb,
num_vpp_pipes); num_vpp_pipes);