#include <vdpau/vdpau.h>
#include "avcodec.h"
+#include "hwaccel.h"
#include "mpeg4video.h"
#include "vdpau.h"
#include "vdpau_internal.h"
return 0;
}
-#if CONFIG_H263_VDPAU_HWACCEL
-static int vdpau_h263_init(AVCodecContext *avctx)
-{
- return ff_vdpau_common_init(avctx, VDP_DECODER_PROFILE_MPEG4_PART2_ASP,
- VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L5);
-}
-
-AVHWAccel ff_h263_vdpau_hwaccel = {
- .name = "h263_vdpau",
- .type = AVMEDIA_TYPE_VIDEO,
- .id = AV_CODEC_ID_H263,
- .pix_fmt = AV_PIX_FMT_VDPAU,
- .start_frame = vdpau_mpeg4_start_frame,
- .end_frame = ff_vdpau_mpeg_end_frame,
- .decode_slice = vdpau_mpeg4_decode_slice,
- .frame_priv_data_size = sizeof(struct vdpau_picture_context),
- .init = vdpau_h263_init,
- .uninit = ff_vdpau_common_uninit,
- .priv_data_size = sizeof(VDPAUContext),
-};
-#endif
-
-#if CONFIG_MPEG4_VDPAU_HWACCEL
static int vdpau_mpeg4_init(AVCodecContext *avctx)
{
VdpDecoderProfile profile;
return ff_vdpau_common_init(avctx, profile, avctx->level);
}
-AVHWAccel ff_mpeg4_vdpau_hwaccel = {
+const AVHWAccel ff_mpeg4_vdpau_hwaccel = {
.name = "mpeg4_vdpau",
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_MPEG4,
.frame_priv_data_size = sizeof(struct vdpau_picture_context),
.init = vdpau_mpeg4_init,
.uninit = ff_vdpau_common_uninit,
+ .frame_params = ff_vdpau_common_frame_params,
.priv_data_size = sizeof(VDPAUContext),
+ .caps_internal = HWACCEL_CAP_ASYNC_SAFE,
};
-#endif