那就target-gamut手动指定)
正常了。不过为什么默认下会是BT.709? 我都输出HDR了。
hsmms 发表于 2026-3-8 16:27
正常了。不过为什么默认下会是BT.709? 我都输出HDR了。
自动检测的问题,不知道它读到了哪里的数据,可能是edid的错误信息
本帖最后由 苏辰汐 于 2026-3-9 16:14 编辑
这个是你显示器 EDID 里向系统汇报的原色,mpv 通过 DXGI 获取的系统数据。显示 bt.709 的原色说明你的显示器信息不太对
具体代码见:https://github.com/mpv-player/mp ... lpers.c#L1070-L1086
我这边测试的显示器就正常汇报的 p3 色域:
https://picui.ogmua.cn/s1/2026/03/09/69ae810b2daaa.webp
苏辰汐 发表于 2026-3-9 16:01
这个是你显示器 EDID 里向系统汇报的原色,mpv 通过 DXGI 获取的系统数据。显示 bt.709 的原色说明你的显示 ...
lg oled 电视还能edid错误?
本帖最后由 苏辰汐 于 2026-3-9 19:08 编辑
hsmms 发表于 2026-3-9 17:01
lg oled 电视还能edid错误?
代码都贴给你了,汇报给系统的数据错了就是错了,当然这种错误也有可能是 win11 系统没有能正确读取电视的显示数据导致的,不过在正常的显示器下不太可能发生。
你图里 oled 汇报的黑位还不是绝对零是 0.01 呢,换算下对比度才 6w 多,得手动指定--target-contrast=inf 才能正确应用 oled 的无限对比度
如果你有 hdr 下的校色文件可以手动在系统设置里应用,这样 mpv 获取的系统显示设备信息也会正常。没有的话可以借助微软官方的 HDR 校准工具来生成一个也能凑合用
在未校色且系统汇报数据也错误的情况下不要指定--target-gamut=bt.2020,几乎没有能全覆盖 bt.2020 色域的显示设备,更准确的参数是--target-gamut=dci-p3。但这也只是一种折中方案,比如我上面截图里的显示器原色对应的色域就在 p3 和 bt.2020 之间,有条件还是应该使用正确的校色文件
如果还有疑问再贴一下微软的官方文档:
https://learn.microsoft.com/en-u ... fo?view=winrt-26100
本帖最后由 hsmms 于 2026-3-10 00:23 编辑
苏辰汐 发表于 2026-3-9 18:56
代码都贴给你了,汇报给系统的数据错了就是错了,当然这种错误也有可能是 win11 系统没有能正确读取电视的 ...
target-gamut=dci-p3 还是2020要看设备本身的,其实最好的方法是提供Bt.2020 in p3 ,这样色彩饱和度才准确。
不过我那坐标bt.709 太标准了一点也不像设备自身的色域坐标。改成target-gamut=dci-p3 也是非常标准的p3色域坐标(一点误差都没有)
本帖最后由 苏辰汐 于 2026-3-10 00:49 编辑
hsmms 发表于 2026-3-9 23:53
target-gamut=dci-p3 还是2020要看设备本身的,其实最好的方法是提供Bt.2020 in p3 ,这样色彩饱和度才准 ...
target-gamut 指定的是你显示设备的实际覆盖色域,基本没有设备能真正覆盖 bt.2020 色域,当然不能随便用 bt.2020(极个别设备可以),广色域显示器实际色域基本都是 p3,区别是苹果的 p3 还是正常的 p3。但这个只是标准色域范围,实际显示设备的色域覆盖肯定有出入,我的显示器有出厂校色,它的色域就是 110% 的 p3,完全不需要指定此参数来错误覆盖成标准 p3
顺便--target-prim=bt.2020 --target-gamut=dci-p3 参数就是指输入信号/容器是 bt.2020,实际显示色域为 dci-p3 的色域缩限。如果显示设备像我的一样其 edid 正确向系统汇报显示信息则根本不需要显式指定任何参数即可正确进行色域缩限
不过我那坐标 bt.709 太标准了一点也不像设备自身的色域坐标
那就是你系统提供的数据,上面代码和官方文档都贴给你了,没有好质疑的。至于是电视的 edid 抽象了还是 win11 系统对于电视的数据读取抽象了是另一回事了(比较可能是系统,毕竟电视和显示器还是不太一样)。作为对比我一开始就提供过截图
改成 target-gamut=dci-p3 也是非常标准的 p3 色域坐标(一点误差都没有)
废话,选项参数指定的是各色域对应的标准色域范围,当然不会有误差。想要正确的色域显示则根本不应该指定此选项,要么显示设备的 edid 是正确的要么系统中指定正确的校色文件,然后让 mpv 自行读取系统的显示数据来进行显示。我上面也说过了:但这也只是一种折中方案,有条件还是应该使用正确的校色文件
苏辰汐 发表于 2026-3-10 00:30
target-gamut 指定的是你显示设备的实际覆盖色域,基本没有设备能真正覆盖 bt.2020 色域,当然不能随便用...
你是否有想过很多设备的edid就是有问题的
就比如我这台C3 如果不指定target-gamut=dci-p3那么就会输出bt.709
本帖最后由 苏辰汐 于 2026-3-10 01:49 编辑
hsmms 发表于 2026-3-10 01:15
你是否有想过很多设备的edid就是有问题的
就比如我这台C3 如果不指定target-gamut=dci-p3那么就会输出bt ...
设备的 edid 正确与否不是 mpv 能左右的(毕竟这是系统的显示数据,受影响的远不止一个),反而当它正确时 mpv 的行为在一众播放器里才更为准确
顺便就我的观察和 b 站各种显示器测评视频来看近些年即使是入门级 miniled 和 oled 显示器的 edid 都比较可靠(当然还是看厂商
还有我上面一开始就说过当设备 edid 汇报数据不正确时比较可行的做法是什么,而不是光指定--target-gamut 参数:
如果你有 hdr 下的校色文件可以手动在系统设置里应用,这样 mpv 获取的系统显示设备信息也会正常。没有的话可以借助微软官方的 HDR 校准工具来生成一个也能凑合用
微软官方出的那个 HDR 校准工具是很有用的,它可以正确校准和覆盖显示器的峰值亮度和对比度信息,色域校准比不上正经校色但也能凑合用。最后会生成一个 hdr 下的校色文件并自动应用到系统设置中
还有我上面也说过了你系统汇报的不光色域是错的,对比度信息也是错的:你图里 oled 汇报的黑位还不是绝对零是 0.01 呢,换算下对比度才 6w 多,得手动指定 --target-contrast=inf 才能正确应用 oled 的无限对比度
你的 c3 确实比较奇怪,不仅色域是错的,黑位也不正确,不能显示绝对黑,会进行黑位补偿拉高黑位。oled 的优势等于全废(
本帖最后由 hsmms 于 2026-3-10 03:04 编辑
苏辰汐 发表于 2026-3-10 01:33
设备的 edid 正确与否不是 mpv 能左右的(毕竟这是系统的显示数据,受影响的远不止一个),反而当它正确时 ...
你不用管我图里的因为就是错误的,实际表现并没有按照图里的数据进行输出。
页:
1
[2]