Signed-off-by: Leo Liu <leo....@amd.com> --- src/gallium/drivers/radeon/radeon_vce.c | 6 ++++-- src/gallium/drivers/radeon/radeon_vce_40_2_2.c | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/radeon/radeon_vce.c b/src/gallium/drivers/radeon/radeon_vce.c index 222f32e..81e62d3 100644 --- a/src/gallium/drivers/radeon/radeon_vce.c +++ b/src/gallium/drivers/radeon/radeon_vce.c @@ -231,11 +231,13 @@ static void rvce_end_frame(struct pipe_video_codec *encoder, flush(enc); /* update the CPB backtrack with the just encoded frame */ - LIST_DEL(&slot->list); slot->picture_type = enc->pic.picture_type; slot->frame_num = enc->pic.frame_num; slot->pic_order_cnt = enc->pic.pic_order_cnt; - LIST_ADD(&slot->list, &enc->cpb_slots); + if (!enc->pic.not_referenced) { + LIST_DEL(&slot->list); + LIST_ADD(&slot->list, &enc->cpb_slots); + } } static void rvce_get_feedback(struct pipe_video_codec *encoder, diff --git a/src/gallium/drivers/radeon/radeon_vce_40_2_2.c b/src/gallium/drivers/radeon/radeon_vce_40_2_2.c index 3b67b31..3010c5b 100644 --- a/src/gallium/drivers/radeon/radeon_vce_40_2_2.c +++ b/src/gallium/drivers/radeon/radeon_vce_40_2_2.c @@ -283,7 +283,7 @@ static void encode(struct rvce_encoder *enc) RVCE_CS(enc->pic.picture_type == PIPE_H264_ENC_PICTURE_TYPE_IDR); // encIdrFlag RVCE_CS(0x00000000); // encIdrPicId RVCE_CS(0x00000000); // encMGSKeyPic - RVCE_CS(0x00000001); // encReferenceFlag + RVCE_CS(!enc->pic.not_referenced); // encReferenceFlag RVCE_CS(0x00000000); // encTemporalLayerIndex RVCE_CS(0x00000000); // num_ref_idx_active_override_flag RVCE_CS(0x00000000); // num_ref_idx_l0_active_minus1 -- 1.9.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev