[vlc-commits] [Git][videolan/vlc][master] 2 commits: dxgi_fmt: add the Mthreads manufacturer ID

Steve Lhomme (@robUx4) gitlab at videolan.org
Sat Jul 11 13:03:20 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
1d65d4fa by jianfeng.zheng at 2026-07-11T12:49:57+00:00
dxgi_fmt: add the Mthreads manufacturer ID

Signed-off-by: jianfeng.zheng <jianfeng.zheng at mthreads.com>

- - - - -
290ffb20 by jianfeng.zheng at 2026-07-11T12:49:57+00:00
direct3d11: add Mthreads based video super resolution

Signed-off-by: jianfeng.zheng <jianfeng.zheng at mthreads.com>

- - - - -


2 changed files:

- modules/video_chroma/dxgi_fmt.h
- modules/video_output/win32/d3d11_scaler.cpp


Changes:

=====================================
modules/video_chroma/dxgi_fmt.h
=====================================
@@ -39,6 +39,7 @@ extern "C" {
 #define GPU_MANUFACTURER_S3            0x5333
 #define GPU_MANUFACTURER_QUALCOMM  0x4D4F4351
 #define GPU_MANUFACTURER_MICROSOFT     0x1414 // "Microsoft Basic Render Driver"
+#define GPU_MANUFACTURER_MTGPU         0x1ED5
 
 #define DXGI_MAX_SHADER_VIEW     4
 #define DXGI_MAX_RENDER_TARGET   2 // for NV12/P010 we render Y and UV separately


=====================================
modules/video_output/win32/d3d11_scaler.cpp
=====================================
@@ -118,6 +118,10 @@ checked:
     {
         canProcess = true; // detection doesn't work
     }
+    else if (d3d_dev->adapterDesc.VendorId == GPU_MANUFACTURER_MTGPU)
+    {
+        canProcess = true; // detection doesn't work
+    }
 #ifdef HAVE_AMF_SCALER
     else if (d3d_dev->adapterDesc.VendorId == GPU_MANUFACTURER_AMD)
     {
@@ -544,6 +548,34 @@ int D3D11_UpscalerUpdate(vlc_object_t *vd, d3d11_scaler *scaleProc, d3d11_device
                 goto done_super;
             }
         }
+        else if (d3d_dev->adapterDesc.VendorId == GPU_MANUFACTURER_MTGPU)
+        {
+            constexpr GUID kMtvsrGUID{ 0x28D65B12, 0x957F, 0x4C0C, {0xA9, 0x34, 0x3B, 0x5D, 0xBE, 0xB4, 0x31, 0x0F} };
+            constexpr UINT kMtvsrVersion = 0x1;
+            constexpr UINT kMtvsrMethod  = 0x1;
+            constexpr UINT kMtvsrLevel   = 1;
+            struct ExtInfo
+            {
+                UINT version;
+                UINT method;
+                UINT level;
+                UINT enable;
+            } extInfo = {
+                kMtvsrVersion,
+                kMtvsrMethod,
+                kMtvsrLevel,
+                upscale ? 1u : 0u,
+            };
+            hr = scaleProc->d3dvidctx->VideoProcessorSetStreamExtension(
+                scaleProc->processor.Get(), 0,
+                &kMtvsrGUID, sizeof(extInfo), &extInfo);
+
+            if (FAILED(hr)) {
+                msg_Err(vd, "Failed to set the Mthreads video super resolution extension. (hr=0x%lX)", hr);
+                d3d11_device_unlock(d3d_dev);
+                goto done_super;
+            }
+        }
     }
     d3d11_device_unlock(d3d_dev);
 #ifdef HAVE_AMF_SCALER



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/0a18bcf28b9a5c58cc48f72b2f7adf6a158c4896...290ffb2070b2f9de5c54ee74778aeba30b48346c

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/0a18bcf28b9a5c58cc48f72b2f7adf6a158c4896...290ffb2070b2f9de5c54ee74778aeba30b48346c
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help




More information about the vlc-commits mailing list