summaryrefslogtreecommitdiff
path: root/libavutil/hwcontext_d3d11va.h
diff options
context:
space:
mode:
authorArtem Galin <artem.galin@intel.com>2021-08-20 22:48:05 +0100
committerJames Almer <jamrial@gmail.com>2021-09-08 17:48:02 -0300
commit4f78711f9c28b11dae4e4b96be46b6b4925eb8c6 (patch)
tree0436a6150b67fdb174f3155d5241e4175d7f7bdb /libavutil/hwcontext_d3d11va.h
parentf1cd1dc6ce72e1d9ba259a946b3c033223f0a4f8 (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.h9
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 */