diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2015-12-03 11:09:51 +0100 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2015-12-07 09:38:59 +0100 |
commit | 1e6cf7272fa8910fa44f1cf9e8b643326c2cf407 (patch) | |
tree | 8536f24a8ccb5a9c9213a50aa0f25f9c81991ede /libavcodec/vp9.c | |
parent | 585083dd1fc33b42ecd3f8095d49608c7c3dfe0d (diff) | |
download | ffmpeg-1e6cf7272fa8910fa44f1cf9e8b643326c2cf407.tar.gz |
avcodec: implement vp9 dxva2 hwaccel
Diffstat (limited to 'libavcodec/vp9.c')
-rw-r--r-- | libavcodec/vp9.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c index 2f661325a0..fdcb89520e 100644 --- a/libavcodec/vp9.c +++ b/libavcodec/vp9.c @@ -240,7 +240,7 @@ fail: static int update_size(AVCodecContext *ctx, int w, int h) { -#define HWACCEL_MAX (0) +#define HWACCEL_MAX (CONFIG_VP9_DXVA2_HWACCEL + CONFIG_VP9_D3D11VA_HWACCEL) enum AVPixelFormat pix_fmts[HWACCEL_MAX + 2], *fmtp = pix_fmts; VP9Context *s = ctx->priv_data; uint8_t *p; @@ -254,6 +254,15 @@ static int update_size(AVCodecContext *ctx, int w, int h) if ((res = ff_set_dimensions(ctx, w, h)) < 0) return res; + if (s->pix_fmt == AV_PIX_FMT_YUV420P) { +#if CONFIG_VP9_DXVA2_HWACCEL + *fmtp++ = AV_PIX_FMT_DXVA2_VLD; +#endif +#if CONFIG_VP9_D3D11VA_HWACCEL + *fmtp++ = AV_PIX_FMT_D3D11VA_VLD; +#endif + } + *fmtp++ = s->pix_fmt; *fmtp = AV_PIX_FMT_NONE; |