lav 是不是 sdr 显示器播放 hdr 电影的时候才有用?

86 天前
 test1199

我 lav+madvr 显示输入 hvc1, hdr 正常

https://img.nga.178.com/attachments/mon_202406/22/9aQk8m-426wZhT3cSsg-ao.jpg

lav+d3d11 硬解显示输入: nv12(12 位) 输出也是 nv12(12 位) , 这是成 8bit 了??

https://img.nga.178.com/attachments/mon_202406/22/9aQk8m-kuiaZhT3cSsg-bq.jpg

用 potplayer 默认的解码器显示输入 hvc1, 输出也正常

那第二种 lav 为什么 10bit 先弄成 8bit 呢, lav 设置参数里边输出格式都打勾了???

我看 lav 主要作用是显示器不支持 hdr 的时候可以 10bit 转成 8bit,然后再给默认渲染器处理效果好一些; 但是如果显示器支持 hdr, 我用默认解码器(我看是 d3d11) , 然后渲染器也选 d3d11 passthrough hdr to display, 这样是不是 lav 用不用都一样了???

https://img.nga.178.com/attachments/mon_202406/22/9aQk8m-5b0ZlT3cSsg-c4.jpg

这个图是显卡 8bit 的时候截的, 12bit hdr 的时候 p010-rgb10a2->b12r12g12a(display) 我显卡为什么只有 12bit 和 8bit, 不应该 10bit 吗?最后一步转成 12bit 会有损耗吗?

621 次点击
所在节点    问与答
3 条回复
cpstar
86 天前
这个 12bit ,这三个截图,也妹有任何显性的数据标识啊。不会是把 nv12 的 12 当作 12bit 了吧?

然后排除 LAV 的情况(我没有用过),用 PotPlayer ,配置 D3D11+H/W ,HDR 上播放 HDR 一切正常,但 SDR 上播放 HDR 一片糊,关掉 H/W ,PotPlayer 则会把 bt2048 映射到 sdr 上,HDR 视频播放就正常了。
test1199
86 天前
@cpstar nv12 是 8bit 啊, 我说的 12bit 是电视上放的时候显卡设置为 12bit, 不好截图, 所以后来远程登陆, 用 8bit 显卡截的图;我的疑问是 lav 为什么自己把 10bit 的 hdr 降到 8bit 了, 第二个图...

这是显卡设置图:
https://img.nga.178.com/attachments/mon_202406/22/9aQk8m-fflvZcT3cSy8-wz.jpg
jim9606
85 天前
我理解 LAV 只管解码不管渲染的,输出 NV12/P010/DXVA ( DXVA/D3D11VA 输出,可能 8/10bit ),你说的 HDR 转 SDR 还有 10 转 8 一般是 Renderer 负责的(MPC/madVR/Build-in D3D11VR),除非 Renderer 不支持 10bit 输入才会由 LAV 做 10 转 8 。
我怀疑是 MPCVR 设置有错,默认应该是 Texture=Auto 8/10bit Integer 的,更新下 MPCVR 或者强制 10bit/16bit float?
另外貌似输出 HDR 的前提是开启系统 HDR ,目前 MPCVR 可以自动开启,可能要全屏。
LAV 具体输出了啥可以看 LAV 自己的托盘图标。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1051734

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX