hwdec_d3d11va: add support for RGB formats

This will be useful for mapping RGB output from d3d11vpp tone mapping.
This commit is contained in:
Kacper Michajłow
2026-02-19 19:18:56 +01:00
parent 2aba5a7167
commit 825ba4167e
+11 -1
View File
@@ -101,7 +101,14 @@ static int init(struct ra_hwdec *hw)
ID3D10Multithread_SetMultithreadProtected(multithread, TRUE);
ID3D10Multithread_Release(multithread);
static const int subfmts[] = {IMGFMT_NV12, IMGFMT_P010, 0};
static const int subfmts[] = {
IMGFMT_NV12,
IMGFMT_P010,
IMGFMT_BGRA,
IMGFMT_X2BGR10,
IMGFMT_RGBAF16,
0
};
p->hwctx = (struct mp_hwdec_ctx){
.driver_name = hw->driver->name,
.av_device_ref = d3d11_wrap_device_ref(p->device),
@@ -160,6 +167,9 @@ static int mapper_init(struct ra_hwdec_mapper *mapper)
switch (mapper->dst_params.imgfmt) {
case IMGFMT_NV12: copy_fmt = DXGI_FORMAT_NV12; break;
case IMGFMT_P010: copy_fmt = DXGI_FORMAT_P010; break;
case IMGFMT_BGRA: copy_fmt = DXGI_FORMAT_B8G8R8A8_UNORM; break;
case IMGFMT_X2BGR10: copy_fmt = DXGI_FORMAT_R10G10B10A2_UNORM; break;
case IMGFMT_RGBAF16: copy_fmt = DXGI_FORMAT_R16G16B16A16_FLOAT; break;
default: return -1;
}