From 57c52f532826a80b382d7aed1e090e526e1c03f6 Mon Sep 17 00:00:00 2001 From: Wang Wenqing Date: Fri, 13 Sep 2024 15:32:07 +0800 Subject: [PATCH] [caps] enable ADL/RPL windows support Signed-off-by: Wang Wenqing --- lib/caps/ADL/d3d11 | 104 +++++++++++++++++++++++++++++++++++++++++++++ lib/caps/ADL/d3d12 | 91 +++++++++++++++++++++++++++++++++++++++ lib/caps/ADL/dxva2 | 96 +++++++++++++++++++++++++++++++++++++++++ lib/caps/RPL/d3d11 | 104 +++++++++++++++++++++++++++++++++++++++++++++ lib/caps/RPL/d3d12 | 91 +++++++++++++++++++++++++++++++++++++++ lib/caps/RPL/dxva2 | 96 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 582 insertions(+) create mode 100644 lib/caps/ADL/d3d11 create mode 100644 lib/caps/ADL/d3d12 create mode 100644 lib/caps/ADL/dxva2 create mode 100644 lib/caps/RPL/d3d11 create mode 100644 lib/caps/RPL/d3d12 create mode 100644 lib/caps/RPL/dxva2 diff --git a/lib/caps/ADL/d3d11 b/lib/caps/ADL/d3d11 new file mode 100644 index 00000000..77cb3de9 --- /dev/null +++ b/lib/caps/ADL/d3d11 @@ -0,0 +1,104 @@ +### +### Copyright (C) 2024 Intel Corporation +### +### SPDX-License-Identifier: BSD-3-Clause +### + +### +### kate: syntax python; +### + +caps = dict( + decode = dict( + avc = dict(maxres = res4k , fmts = ["NV12"]), + mpeg2 = dict(maxres = res2k , fmts = ["NV12"]), + vc1 = dict(maxres = res4k , fmts = ["NV12"]), + jpeg = dict(maxres = res16k, fmts = ["NV12", "411P", "422H", "422V", "444P", "Y800"]), + hevc_8 = dict( + maxres = res8k, + fmts = ["NV12", "YUY2", "AYUV"], + features = dict(scc = True, msp = True), + ), + hevc_10 = dict(maxres = res8k , fmts = ["P010", "Y210", "Y410"]), + hevc_12 = dict(maxres = res8k , fmts = ["P012", "Y212", "Y412"]), + vp9_8 = dict(maxres = res8k , fmts = ["NV12", "AYUV"]), + vp9_10 = dict(maxres = res8k , fmts = ["P010", "Y410"]), + vp9_12 = dict(maxres = res8k , fmts = ["P012", "Y412"]), + av1_8 = dict(maxres = res8k , fmts = ["NV12"]), + av1_10 = dict(maxres = res8k , fmts = ["P010"]), + ), + encode = dict( + avc = dict(maxres = res4k , fmts = ["NV12"]), + mpeg2 = dict(maxres = res2k , fmts = ["NV12"]), + hevc_8 = dict( + maxres = res8k, + fmts = ["NV12", "AYUV"], + features = dict(scc = True, msp = True), + ), + hevc_10 = dict( + maxres = res8k, + fmts = ["P010", "Y410"], + features = dict(msp = True) + ), + ), + vdenc = dict( + avc = dict(maxres = res4k , fmts = ["NV12", "YUY2", "YUYV", "YVYU", "UYVY", "AYUV"], bframes = False), + jpeg = dict(maxres = res16k, fmts = ["NV12", "YUY2", "UYVY", "Y800"]), + hevc_8 = dict( + maxres = res8k, + fmts = ["NV12", "AYUV"], + features = dict(scc = True), + ), + hevc_10 = dict(maxres = res8k , fmts = ["P010", "Y410"]), + vp9_8 = dict(maxres = res8k , fmts = ["NV12", "AYUV"]), + vp9_10 = dict(maxres = res8k , fmts = ["P010", "Y410"]), + ), + vpp = dict( + # brightness, contrast, hue and saturation + procamp = dict( + ifmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + # mirroring and rotation + transpose = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + crop = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "AYUV", "Y410", "BGRA"], + ), + sharpen = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "AYUV", "Y410", "BGRA"], + ), + deinterlace = dict( + bob = dict( + ifmts = ["NV12", "YV12", "P010", "YUY2"], + ofmts = ["NV12", "YV12", "P010", "YUY2"], + ), + motion_adaptive = dict( + ifmts = ["NV12", "P010", "YUY2"], + ofmts = ["NV12", "P010", "YUY2"], + ), + ), + denoise = dict( + ifmts = ["NV12", "P010", "YUY2"], + ofmts = ["NV12", "P010", "YUY2"], + chroma = True, + ), + scale = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + # colorspace conversion + csc = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA", "BGRX"], + ), + blend = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA", "BGRX"], + ), + ), +) diff --git a/lib/caps/ADL/d3d12 b/lib/caps/ADL/d3d12 new file mode 100644 index 00000000..a48765d2 --- /dev/null +++ b/lib/caps/ADL/d3d12 @@ -0,0 +1,91 @@ +### +### Copyright (C) 2024 Intel Corporation +### +### SPDX-License-Identifier: BSD-3-Clause +### + +### +### kate: syntax python; +### + +caps = dict( + decode = dict( + avc = dict(maxres = res4k , fmts = ["NV12"]), + mpeg2 = dict(maxres = res2k , fmts = ["NV12"]), + vc1 = dict(maxres = res4k , fmts = ["NV12"]), + jpeg = dict(maxres = res16k, fmts = ["NV12", "411P", "422H", "422V", "444P", "Y800"]), + hevc_8 = dict( + maxres = res8k, + fmts = ["NV12", "YUY2", "AYUV"], + features = dict(scc = True, msp = True), + ), + hevc_10 = dict(maxres = res8k , fmts = ["P010", "Y210", "Y410"]), + hevc_12 = dict(maxres = res8k , fmts = ["P012", "Y212", "Y412"]), + vp9_8 = dict(maxres = res8k , fmts = ["NV12", "AYUV"]), + vp9_10 = dict(maxres = res8k , fmts = ["P010", "Y410"]), + vp9_12 = dict(maxres = res8k , fmts = ["P012", "Y412"]), + av1_8 = dict(maxres = res8k , fmts = ["NV12"]), + av1_10 = dict(maxres = res8k , fmts = ["P010"]), + ), + encode = dict( + avc = dict(maxres = res4k , fmts = ["NV12"]), + hevc_8 = dict( + maxres = res8k, + fmts = ["NV12"], + features = dict(scc = True, msp = True), + ), + hevc_10 = dict( + maxres = res8k, + fmts = ["P010"], + features = dict(msp = True) + ), + ), + vpp = dict( + # brightness, contrast, hue and saturation + procamp = dict( + ifmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + # mirroring and rotation + transpose = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + crop = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "AYUV", "Y410", "BGRA"], + ), + sharpen = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "AYUV", "Y410", "BGRA"], + ), + deinterlace = dict( + bob = dict( + ifmts = ["NV12", "YV12", "P010", "YUY2"], + ofmts = ["NV12", "YV12", "P010", "YUY2"], + ), + motion_adaptive = dict( + ifmts = ["NV12", "P010", "YUY2"], + ofmts = ["NV12", "P010", "YUY2"], + ), + ), + denoise = dict( + ifmts = ["NV12", "P010", "YUY2"], + ofmts = ["NV12", "P010", "YUY2"], + chroma = True, + ), + scale = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + # colorspace conversion + csc = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA", "BGRX"], + ), + blend = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA", "BGRX"], + ), + ), +) diff --git a/lib/caps/ADL/dxva2 b/lib/caps/ADL/dxva2 new file mode 100644 index 00000000..daa99606 --- /dev/null +++ b/lib/caps/ADL/dxva2 @@ -0,0 +1,96 @@ +### +### Copyright (C) 2024 Intel Corporation +### +### SPDX-License-Identifier: BSD-3-Clause +### + +### +### kate: syntax python; +### + +caps = dict( + decode = dict( + avc = dict(maxres = res4k , fmts = ["NV12"]), + mpeg2 = dict(maxres = res2k , fmts = ["NV12"]), + vc1 = dict(maxres = res4k , fmts = ["NV12"]), + jpeg = dict(maxres = res16k, fmts = ["NV12", "411P", "422H", "422V", "444P", "Y800"]), + hevc_8 = dict( + maxres = res8k, + fmts = ["NV12"], + features = dict(scc = False, msp = True), + ), + hevc_10 = dict(maxres = res8k , fmts = ["P010"]), + vp9_8 = dict(maxres = res8k , fmts = ["NV12"]), + vp9_10 = dict(maxres = res8k , fmts = ["P010", "Y410"]), + vp9_12 = dict(maxres = res8k , fmts = ["P012", "Y412"]), + ), + encode = dict( + avc = dict(maxres = res4k , fmts = ["NV12"]), + mpeg2 = dict(maxres = res2k , fmts = ["NV12"]), + hevc_8 = dict( + maxres = res2k, + fmts = ["NV12"], + features = dict(scc = False, msp = True), + ), + hevc_10 = dict( + maxres = res8k, + fmts = ["P010", "Y410"], + features = dict(msp = True) + ), + ), + vdenc = dict( + avc = dict(maxres = res4k , fmts = ["NV12", "YUY2", "YUYV", "YVYU", "UYVY", "AYUV"], bframes = False), + jpeg = dict(maxres = res16k, fmts = ["NV12", "YUY2", "UYVY", "Y800"]), + hevc_8 = dict( + maxres = res8k, + fmts = ["NV12", "AYUV"], + features = dict(scc = True), + ), + hevc_10 = dict(maxres = res8k , fmts = ["P010", "Y410"]), + vp9_8 = dict(maxres = res8k , fmts = ["NV12", "AYUV"]), + vp9_10 = dict(maxres = res8k , fmts = ["P010", "Y410"]), + ), + vpp = dict( + # brightness, contrast, hue and saturation + procamp = dict( + ifmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + crop = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "AYUV", "Y410", "BGRA"], + ), + sharpen = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "AYUV", "Y410", "BGRA"], + ), + deinterlace = dict( + bob = dict( + ifmts = ["NV12", "YV12", "P010", "YUY2"], + ofmts = ["NV12", "YV12", "P010", "YUY2"], + ), + motion_adaptive = dict( + ifmts = ["NV12", "P010", "YUY2"], + ofmts = ["NV12", "P010", "YUY2"], + ), + ), + denoise = dict( + ifmts = ["NV12", "P010", "YUY2"], + ofmts = ["NV12", "P010", "YUY2"], + chroma = True, + ), + scale = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + # colorspace conversion + csc = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA", "BGRX"], + ), + blend = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA", "BGRX"], + ), + ), +) diff --git a/lib/caps/RPL/d3d11 b/lib/caps/RPL/d3d11 new file mode 100644 index 00000000..77cb3de9 --- /dev/null +++ b/lib/caps/RPL/d3d11 @@ -0,0 +1,104 @@ +### +### Copyright (C) 2024 Intel Corporation +### +### SPDX-License-Identifier: BSD-3-Clause +### + +### +### kate: syntax python; +### + +caps = dict( + decode = dict( + avc = dict(maxres = res4k , fmts = ["NV12"]), + mpeg2 = dict(maxres = res2k , fmts = ["NV12"]), + vc1 = dict(maxres = res4k , fmts = ["NV12"]), + jpeg = dict(maxres = res16k, fmts = ["NV12", "411P", "422H", "422V", "444P", "Y800"]), + hevc_8 = dict( + maxres = res8k, + fmts = ["NV12", "YUY2", "AYUV"], + features = dict(scc = True, msp = True), + ), + hevc_10 = dict(maxres = res8k , fmts = ["P010", "Y210", "Y410"]), + hevc_12 = dict(maxres = res8k , fmts = ["P012", "Y212", "Y412"]), + vp9_8 = dict(maxres = res8k , fmts = ["NV12", "AYUV"]), + vp9_10 = dict(maxres = res8k , fmts = ["P010", "Y410"]), + vp9_12 = dict(maxres = res8k , fmts = ["P012", "Y412"]), + av1_8 = dict(maxres = res8k , fmts = ["NV12"]), + av1_10 = dict(maxres = res8k , fmts = ["P010"]), + ), + encode = dict( + avc = dict(maxres = res4k , fmts = ["NV12"]), + mpeg2 = dict(maxres = res2k , fmts = ["NV12"]), + hevc_8 = dict( + maxres = res8k, + fmts = ["NV12", "AYUV"], + features = dict(scc = True, msp = True), + ), + hevc_10 = dict( + maxres = res8k, + fmts = ["P010", "Y410"], + features = dict(msp = True) + ), + ), + vdenc = dict( + avc = dict(maxres = res4k , fmts = ["NV12", "YUY2", "YUYV", "YVYU", "UYVY", "AYUV"], bframes = False), + jpeg = dict(maxres = res16k, fmts = ["NV12", "YUY2", "UYVY", "Y800"]), + hevc_8 = dict( + maxres = res8k, + fmts = ["NV12", "AYUV"], + features = dict(scc = True), + ), + hevc_10 = dict(maxres = res8k , fmts = ["P010", "Y410"]), + vp9_8 = dict(maxres = res8k , fmts = ["NV12", "AYUV"]), + vp9_10 = dict(maxres = res8k , fmts = ["P010", "Y410"]), + ), + vpp = dict( + # brightness, contrast, hue and saturation + procamp = dict( + ifmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + # mirroring and rotation + transpose = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + crop = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "AYUV", "Y410", "BGRA"], + ), + sharpen = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "AYUV", "Y410", "BGRA"], + ), + deinterlace = dict( + bob = dict( + ifmts = ["NV12", "YV12", "P010", "YUY2"], + ofmts = ["NV12", "YV12", "P010", "YUY2"], + ), + motion_adaptive = dict( + ifmts = ["NV12", "P010", "YUY2"], + ofmts = ["NV12", "P010", "YUY2"], + ), + ), + denoise = dict( + ifmts = ["NV12", "P010", "YUY2"], + ofmts = ["NV12", "P010", "YUY2"], + chroma = True, + ), + scale = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + # colorspace conversion + csc = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA", "BGRX"], + ), + blend = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA", "BGRX"], + ), + ), +) diff --git a/lib/caps/RPL/d3d12 b/lib/caps/RPL/d3d12 new file mode 100644 index 00000000..a48765d2 --- /dev/null +++ b/lib/caps/RPL/d3d12 @@ -0,0 +1,91 @@ +### +### Copyright (C) 2024 Intel Corporation +### +### SPDX-License-Identifier: BSD-3-Clause +### + +### +### kate: syntax python; +### + +caps = dict( + decode = dict( + avc = dict(maxres = res4k , fmts = ["NV12"]), + mpeg2 = dict(maxres = res2k , fmts = ["NV12"]), + vc1 = dict(maxres = res4k , fmts = ["NV12"]), + jpeg = dict(maxres = res16k, fmts = ["NV12", "411P", "422H", "422V", "444P", "Y800"]), + hevc_8 = dict( + maxres = res8k, + fmts = ["NV12", "YUY2", "AYUV"], + features = dict(scc = True, msp = True), + ), + hevc_10 = dict(maxres = res8k , fmts = ["P010", "Y210", "Y410"]), + hevc_12 = dict(maxres = res8k , fmts = ["P012", "Y212", "Y412"]), + vp9_8 = dict(maxres = res8k , fmts = ["NV12", "AYUV"]), + vp9_10 = dict(maxres = res8k , fmts = ["P010", "Y410"]), + vp9_12 = dict(maxres = res8k , fmts = ["P012", "Y412"]), + av1_8 = dict(maxres = res8k , fmts = ["NV12"]), + av1_10 = dict(maxres = res8k , fmts = ["P010"]), + ), + encode = dict( + avc = dict(maxres = res4k , fmts = ["NV12"]), + hevc_8 = dict( + maxres = res8k, + fmts = ["NV12"], + features = dict(scc = True, msp = True), + ), + hevc_10 = dict( + maxres = res8k, + fmts = ["P010"], + features = dict(msp = True) + ), + ), + vpp = dict( + # brightness, contrast, hue and saturation + procamp = dict( + ifmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + # mirroring and rotation + transpose = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + crop = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "AYUV", "Y410", "BGRA"], + ), + sharpen = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "AYUV", "Y410", "BGRA"], + ), + deinterlace = dict( + bob = dict( + ifmts = ["NV12", "YV12", "P010", "YUY2"], + ofmts = ["NV12", "YV12", "P010", "YUY2"], + ), + motion_adaptive = dict( + ifmts = ["NV12", "P010", "YUY2"], + ofmts = ["NV12", "P010", "YUY2"], + ), + ), + denoise = dict( + ifmts = ["NV12", "P010", "YUY2"], + ofmts = ["NV12", "P010", "YUY2"], + chroma = True, + ), + scale = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + # colorspace conversion + csc = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA", "BGRX"], + ), + blend = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA", "BGRX"], + ), + ), +) diff --git a/lib/caps/RPL/dxva2 b/lib/caps/RPL/dxva2 new file mode 100644 index 00000000..daa99606 --- /dev/null +++ b/lib/caps/RPL/dxva2 @@ -0,0 +1,96 @@ +### +### Copyright (C) 2024 Intel Corporation +### +### SPDX-License-Identifier: BSD-3-Clause +### + +### +### kate: syntax python; +### + +caps = dict( + decode = dict( + avc = dict(maxres = res4k , fmts = ["NV12"]), + mpeg2 = dict(maxres = res2k , fmts = ["NV12"]), + vc1 = dict(maxres = res4k , fmts = ["NV12"]), + jpeg = dict(maxres = res16k, fmts = ["NV12", "411P", "422H", "422V", "444P", "Y800"]), + hevc_8 = dict( + maxres = res8k, + fmts = ["NV12"], + features = dict(scc = False, msp = True), + ), + hevc_10 = dict(maxres = res8k , fmts = ["P010"]), + vp9_8 = dict(maxres = res8k , fmts = ["NV12"]), + vp9_10 = dict(maxres = res8k , fmts = ["P010", "Y410"]), + vp9_12 = dict(maxres = res8k , fmts = ["P012", "Y412"]), + ), + encode = dict( + avc = dict(maxres = res4k , fmts = ["NV12"]), + mpeg2 = dict(maxres = res2k , fmts = ["NV12"]), + hevc_8 = dict( + maxres = res2k, + fmts = ["NV12"], + features = dict(scc = False, msp = True), + ), + hevc_10 = dict( + maxres = res8k, + fmts = ["P010", "Y410"], + features = dict(msp = True) + ), + ), + vdenc = dict( + avc = dict(maxres = res4k , fmts = ["NV12", "YUY2", "YUYV", "YVYU", "UYVY", "AYUV"], bframes = False), + jpeg = dict(maxres = res16k, fmts = ["NV12", "YUY2", "UYVY", "Y800"]), + hevc_8 = dict( + maxres = res8k, + fmts = ["NV12", "AYUV"], + features = dict(scc = True), + ), + hevc_10 = dict(maxres = res8k , fmts = ["P010", "Y410"]), + vp9_8 = dict(maxres = res8k , fmts = ["NV12", "AYUV"]), + vp9_10 = dict(maxres = res8k , fmts = ["P010", "Y410"]), + ), + vpp = dict( + # brightness, contrast, hue and saturation + procamp = dict( + ifmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + crop = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "AYUV", "Y410", "BGRA"], + ), + sharpen = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "AYUV", "Y410", "BGRA"], + ), + deinterlace = dict( + bob = dict( + ifmts = ["NV12", "YV12", "P010", "YUY2"], + ofmts = ["NV12", "YV12", "P010", "YUY2"], + ), + motion_adaptive = dict( + ifmts = ["NV12", "P010", "YUY2"], + ofmts = ["NV12", "P010", "YUY2"], + ), + ), + denoise = dict( + ifmts = ["NV12", "P010", "YUY2"], + ofmts = ["NV12", "P010", "YUY2"], + chroma = True, + ), + scale = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA"], + ), + # colorspace conversion + csc = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA", "BGRX"], + ), + blend = dict( + ifmts = ["NV12", "P010", "YUY2", "UYVY", "Y210", "AYUV", "Y410", "BGRA"], + ofmts = ["NV12", "P010", "YUY2", "Y210", "AYUV", "Y410", "BGRA", "BGRX"], + ), + ), +)