MPC Video Renderer 深度解析:普通显示器也能看 HDR

发布时间:2026/8/21 19:35:02
MPC Video Renderer 深度解析:普通显示器也能看 HDR MPC Video Renderer 深度解析普通显示器也能看 HDR【免费下载链接】VideoRendererВнешний видео-рендерер项目地址: https://gitcode.com/gh_mirrors/vi/VideoRenderer在普通 SDR 显示器上放一部 4K HDR10 电影画面往往发灰发闷——万尼特的亮度信息被压进一百尼特的屏幕层次尽失。MPC Video Renderer 就是解决这个问题的开源 DirectShow HDR 视频渲染器一个滤镜里同时做 HDR10/HLG/杜比视界转换、硬件加速渲染和字幕叠加。它是谁DirectShow 生态里的外接视频渲染器DirectShow 是 Windows 原生的多媒体框架视频渲染器指解码后的视频最终送到屏幕上的那个末端滤镜。MPC Video Renderer 以 ActiveX 组件.ax形式注册进系统实现标准 IVideoRenderer 接口任何 DirectShow 播放器原则上都能把它挂成输出端Readme.md 也说明完整功能只针对 MPC-BE建议 1.8.9.106 以上。与系统自带的 EVR增强视频渲染器相比它的差异点都有据可查四条可切换渲染管线DXVA2、D3D9 着色器、D3D11、D3D11 着色器其中硬件管线支持 NV12、YUY2、P010 的硬件去隔行Readme.md Key features完整 HDR 处理链HDR10 与 HLG 完全支持、杜比视界部分支持、自动 HDR 转 SDR、HDR10 直通显示器Readme.md零拷贝路径DXVA2 解码器配 DXVA2 处理器D3D9 模式、D3D11 解码器配 D3D11 处理器D3D11 模式可免去逐帧拷贝history.txt 0.9.11 条目输入端它接收的像素格式超过 30 种含 10/16 位 YUV 4:2:0/4:2:2/4:4:4、RGB48 和灰度完整清单在 Source/VideoRenderer.h 的sudPinTypesIn数组里。从源码到第一帧三步完成编译环境要求来自 README 的系统要求一节最低要求推荐配置CPU支持 SSE2支持 SSE2系统Windows 7需打 KB4019990提供 D3DCompiler_47.dllWindows 10 及以上显卡DirectX 9.0c支持 PS 3.0DirectX 10/11编译器Visual Studio 2019v142或 2022v143Windows 10 SDK—源码目录下依次执行git clone https://gitcode.com/gh_mirrors/vi/VideoRenderer cd VideoRenderer update_submodules.cmd build_mpcvr.cmd第一条拉取代码update_submodules.cmd补齐 external/ 下的 BaseClasses 与 minhook 依赖build_mpcvr.cmd通过 vswhere 自动定位 Visual Studio先后编译 x86 与 x64 的 Release 版本。预期结果_bin\Filter_x86\MpcVideoRenderer.ax和_bin\Filter_x64\MpcVideoRenderer64.ax生成日志写在_bin\logs任一步失败脚本会停住并显示错误。接着注册到系统distrib\Install_MPCVR_32.cmd distrib\Install_MPCVR_64.cmd这两个脚本的本质是对 .ax 执行 regsvr32 注册滤镜32/64 位按你的播放器位数选择完成后会弹出注册成功提示失败先检查位数是否匹配。第一次播放打开 MPC-BE在选项 → 输出里把视频渲染器改为 MPC Video Renderer随便播一部 HDR10 影片。打开设置里的统计功能左上角会出现实时叠加层显示当前走的管线、输入格式与帧率——叠加层能刷出来链路就算通了。一帧画面经过什么4 条管线 1 条 HDR 分支滤镜主类CMpcVideoRenderer固定 CLSID 为 71F080AA-8661-4093-B15E-4F6903E77D0A同时实现一批接口IVideoRenderer 是视频输出入口ISubRender/ISubRender11 是专门给 MPC-BE 的私有字幕接口IKsPropertySet 挂属性页IMFGetService 让它能被硬件解码器识别Source/VideoRenderer.h。底层渲染由CVideoProcessor一族承担。Source/VideoProcessor.h 里的四路开关m_VPFormats对应四条管线管线工作层职责典型场景DXVA2 VPD3D9 硬件视频处理器缩放、去隔行配 DXVA2 解码器走零拷贝D3D9 着色器ps_3_0 着色器格式转换、缩放老显卡兜底D3D11 VPD3D11 硬件处理器缩放、去隔行配 D3D11 解码器走零拷贝D3D11 着色器ps_4_0 着色器链HDR 转换、缩放、超分HDR 转 SDR、高质量放大着色器源码全部放在 Shaders/ 下d3d9/ 与 d3d11/ 目录是逐帧处理resize/ 里convolution_filters.hlsl是缩放卷积核convert/ 是色彩与 HDR 核心st2084.hlsl实现 PQ 曲线、hdr_tone_mapping.hlsl实现色调映射。运行时它们被 fxc 预编译为 .cso 文件仓库里的 Shaders/compile_shaders.cmd 给出了完整编译清单examples/ 目录还放着与 mpv、VLC 兼容的示例着色器方便你移植自写效果。HDR 内容先过一次判定inline bool SourceIsHDR() { return SourceIsHDR10orHLG() || m_Dovi.bValid; }Source/VideoProcessor.h 中这段逻辑决定走向传递函数是 PQ即 BT.2084或 HLG或者流里携带了有效的杜比视界元数据由解码器经MediaSideDataDOVIMetadataV2侧数据传入都算 HDR。随后有三个分支默认值都有出处直通m_bHdrPassthrough默认开10 位 PQ 帧直接送显示器由显示器自行色调映射——只对 HDR 显示器有意义本地色调映射m_bHdrLocalToneMapping默认关GPU 上用着色器先按显示器峰值亮度m_iHdrDisplayMaxNits默认 1000 尼特压缩算法可选 ACES、Reinhard、Habel、Mobius、BT2390、ST 2094-10其中 ST 2094-10 只用于杜比视界history.txt 0.10.1HDR 转 SDRm_bConvertToSdr默认开完整转成 8 位 SDR 信号目标屏幕亮度由m_iSDRDisplayNits指定输出 8 位时10/16 位数据会经过抖动处理防止色带。杜比视界源还会解析 FEL 残差与 Extension Level 1/2 元数据CheckDoviMetadata与DOVIMetadata结构history.txt 明确说明 Profile 7 的 FEL 因不支持而不处理。三个真正用上的场景场景一SDR 显示器看 HDR10最常见保持默认即可HDR 转 SDR 开启按目标亮度映射到 SDR。如果画面偏暗、高光细节丢失把本地色调映射算法在 ACES 和 Habel 之间切换对比如果整体过亮把m_iSDRDisplayNits调低到屏幕实际峰值。⚙️场景二HDR 显示器走直通先在 Windows 显示设置中开启 HDR再在渲染器里保持m_bHdrPassthrough开启并把m_iHdrToggleDisplay设为允许随全屏切换显示器 HDR 模式——自 0.9.19 起该选项在独占全屏之外也生效。RTX 20 系以上显卡可额外启用 RTX Video HDR注意变更记录中写明该选项仅 x64 版本可用。场景三字幕与统计叠加字幕走 ISubRender 私有接口只有 MPC-BE 能调用ASS 字幕和 OSD 与视频在同一管线渲染天然同步。排查问题时务必打开统计叠加层它会标出当前 VP、输入格式和同步偏差能直接看出这帧是硬件路径还是着色器路径处理的。常见坑与排查现象可能原因怎么查画面发灰发闷HDR 转 SDR 未生效或显示器未开 HDR看统计叠加层的格式行核对 Windows HDR 开关播放卡顿着色器管线对显卡压力过大在设置中把 VPFormats 切到硬件 VP 管线杜比视界提升不明显Profile 7 FEL 不支持或解码器未传元数据看统计里的 DoVi 行确认解码器侧数据通路Windows 7 报缺 D3DCompiler_47.dll系统补丁缺失安装 KB4019990收尾一句话如果你的显示器不是 HDR 却常放 HDR 内容这个滤镜值得现在就装上——克隆仓库、build_mpcvr.cmd、Install_MPCVR_64.cmd注册再到 MPC-BE 里切换渲染器第一帧就能看到区别。【免费下载链接】VideoRendererВнешний видео-рендерер项目地址: https://gitcode.com/gh_mirrors/vi/VideoRenderer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻