]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/dxva2_h264.c
pgssubdec: reset rle_data_len/rle_remaining_len on allocation error
[ffmpeg] / libavcodec / dxva2_h264.c
index c2ff15baaba2607ddc059f5e9aa09ae7d58df2c2..84959c532dafa84980a99e35eeba3ed728682746 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "h264dec.h"
 #include "h264data.h"
+#include "h264_ps.h"
 #include "mpegutils.h"
 
 // The headers above may include w32threads.h, which uses the original
@@ -165,7 +166,6 @@ static void fill_picture_parameters(const AVCodecContext *avctx, AVDXVAContext *
 static void fill_scaling_lists(const AVCodecContext *avctx, AVDXVAContext *ctx, const H264Context *h, DXVA_Qmatrix_H264 *qm)
 {
     unsigned i, j;
-    const SPS *sps = h->ps.sps;
     const PPS *pps = h->ps.pps;
     memset(qm, 0, sizeof(*qm));
     if (DXVA_CONTEXT_WORKAROUND(avctx, ctx) & FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG) {
@@ -445,9 +445,7 @@ static int dxva2_h264_start_frame(AVCodecContext *avctx,
     AVDXVAContext *ctx = avctx->hwaccel_context;
     struct dxva2_picture_context *ctx_pic = h->cur_pic_ptr->hwaccel_picture_private;
 
-    if (DXVA_CONTEXT_DECODER(avctx, ctx) == NULL ||
-        DXVA_CONTEXT_CFG(avctx, ctx) == NULL ||
-        DXVA_CONTEXT_COUNT(avctx, ctx) <= 0)
+    if (!DXVA_CONTEXT_VALID(avctx, ctx))
         return -1;
     assert(ctx_pic);