mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-28 03:13:11 +08:00
[h265d_syntax]: Fix h265 syntax fill sps rps issue
Change-Id: Ifbc101a9c4755546875777978bed06a375f6cf49 Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
This commit is contained in:
@@ -56,6 +56,8 @@ static void fill_picture_parameters(const HEVCContext *h,
|
||||
const HEVCFrame *current_picture = h->ref;
|
||||
const HEVCPPS *pps = (HEVCPPS *)h->pps_list[h->sh.pps_id];
|
||||
const HEVCSPS *sps = (HEVCSPS *)h->sps_list[pps->sps_id];
|
||||
const ShortTermRPS *src_rps = sps->st_rps;
|
||||
Short_SPS_RPS_HEVC *dst_rps = pp->sps_st_rps;
|
||||
|
||||
RK_U32 i, j;
|
||||
RK_U32 rps_used[16];
|
||||
@@ -128,7 +130,7 @@ static void fill_picture_parameters(const HEVCContext *h,
|
||||
(pps->tiles_enabled_flag << 7) |
|
||||
(pps->entropy_coding_sync_enabled_flag << 8) |
|
||||
(pps->uniform_spacing_flag << 9) |
|
||||
((pps->tiles_enabled_flag ? pps->loop_filter_across_tiles_enabled_flag : 0) << 10) |
|
||||
(pps->loop_filter_across_tiles_enabled_flag << 10) |
|
||||
(pps->seq_loop_filter_across_slices_enabled_flag << 11) |
|
||||
(pps->deblocking_filter_override_enabled_flag << 12) |
|
||||
(pps->disable_dbf << 13) |
|
||||
@@ -166,15 +168,13 @@ static void fill_picture_parameters(const HEVCContext *h,
|
||||
pp->sps_lt_rps[i].used_by_curr_pic_lt_flag = sps->used_by_curr_pic_lt_sps_flag[i];
|
||||
}
|
||||
|
||||
for (i = 0; i < 64; i++) {
|
||||
const ShortTermRPS *src_rps = sps->st_rps;
|
||||
Short_SPS_RPS_HEVC *dst_rps = pp->sps_st_rps;
|
||||
RK_U32 n_pics = src_rps->num_negative_pics;
|
||||
|
||||
for (i = 0; i < 64; i++) {
|
||||
if (i < sps->nb_st_rps) {
|
||||
|
||||
RK_U32 n_pics = src_rps[i].num_negative_pics;
|
||||
dst_rps[i].num_negative_pics = n_pics;
|
||||
dst_rps[i].num_positive_pics = src_rps[i].num_delta_pocs - n_pics;
|
||||
|
||||
for (j = 0; j < dst_rps[i].num_negative_pics; j++) {
|
||||
dst_rps[i].delta_poc_s0[j] = src_rps[i].delta_poc[j];
|
||||
dst_rps[i].s0_used_flag[j] = src_rps[i].used[j];
|
||||
|
||||
Reference in New Issue
Block a user