dxva: add support for new dxva2 and d3d11 hwaccel APIs

Multimedia / FFmpeg - wm4 [googlemail.com] - 27 June 2017 12:05 EDT

This also adds support to avconv (which is trivial due to the new hwaccel API being generic enough).

The new decoder setup code in dxva2.c is significantly based on work by Steve Lhomme, but with heavy changes/rewrites.

Merges Libav commit f9e7a2f95a7194a8736cc1416a03a1a0155a3e9f. Also adds untested VP9 support. The check for DXVA2 COBJs is removed. Just update your MinGW to something newer than a 5 year old release.

70143a3 dxva: add support for new dxva2 and d3d11 hwaccel APIs
Changelog | 1 +
Makefile | 1 -
configure | 30 +-
doc/APIchanges | 6 +
ffmpeg.h | 2 +-
ffmpeg_dxva2.c | 444 -----------------------------
ffmpeg_opt.c | 10 +-
libavcodec/allcodecs.c | 6 +
libavcodec/dxva2.c | 669 +++++++++++++++++++++++++++++++++++++++++++-
libavcodec/dxva2_h264.c | 22 ++
libavcodec/dxva2_hevc.c | 22 ++
libavcodec/dxva2_internal.h | 43 ++-
libavcodec/dxva2_mpeg2.c | 22 ++
libavcodec/dxva2_vc1.c | 44 +++
libavcodec/dxva2_vp9.c | 22 ++
libavcodec/h264_slice.c | 3 +-
libavcodec/hevcdec.c | 4 +-
libavcodec/mpeg12dec.c | 1 +
libavcodec/vc1dec.c | 1 +
libavcodec/version.h | 2 +-
libavcodec/vp9.c | 3 +-
libavutil/hwcontext_dxva2.h | 3 +
22 files changed, 885 insertions(+), 476 deletions(-)

  • Share