From 8b6136d3d18f44b4913803f8400d5d99b1e5b873 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 20 Mar 2014 08:53:18 +0100 Subject: [PATCH] vaapi: switch ff_vaapi_get_surface_id from Picture to AVFrame Signed-off-by: Anton Khirnov --- libavcodec/vaapi.c | 2 +- libavcodec/vaapi_h264.c | 6 +++--- libavcodec/vaapi_internal.h | 6 +++--- libavcodec/vaapi_mpeg2.c | 4 ++-- libavcodec/vaapi_mpeg4.c | 4 ++-- libavcodec/vaapi_vc1.c | 4 ++-- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/libavcodec/vaapi.c b/libavcodec/vaapi.c index 0532daf983..6183d0b1f0 100644 --- a/libavcodec/vaapi.c +++ b/libavcodec/vaapi.c @@ -205,7 +205,7 @@ int ff_vaapi_mpeg_end_frame(AVCodecContext *avctx) goto finish; ret = ff_vaapi_render_picture(vactx, - ff_vaapi_get_surface_id(s->current_picture_ptr)); + ff_vaapi_get_surface_id(&s->current_picture_ptr->f)); if (ret < 0) goto finish; diff --git a/libavcodec/vaapi_h264.c b/libavcodec/vaapi_h264.c index a1a0e070e2..f2a912cf27 100644 --- a/libavcodec/vaapi_h264.c +++ b/libavcodec/vaapi_h264.c @@ -59,7 +59,7 @@ static void fill_vaapi_pic(VAPictureH264 *va_pic, pic_structure = pic->reference; pic_structure &= PICT_FRAME; /* PICT_TOP_FIELD|PICT_BOTTOM_FIELD */ - va_pic->picture_id = ff_vaapi_get_surface_id(pic); + va_pic->picture_id = ff_vaapi_get_surface_id(&pic->f); va_pic->frame_idx = pic->long_ref ? pic->pic_id : pic->frame_num; va_pic->flags = 0; @@ -99,7 +99,7 @@ static int dpb_add(DPB *dpb, H264Picture *pic) for (i = 0; i < dpb->size; i++) { VAPictureH264 * const va_pic = &dpb->va_pics[i]; - if (va_pic->picture_id == ff_vaapi_get_surface_id(pic)) { + if (va_pic->picture_id == ff_vaapi_get_surface_id(&pic->f)) { VAPictureH264 temp_va_pic; fill_vaapi_pic(&temp_va_pic, pic, 0); @@ -298,7 +298,7 @@ static int vaapi_h264_end_frame(AVCodecContext *avctx) if (ret < 0) goto finish; - ret = ff_vaapi_render_picture(vactx, ff_vaapi_get_surface_id(h->cur_pic_ptr)); + ret = ff_vaapi_render_picture(vactx, ff_vaapi_get_surface_id(&h->cur_pic_ptr->f)); if (ret < 0) goto finish; diff --git a/libavcodec/vaapi_internal.h b/libavcodec/vaapi_internal.h index 029265496b..d0fa7ae917 100644 --- a/libavcodec/vaapi_internal.h +++ b/libavcodec/vaapi_internal.h @@ -35,10 +35,10 @@ * @{ */ -/** Extract VASurfaceID from a Picture */ -static inline VASurfaceID ff_vaapi_get_surface_id(Picture *pic) +/** Extract VASurfaceID from an AVFrame */ +static inline VASurfaceID ff_vaapi_get_surface_id(AVFrame *pic) { - return (uintptr_t)pic->f.data[3]; + return (uintptr_t)pic->data[3]; } /** Common AVHWAccel.end_frame() implementation */ diff --git a/libavcodec/vaapi_mpeg2.c b/libavcodec/vaapi_mpeg2.c index d873cd04e8..e0f9193144 100644 --- a/libavcodec/vaapi_mpeg2.c +++ b/libavcodec/vaapi_mpeg2.c @@ -73,10 +73,10 @@ static int vaapi_mpeg2_start_frame(AVCodecContext *avctx, av_unused const uint8_ switch (s->pict_type) { case AV_PICTURE_TYPE_B: - pic_param->backward_reference_picture = ff_vaapi_get_surface_id(&s->next_picture); + pic_param->backward_reference_picture = ff_vaapi_get_surface_id(&s->next_picture.f); // fall-through case AV_PICTURE_TYPE_P: - pic_param->forward_reference_picture = ff_vaapi_get_surface_id(&s->last_picture); + pic_param->forward_reference_picture = ff_vaapi_get_surface_id(&s->last_picture.f); break; } diff --git a/libavcodec/vaapi_mpeg4.c b/libavcodec/vaapi_mpeg4.c index b771482b56..098b37a8ad 100644 --- a/libavcodec/vaapi_mpeg4.c +++ b/libavcodec/vaapi_mpeg4.c @@ -95,9 +95,9 @@ static int vaapi_mpeg4_start_frame(AVCodecContext *avctx, av_unused const uint8_ pic_param->TRD = s->pp_time; if (s->pict_type == AV_PICTURE_TYPE_B) - pic_param->backward_reference_picture = ff_vaapi_get_surface_id(&s->next_picture); + pic_param->backward_reference_picture = ff_vaapi_get_surface_id(&s->next_picture.f); if (s->pict_type != AV_PICTURE_TYPE_I) - pic_param->forward_reference_picture = ff_vaapi_get_surface_id(&s->last_picture); + pic_param->forward_reference_picture = ff_vaapi_get_surface_id(&s->last_picture.f); /* Fill in VAIQMatrixBufferMPEG4 */ /* Only the first inverse quantisation method uses the weighting matrices */ diff --git a/libavcodec/vaapi_vc1.c b/libavcodec/vaapi_vc1.c index 50cba16c21..f50c5cf3cc 100644 --- a/libavcodec/vaapi_vc1.c +++ b/libavcodec/vaapi_vc1.c @@ -258,10 +258,10 @@ static int vaapi_vc1_start_frame(AVCodecContext *avctx, av_unused const uint8_t switch (s->pict_type) { case AV_PICTURE_TYPE_B: - pic_param->backward_reference_picture = ff_vaapi_get_surface_id(&s->next_picture); + pic_param->backward_reference_picture = ff_vaapi_get_surface_id(&s->next_picture.f); // fall-through case AV_PICTURE_TYPE_P: - pic_param->forward_reference_picture = ff_vaapi_get_surface_id(&s->last_picture); + pic_param->forward_reference_picture = ff_vaapi_get_surface_id(&s->last_picture.f); break; }