static int dxva2_vp9_start_frame(AVCodecContext *avctx,

                                 av_unused const uint8_t *buffer,

                                 av_unused uint32_t size)

{

    const VP9SharedContext *h = avctx->priv_data;

    AVDXVAContext *ctx = avctx->hwaccel_context;

    struct vp9_dxva2_picture_context *ctx_pic = h->frames[CUR_FRAME].hwaccel_picture_private;



    if (DXVA_CONTEXT_DECODER(avctx, ctx) == NULL ||

        DXVA_CONTEXT_CFG(avctx, ctx) == NULL ||

        DXVA_CONTEXT_COUNT(avctx, ctx) <= 0)

        return -1;

    av_assert0(ctx_pic);



    /* Fill up DXVA_PicParams_VP9 */

    if (fill_picture_parameters(avctx, ctx, h, &ctx_pic->pp) < 0)

        return -1;



    ctx_pic->bitstream_size = 0;

    ctx_pic->bitstream      = NULL;

    return 0;

}

static int dxva2_vp9_start_frame(AVCodecContext *avctx,

                                 av_unused const uint8_t *buffer,

                                 av_unused uint32_t size)

{

    const VP9SharedContext *h = avctx->priv_data;

    AVDXVAContext *ctx = avctx->hwaccel_context;

    struct vp9_dxva2_picture_context *ctx_pic = h->frames[CUR_FRAME].hwaccel_picture_private;



    if (DXVA_CONTEXT_DECODER(avctx, ctx) == NULL ||

        DXVA_CONTEXT_CFG(avctx, ctx) == NULL ||

        DXVA_CONTEXT_COUNT(avctx, ctx) <= 0)

        return -1;

    av_assert0(ctx_pic);



    

    if (fill_picture_parameters(avctx, ctx, h, &ctx_pic->pp) < 0)

        return -1;



    ctx_pic->bitstream_size = 0;

    ctx_pic->bitstream      = NULL;

    return 0;

}

static int FUNC_0(AVCodecContext *VAR_0,

                                 av_unused const VAR_1 *buffer,

                                 av_unused uint32_t size)

{

    const VP9SharedContext *VAR_2 = VAR_0->priv_data;

    AVDXVAContext *ctx = VAR_0->hwaccel_context;

    struct vp9_dxva2_picture_context *VAR_3 = VAR_2->frames[CUR_FRAME].hwaccel_picture_private;



    if (DXVA_CONTEXT_DECODER(VAR_0, ctx) == NULL ||

        DXVA_CONTEXT_CFG(VAR_0, ctx) == NULL ||

        DXVA_CONTEXT_COUNT(VAR_0, ctx) <= 0)

        return -1;

    av_assert0(VAR_3);



    

    if (fill_picture_parameters(VAR_0, ctx, VAR_2, &VAR_3->pp) < 0)

        return -1;



    VAR_3->bitstream_size = 0;

    VAR_3->bitstream      = NULL;

    return 0;

}

static int FUNC_0(AVCodecContext *VAR_0,
av_unused const VAR_1 *buffer,
av_unused uint32_t size)
{ const VP9SharedContext *VAR_2 = VAR_0->priv_data; AVDXVAContext *ctx = VAR_0->hwaccel_context; struct vp9_dxva2_picture_context *VAR_3 = VAR_2->frames[CUR_FRAME].hwaccel_picture_private; if (DXVA_CONTEXT_DECODER(VAR_0, ctx) == NULL ||
DXVA_CONTEXT_CFG(VAR_0, ctx) == NULL ||
DXVA_CONTEXT_COUNT(VAR_0, ctx) <= 0)
return -1; av_assert0(VAR_3); if (fill_picture_parameters(VAR_0, ctx, VAR_2, &VAR_3->pp) < 0)
return -1; VAR_3->bitstream_size = 0; VAR_3->bitstream      = NULL; return 0; }