From: Christian König <christian.koe...@amd.com>

Otherwise the first few frames have an incorrect reference index.

Signed-off-by: Christian König <christian.koe...@amd.com>
---
 src/gallium/drivers/radeon/radeon_uvd.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/radeon/radeon_uvd.c 
b/src/gallium/drivers/radeon/radeon_uvd.c
index f3652a6..3e00977 100644
--- a/src/gallium/drivers/radeon/radeon_uvd.c
+++ b/src/gallium/drivers/radeon/radeon_uvd.c
@@ -493,8 +493,8 @@ uint8_t     pquant
 /* extract the frame number from a referenced video buffer */
 static uint32_t get_ref_pic_idx(struct ruvd_decoder *dec, struct 
pipe_video_buffer *ref)
 {
-       uint32_t min = dec->frame_number - NUM_MPEG2_REFS;
-       uint32_t max = dec->frame_number - 1;
+       uint32_t min = MAX2(dec->frame_number, NUM_MPEG2_REFS) - NUM_MPEG2_REFS;
+       uint32_t max = MAX2(dec->frame_number, 1) - 1;
        uintptr_t frame;
 
        /* seems to be the most sane fallback */
-- 
1.7.9.5

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to