FFmpeg/libavutil
wm4 fff90422d1 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.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-06-08 20:55:36 +02:00
..
aarch64 aarch64: Add parentheses around the offset parameter in movrel 2017-02-16 09:56:11 +02:00
arm arm: Check for the .arch directive in configure 2017-05-08 14:21:08 +03:00
avr32 cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
bfin Remove all Blackfin architecture optimizations 2014-06-02 08:41:47 -07:00
mips mips: intreadwrite: Only execute that code for mips r1 or r2 2015-09-29 11:10:37 +02:00
ppc ppc: Merge types_altivec.h into util_altivec.h 2016-12-14 14:08:43 +01:00
sh4 Replace FFmpeg with Libav in licence headers 2011-03-19 13:33:20 +00:00
tests des-test: Pass the proper types to av_des_*() functions 2017-01-24 13:25:53 +01:00
tomi intreadwrite: tomi: Add missing attributes.h #include for av_always_inline 2013-02-20 00:45:30 +01:00
x86 x86util: Port all macros to cpuflags 2017-03-14 17:23:32 +01:00
.gitignore Split global .gitignore file into per-directory files 2016-05-13 14:55:56 +02:00
adler32.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
adler32.h adler32: Fix doxy group definition 2014-04-07 01:31:02 +02:00
aes.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
aes.h lavu: Drop deprecated context size variables 2015-08-28 16:04:27 +02:00
attributes.h libavutil: Hook up the rest of the gcc specific attributes to clang as well 2017-03-22 14:25:45 +02:00
audio_fifo.c audio_fifo: Drop write-only variable 2016-10-27 12:21:46 +02:00
audio_fifo.h audio_fifo: Split into a separate doxygen module 2014-07-06 11:44:10 -07:00
avassert.h cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
avstring.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
avstring.h avutil/avstring: Inline some tiny functions 2015-10-03 13:45:37 +02:00
avutil.h lavu: Add a video section to Doxygen documentation 2016-12-07 14:26:21 -05:00
base64.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
base64.h doxy: provide a start page and document libavutil 2011-11-22 17:16:02 +01:00
blowfish.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
blowfish.h blowfish: add av_blowfish_alloc() 2015-07-31 09:04:09 +02:00
bswap.h aarch64: bswap inline assembly 2014-01-14 22:19:38 +01:00
buffer_internal.h buffer: convert to stdatomic 2016-10-02 18:58:04 +02:00
buffer.c buffer: convert to stdatomic 2016-10-02 18:58:04 +02:00
buffer.h buffer: fix av_buffer_pool_init2() documentation 2016-08-11 10:29:23 +02:00
channel_layout.c channel_layout: Add a 16channel default layout 2015-08-23 21:44:38 +02:00
channel_layout.h channel_layout: Add a 16channel default layout 2015-08-23 21:44:38 +02:00
colorspace.h colorspace: Add support for BT709 2016-05-10 11:30:25 +02:00
common.h libavutil: add av_mod_uintp2 2017-03-01 11:23:19 -05:00
cpu_internal.h x86: Add helper macros to check for slow cpuflags 2015-05-31 12:07:11 +02:00
cpu.c cpu: add a function for querying maximum required data alignment 2017-02-11 11:37:45 +01:00
cpu.h cpu: add a function for querying maximum required data alignment 2017-02-11 11:37:45 +01:00
crc.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
crc.h crc: add ANSI CRC16 LE 2014-04-17 20:08:19 +02:00
des.c tests: Move all test programs to a subdirectory 2016-05-13 14:55:56 +02:00
des.h des: Add missing include 2015-08-31 17:06:32 +02:00
dict.c dict: Change return type of av_dict_copy() 2015-10-12 13:35:01 +02:00
dict.h cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
display.c mov: Write the display matrix in order 2015-03-23 20:53:28 +00:00
display.h lavu: Add a video section to Doxygen documentation 2016-12-07 14:26:21 -05:00
downmix_info.c lavu: add AV_FRAME_DATA_DOWNMIX_INFO side data type. 2014-02-15 22:24:53 +01:00
downmix_info.h lavu: add AV_FRAME_DATA_DOWNMIX_INFO side data type. 2014-02-15 22:24:53 +01:00
error.c avutil: Add AVERROR_EXPERIMENTAL 2012-10-21 22:38:21 +02:00
error.h avresample: Introduce AVFrame-based API 2014-08-10 14:26:37 +02:00
eval.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
eval.h Fix a bunch of common typos. 2011-12-11 00:32:25 +01:00
fifo.c fifo: Return the correct AVERROR value 2017-01-26 10:25:20 +01:00
fifo.h lavu: remove disabled FF_API_AV_FIFO_PEEK cruft 2012-10-23 07:33:05 +02:00
file_open.c Share the utf8 to wchar conversion routine between lavf and lavu 2014-11-27 09:29:17 +02:00
file.c Don't anonymously typedef structs 2015-02-14 10:13:49 -08:00
file.h Don't include common.h from avutil.h 2012-08-15 22:32:06 +03:00
float_dsp.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
float_dsp.h aarch64: float_dsp NEON assembler 2014-03-18 22:56:07 +01:00
frame.c AVFrame: add an opaque_ref field 2017-02-11 11:37:45 +01:00
frame.h AVFrame: add an opaque_ref field 2017-02-11 11:37:45 +01:00
hmac.c hmac: Explicitly convert types at function pointer assignment 2017-01-09 15:18:16 +01:00
hmac.h hmac: add support for SHA-2 2015-07-29 22:09:16 +03:00
hwcontext_cuda.c hwcontext_cuda: implement frames_get_constraints 2017-02-01 10:43:00 +01:00
hwcontext_cuda.h hwcontext: add a CUDA implementation 2016-02-14 22:08:33 +01:00
hwcontext_d3d11va.c lavu: add new D3D11 pixfmt and hwcontext 2017-06-08 20:55:36 +02:00
hwcontext_d3d11va.h lavu: add new D3D11 pixfmt and hwcontext 2017-06-08 20:55:36 +02:00
hwcontext_dxva2.c avutil/hwcontext_dxva2: Don't improperly free IDirect3DSurface9 objects 2017-05-20 09:41:45 +02:00
hwcontext_dxva2.h hwcontext: add a dxva2 implementation 2016-05-17 09:11:25 +02:00
hwcontext_internal.h lavu: add new D3D11 pixfmt and hwcontext 2017-06-08 20:55:36 +02:00
hwcontext_qsv.c hwcontext_qsv: Implement mapping frames to the child device type 2017-04-30 17:33:18 +01:00
hwcontext_qsv.h hwcontext: add a QSV implementation 2016-06-21 19:53:37 +02:00
hwcontext_vaapi.c vaapi: Add ABGR map only if VA_FOURCC_ABGR is defined 2017-05-29 13:50:03 +02:00
hwcontext_vaapi.h hwcontext_vaapi: Try to support the VDPAU wrapper 2017-02-13 21:44:47 +00:00
hwcontext_vdpau.c hwcontext_vdpau: Fix missing subscripts 2016-09-14 20:48:36 +01:00
hwcontext_vdpau.h hwcontext: add a VDPAU implementation 2016-02-14 22:06:04 +01:00
hwcontext.c lavu: add new D3D11 pixfmt and hwcontext 2017-06-08 20:55:36 +02:00
hwcontext.h lavu: add new D3D11 pixfmt and hwcontext 2017-06-08 20:55:36 +02:00
imgutils_internal.h imgutils: add a function for copying image data from GPU mapped memory 2016-08-31 08:15:47 +02:00
imgutils.c imgutils: add a function for copying image data from GPU mapped memory 2016-08-31 08:15:47 +02:00
imgutils.h imgutils: Document av_image_get_buffer_size() 2017-02-10 16:25:58 -05:00
internal.h libavutil: Make LOCAL_ALIGNED(xx be equal to LOCAL_ALIGNED_xx( 2017-03-31 22:06:52 +03:00
intfloat.h intfloat: Don't use designated initializers in the public headers 2012-07-02 14:05:40 +03:00
intmath.c lavu: add av_ctz() for trailing zero bit count 2012-11-05 15:32:29 -05:00
intmath.h intmath: add faster clz support 2017-03-01 11:23:19 -05:00
intreadwrite.h Revert "libavutil: Use an intermediate variable in AV_COPY*U" 2016-08-02 21:18:18 +03:00
lfg.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
lfg.h Give all anonymously typedeffed structs in headers a name 2012-10-06 09:27:11 +02:00
libavutil.v build: Change structure of the linker version script templates 2016-05-29 16:43:11 +02:00
libm.h libm: add fallbacks for various single-precision functions 2012-10-23 12:00:21 +01:00
lls.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
lls.h libavutil: move FFALIGN macro from common.h to macros.h 2015-12-14 16:16:55 +01:00
log2_tab.c avutil: Duplicate ff_log2_tab instead of sharing it across libs 2012-10-12 20:39:17 +02:00
log.c log: Print a full backtrace along with error messages under Valgrind 2015-04-20 19:20:57 +01:00
log.h lavu: Drop deprecated av_dlog macro 2017-03-23 10:09:17 +01:00
lzo.c lzo: Handle integer overflow 2014-06-23 10:20:57 +02:00
lzo.h avutil: Move memcpy_backptr() to mem.c 2012-10-25 11:36:57 +02:00
macros.h libavutil: move FFALIGN macro from common.h to macros.h 2015-12-14 16:16:55 +01:00
Makefile lavu: add new D3D11 pixfmt and hwcontext 2017-06-08 20:55:36 +02:00
mathematics.c mathematics: Kill non-compiling disabled cruft 2016-08-17 12:16:42 +02:00
mathematics.h mathematics: Don't use division by zero in NAN/INFINITY macros 2012-07-01 19:06:13 +03:00
md5.c avutil/md5: fix misaligned reads 2017-06-02 21:00:35 -04:00
md5.h crypto: consistently use size_t as type for length parameters 2017-01-09 15:17:43 +01:00
mem.c mem: uninline av_malloc(z)_array() 2017-04-26 09:05:28 +02:00
mem.h mem: uninline av_malloc(z)_array() 2017-04-26 09:05:28 +02:00
opt.c Drop unreachable break and return statements 2016-11-03 20:17:12 +01:00
opt.h lavu: Drop deprecated option type 2017-03-23 10:09:17 +01:00
parseutils.c Mark some arrays that never change as const. 2017-02-01 10:42:59 +01:00
parseutils.h parseutils: Make av_small_strptime public 2015-04-07 12:36:11 +02:00
pixdesc.c lavu: add new D3D11 pixfmt and hwcontext 2017-06-08 20:55:36 +02:00
pixdesc.h pixdesc: Use AV_CEIL_RSHIFT in documentation 2016-01-25 12:02:20 -05:00
pixfmt.h lavu: add new D3D11 pixfmt and hwcontext 2017-06-08 20:55:36 +02:00
random_seed.c cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
random_seed.h doxy: provide a start page and document libavutil 2011-11-22 17:16:02 +01:00
rational.c Remove commented-out #includes 2013-05-15 23:01:21 +02:00
rational.h rational: add av_inv_q() returning the inverse of an AVRational 2012-08-05 17:46:41 +01:00
rc4.c rc4: add av_rc4_alloc() 2015-07-31 09:04:12 +02:00
rc4.h rc4: extend av_rc4_init() doxy 2015-07-31 09:04:12 +02:00
replaygain.h cosmetics: Drop empty comment lines 2016-02-18 15:35:30 +01:00
samplefmt.c samplefmt: avoid integer overflow in av_samples_get_buffer_size() 2014-02-04 12:32:47 -05:00
samplefmt.h cosmetics: Drop empty comment lines 2016-02-18 15:35:30 +01:00
sha.c crypto: consistently use size_t as type for length parameters 2017-01-09 15:17:43 +01:00
sha.h crypto: consistently use size_t as type for length parameters 2017-01-09 15:17:43 +01:00
spherical.c spherical: add functions to retrieve and request projection names 2017-04-27 09:59:54 -04:00
spherical.h spherical: add functions to retrieve and request projection names 2017-04-27 09:59:54 -04:00
stereo3d.c Mark some arrays that never change as const. 2017-02-01 10:42:59 +01:00
stereo3d.h lavu: Add a video section to Doxygen documentation 2016-12-07 14:26:21 -05:00
thread.h thread: Define ff_mutex_* macros as stub functions when threads are disabled 2017-04-12 10:07:09 +02:00
time_internal.h lavu: Provide fallbacks for gmtime_r and localtime_r 2014-10-26 00:14:54 +03:00
time.c lavu: Add av_gettime_relative 2014-10-24 09:53:41 +03:00
time.h lavu: Add av_gettime_relative 2014-10-24 09:53:41 +03:00
timer.h arm64: add cycle counter support 2015-12-14 16:42:35 +01:00
tree.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
tree.h lavu: Drop deprecated context size variables 2015-08-28 16:04:27 +02:00
utils.c lavu: add an API function to return the Libav version string 2015-07-02 23:22:53 +02:00
version.h lavu: add new D3D11 pixfmt and hwcontext 2017-06-08 20:55:36 +02:00
wchar_filename.h Share the utf8 to wchar conversion routine between lavf and lavu 2014-11-27 09:29:17 +02:00
xtea.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
xtea.h xtea: Add functions for little endian mode 2015-11-13 21:53:54 +02:00