summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeon/radeon_vce.c
diff options
context:
space:
mode:
authorLeo Liu <leo.liu@amd.com>2014-05-27 10:12:01 -0400
committerChristian König <christian.koenig@amd.com>2014-05-27 16:56:52 +0200
commitcc6c76e8f699a2298c8fe4879a77a698098dd498 (patch)
treec1085ea5dbe1dd712ea15e51e41a9ccc4e51d6dc /src/gallium/drivers/radeon/radeon_vce.c
parent8e0eae4c3debbfd3c5c0740dfc8c7dc5a8f28b46 (diff)
downloadexternal_mesa3d-cc6c76e8f699a2298c8fe4879a77a698098dd498.zip
external_mesa3d-cc6c76e8f699a2298c8fe4879a77a698098dd498.tar.gz
external_mesa3d-cc6c76e8f699a2298c8fe4879a77a698098dd498.tar.bz2
radeon/vce: implement non-referenced frames
Signed-off-by: Leo Liu <leo.liu@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
Diffstat (limited to 'src/gallium/drivers/radeon/radeon_vce.c')
-rw-r--r--src/gallium/drivers/radeon/radeon_vce.c6
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 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,