avcodec/vdpau: fix ff_vdpau_get_surface_id() argument after H264Picture

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-03-17 12:57:42 +01:00
parent 377cfc28a2
commit 2a37e560dc
6 changed files with 12 additions and 12 deletions

View File

@ -67,7 +67,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);
#if FF_API_BUFS_VDPAU
FF_DISABLE_DEPRECATION_WARNINGS

View File

@ -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) {
@ -194,7 +194,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);
#if FF_API_BUFS_VDPAU
FF_DISABLE_DEPRECATION_WARNINGS

View File

@ -37,9 +37,9 @@
#include "version.h"
/** Extract VdpVideoSurface from a Picture */
static inline uintptr_t ff_vdpau_get_surface_id(Picture *pic)
static inline uintptr_t ff_vdpau_get_surface_id(AVFrame *frm)
{
return (uintptr_t)pic->f.data[3];
return (uintptr_t)frm->data[3];
}
#if CONFIG_VDPAU

View File

@ -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;
}

View File

@ -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;
}

View File

@ -45,14 +45,14 @@ static int vdpau_vc1_start_frame(AVCodecContext *avctx,
switch (s->pict_type) {
case AV_PICTURE_TYPE_B:
if (s->next_picture_ptr) {
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:
if (s->last_picture_ptr) {
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;
}