aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilip Langdale <philipl@overt.org>2017-11-16 07:31:58 -0800
committerPhilip Langdale <philipl@overt.org>2017-11-18 08:05:21 -0800
commit5a0f6b099f3e8fcb95a80e3ffe52b3bf369efe24 (patch)
treeb41845cff17103ec551bcec2a840ba66c4d0cb47
parentfb791d28766bdacbb685a77c381101afc98ed58b (diff)
downloadffmpeg-5a0f6b099f3e8fcb95a80e3ffe52b3bf369efe24.tar.gz
avcodec: Fix reference data type for nvdec vc1 hwaccel
I took the reference lookup code from the vp9 hwaccel where the type is unsigned char, but for vc1, the type is signed int. This is particularly important because the value used when there's no reference is different (255 vs -1). It didn't seem to break anything, but for mpeg1/2/4, this mistake caused decode errors.
-rw-r--r--libavcodec/nvdec_vc1.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/nvdec_vc1.c b/libavcodec/nvdec_vc1.c
index cf75ba5aca..588a5b9d07 100644
--- a/libavcodec/nvdec_vc1.c
+++ b/libavcodec/nvdec_vc1.c
@@ -25,13 +25,13 @@
#include "decode.h"
#include "vc1.h"
-static unsigned char get_ref_idx(AVFrame *frame)
+static int get_ref_idx(AVFrame *frame)
{
FrameDecodeData *fdd;
NVDECFrame *cf;
if (!frame || !frame->private_ref)
- return 255;
+ return -1;
fdd = (FrameDecodeData*)frame->private_ref->data;
cf = (NVDECFrame*)fdd->hwaccel_priv;