From 23bc1351ad7db698da9348e23ee63ec7300a881d Mon Sep 17 00:00:00 2001 From: Hendrik Leppkes Date: Fri, 10 Jan 2014 20:18:08 +0100 Subject: [PATCH] vdpau: restore compatibility with deprecated fields in AVVDPAUContext Fixes ticket #3133. Signed-off-by: Hendrik Leppkes Tested-by: EricV Signed-off-by: Michael Niedermayer --- libavcodec/vdpau.c | 17 +++++++++++++++++ libavcodec/vdpau_h264.c | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/libavcodec/vdpau.c b/libavcodec/vdpau.c index 32a3843e9b..e294e490db 100644 --- a/libavcodec/vdpau.c +++ b/libavcodec/vdpau.c @@ -69,6 +69,15 @@ int ff_vdpau_mpeg_end_frame(AVCodecContext *avctx) struct vdpau_picture_context *pic_ctx = pic->hwaccel_picture_private; VdpVideoSurface surf = ff_vdpau_get_surface_id(pic); +#if FF_API_BUFS_VDPAU +FF_DISABLE_DEPRECATION_WARNINGS + hwctx->info = pic_ctx->info; + hwctx->bitstream_buffers = pic_ctx->bitstream_buffers; + hwctx->bitstream_buffers_used = pic_ctx->bitstream_buffers_used; + hwctx->bitstream_buffers_allocated = pic_ctx->bitstream_buffers_allocated; +FF_ENABLE_DEPRECATION_WARNINGS +#endif + if (!hwctx->render) { res = hwctx->render2(avctx, &pic->f, (void *)&pic_ctx->info, pic_ctx->bitstream_buffers_used, pic_ctx->bitstream_buffers); @@ -79,6 +88,14 @@ int ff_vdpau_mpeg_end_frame(AVCodecContext *avctx) ff_mpeg_draw_horiz_band(s, 0, s->avctx->height); av_freep(&pic_ctx->bitstream_buffers); +#if FF_API_BUFS_VDPAU +FF_DISABLE_DEPRECATION_WARNINGS + hwctx->bitstream_buffers = NULL; + hwctx->bitstream_buffers_used = 0; + hwctx->bitstream_buffers_allocated = 0; +FF_ENABLE_DEPRECATION_WARNINGS +#endif + return res; } #endif diff --git a/libavcodec/vdpau_h264.c b/libavcodec/vdpau_h264.c index 3f6415d4f8..ea69c147f1 100644 --- a/libavcodec/vdpau_h264.c +++ b/libavcodec/vdpau_h264.c @@ -195,6 +195,15 @@ static int vdpau_h264_end_frame(AVCodecContext *avctx) struct vdpau_picture_context *pic_ctx = pic->hwaccel_picture_private; VdpVideoSurface surf = ff_vdpau_get_surface_id(pic); +#if FF_API_BUFS_VDPAU +FF_DISABLE_DEPRECATION_WARNINGS + hwctx->info = pic_ctx->info; + hwctx->bitstream_buffers = pic_ctx->bitstream_buffers; + hwctx->bitstream_buffers_used = pic_ctx->bitstream_buffers_used; + hwctx->bitstream_buffers_allocated = pic_ctx->bitstream_buffers_allocated; +FF_ENABLE_DEPRECATION_WARNINGS +#endif + if (!hwctx->render) { res = hwctx->render2(avctx, &pic->f, (void *)&pic_ctx->info, pic_ctx->bitstream_buffers_used, pic_ctx->bitstream_buffers); @@ -205,6 +214,14 @@ static int vdpau_h264_end_frame(AVCodecContext *avctx) ff_h264_draw_horiz_band(h, 0, h->avctx->height); av_freep(&pic_ctx->bitstream_buffers); +#if FF_API_BUFS_VDPAU +FF_DISABLE_DEPRECATION_WARNINGS + hwctx->bitstream_buffers = NULL; + hwctx->bitstream_buffers_used = 0; + hwctx->bitstream_buffers_allocated = 0; +FF_ENABLE_DEPRECATION_WARNINGS +#endif + return res; }