lavu: add new D3D11 pixfmt and hwcontext
authorwm4 <nfxjfg@googlemail.com>
Tue, 6 Jun 2017 16:51:07 +0000 (18:51 +0200)
committerwm4 <nfxjfg@googlemail.com>
Tue, 27 Jun 2017 16:05:02 +0000 (18:05 +0200)
commit3303511f33dcc1b708fc18072cd93bca62196676
treedac5552e874abc4bb737da03e3731efbf2579f97
parent4d62ee674699645c7b7105213e7d339665144069
lavu: add new D3D11 pixfmt and hwcontext

To be used with the new d3d11 hwaccel decode API.

With the new hwaccel API, we don't want surfaces to depend on the
decoder (other than the required dimension and format). The old D3D11VA
pixfmt uses ID3D11VideoDecoderOutputView pointers, which include the
decoder configuration, and thus is incompatible with the new hwaccel
API. This patch introduces AV_PIX_FMT_D3D11, which uses ID3D11Texture2D
and an index. It's simpler and compatible with the new hwaccel API.

The introduced hwcontext supports only the new pixfmt.

Frame upload code untested.

Significantly based on work by Steve Lhomme <robux4@gmail.com>, but with
heavy changes/rewrites.

Merges Libav commit fff90422d181744cd75dbf011687ee7095f02875.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
doc/APIchanges
libavutil/Makefile
libavutil/hwcontext.c
libavutil/hwcontext.h
libavutil/hwcontext_d3d11va.c [new file with mode: 0644]
libavutil/hwcontext_d3d11va.h [new file with mode: 0644]
libavutil/hwcontext_internal.h
libavutil/pixdesc.c
libavutil/pixfmt.h
libavutil/version.h