diff options
author | wm4 <nfxjfg@googlemail.com> | 2014-03-20 08:53:17 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2014-03-20 17:00:39 +0100 |
commit | 1b1094a19d9e41baf3253c83841f9e5343cecbd0 (patch) | |
tree | efd0f854f2f84824f2af500452a9232a8f714f0c | |
parent | 7948a51b5c3d08e1a1173442a7ff72b220def303 (diff) | |
download | ffmpeg-1b1094a19d9e41baf3253c83841f9e5343cecbd0.tar.gz |
vdpau: switch ff_vdpau_get_surface_id from Picture to AVFrame
This gets rid of aliasing completely unrelated structs to Picture.
Fixes the remaining compilation warnings in the vdpau code.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
-rw-r--r-- | libavcodec/vdpau.c | 2 | ||||
-rw-r--r-- | libavcodec/vdpau_h264.c | 6 | ||||
-rw-r--r-- | libavcodec/vdpau_internal.h | 6 | ||||
-rw-r--r-- | libavcodec/vdpau_mpeg12.c | 4 | ||||
-rw-r--r-- | libavcodec/vdpau_mpeg4.c | 4 | ||||
-rw-r--r-- | libavcodec/vdpau_vc1.c | 4 |
6 files changed, 13 insertions, 13 deletions
diff --git a/libavcodec/vdpau.c b/libavcodec/vdpau.c index 5d83b449e8..5ad5d060b6 100644 --- a/libavcodec/vdpau.c +++ b/libavcodec/vdpau.c @@ -57,7 +57,7 @@ int ff_vdpau_mpeg_end_frame(AVCodecContext *avctx) MpegEncContext *s = avctx->priv_data; Picture *pic = s->current_picture_ptr; struct vdpau_picture_context *pic_ctx = pic->hwaccel_picture_private; - VdpVideoSurface surf = ff_vdpau_get_surface_id(pic); + VdpVideoSurface surf = ff_vdpau_get_surface_id(&pic->f); hwctx->render(hwctx->decoder, surf, (void *)&pic_ctx->info, pic_ctx->bitstream_buffers_used, pic_ctx->bitstream_buffers); diff --git a/libavcodec/vdpau_h264.c b/libavcodec/vdpau_h264.c index c71d6b8db3..7aa17efc29 100644 --- a/libavcodec/vdpau_h264.c +++ b/libavcodec/vdpau_h264.c @@ -50,7 +50,7 @@ static void vdpau_h264_clear_rf(VdpReferenceFrameH264 *rf) static void vdpau_h264_set_rf(VdpReferenceFrameH264 *rf, H264Picture *pic, int pic_structure) { - VdpVideoSurface surface = ff_vdpau_get_surface_id(pic); + VdpVideoSurface surface = ff_vdpau_get_surface_id(&pic->f); if (pic_structure == 0) pic_structure = pic->reference; @@ -87,7 +87,7 @@ static void vdpau_h264_set_reference_frames(AVCodecContext *avctx) if (!pic || !pic->reference) continue; pic_frame_idx = pic->long_ref ? pic->pic_id : pic->frame_num; - surface_ref = ff_vdpau_get_surface_id(pic); + surface_ref = ff_vdpau_get_surface_id(&pic->f); rf2 = &info->referenceFrames[0]; while (rf2 != rf) { @@ -193,7 +193,7 @@ static int vdpau_h264_end_frame(AVCodecContext *avctx) H264Context *h = avctx->priv_data; H264Picture *pic = h->cur_pic_ptr; struct vdpau_picture_context *pic_ctx = pic->hwaccel_picture_private; - VdpVideoSurface surf = ff_vdpau_get_surface_id(pic); + VdpVideoSurface surf = ff_vdpau_get_surface_id(&pic->f); hwctx->render(hwctx->decoder, surf, (void *)&pic_ctx->info, pic_ctx->bitstream_buffers_used, pic_ctx->bitstream_buffers); diff --git a/libavcodec/vdpau_internal.h b/libavcodec/vdpau_internal.h index 94c81ff78e..2443e0a911 100644 --- a/libavcodec/vdpau_internal.h +++ b/libavcodec/vdpau_internal.h @@ -31,10 +31,10 @@ #include "mpegvideo.h" #include "version.h" -/** Extract VdpVideoSurface from a Picture */ -static inline uintptr_t ff_vdpau_get_surface_id(Picture *pic) +/** Extract VdpVideoSurface from an AVFrame */ +static inline uintptr_t ff_vdpau_get_surface_id(AVFrame *pic) { - return (uintptr_t)pic->f.data[3]; + return (uintptr_t)pic->data[3]; } #if !FF_API_BUFS_VDPAU diff --git a/libavcodec/vdpau_mpeg12.c b/libavcodec/vdpau_mpeg12.c index e62901adb1..0f92cef970 100644 --- a/libavcodec/vdpau_mpeg12.c +++ b/libavcodec/vdpau_mpeg12.c @@ -43,12 +43,12 @@ static int vdpau_mpeg_start_frame(AVCodecContext *avctx, switch (s->pict_type) { case AV_PICTURE_TYPE_B: - ref = ff_vdpau_get_surface_id(&s->next_picture); + ref = ff_vdpau_get_surface_id(&s->next_picture.f); assert(ref != VDP_INVALID_HANDLE); info->backward_reference = ref; /* fall through to forward prediction */ case AV_PICTURE_TYPE_P: - ref = ff_vdpau_get_surface_id(&s->last_picture); + ref = ff_vdpau_get_surface_id(&s->last_picture.f); info->forward_reference = ref; } diff --git a/libavcodec/vdpau_mpeg4.c b/libavcodec/vdpau_mpeg4.c index f328e484ae..3c6c8b3f34 100644 --- a/libavcodec/vdpau_mpeg4.c +++ b/libavcodec/vdpau_mpeg4.c @@ -46,13 +46,13 @@ static int vdpau_mpeg4_start_frame(AVCodecContext *avctx, switch (s->pict_type) { case AV_PICTURE_TYPE_B: - ref = ff_vdpau_get_surface_id(&s->next_picture); + ref = ff_vdpau_get_surface_id(&s->next_picture.f); assert(ref != VDP_INVALID_HANDLE); info->backward_reference = ref; info->vop_coding_type = 2; /* fall-through */ case AV_PICTURE_TYPE_P: - ref = ff_vdpau_get_surface_id(&s->last_picture); + ref = ff_vdpau_get_surface_id(&s->last_picture.f); assert(ref != VDP_INVALID_HANDLE); info->forward_reference = ref; } diff --git a/libavcodec/vdpau_vc1.c b/libavcodec/vdpau_vc1.c index 01ad0aebac..392c511ac8 100644 --- a/libavcodec/vdpau_vc1.c +++ b/libavcodec/vdpau_vc1.c @@ -44,12 +44,12 @@ static int vdpau_vc1_start_frame(AVCodecContext *avctx, switch (s->pict_type) { case AV_PICTURE_TYPE_B: - ref = ff_vdpau_get_surface_id(&s->next_picture); + ref = ff_vdpau_get_surface_id(&s->next_picture.f); assert(ref != VDP_INVALID_HANDLE); info->backward_reference = ref; /* fall-through */ case AV_PICTURE_TYPE_P: - ref = ff_vdpau_get_surface_id(&s->last_picture); + ref = ff_vdpau_get_surface_id(&s->last_picture.f); assert(ref != VDP_INVALID_HANDLE); info->forward_reference = ref; } |