X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fvp9.c;h=9a0bb8224df009fa89e077736bb298b578fb5dbc;hb=564dd3f0f40008be8943af59686c0e8c4d67dd08;hp=fdcb89520efda5f86c538488eaef86f39439cb47;hpb=d665d191a2ba4c5b1c2c6d598b2b0b653f474d7d;p=ffmpeg diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c index fdcb89520ef..9a0bb8224df 100644 --- a/libavcodec/vp9.c +++ b/libavcodec/vp9.c @@ -24,6 +24,7 @@ #include "avcodec.h" #include "get_bits.h" #include "internal.h" +#include "profiles.h" #include "thread.h" #include "videodsp.h" #include "vp56.h" @@ -240,7 +241,7 @@ fail: static int update_size(AVCodecContext *ctx, int w, int h) { -#define HWACCEL_MAX (CONFIG_VP9_DXVA2_HWACCEL + CONFIG_VP9_D3D11VA_HWACCEL) +#define HWACCEL_MAX (CONFIG_VP9_DXVA2_HWACCEL + CONFIG_VP9_D3D11VA_HWACCEL + CONFIG_VP9_VAAPI_HWACCEL) enum AVPixelFormat pix_fmts[HWACCEL_MAX + 2], *fmtp = pix_fmts; VP9Context *s = ctx->priv_data; uint8_t *p; @@ -260,6 +261,9 @@ static int update_size(AVCodecContext *ctx, int w, int h) #endif #if CONFIG_VP9_D3D11VA_HWACCEL *fmtp++ = AV_PIX_FMT_D3D11VA_VLD; +#endif +#if CONFIG_VP9_VAAPI_HWACCEL + *fmtp++ = AV_PIX_FMT_VAAPI; #endif } @@ -4333,14 +4337,6 @@ static int vp9_decode_update_thread_context(AVCodecContext *dst, const AVCodecCo } #endif -static const AVProfile profiles[] = { - { FF_PROFILE_VP9_0, "Profile 0" }, - { FF_PROFILE_VP9_1, "Profile 1" }, - { FF_PROFILE_VP9_2, "Profile 2" }, - { FF_PROFILE_VP9_3, "Profile 3" }, - { FF_PROFILE_UNKNOWN }, -}; - AVCodec ff_vp9_decoder = { .name = "vp9", .long_name = NULL_IF_CONFIG_SMALL("Google VP9"), @@ -4354,5 +4350,5 @@ AVCodec ff_vp9_decoder = { .flush = vp9_decode_flush, .init_thread_copy = ONLY_IF_THREADS_ENABLED(vp9_decode_init_thread_copy), .update_thread_context = ONLY_IF_THREADS_ENABLED(vp9_decode_update_thread_context), - .profiles = NULL_IF_CONFIG_SMALL(profiles), + .profiles = NULL_IF_CONFIG_SMALL(ff_vp9_profiles), };