找回密码
 立即注册
楼主: sommio

关于 mpv 使用 icc profile 默认行为及是否应该无脑开启 icc-profile-auto 的讨论

  • TA的每日心情
    开心
    前天 01:10
  • 签到天数: 762 天

    [LV.10]以坛为家III

    3

    主题

    198

    回帖

    0

    VC币

    荣誉会员

    Rank: 14Rank: 14Rank: 14Rank: 14

    积分
    81643
    Starlight 发表于 2023-3-8 02:14:33 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-12-4 12:48
  • 签到天数: 42 天

    [LV.5]常住居民I

    47

    主题

    2757

    回帖

    2020

    VC币

    星辰大海

    Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

    积分
    429800

    崭露头角活跃达人CD!BD!坚持不懈灌水之王日积月累

    孤雨独火 发表于 2023-3-8 02:38:36 | 显示全部楼层
    为什么会存在是否无脑启用icc的问题。。。。
    答案当然是否定的。
    大多数显示器没有出厂可用的对应icc。系统默认的icc只是srgb,一票广色域屏难道直接用错误的icc?这修了个寂寞
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    7 天前
  • 签到天数: 156 天

    [LV.7]常住居民III

    23

    主题

    743

    回帖

    3104

    VC币

    星辰大海

    Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

    积分
    584912
    sommio  楼主| 发表于 2023-3-8 05:19:23 | 显示全部楼层
    本帖最后由 sommio 于 2023-3-8 07:50 编辑
    hsmms 发表于 2023-3-8 01:45
    怎么能以0作为黑位亮度,目前市面上就不存在黑位是0的设备。那么1886一切修正都会基于黑位0进行修正这样对 ...

    我可能理解了,抱歉刚才引用了上古 issue,对讨论造成了混乱
    这是 vo_gpu 的默认 black level(对比度控制),这个值可以通过 icc-force-contrast=<no|0-1000000|inf> 覆盖
    而在 vo_gpu_next 中,如果配置文件没有包含相关信息,将会假设为 1000:1,这被认为是更好的折衷方案,但它目前无法通过 icc-force-contrast 覆盖
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-6-20 16:09
  • 签到天数: 1 天

    [LV.1]初来乍到

    32

    主题

    1182

    回帖

    0

    VC币

    高级会员

    Rank: 4

    积分
    22936
    hsmms 发表于 2023-3-8 13:00:56 | 显示全部楼层
    本帖最后由 hsmms 于 2023-3-8 13:08 编辑
    sommio 发表于 2023-3-8 05:19
    我可能理解了,抱歉刚才引用了上古 issue,对讨论造成了混乱
    这是 vo_gpu 的默认 black level(对比度控制 ...

    我想问一下这问题是否会影响到HDR?

    说真的真的不如把默认的EOTF曲线bt.1886改成gamma 2.2,对于bt.1886这种基于显示设备黑电平的曲线来说无论设置成哪种参数都不适合,尤其是对于电视机用户,Miniled以及OLED用户来说。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-9-26 01:55
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    1

    主题

    71

    回帖

    0

    VC币

    中级会员

    Rank: 3Rank: 3

    积分
    2444
    Jan 发表于 2023-3-8 13:09:10 | 显示全部楼层
    本帖最后由 Jan 于 2023-3-8 13:10 编辑

    Win提供的sRGB和楼主提供的sRGB黑点为零,这时候用BT.1886和用gamma 2.4就是等价的,所以不存在所谓“喜欢BT.1886观感而套用个2.2的gamma”
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    7 天前
  • 签到天数: 156 天

    [LV.7]常住居民III

    23

    主题

    743

    回帖

    3104

    VC币

    星辰大海

    Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

    积分
    584912
    sommio  楼主| 发表于 2023-3-8 20:46:00 | 显示全部楼层
    Jan 发表于 2023-3-8 13:09
    Win提供的sRGB和楼主提供的sRGB黑点为零,这时候用BT.1886和用gamma 2.4就是等价的,所以不存在所谓“喜欢B ...

    感谢大佬费心检查,提供这份配置文件是因为 mpv vo_gpu 的 target-trc=gamma2.2 无法通过 icc-force-contrast 来调整黑点,从而导致始终为 gamma2.4
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    7 天前
  • 签到天数: 156 天

    [LV.7]常住居民III

    23

    主题

    743

    回帖

    3104

    VC币

    星辰大海

    Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

    积分
    584912
    sommio  楼主| 发表于 2023-3-8 22:55:34 | 显示全部楼层
    本帖最后由 sommio 于 2023-3-9 03:28 编辑
    hsmms 发表于 2023-3-8 13:00
    我想问一下这问题是否会影响到HDR?

    说真的真的不如把默认的EOTF曲线bt.1886改成gamma 2.2,对于bt.1886这 ...

    这个问题很纠结,mpv 开发者们想要遵循 de jure,但多数 mpv 用户使用 LCD 屏,且广色域屏制造商提供的 icc profile 中没有 black level,如果遵循 spec 默认值都看不清黑暗场景,这应该有违 bt.1886 的设计目标

    色彩管理上游 LittleCMS 也是,完全不考虑 de facto,导致跟 ColorSync 行为不一致

    然后,又把等效 enable gamma processing 的选项放到了视频滤镜(vf)这个跟 Libavformat 集成复杂无比的地方,因为 bt.1886 不是受欢迎的 TRC,导致社区出现了神奇的 hack 用法:配置 black level 为 0,用 factor 调整到 ~gamma2.2
    1. icc-force-contrast=inf
    2. gamma-factor=1.1
    3. # 2.4/1.1 = 2.18
    复制代码


    至于 target-trc 可以说是最有迷惑性的选项,第一眼看上去觉得它可能等效 enable gamma processing
    实际上的用途是显式指定显示器 gamma,让 mpv 补偿到 vf=format:gamma 的值,播放 YCbCr SDR 内容时,它们实际上是:
    1. target-trc=bt.1886
    2. vf=format:gamma=bt.1886
    复制代码
    互相抵消

    点评

    确实,只是提示弃用  发表于 2023-3-9 00:22
    它只是被标记为 deprecated and might be removed in the future,至少在我的 0.35.1 中仍可用  发表于 2023-3-9 00:07
    vo_gpu 中也已经删除相关代码,建议阅读mpv 0.35.0的发布说明  发表于 2023-3-9 00:01
    它仍在 vo_gpu 中可用  发表于 2023-3-8 23:23
    gamma-factor早就被弃用了  发表于 2023-3-8 23:21
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-6-20 16:09
  • 签到天数: 1 天

    [LV.1]初来乍到

    32

    主题

    1182

    回帖

    0

    VC币

    高级会员

    Rank: 4

    积分
    22936
    hsmms 发表于 2023-3-8 23:54:53 | 显示全部楼层
    sommio 发表于 2023-3-8 22:55
    这个问题很纠结,mpv 开发者们想要遵循 de jure,但多数 mpv 用户使用 LCD 屏,且广色域屏制造商提供的 ic ...

    如果这样那我为什么不直接使用gamma 2.2?
    回复

    使用道具 举报

  • TA的每日心情
    开心
    前天 01:10
  • 签到天数: 762 天

    [LV.10]以坛为家III

    3

    主题

    198

    回帖

    0

    VC币

    荣誉会员

    Rank: 14Rank: 14Rank: 14Rank: 14

    积分
    81643
    Starlight 发表于 2023-3-9 07:22:29 | 显示全部楼层

    如果遵循 spec 默认值都看不清黑暗场景,这应该有违 bt.1886 的设计目标


    我的想法
    bt1886是为了让lcd显示结果接近crt,拥有更高黑位的设备暗部应该被降低才对啊
    实际设备的黑位已经比理想设备高了,再提亮不是偏得更厉害
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    7 天前
  • 签到天数: 156 天

    [LV.7]常住居民III

    23

    主题

    743

    回帖

    3104

    VC币

    星辰大海

    Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

    积分
    584912
    sommio  楼主| 发表于 2023-3-9 08:47:30 | 显示全部楼层
    本帖最后由 sommio 于 2023-3-9 09:28 编辑
    Starlight 发表于 2023-3-9 07:22
    我的想法
    bt1886是为了让lcd显示结果接近crt,拥有更高黑位的设备暗部应该被降低才对啊
    实际设备的黑位 ...


    翻了下标准的看到了 Appendix 1
    The EOTF specified in Annex 1 is considered to be a satisfactory, but not exact, match to the characteristic of an actual CRT. When it is desired to match a CRT, the Lw and LB parameters of the EOTF can be set to the corresponding values of the CRT that are being matched. For moderate black level settings, e.g. 0.1 cd/m2 , setting the LB of the EOTF to 0.1 will give a satisfactory match to the CRT.

    LW: Screen luminance for white, reference setting is LW = 100 cd/m2

    vo_gpu_next 的默认值应该也是  Annex 1 描述的不完全匹配但 satisfactory match 的参考 LW/LB
    但就算 LB 低至 0.01 结果应该也会导致暗部比 gamma2.2 更亮

    仔细想了下,我根本不了解 CRT 特性,还是不要妄论 bt.1886 了
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表