fourcc: add a D3D11 opaque that combines an opaque texture and an alpha one

This commit is contained in:
Steve Lhomme 2023-04-03 11:31:04 +02:00
parent 3a85b272bc
commit 1429659a3e
4 changed files with 9 additions and 1 deletions

View File

@ -469,6 +469,7 @@
#define VLC_CODEC_D3D11_OPAQUE_10B VLC_FOURCC('D','X','1','0') /* 4:2:0 10 bpc */
#define VLC_CODEC_D3D11_OPAQUE_RGBA VLC_FOURCC('D','X','R','G')
#define VLC_CODEC_D3D11_OPAQUE_BGRA VLC_FOURCC('D','A','G','R')
#define VLC_CODEC_D3D11_OPAQUE_ALPHA VLC_FOURCC('D','A','1','1') /* 4:2:0 8 bpc with extra alpha plane */
/* NVDEC opaque video format for use the NVDec API */
#define VLC_CODEC_NVDEC_OPAQUE VLC_FOURCC('N','V','D','8') /* 4:2:0 8 bpc */

View File

@ -112,7 +112,8 @@ static inline bool is_d3d11_opaque(vlc_fourcc_t chroma)
return chroma == VLC_CODEC_D3D11_OPAQUE ||
chroma == VLC_CODEC_D3D11_OPAQUE_10B ||
chroma == VLC_CODEC_D3D11_OPAQUE_RGBA ||
chroma == VLC_CODEC_D3D11_OPAQUE_BGRA;
chroma == VLC_CODEC_D3D11_OPAQUE_BGRA ||
chroma == VLC_CODEC_D3D11_OPAQUE_ALPHA;
}
extern const struct vlc_video_context_operations d3d11_vctx_ops;

View File

@ -818,6 +818,9 @@ static const vlc_chroma_description_t p_list_chroma_description[] = {
{ VLC_CODEC_D3D11_OPAQUE_RGBA, FAKE_FMT() },
{ VLC_CODEC_D3D11_OPAQUE_BGRA, FAKE_FMT() },
{ { VLC_CODEC_D3D11_OPAQUE_ALPHA },
FAKE_FMT() },
{ VLC_CODEC_NVDEC_OPAQUE_16B, FAKE_FMT() },
{ VLC_CODEC_NVDEC_OPAQUE_10B, FAKE_FMT() },
{ VLC_CODEC_NVDEC_OPAQUE, FAKE_FMT() },

View File

@ -1262,6 +1262,9 @@ static const staticentry_t p_list_video[] = {
B(VLC_CODEC_D3D11_OPAQUE_BGRA, "BGRA D3D11 opaque"),
A("DAGR"),
B(VLC_CODEC_D3D11_OPAQUE_ALPHA, "4:2:0 D3D11 opaque with alpha"),
A("DA11"),
B(VLC_CODEC_NVDEC_OPAQUE, "4:2:0 NVDEC opaque"),
A("NVD8"),