avcodec/vaapi: mask unused bits in bitplane_present.value
authorJerome Borsboom <jerome.borsboom@carpalis.nl>
Sun, 25 Feb 2018 19:13:46 +0000 (20:13 +0100)
committerMark Thompson <sw@jkqxz.net>
Sun, 4 Mar 2018 22:17:33 +0000 (22:17 +0000)
Due to the union construct, unused bits in bitplane_present.value might
be uninitialized even when the used bits are all set to a value.
Masking the unused bits prevents spurious true values when all used
bits are unset, e.g. skipped pictures.

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
libavcodec/vaapi_vc1.c

index 97b2391..74ba783 100644 (file)
@@ -383,7 +383,7 @@ static int vaapi_vc1_start_frame(AVCodecContext *avctx, av_unused const uint8_t
     if (err)
         goto fail;
 
-    if (pic_param.bitplane_present.value) {
+    if (pic_param.bitplane_present.value & 0x7f) {
         uint8_t *bitplane;
         const uint8_t *ff_bp[3];
         int x, y, n;