H265: fix output frame latancy [1/1]

PD#IPTV-347

Problem:
output frame latancy when run videophonetest.

Solution:
sps_max_dec_pic_buffering_minus1_0 to
get buf num when sps_num_reorder_pics_0 is 0.
ucode gerrit id: 56487

Verify:
need verify by u212 iptv code

Change-Id: I199c45ee48ba4c535d0303347af27f9a572ed2c8
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
This commit is contained in:
shihong.zheng
2018-12-05 15:58:51 +08:00
committed by Dongjin Kim
parent b362b143b1
commit 4bdc7e4ff3
2 changed files with 10 additions and 4 deletions

View File

@@ -814,6 +814,7 @@ union param_u {
unsigned short aspect_ratio_idc;
unsigned short sar_width;
unsigned short sar_height;
unsigned short sps_max_dec_pic_buffering_minus1_0;
} p;
};
@@ -2556,8 +2557,15 @@ static int get_work_pic_num(struct hevc_state_s *hevc)
{
int used_buf_num = 0;
if (get_dynamic_buf_num_margin(hevc) > 0) {
used_buf_num = hevc->sps_num_reorder_pics_0
+ get_dynamic_buf_num_margin(hevc);
if ((!hevc->sps_num_reorder_pics_0) &&
(hevc->param.p.sps_max_dec_pic_buffering_minus1_0)) {
/* the range of sps_num_reorder_pics_0 is in
[0, sps_max_dec_pic_buffering_minus1_0] */
used_buf_num = get_dynamic_buf_num_margin(hevc) +
hevc->param.p.sps_max_dec_pic_buffering_minus1_0;
} else
used_buf_num = hevc->sps_num_reorder_pics_0
+ get_dynamic_buf_num_margin(hevc);
#ifdef MULTI_INSTANCE_SUPPORT
/*
need one more for multi instance, as
@@ -8413,8 +8421,6 @@ pic_done:
- ii];
}
}
if (hevc->param.p.sps_num_reorder_pics_0 == 0)
hevc->param.p.sps_num_reorder_pics_0 = 7;
#ifdef SEND_LMEM_WITH_RPM
dma_sync_single_for_cpu(
amports_get_dma_device(),

Binary file not shown.