gstreamer/sys/d3d11
Seungha Yang 7d1f6459a0 d3d11decoder: Refactor for more unified decoding flow
... and various code cleanup.

* Move spreaded decoding API calls into one method
Previously, decoding flow of most codecs are
- Call DecoderBeginFrame() on start_picture()
- Call {Get,Release}DecoderBuffer() on decode_slice()
- Call SubmitDecoderBuffers() and DecoderEndFrame() on end_picture()
Such spreaded API calls make it hard to keep track of status
of decoding. Now it will be done at once in a new method.

* Drop a code for non-zero wBadSliceChopping
When bitstream buffer provided by driver is not sufficient
to write compressed bitstream data, host decoder needs to make use
of wBadSliceChopping so that driver can understand there are
multiple bitstream buffer. But it's a bit unrealistic and
not tested. Since FFMpeg's DXVA implemetaion doesn't support it,
we might be able to ignore the case for now.

* Make code more portable
Consider common logic of GstCodecs -> DXVA translation for all D3D APIs
(i,e., D3D9, D3D11, and D3D12).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2525>
2021-09-17 20:03:28 +09:00
..
gstd3d11av1dec.cpp d3d11decoder: Refactor for more unified decoding flow 2021-09-17 20:03:28 +09:00
gstd3d11av1dec.h d3d11decoder: Refactor for more unified decoding flow 2021-09-17 20:03:28 +09:00
gstd3d11basefilter.cpp d3d11: Handle device change 2021-04-28 16:26:58 +09:00
gstd3d11basefilter.h d3d11: Move core methods to gst-libs 2021-01-13 15:01:20 +00:00
gstd3d11compositor.cpp d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
gstd3d11compositor.h d3d11compositor: Add scaling policy to support PAR-aware scaling 2021-06-30 06:10:29 +00:00
gstd3d11compositorbin.cpp d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
gstd3d11compositorbin.h d3d11: Move core methods to gst-libs 2021-01-13 15:01:20 +00:00
gstd3d11convert.cpp d3d11bufferpool: Hide buffer_size field from header 2021-08-22 00:46:19 +09:00
gstd3d11convert.h d3d11: Port to C++ 2021-03-14 13:05:22 +09:00
gstd3d11converter.cpp d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
gstd3d11converter.h d3d11converter: Introduce config to be extensible 2021-05-28 21:44:10 +09:00
gstd3d11decoder.cpp d3d11decoder: Refactor for more unified decoding flow 2021-09-17 20:03:28 +09:00
gstd3d11decoder.h d3d11decoder: Refactor for more unified decoding flow 2021-09-17 20:03:28 +09:00
gstd3d11deinterlace.cpp d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
gstd3d11deinterlace.h d3d11: Add support for deinterlacing by using ID3D11VideoProcessor interface 2021-02-17 03:52:19 +09:00
gstd3d11desktopdup.cpp d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
gstd3d11desktopdup.h d3d11desktopdupsrc: Add support for desktop size/rotation mode change 2021-05-20 17:05:24 +00:00
gstd3d11desktopdupsrc.cpp d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
gstd3d11desktopdupsrc.h d3d11desktopdupsrc: Add support for desktop size/rotation mode change 2021-05-20 17:05:24 +00:00
gstd3d11download.cpp d3d11bufferpool: Hide buffer_size field from header 2021-08-22 00:46:19 +09:00
gstd3d11download.h d3d11: Move to G_DECLARE_FINAL_TYPE 2020-10-04 15:44:03 +00:00
gstd3d11h264dec.cpp d3d11decoder: Refactor for more unified decoding flow 2021-09-17 20:03:28 +09:00
gstd3d11h264dec.h d3d11decoder: Refactor for more unified decoding flow 2021-09-17 20:03:28 +09:00
gstd3d11h265dec.cpp d3d11decoder: Refactor for more unified decoding flow 2021-09-17 20:03:28 +09:00
gstd3d11h265dec.h d3d11decoder: Refactor for more unified decoding flow 2021-09-17 20:03:28 +09:00
gstd3d11mpeg2dec.cpp d3d11decoder: Refactor for more unified decoding flow 2021-09-17 20:03:28 +09:00
gstd3d11mpeg2dec.h d3d11decoder: Refactor for more unified decoding flow 2021-09-17 20:03:28 +09:00
gstd3d11overlaycompositor.cpp d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
gstd3d11overlaycompositor.h d3d11: Move core methods to gst-libs 2021-01-13 15:01:20 +00:00
gstd3d11pluginutils.cpp d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
gstd3d11pluginutils.h d3d11: Implement memory pool 2021-03-24 15:44:42 +00:00
gstd3d11shader.cpp d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
gstd3d11shader.h d3d11converter: Introduce config to be extensible 2021-05-28 21:44:10 +09:00
gstd3d11upload.cpp d3d11bufferpool: Hide buffer_size field from header 2021-08-22 00:46:19 +09:00
gstd3d11upload.h d3d11: Move to G_DECLARE_FINAL_TYPE 2020-10-04 15:44:03 +00:00
gstd3d11videoprocessor.cpp d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
gstd3d11videoprocessor.h d3d11: Port to C++ 2021-03-14 13:05:22 +09:00
gstd3d11videosink.cpp d3d11bufferpool: Hide buffer_size field from header 2021-08-22 00:46:19 +09:00
gstd3d11videosink.h d3d11: Remove d3d11videosink wrapper bin 2021-04-20 02:01:30 +09:00
gstd3d11vp8dec.cpp d3d11decoder: Refactor for more unified decoding flow 2021-09-17 20:03:28 +09:00
gstd3d11vp8dec.h d3d11decoder: Refactor for more unified decoding flow 2021-09-17 20:03:28 +09:00
gstd3d11vp9dec.cpp d3d11decoder: Refactor for more unified decoding flow 2021-09-17 20:03:28 +09:00
gstd3d11vp9dec.h d3d11decoder: Refactor for more unified decoding flow 2021-09-17 20:03:28 +09:00
gstd3d11window.cpp d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
gstd3d11window.h d3d11videosink: Fix warning around GstVideoOverlay::expose() 2021-08-02 18:27:46 +09:00
gstd3d11window_corewindow.cpp d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
gstd3d11window_corewindow.h d3d11: Move core methods to gst-libs 2021-01-13 15:01:20 +00:00
gstd3d11window_dummy.cpp d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
gstd3d11window_dummy.h d3d11videosink: Add support for drawing on application's own texture 2021-01-26 18:14:37 +00:00
gstd3d11window_swapchainpanel.cpp d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
gstd3d11window_swapchainpanel.h d3d11: Move core methods to gst-libs 2021-01-13 15:01:20 +00:00
gstd3d11window_win32.cpp d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
gstd3d11window_win32.h d3d11: Move core methods to gst-libs 2021-01-13 15:01:20 +00:00
meson.build d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN 2021-09-17 00:48:45 +09:00
plugin.cpp d3d11decoder: Refactor for more unified decoding flow 2021-09-17 20:03:28 +09:00