diff options
author | Leo Liu <[email protected]> | 2014-05-27 10:12:01 -0400 |
---|---|---|
committer | Christian König <[email protected]> | 2014-05-27 16:56:52 +0200 |
commit | cc6c76e8f699a2298c8fe4879a77a698098dd498 (patch) | |
tree | c1085ea5dbe1dd712ea15e51e41a9ccc4e51d6dc /src/gallium/drivers/radeon/radeon_vce.c | |
parent | 8e0eae4c3debbfd3c5c0740dfc8c7dc5a8f28b46 (diff) |
radeon/vce: implement non-referenced frames
Signed-off-by: Leo Liu <[email protected]>
Reviewed-by: Christian König <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeon/radeon_vce.c')
-rw-r--r-- | src/gallium/drivers/radeon/radeon_vce.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeon/radeon_vce.c b/src/gallium/drivers/radeon/radeon_vce.c index 222f32e1ba0..81e62d365d3 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, |