diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c index a6a0872c6e2..64554a4d0e4 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c @@ -191,7 +191,8 @@ static rvcn_dec_message_avc_t get_h264_msg(struct radeon_decoder *dec, || dec->h264_valid_poc_num[k] == result.field_order_cnt_list[i][1])) break; } - if ((j == ARRAY_SIZE(dec->h264_valid_ref_num)) && (k == ARRAY_SIZE(dec->h264_valid_poc_num))) { + if (pic->is_non_existing[i] || + (j == ARRAY_SIZE(dec->h264_valid_ref_num) && k == ARRAY_SIZE(dec->h264_valid_poc_num))) { result.non_existing_frame_flags |= 1 << i; result.curr_pic_ref_frame_num--; result.ref_frame_list[i] = 0xff;