diff options
author | Artem Galin <artem.galin@intel.com> | 2021-08-20 22:48:05 +0100 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2021-09-08 17:48:02 -0300 |
commit | 4f78711f9c28b11dae4e4b96be46b6b4925eb8c6 (patch) | |
tree | 0436a6150b67fdb174f3155d5241e4175d7f7bdb /libavutil/hwcontext_d3d11va.h | |
parent | f1cd1dc6ce72e1d9ba259a946b3c033223f0a4f8 (diff) |
libavutil/hwcontext_d3d11va: adding more texture information to the D3D11 hwcontext API
Microsoft VideoProcessor requires texture with D3DUSAGE_RENDERTARGET flag as output.
There is no way to allocate array of textures with D3D11_BIND_RENDER_TARGET flag
and .ArraySize > 2 by ID3D11Device_CreateTexture2D due to the Microsoft limitation.
Adding AVD3D11FrameDescriptors array to store array of single textures
instead of texture with multiple slices resolves this.
Signed-off-by: Artem Galin <artem.galin@intel.com>
Diffstat (limited to 'libavutil/hwcontext_d3d11va.h')
-rw-r--r-- | libavutil/hwcontext_d3d11va.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libavutil/hwcontext_d3d11va.h b/libavutil/hwcontext_d3d11va.h index 9f91e9b1b6..77d2d72f1b 100644 --- a/libavutil/hwcontext_d3d11va.h +++ b/libavutil/hwcontext_d3d11va.h @@ -164,6 +164,15 @@ typedef struct AVD3D11VAFramesContext { * This field is ignored/invalid if a user-allocated texture is provided. */ UINT MiscFlags; + + /** + * In case if texture structure member above is not NULL contains the same texture + * pointer for all elements and different indexes into the array texture. + * In case if texture structure member above is NULL, all elements contains + * pointers to separate non-array textures and 0 indexes. + * This field is ignored/invalid if a user-allocated texture is provided. + */ + AVD3D11FrameDescriptor *texture_infos; } AVD3D11VAFramesContext; #endif /* AVUTIL_HWCONTEXT_D3D11VA_H */ |