Ubuntu Pastebin

Paste from philipl at Mon, 27 Nov 2017 04:09:44 +0000

Download as text
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
diff --git a/libavcodec/nvdec_vp8.c b/libavcodec/nvdec_vp8.c
index ceb3de2c3a..9aa57edc7e 100644
--- a/libavcodec/nvdec_vp8.c
+++ b/libavcodec/nvdec_vp8.c
@@ -37,6 +37,7 @@ static int nvdec_vp8_start_frame(AVCodecContext *avctx, const uint8_t *buffer, u
 
     NVDECContext      *ctx = avctx->internal->hwaccel_priv_data;
     CUVIDPICPARAMS     *pp = &ctx->pic_params;
+    CUVIDVP8PICPARAMS *ppc = &pp->CodecSpecific.vp8;
     FrameDecodeData *fdd;
     NVDECFrame *cf;
     AVFrame *cur_frame = h->framep[VP56_FRAME_CURRENT]->tf.f;
@@ -64,14 +65,19 @@ static int nvdec_vp8_start_frame(AVCodecContext *avctx, const uint8_t *buffer, u
             .LastRefIdx                  = safe_get_ref_idx(h->framep[VP56_FRAME_PREVIOUS]),
             .GoldenRefIdx                = safe_get_ref_idx(h->framep[VP56_FRAME_GOLDEN]),
             .AltRefIdx                   = safe_get_ref_idx(h->framep[VP56_FRAME_GOLDEN2]),
-
-            .frame_type                  = !h->keyframe,
-            .version                     = h->profile,
-            .show_frame                  = !h->invisible,
-            .update_mb_segmentation_data = h->segmentation.enabled ? h->segmentation.update_feature_data : 0,
        }
     };
 
+    /*
+     * Initialise anonymous bitfield dynamically because static initialization
+     * isn't available in the decrepid version of gcc that shipped in RHEL6,
+     * which was already ancient when they first shipped it.
+     */
+    ppc->frame_type                  = !h->keyframe;
+    ppc->version                     = h->profile;
+    ppc->show_frame                  = !h->invisible;
+    ppc->update_mb_segmentation_data = h->segmentation.enabled ?
+                                       h->segmentation.update_feature_data : 0;
     return 0;
 }
 
Download as text