mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-08 16:35:40 +00:00
d3d11: Add support for more packed formats using compute shader
Adding below listed formats support, and reorders supported format list based on preference <YUV 4:2:2> UYVY, VYUY, YVYU, v210, v216 <YUV 4:4:4> v308, IYU2 <RGB 16bits per pixel> RGB16, RGB15, BGR16, BGR15 <RGB 8bits per channel> ARGB, xRGB, ABGR, xBGR, RGB, BGR <RGB 10bits per channel> r210, BGR10A2 <RGB 16bits per channel> BGRA64 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5717>
This commit is contained in:
parent
f23d4475b3
commit
461c4bc32c
12 changed files with 1801 additions and 53 deletions
|
@ -8924,12 +8924,12 @@
|
|||
"klass": "Filter/Converter/Video/Hardware",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
"src": {
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
|
@ -9004,7 +9004,7 @@
|
|||
"klass": "Filter/Editor/Video/Compositor",
|
||||
"pad-templates": {
|
||||
"sink_%%u": {
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "sink",
|
||||
"presence": "request",
|
||||
"type": "GstD3D11CompositorPad"
|
||||
|
@ -9077,12 +9077,12 @@
|
|||
"klass": "Filter/Converter/Scaler/Effect/Video/Hardware",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
"src": {
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
|
@ -9290,12 +9290,12 @@
|
|||
"klass": "Filter/Effect/Video/Deinterlace/Hardware",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\nvideo/x-raw:\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n",
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\nvideo/x-raw:\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
"src": {
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\nvideo/x-raw:\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n",
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\nvideo/x-raw:\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
|
@ -9491,12 +9491,12 @@
|
|||
"klass": "Filter/Video",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
"src": {
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
|
@ -9934,12 +9934,12 @@
|
|||
"klass": "Filter/Converter/Video/Scaler/Hardware",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
"src": {
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
|
@ -10171,7 +10171,7 @@
|
|||
"klass": "Source/Video",
|
||||
"pad-templates": {
|
||||
"src": {
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
|
@ -10259,12 +10259,12 @@
|
|||
"klass": "Filter/Video",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw:\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"caps": "video/x-raw:\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
"src": {
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
|
@ -10290,7 +10290,7 @@
|
|||
"klass": "Sink/Video",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, Y210, Y212_LE, Y412_LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"caps": "video/x-raw(memory:D3D11Memory):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }\n width: [ 1, 16384 ]\n height: [ 1, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
}
|
||||
|
|
|
@ -29,13 +29,41 @@
|
|||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
/*
|
||||
* Preferred sorting order in a tier
|
||||
* - number of components
|
||||
* - depth
|
||||
* - subsampling
|
||||
* - supports both SRV and RTV
|
||||
* - prefer smaller number of planes
|
||||
* - prefer non-complex formats
|
||||
* - prefer YUV formats over RGB ones
|
||||
* - prefer I420 over YV12
|
||||
* - format name
|
||||
*/
|
||||
|
||||
/* DXGI (semi) native formats */
|
||||
#define GST_D3D11_TIER_0_FORMATS \
|
||||
"RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, " \
|
||||
"Y210, VUYA, RGBA, BGRA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, " \
|
||||
"NV12"
|
||||
|
||||
/* both SRV and RTV are supported */
|
||||
#define GST_D3D11_TIER_1_FORMATS \
|
||||
"AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, " \
|
||||
"GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, " \
|
||||
"I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, " \
|
||||
"I420, YV12, GRAY16_LE, GRAY8"
|
||||
|
||||
/* pre/post processing required formats */
|
||||
#define GST_D3D11_TIER_LAST_FORMATS \
|
||||
"v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, " \
|
||||
"RGB15, BGR15"
|
||||
|
||||
#define GST_D3D11_COMMON_FORMATS \
|
||||
"RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, " \
|
||||
"P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, " \
|
||||
"Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, YUY2, Y410, " \
|
||||
"Y210, Y212_LE, Y412_LE, " \
|
||||
"GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, " \
|
||||
"GBR_16LE, GBRA, GBRA_10LE, GBRA_12LE"
|
||||
GST_D3D11_TIER_0_FORMATS ", " \
|
||||
GST_D3D11_TIER_1_FORMATS ", " \
|
||||
GST_D3D11_TIER_LAST_FORMATS
|
||||
|
||||
#define GST_D3D11_SINK_FORMATS \
|
||||
"{ " GST_D3D11_COMMON_FORMATS " }"
|
||||
|
@ -78,8 +106,8 @@ void gst_d3d11_device_log_live_objects (GstD3D11Device * device,
|
|||
{ DXGI_FORMAT_ ##r0, DXGI_FORMAT_ ##r1, DXGI_FORMAT_ ##r2, DXGI_FORMAT_ ##r3 }, \
|
||||
(D3D11_FORMAT_SUPPORT) (D3D11_FORMAT_SUPPORT_RENDER_TARGET | D3D11_FORMAT_SUPPORT_SHADER_SAMPLE) }
|
||||
|
||||
#define MAKE_FORMAT_MAP_YUV_FULL(g,d,r0,r1,r2,r3,f) \
|
||||
{ GST_VIDEO_FORMAT_ ##g, DXGI_FORMAT_ ##d, \
|
||||
#define MAKE_FORMAT_MAP_FULL(g,d,r0,r1,r2,r3,f) \
|
||||
{ g, DXGI_FORMAT_ ##d, \
|
||||
{ DXGI_FORMAT_ ##r0, DXGI_FORMAT_ ##r1, DXGI_FORMAT_ ##r2, DXGI_FORMAT_ ##r3 }, \
|
||||
{ DXGI_FORMAT_ ##r0, DXGI_FORMAT_ ##r1, DXGI_FORMAT_ ##r2, DXGI_FORMAT_ ##r3 }, \
|
||||
(D3D11_FORMAT_SUPPORT) (f) }
|
||||
|
@ -101,6 +129,10 @@ static const GstD3D11Format _gst_d3d11_default_format_map[] = {
|
|||
MAKE_FORMAT_MAP_RGB (RGBA, R8G8B8A8_UNORM),
|
||||
MAKE_FORMAT_MAP_RGB (BGRx, B8G8R8A8_UNORM),
|
||||
MAKE_FORMAT_MAP_RGB (RGBx, R8G8B8A8_UNORM),
|
||||
MAKE_FORMAT_MAP_RGB (ARGB, R8G8B8A8_UNORM),
|
||||
MAKE_FORMAT_MAP_RGB (xRGB, R8G8B8A8_UNORM),
|
||||
MAKE_FORMAT_MAP_RGB (ABGR, R8G8B8A8_UNORM),
|
||||
MAKE_FORMAT_MAP_RGB (xBGR, R8G8B8A8_UNORM),
|
||||
MAKE_FORMAT_MAP_RGB (RGB10A2_LE, R10G10B10A2_UNORM),
|
||||
MAKE_FORMAT_MAP_RGB (RGBA64_LE, R16G16B16A16_UNORM),
|
||||
MAKE_FORMAT_MAP_YUV (AYUV, UNKNOWN, R8G8B8A8_UNORM, UNKNOWN, UNKNOWN, UNKNOWN),
|
||||
|
@ -122,6 +154,9 @@ static const GstD3D11Format _gst_d3d11_default_format_map[] = {
|
|||
MAKE_FORMAT_MAP_YUV (Y444_10LE, UNKNOWN, R16_UNORM, R16_UNORM, R16_UNORM, UNKNOWN),
|
||||
MAKE_FORMAT_MAP_YUV (Y444_12LE, UNKNOWN, R16_UNORM, R16_UNORM, R16_UNORM, UNKNOWN),
|
||||
MAKE_FORMAT_MAP_YUV (Y444_16LE, UNKNOWN, R16_UNORM, R16_UNORM, R16_UNORM, UNKNOWN),
|
||||
MAKE_FORMAT_MAP_YUV (UYVY, UNKNOWN, R8G8B8A8_UNORM, UNKNOWN, UNKNOWN, UNKNOWN),
|
||||
MAKE_FORMAT_MAP_YUV (VYUY, UNKNOWN, R8G8B8A8_UNORM, UNKNOWN, UNKNOWN, UNKNOWN),
|
||||
MAKE_FORMAT_MAP_YUV (YVYU, UNKNOWN, R8G8B8A8_UNORM, UNKNOWN, UNKNOWN, UNKNOWN),
|
||||
/* GRAY */
|
||||
/* NOTE: To support conversion by using video processor,
|
||||
* mark DXGI_FORMAT_{R8,R16}_UNORM formats as known dxgi_format.
|
||||
|
@ -129,15 +164,59 @@ static const GstD3D11Format _gst_d3d11_default_format_map[] = {
|
|||
* those formats */
|
||||
MAKE_FORMAT_MAP_RGB (GRAY8, R8_UNORM),
|
||||
MAKE_FORMAT_MAP_RGB (GRAY16_LE, R16_UNORM),
|
||||
MAKE_FORMAT_MAP_YUV_FULL (Y410, Y410, R10G10B10A2_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_Y410, Y410,
|
||||
R10G10B10A2_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_YUV_FULL (YUY2, YUY2, R8G8B8A8_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_BGR10A2_LE, Y410,
|
||||
R10G10B10A2_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_YUV_FULL (Y210, Y210, R16G16B16A16_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_YUY2, YUY2,
|
||||
R8G8B8A8_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_YUV_FULL (Y212_LE, Y216, R16G16B16A16_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_Y210, Y210,
|
||||
R16G16B16A16_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_YUV_FULL (Y412_LE, Y416, R16G16B16A16_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_Y212_LE, Y216,
|
||||
R16G16B16A16_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_Y412_LE, Y416,
|
||||
R16G16B16A16_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_BGRA64_LE, Y416,
|
||||
R16G16B16A16_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_RGB, UNKNOWN,
|
||||
R8G8B8A8_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_BGR, UNKNOWN,
|
||||
R8G8B8A8_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_v210, UNKNOWN,
|
||||
R10G10B10A2_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_v216, UNKNOWN,
|
||||
R16G16B16A16_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_v308, UNKNOWN,
|
||||
R8G8B8A8_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_IYU2, UNKNOWN,
|
||||
R8G8B8A8_UNORM, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_RGB16, UNKNOWN,
|
||||
R16_UINT, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_BGR16, UNKNOWN,
|
||||
R16_UINT, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_RGB15, UNKNOWN,
|
||||
R16_UINT, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_BGR15, UNKNOWN,
|
||||
R16_UINT, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_r210, UNKNOWN,
|
||||
R32_UINT, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE),
|
||||
MAKE_FORMAT_MAP_RGBP (RGBP, R8_UNORM, UNKNOWN),
|
||||
MAKE_FORMAT_MAP_RGBP (BGRP, R8_UNORM, UNKNOWN),
|
||||
|
@ -151,8 +230,9 @@ static const GstD3D11Format _gst_d3d11_default_format_map[] = {
|
|||
};
|
||||
|
||||
#undef MAKE_FORMAT_MAP_YUV
|
||||
#undef MAKE_FORMAT_MAP_YUV_FULL
|
||||
#undef MAKE_FORMAT_MAP_FULL
|
||||
#undef MAKE_FORMAT_MAP_RGB
|
||||
#undef MAKE_FORMAT_MAP_RGBP
|
||||
|
||||
#define GST_D3D11_N_FORMATS G_N_ELEMENTS(_gst_d3d11_default_format_map)
|
||||
|
||||
|
|
|
@ -129,6 +129,18 @@ make_input (GstVideoFormat format, gboolean premul)
|
|||
case GST_VIDEO_FORMAT_RGBx:
|
||||
case GST_VIDEO_FORMAT_BGRx:
|
||||
return "RGBx";
|
||||
case GST_VIDEO_FORMAT_ARGB:
|
||||
if (premul)
|
||||
return "ARGBPremul";
|
||||
return "ARGB";
|
||||
case GST_VIDEO_FORMAT_xRGB:
|
||||
return "xRGB";
|
||||
case GST_VIDEO_FORMAT_ABGR:
|
||||
if (premul)
|
||||
return "ABGRPremul";
|
||||
return "ABGR";
|
||||
case GST_VIDEO_FORMAT_xBGR:
|
||||
return "xBGR";
|
||||
case GST_VIDEO_FORMAT_VUYA:
|
||||
if (premul)
|
||||
return "VUYAPremul";
|
||||
|
@ -190,6 +202,12 @@ make_input (GstVideoFormat format, gboolean premul)
|
|||
if (premul)
|
||||
return "Y412Premul";
|
||||
return "Y412";
|
||||
case GST_VIDEO_FORMAT_BGR10A2_LE:
|
||||
return "BGR10A2";
|
||||
case GST_VIDEO_FORMAT_BGRA64_LE:
|
||||
if (premul)
|
||||
return "BGRA64Premul";
|
||||
return "BGRA64";
|
||||
default:
|
||||
g_assert_not_reached ();
|
||||
break;
|
||||
|
@ -217,6 +235,24 @@ make_output (GstVideoFormat format, gboolean premul)
|
|||
case GST_VIDEO_FORMAT_BGRx:
|
||||
ret.push_back(std::make_pair(PS_OUTPUT::PACKED, "RGBx"));
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_ARGB:
|
||||
if (premul)
|
||||
ret.push_back(std::make_pair(PS_OUTPUT::PACKED, "ARGBPremul"));
|
||||
else
|
||||
ret.push_back(std::make_pair(PS_OUTPUT::PACKED, "ARGB"));
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_xRGB:
|
||||
ret.push_back(std::make_pair(PS_OUTPUT::PACKED, "xRGB"));
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_ABGR:
|
||||
if (premul)
|
||||
ret.push_back(std::make_pair(PS_OUTPUT::PACKED, "ABGRPremul"));
|
||||
else
|
||||
ret.push_back(std::make_pair(PS_OUTPUT::PACKED, "ABGR"));
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_xBGR:
|
||||
ret.push_back(std::make_pair(PS_OUTPUT::PACKED, "xBGR"));
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_VUYA:
|
||||
if (premul)
|
||||
ret.push_back(std::make_pair(PS_OUTPUT::PACKED, "VUYAPremul"));
|
||||
|
|
|
@ -108,7 +108,7 @@ gst_d3d11_converter_helper_new (GstD3D11Device * device,
|
|||
D3D_FEATURE_LEVEL feature_level;
|
||||
DXGI_FORMAT srv_format = DXGI_FORMAT_UNKNOWN;
|
||||
DXGI_FORMAT uav_format = DXGI_FORMAT_UNKNOWN;
|
||||
guint x_unit = 16;
|
||||
guint x_unit = 8;
|
||||
guint y_unit = 8;
|
||||
std::string entry_point;
|
||||
HRESULT hr;
|
||||
|
@ -121,11 +121,83 @@ gst_d3d11_converter_helper_new (GstD3D11Device * device,
|
|||
case GST_VIDEO_FORMAT_YUY2:
|
||||
srv_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
in_format_str = "YUY2";
|
||||
x_unit = 16;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_UYVY:
|
||||
srv_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
in_format_str = "UYVY";
|
||||
x_unit = 16;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_VYUY:
|
||||
srv_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
in_format_str = "VYUY";
|
||||
x_unit = 16;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_YVYU:
|
||||
srv_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
in_format_str = "YVYU";
|
||||
x_unit = 16;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_Y210:
|
||||
case GST_VIDEO_FORMAT_Y212_LE:
|
||||
srv_format = DXGI_FORMAT_R16G16B16A16_UNORM;
|
||||
in_format_str = "YUY2";
|
||||
x_unit = 16;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_v210:
|
||||
srv_format = DXGI_FORMAT_R10G10B10A2_UNORM;
|
||||
in_format_str = "v210";
|
||||
x_unit = 48;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_v216:
|
||||
srv_format = DXGI_FORMAT_R16G16B16A16_UNORM;
|
||||
in_format_str = "UYVY";
|
||||
x_unit = 16;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_v308:
|
||||
srv_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
in_format_str = "v308";
|
||||
x_unit = 32;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_IYU2:
|
||||
srv_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
in_format_str = "IYU2";
|
||||
x_unit = 32;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_RGB:
|
||||
srv_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
in_format_str = "RGB";
|
||||
x_unit = 32;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_BGR:
|
||||
srv_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
in_format_str = "BGR";
|
||||
x_unit = 32;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_RGB16:
|
||||
srv_format = DXGI_FORMAT_R16_UINT;
|
||||
in_format_str = "RGB16";
|
||||
x_unit = 8;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_BGR16:
|
||||
srv_format = DXGI_FORMAT_R16_UINT;
|
||||
in_format_str = "BGR16";
|
||||
x_unit = 8;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_RGB15:
|
||||
srv_format = DXGI_FORMAT_R16_UINT;
|
||||
in_format_str = "RGB15";
|
||||
x_unit = 8;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_BGR15:
|
||||
srv_format = DXGI_FORMAT_R16_UINT;
|
||||
in_format_str = "BGR15";
|
||||
x_unit = 8;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_r210:
|
||||
srv_format = DXGI_FORMAT_R32_UINT;
|
||||
in_format_str = "r210";
|
||||
x_unit = 8;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_AYUV:
|
||||
srv_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
|
@ -135,6 +207,18 @@ gst_d3d11_converter_helper_new (GstD3D11Device * device,
|
|||
srv_format = DXGI_FORMAT_R16G16B16A16_UNORM;
|
||||
in_format_str = "AYUV";
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_RGBA:
|
||||
srv_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
in_format_str = "RGBA";
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_RGB10A2_LE:
|
||||
srv_format = DXGI_FORMAT_R10G10B10A2_UNORM;
|
||||
in_format_str = "RGBA";
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_RGBA64_LE:
|
||||
srv_format = DXGI_FORMAT_R16G16B16A16_UNORM;
|
||||
in_format_str = "RGBA";
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached ();
|
||||
return nullptr;
|
||||
|
@ -144,11 +228,48 @@ gst_d3d11_converter_helper_new (GstD3D11Device * device,
|
|||
case GST_VIDEO_FORMAT_YUY2:
|
||||
uav_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
out_format_str = "YUY2";
|
||||
x_unit = 16;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_UYVY:
|
||||
uav_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
out_format_str = "UYVY";
|
||||
x_unit = 16;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_VYUY:
|
||||
uav_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
out_format_str = "VYUY";
|
||||
x_unit = 16;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_YVYU:
|
||||
uav_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
out_format_str = "YVYU";
|
||||
x_unit = 16;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_Y210:
|
||||
case GST_VIDEO_FORMAT_Y212_LE:
|
||||
uav_format = DXGI_FORMAT_R16G16B16A16_UNORM;
|
||||
out_format_str = "YUY2";
|
||||
x_unit = 16;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_v210:
|
||||
uav_format = DXGI_FORMAT_R10G10B10A2_UNORM;
|
||||
out_format_str = "v210";
|
||||
x_unit = 48;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_v216:
|
||||
uav_format = DXGI_FORMAT_R16G16B16A16_UNORM;
|
||||
out_format_str = "UYVY";
|
||||
x_unit = 16;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_v308:
|
||||
uav_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
out_format_str = "v308";
|
||||
x_unit = 32;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_IYU2:
|
||||
uav_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
out_format_str = "IYU2";
|
||||
x_unit = 32;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_Y410:
|
||||
uav_format = DXGI_FORMAT_R10G10B10A2_UNORM;
|
||||
|
@ -160,6 +281,51 @@ gst_d3d11_converter_helper_new (GstD3D11Device * device,
|
|||
out_format_str = "Y410";
|
||||
x_unit = 8;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_RGB:
|
||||
uav_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
out_format_str = "RGB";
|
||||
x_unit = 32;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_BGR:
|
||||
uav_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
out_format_str = "BGR";
|
||||
x_unit = 32;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_RGB16:
|
||||
uav_format = DXGI_FORMAT_R16_UINT;
|
||||
out_format_str = "RGB16";
|
||||
x_unit = 8;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_BGR16:
|
||||
uav_format = DXGI_FORMAT_R16_UINT;
|
||||
out_format_str = "BGR16";
|
||||
x_unit = 8;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_RGB15:
|
||||
uav_format = DXGI_FORMAT_R16_UINT;
|
||||
out_format_str = "RGB15";
|
||||
x_unit = 8;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_BGR15:
|
||||
uav_format = DXGI_FORMAT_R16_UINT;
|
||||
out_format_str = "BGR15";
|
||||
x_unit = 8;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_r210:
|
||||
uav_format = DXGI_FORMAT_R32_UINT;
|
||||
out_format_str = "r210";
|
||||
x_unit = 8;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_BGRA64_LE:
|
||||
uav_format = DXGI_FORMAT_R16G16B16A16_UNORM;
|
||||
out_format_str = "BGRA";
|
||||
x_unit = 8;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_BGR10A2_LE:
|
||||
uav_format = DXGI_FORMAT_R10G10B10A2_UNORM;
|
||||
out_format_str = "BGRA";
|
||||
x_unit = 8;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_AYUV:
|
||||
uav_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
out_format_str = "AYUV";
|
||||
|
@ -168,6 +334,14 @@ gst_d3d11_converter_helper_new (GstD3D11Device * device,
|
|||
uav_format = DXGI_FORMAT_R16G16B16A16_UNORM;
|
||||
out_format_str = "AYUV";
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_RGBA:
|
||||
uav_format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
out_format_str = "RGBA";
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_RGB10A2_LE:
|
||||
uav_format = DXGI_FORMAT_R10G10B10A2_UNORM;
|
||||
out_format_str = "RGBA";
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached ();
|
||||
return nullptr;
|
||||
|
|
|
@ -1594,6 +1594,24 @@ gst_d3d11_converter_setup_lut (GstD3D11Converter * self,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
is_custom_format (GstVideoFormat format)
|
||||
{
|
||||
switch (format) {
|
||||
case GST_VIDEO_FORMAT_xRGB:
|
||||
case GST_VIDEO_FORMAT_xBGR:
|
||||
case GST_VIDEO_FORMAT_ARGB:
|
||||
case GST_VIDEO_FORMAT_ABGR:
|
||||
case GST_VIDEO_FORMAT_BGRA64_LE:
|
||||
case GST_VIDEO_FORMAT_BGR10A2_LE:
|
||||
return TRUE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
gst_d3d11_converter_calculate_border_color (GstD3D11Converter * self)
|
||||
{
|
||||
|
@ -1657,8 +1675,8 @@ gst_d3d11_converter_calculate_border_color (GstD3D11Converter * self)
|
|||
}
|
||||
|
||||
if ((GST_VIDEO_INFO_IS_RGB (out_info) &&
|
||||
GST_VIDEO_INFO_N_PLANES (out_info) == 1) ||
|
||||
GST_VIDEO_INFO_IS_GRAY (out_info)) {
|
||||
GST_VIDEO_INFO_N_PLANES (out_info) == 1 &&
|
||||
!is_custom_format (format)) || GST_VIDEO_INFO_IS_GRAY (out_info)) {
|
||||
for (guint i = 0; i < 3; i++)
|
||||
priv->clear_color[0][i] = converted[i];
|
||||
priv->clear_color[0][3] = a;
|
||||
|
@ -1677,6 +1695,20 @@ gst_d3d11_converter_calculate_border_color (GstD3D11Converter * self)
|
|||
priv->clear_color[0][2] = converted[1];
|
||||
priv->clear_color[0][3] = converted[2];
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_ARGB:
|
||||
case GST_VIDEO_FORMAT_xRGB:
|
||||
priv->clear_color[0][0] = a;
|
||||
priv->clear_color[0][1] = converted[0];
|
||||
priv->clear_color[0][2] = converted[1];
|
||||
priv->clear_color[0][3] = converted[2];
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_ABGR:
|
||||
case GST_VIDEO_FORMAT_xBGR:
|
||||
priv->clear_color[0][0] = a;
|
||||
priv->clear_color[0][1] = converted[2];
|
||||
priv->clear_color[0][2] = converted[1];
|
||||
priv->clear_color[0][3] = converted[0];
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_NV12:
|
||||
case GST_VIDEO_FORMAT_NV21:
|
||||
case GST_VIDEO_FORMAT_P010_10LE:
|
||||
|
@ -1791,6 +1823,11 @@ gst_d3d11_converter_setup_processor (GstD3D11Converter * self)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (is_custom_format (GST_VIDEO_INFO_FORMAT (&priv->in_info)) ||
|
||||
is_custom_format (GST_VIDEO_INFO_FORMAT (&priv->out_info))) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* cannot bind to processor in/out view */
|
||||
if ((in_format_flags & D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT) == 0 ||
|
||||
(out_format_flags & D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT) == 0) {
|
||||
|
@ -1913,6 +1950,51 @@ gst_d3d11_converter_setup_processor (GstD3D11Converter * self)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static GstVideoFormat
|
||||
get_shader_format (GstVideoFormat format, gboolean is_input)
|
||||
{
|
||||
switch (format) {
|
||||
case GST_VIDEO_FORMAT_YUY2:
|
||||
case GST_VIDEO_FORMAT_UYVY:
|
||||
case GST_VIDEO_FORMAT_VYUY:
|
||||
case GST_VIDEO_FORMAT_YVYU:
|
||||
case GST_VIDEO_FORMAT_v308:
|
||||
case GST_VIDEO_FORMAT_IYU2:
|
||||
return GST_VIDEO_FORMAT_AYUV;
|
||||
case GST_VIDEO_FORMAT_Y210:
|
||||
case GST_VIDEO_FORMAT_Y212_LE:
|
||||
case GST_VIDEO_FORMAT_v210:
|
||||
case GST_VIDEO_FORMAT_v216:
|
||||
return GST_VIDEO_FORMAT_AYUV64;
|
||||
case GST_VIDEO_FORMAT_Y410:
|
||||
case GST_VIDEO_FORMAT_Y412_LE:
|
||||
if (!is_input)
|
||||
return GST_VIDEO_FORMAT_AYUV64;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_RGB:
|
||||
case GST_VIDEO_FORMAT_BGR:
|
||||
case GST_VIDEO_FORMAT_RGB16:
|
||||
case GST_VIDEO_FORMAT_BGR16:
|
||||
case GST_VIDEO_FORMAT_RGB15:
|
||||
case GST_VIDEO_FORMAT_BGR15:
|
||||
return GST_VIDEO_FORMAT_RGBA;
|
||||
case GST_VIDEO_FORMAT_r210:
|
||||
return GST_VIDEO_FORMAT_RGB10A2_LE;
|
||||
case GST_VIDEO_FORMAT_BGRA64_LE:
|
||||
if (!is_input)
|
||||
return GST_VIDEO_FORMAT_RGBA64_LE;
|
||||
break;
|
||||
case GST_VIDEO_FORMAT_BGR10A2_LE:
|
||||
if (!is_input)
|
||||
return GST_VIDEO_FORMAT_RGB10A2_LE;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return format;
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_d3d11_converter_new:
|
||||
* @device: a #GstD3D11Device
|
||||
|
@ -1945,6 +2027,8 @@ gst_d3d11_converter_new (GstD3D11Device * device, const GstVideoInfo * in_info,
|
|||
gchar *backend_str;
|
||||
GstVideoInfo matrix_in_info;
|
||||
GstVideoInfo matrix_out_info;
|
||||
GstVideoFormat org_format;
|
||||
GstVideoFormat shader_format;
|
||||
|
||||
g_return_val_if_fail (GST_IS_D3D11_DEVICE (device), nullptr);
|
||||
g_return_val_if_fail (in_info != nullptr, nullptr);
|
||||
|
@ -2037,16 +2121,12 @@ gst_d3d11_converter_new (GstD3D11Device * device, const GstVideoInfo * in_info,
|
|||
priv->border_color = 0xffff000000000000;
|
||||
|
||||
/* Preprocess packed and subsampled texture */
|
||||
if (GST_VIDEO_INFO_FORMAT (in_info) == GST_VIDEO_FORMAT_YUY2 ||
|
||||
GST_VIDEO_INFO_FORMAT (in_info) == GST_VIDEO_FORMAT_Y210 ||
|
||||
GST_VIDEO_INFO_FORMAT (in_info) == GST_VIDEO_FORMAT_Y212_LE) {
|
||||
org_format = GST_VIDEO_INFO_FORMAT (in_info);
|
||||
shader_format = get_shader_format (org_format, TRUE);
|
||||
if (org_format != shader_format) {
|
||||
GstVideoInfo tmp_info;
|
||||
GstVideoFormat postproc_format = GST_VIDEO_FORMAT_AYUV;
|
||||
|
||||
if (GST_VIDEO_INFO_FORMAT (in_info) != GST_VIDEO_FORMAT_YUY2)
|
||||
postproc_format = GST_VIDEO_FORMAT_AYUV64;
|
||||
|
||||
gst_video_info_set_interlaced_format (&tmp_info, postproc_format,
|
||||
gst_video_info_set_interlaced_format (&tmp_info, shader_format,
|
||||
GST_VIDEO_INFO_INTERLACE_MODE (in_info),
|
||||
GST_VIDEO_INFO_WIDTH (in_info), GST_VIDEO_INFO_HEIGHT (in_info));
|
||||
tmp_info.chroma_site = in_info->chroma_site;
|
||||
|
@ -2060,18 +2140,12 @@ gst_d3d11_converter_new (GstD3D11Device * device, const GstVideoInfo * in_info,
|
|||
priv->need_preproc = TRUE;
|
||||
}
|
||||
|
||||
if (GST_VIDEO_INFO_FORMAT (out_info) == GST_VIDEO_FORMAT_YUY2 ||
|
||||
GST_VIDEO_INFO_FORMAT (out_info) == GST_VIDEO_FORMAT_Y410 ||
|
||||
GST_VIDEO_INFO_FORMAT (out_info) == GST_VIDEO_FORMAT_Y210 ||
|
||||
GST_VIDEO_INFO_FORMAT (out_info) == GST_VIDEO_FORMAT_Y212_LE ||
|
||||
GST_VIDEO_INFO_FORMAT (out_info) == GST_VIDEO_FORMAT_Y412_LE) {
|
||||
org_format = GST_VIDEO_INFO_FORMAT (out_info);
|
||||
shader_format = get_shader_format (org_format, FALSE);
|
||||
if (org_format != shader_format) {
|
||||
GstVideoInfo tmp_info;
|
||||
GstVideoFormat postproc_format = GST_VIDEO_FORMAT_AYUV;
|
||||
|
||||
if (GST_VIDEO_INFO_FORMAT (out_info) != GST_VIDEO_FORMAT_YUY2)
|
||||
postproc_format = GST_VIDEO_FORMAT_AYUV64;
|
||||
|
||||
gst_video_info_set_interlaced_format (&tmp_info, postproc_format,
|
||||
gst_video_info_set_interlaced_format (&tmp_info, shader_format,
|
||||
GST_VIDEO_INFO_INTERLACE_MODE (out_info),
|
||||
GST_VIDEO_INFO_WIDTH (out_info), GST_VIDEO_INFO_HEIGHT (out_info));
|
||||
tmp_info.chroma_site = out_info->chroma_site;
|
||||
|
|
|
@ -524,6 +524,8 @@ gst_d3d11_device_setup_format_table (GstD3D11Device * self)
|
|||
case GST_VIDEO_FORMAT_Y210:
|
||||
case GST_VIDEO_FORMAT_Y212_LE:
|
||||
case GST_VIDEO_FORMAT_Y412_LE:
|
||||
case GST_VIDEO_FORMAT_BGRA64_LE:
|
||||
case GST_VIDEO_FORMAT_BGR10A2_LE:
|
||||
{
|
||||
gboolean supported = TRUE;
|
||||
|
||||
|
@ -573,6 +575,24 @@ gst_d3d11_device_setup_format_table (GstD3D11Device * self)
|
|||
case GST_VIDEO_FORMAT_Y444_16LE:
|
||||
case GST_VIDEO_FORMAT_AYUV:
|
||||
case GST_VIDEO_FORMAT_AYUV64:
|
||||
case GST_VIDEO_FORMAT_UYVY:
|
||||
case GST_VIDEO_FORMAT_VYUY:
|
||||
case GST_VIDEO_FORMAT_YVYU:
|
||||
case GST_VIDEO_FORMAT_ARGB:
|
||||
case GST_VIDEO_FORMAT_xRGB:
|
||||
case GST_VIDEO_FORMAT_ABGR:
|
||||
case GST_VIDEO_FORMAT_xBGR:
|
||||
case GST_VIDEO_FORMAT_RGB:
|
||||
case GST_VIDEO_FORMAT_BGR:
|
||||
case GST_VIDEO_FORMAT_v210:
|
||||
case GST_VIDEO_FORMAT_v216:
|
||||
case GST_VIDEO_FORMAT_v308:
|
||||
case GST_VIDEO_FORMAT_IYU2:
|
||||
case GST_VIDEO_FORMAT_RGB16:
|
||||
case GST_VIDEO_FORMAT_BGR16:
|
||||
case GST_VIDEO_FORMAT_RGB15:
|
||||
case GST_VIDEO_FORMAT_BGR15:
|
||||
case GST_VIDEO_FORMAT_r210:
|
||||
/* RGB planar formats */
|
||||
case GST_VIDEO_FORMAT_RGBP:
|
||||
case GST_VIDEO_FORMAT_BGRP:
|
||||
|
|
|
@ -155,6 +155,8 @@ gst_d3d11_dxgi_format_get_size (DXGI_FORMAT format, guint width, guint height,
|
|||
case DXGI_FORMAT_Y216:
|
||||
case DXGI_FORMAT_R16G16B16A16_UNORM:
|
||||
case DXGI_FORMAT_Y416:
|
||||
case DXGI_FORMAT_R16_UINT:
|
||||
case DXGI_FORMAT_R32_UINT:
|
||||
offset[0] = 0;
|
||||
stride[0] = pitch;
|
||||
*size = pitch * height;
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -276,6 +276,78 @@ class SamplerRGBx : ISampler
|
|||
}
|
||||
};
|
||||
|
||||
class SamplerxRGB : ISampler
|
||||
{
|
||||
float4 Execute (float2 uv)
|
||||
{
|
||||
return float4 (shaderTexture[0].Sample(samplerState, uv).gba, 1.0);
|
||||
}
|
||||
};
|
||||
|
||||
class SamplerARGB : ISampler
|
||||
{
|
||||
float4 Execute (float2 uv)
|
||||
{
|
||||
return shaderTexture[0].Sample(samplerState, uv).gbar;
|
||||
}
|
||||
};
|
||||
|
||||
class SamplerARGBPremul : ISampler
|
||||
{
|
||||
float4 Execute (float2 uv)
|
||||
{
|
||||
return DoAlphaUnpremul (shaderTexture[0].Sample(samplerState, uv).gbar);
|
||||
}
|
||||
};
|
||||
|
||||
class SamplerxBGR : ISampler
|
||||
{
|
||||
float4 Execute (float2 uv)
|
||||
{
|
||||
return float4 (shaderTexture[0].Sample(samplerState, uv).abg, 1.0);
|
||||
}
|
||||
};
|
||||
|
||||
class SamplerABGR : ISampler
|
||||
{
|
||||
float4 Execute (float2 uv)
|
||||
{
|
||||
return shaderTexture[0].Sample(samplerState, uv).abgr;
|
||||
}
|
||||
};
|
||||
|
||||
class SamplerABGRPremul : ISampler
|
||||
{
|
||||
float4 Execute (float2 uv)
|
||||
{
|
||||
return DoAlphaUnpremul (shaderTexture[0].Sample(samplerState, uv).abgr);
|
||||
}
|
||||
};
|
||||
|
||||
class SamplerBGR10A2 : ISampler
|
||||
{
|
||||
float4 Execute (float2 uv)
|
||||
{
|
||||
return float4 (shaderTexture[0].Sample(samplerState, uv).zyx, 1.0);
|
||||
}
|
||||
};
|
||||
|
||||
class SamplerBGRA64 : ISampler
|
||||
{
|
||||
float4 Execute (float2 uv)
|
||||
{
|
||||
return shaderTexture[0].Sample(samplerState, uv).bgra;
|
||||
}
|
||||
};
|
||||
|
||||
class SamplerBGRA64Premul : ISampler
|
||||
{
|
||||
float4 Execute (float2 uv)
|
||||
{
|
||||
return DoAlphaUnpremul (shaderTexture[0].Sample(samplerState, uv).bgra);
|
||||
}
|
||||
};
|
||||
|
||||
class SamplerGBR : ISampler
|
||||
{
|
||||
float4 Execute (float2 uv)
|
||||
|
@ -904,6 +976,66 @@ class OutputRGBx : IOutputPacked
|
|||
}
|
||||
};
|
||||
|
||||
class OutputxRGB : IOutputPacked
|
||||
{
|
||||
PS_OUTPUT_PACKED Build (float4 sample)
|
||||
{
|
||||
PS_OUTPUT_PACKED output;
|
||||
output.Plane0 = float4 (0.0, sample.rgb);
|
||||
return output;
|
||||
}
|
||||
};
|
||||
|
||||
class OutputARGB : IOutputPacked
|
||||
{
|
||||
PS_OUTPUT_PACKED Build (float4 sample)
|
||||
{
|
||||
PS_OUTPUT_PACKED output;
|
||||
output.Plane0 = sample.argb;
|
||||
return output;
|
||||
}
|
||||
};
|
||||
|
||||
class OutputARGBPremul : IOutputPacked
|
||||
{
|
||||
PS_OUTPUT_PACKED Build (float4 sample)
|
||||
{
|
||||
PS_OUTPUT_PACKED output;
|
||||
output.Plane0 = DoAlphaPremul (sample).argb;
|
||||
return output;
|
||||
}
|
||||
};
|
||||
|
||||
class OutputxBGR : IOutputPacked
|
||||
{
|
||||
PS_OUTPUT_PACKED Build (float4 sample)
|
||||
{
|
||||
PS_OUTPUT_PACKED output;
|
||||
output.Plane0 = float4 (0.0, sample.bgr);
|
||||
return output;
|
||||
}
|
||||
};
|
||||
|
||||
class OutputABGR : IOutputPacked
|
||||
{
|
||||
PS_OUTPUT_PACKED Build (float4 sample)
|
||||
{
|
||||
PS_OUTPUT_PACKED output;
|
||||
output.Plane0 = sample.abgr;
|
||||
return output;
|
||||
}
|
||||
};
|
||||
|
||||
class OutputABGRPremul : IOutputPacked
|
||||
{
|
||||
PS_OUTPUT_PACKED Build (float4 sample)
|
||||
{
|
||||
PS_OUTPUT_PACKED output;
|
||||
output.Plane0 = DoAlphaPremul (sample.abgr);
|
||||
return output;
|
||||
}
|
||||
};
|
||||
|
||||
class OutputVUYA : IOutputPacked
|
||||
{
|
||||
PS_OUTPUT_PACKED Build (float4 sample)
|
||||
|
@ -1215,6 +1347,78 @@ static const char g_PSMain_converter_str[] =
|
|||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class SamplerxRGB : ISampler\n"
|
||||
"{\n"
|
||||
" float4 Execute (float2 uv)\n"
|
||||
" {\n"
|
||||
" return float4 (shaderTexture[0].Sample(samplerState, uv).gba, 1.0);\n"
|
||||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class SamplerARGB : ISampler\n"
|
||||
"{\n"
|
||||
" float4 Execute (float2 uv)\n"
|
||||
" {\n"
|
||||
" return shaderTexture[0].Sample(samplerState, uv).gbar;\n"
|
||||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class SamplerARGBPremul : ISampler\n"
|
||||
"{\n"
|
||||
" float4 Execute (float2 uv)\n"
|
||||
" {\n"
|
||||
" return DoAlphaUnpremul (shaderTexture[0].Sample(samplerState, uv).gbar);\n"
|
||||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class SamplerxBGR : ISampler\n"
|
||||
"{\n"
|
||||
" float4 Execute (float2 uv)\n"
|
||||
" {\n"
|
||||
" return float4 (shaderTexture[0].Sample(samplerState, uv).abg, 1.0);\n"
|
||||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class SamplerABGR : ISampler\n"
|
||||
"{\n"
|
||||
" float4 Execute (float2 uv)\n"
|
||||
" {\n"
|
||||
" return shaderTexture[0].Sample(samplerState, uv).abgr;\n"
|
||||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class SamplerABGRPremul : ISampler\n"
|
||||
"{\n"
|
||||
" float4 Execute (float2 uv)\n"
|
||||
" {\n"
|
||||
" return DoAlphaUnpremul (shaderTexture[0].Sample(samplerState, uv).abgr);\n"
|
||||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class SamplerBGR10A2 : ISampler\n"
|
||||
"{\n"
|
||||
" float4 Execute (float2 uv)\n"
|
||||
" {\n"
|
||||
" return float4 (shaderTexture[0].Sample(samplerState, uv).zyx, 1.0);\n"
|
||||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class SamplerBGRA64 : ISampler\n"
|
||||
"{\n"
|
||||
" float4 Execute (float2 uv)\n"
|
||||
" {\n"
|
||||
" return shaderTexture[0].Sample(samplerState, uv).bgra;\n"
|
||||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class SamplerBGRA64Premul : ISampler\n"
|
||||
"{\n"
|
||||
" float4 Execute (float2 uv)\n"
|
||||
" {\n"
|
||||
" return DoAlphaUnpremul (shaderTexture[0].Sample(samplerState, uv).bgra);\n"
|
||||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class SamplerGBR : ISampler\n"
|
||||
"{\n"
|
||||
" float4 Execute (float2 uv)\n"
|
||||
|
@ -1843,6 +2047,66 @@ static const char g_PSMain_converter_str[] =
|
|||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class OutputxRGB : IOutputPacked\n"
|
||||
"{\n"
|
||||
" PS_OUTPUT_PACKED Build (float4 sample)\n"
|
||||
" {\n"
|
||||
" PS_OUTPUT_PACKED output;\n"
|
||||
" output.Plane0 = float4 (0.0, sample.rgb);\n"
|
||||
" return output;\n"
|
||||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class OutputARGB : IOutputPacked\n"
|
||||
"{\n"
|
||||
" PS_OUTPUT_PACKED Build (float4 sample)\n"
|
||||
" {\n"
|
||||
" PS_OUTPUT_PACKED output;\n"
|
||||
" output.Plane0 = sample.argb;\n"
|
||||
" return output;\n"
|
||||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class OutputARGBPremul : IOutputPacked\n"
|
||||
"{\n"
|
||||
" PS_OUTPUT_PACKED Build (float4 sample)\n"
|
||||
" {\n"
|
||||
" PS_OUTPUT_PACKED output;\n"
|
||||
" output.Plane0 = DoAlphaPremul (sample).argb;\n"
|
||||
" return output;\n"
|
||||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class OutputxBGR : IOutputPacked\n"
|
||||
"{\n"
|
||||
" PS_OUTPUT_PACKED Build (float4 sample)\n"
|
||||
" {\n"
|
||||
" PS_OUTPUT_PACKED output;\n"
|
||||
" output.Plane0 = float4 (0.0, sample.bgr);\n"
|
||||
" return output;\n"
|
||||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class OutputABGR : IOutputPacked\n"
|
||||
"{\n"
|
||||
" PS_OUTPUT_PACKED Build (float4 sample)\n"
|
||||
" {\n"
|
||||
" PS_OUTPUT_PACKED output;\n"
|
||||
" output.Plane0 = sample.abgr;\n"
|
||||
" return output;\n"
|
||||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class OutputABGRPremul : IOutputPacked\n"
|
||||
"{\n"
|
||||
" PS_OUTPUT_PACKED Build (float4 sample)\n"
|
||||
" {\n"
|
||||
" PS_OUTPUT_PACKED output;\n"
|
||||
" output.Plane0 = DoAlphaPremul (sample.abgr);\n"
|
||||
" return output;\n"
|
||||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"class OutputVUYA : IOutputPacked\n"
|
||||
"{\n"
|
||||
" PS_OUTPUT_PACKED Build (float4 sample)\n"
|
||||
|
@ -1887,6 +2151,18 @@ static const char g_PSMain_converter_str[] =
|
|||
" }\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"#ifdef BUILDING_CSMain_RGBA_to_BGRA\n"
|
||||
"Texture2D<float4> inTex : register(t0);\n"
|
||||
"RWTexture2D<unorm float4> outTex : register(u0);\n"
|
||||
"\n"
|
||||
"void Execute (uint3 tid)\n"
|
||||
"{\n"
|
||||
" float4 val = inTex.Load (tid);\n"
|
||||
"\n"
|
||||
" outTex[tid.xy] = val.bgra;\n"
|
||||
"}\n"
|
||||
"#endif\n"
|
||||
"\n"
|
||||
"OUTPUT_TYPE ENTRY_POINT (PS_INPUT input)\n"
|
||||
"{\n"
|
||||
" SAMPLER g_sampler;\n"
|
||||
|
|
|
@ -28,6 +28,15 @@ hlsl_ps_input_formats = [
|
|||
['GBRAPremul_12', true],
|
||||
['RGBP', true],
|
||||
['BGRP', true],
|
||||
['xRGB', true],
|
||||
['ARGB', true],
|
||||
['ARGBPremul', true],
|
||||
['xBGR', true],
|
||||
['ABGR', true],
|
||||
['ABGRPremul', true],
|
||||
['BGR10A2', true],
|
||||
['BGRA64', true],
|
||||
['BGRA64Premul', true],
|
||||
]
|
||||
|
||||
hlsl_ps_output_formats = [
|
||||
|
@ -61,6 +70,12 @@ hlsl_ps_output_formats = [
|
|||
['PS_OUTPUT_PACKED', 'VUYAPremul', false],
|
||||
['PS_OUTPUT_PACKED', 'AYUV', false],
|
||||
['PS_OUTPUT_PACKED', 'AYUVPremul', false],
|
||||
['PS_OUTPUT_PACKED', 'xRGB', true],
|
||||
['PS_OUTPUT_PACKED', 'ARGB', true],
|
||||
['PS_OUTPUT_PACKED', 'ARGBPremul', true],
|
||||
['PS_OUTPUT_PACKED', 'xBGR', true],
|
||||
['PS_OUTPUT_PACKED', 'ABGR', true],
|
||||
['PS_OUTPUT_PACKED', 'ABGRPremul', true],
|
||||
]
|
||||
|
||||
header_collector = find_program('collect_hlsl_header.py')
|
||||
|
@ -131,8 +146,35 @@ endforeach
|
|||
hlsl_cs_source = files('CSMain_converter.hlsl')
|
||||
hlsl_cs_entry_points = [
|
||||
'CSMain_YUY2_to_AYUV',
|
||||
'CSMain_UYVY_to_AYUV',
|
||||
'CSMain_VYUY_to_AYUV',
|
||||
'CSMain_YVYU_to_AYUV',
|
||||
'CSMain_v210_to_AYUV',
|
||||
'CSMain_v308_to_AYUV',
|
||||
'CSMain_IYU2_to_AYUV',
|
||||
'CSMain_AYUV_to_YUY2',
|
||||
'CSMain_AYUV_to_UYVY',
|
||||
'CSMain_AYUV_to_VYUY',
|
||||
'CSMain_AYUV_to_YVYU',
|
||||
'CSMain_AYUV_to_v210',
|
||||
'CSMain_AYUV_to_v308',
|
||||
'CSMain_AYUV_to_IYU2',
|
||||
'CSMain_AYUV_to_Y410',
|
||||
'CSMain_RGB_to_RGBA',
|
||||
'CSMain_BGR_to_RGBA',
|
||||
'CSMain_RGB16_to_RGBA',
|
||||
'CSMain_BGR16_to_RGBA',
|
||||
'CSMain_RGB15_to_RGBA',
|
||||
'CSMain_BGR15_to_RGBA',
|
||||
'CSMain_r210_to_RGBA',
|
||||
'CSMain_RGBA_to_RGB',
|
||||
'CSMain_RGBA_to_BGR',
|
||||
'CSMain_RGBA_to_RGB16',
|
||||
'CSMain_RGBA_to_BGR16',
|
||||
'CSMain_RGBA_to_RGB15',
|
||||
'CSMain_RGBA_to_BGR15',
|
||||
'CSMain_RGBA_to_r210',
|
||||
'CSMain_RGBA_to_BGRA',
|
||||
]
|
||||
|
||||
foreach shader : hlsl_cs_entry_points
|
||||
|
|
|
@ -1484,6 +1484,10 @@ gst_d3d11_base_convert_decide_allocation (GstBaseTransform * trans,
|
|||
|
||||
if ((supported & D3D11_FORMAT_SUPPORT_RENDER_TARGET) != 0) {
|
||||
bind_flags |= D3D11_BIND_RENDER_TARGET;
|
||||
if (d3d11_format.dxgi_format == DXGI_FORMAT_UNKNOWN &&
|
||||
(supported & D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW) != 0) {
|
||||
bind_flags |= D3D11_BIND_UNORDERED_ACCESS;
|
||||
}
|
||||
} else {
|
||||
if (d3d11_format.dxgi_format != DXGI_FORMAT_UNKNOWN &&
|
||||
(supported & D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT) != 0) {
|
||||
|
|
|
@ -1461,7 +1461,9 @@ gst_d3d11_test_src_decide_allocation (GstBaseSrc * bsrc, GstQuery * query)
|
|||
if ((device_format.format_support[0] &
|
||||
D3D11_FORMAT_SUPPORT_RENDER_TARGET) != 0) {
|
||||
bind_flags |= D3D11_BIND_RENDER_TARGET;
|
||||
} else if ((device_format.format_support[0] &
|
||||
}
|
||||
|
||||
if ((device_format.format_support[0] &
|
||||
D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW) != 0) {
|
||||
bind_flags |= D3D11_BIND_UNORDERED_ACCESS;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue