版面规则
提问时请注意:尽量详细描述操作过程、AVS脚本内容等,最好能写出片名,只贴图有时无法看出问题原因。
提示:发布原创内容请尽量使用附件上传。使用网盘会出现过期失效的问题,请注意。
mrhso
帖子: 32
注册时间: 2016-10-22 17:19

Dither tools 在 PC Range 使用 Bit Shift?

2018-11-10 22:07

O16 mod 一些奇妙深刻的问题还没完,又发现 Dither tools 也发生 EP 问题了。
图片
这是在 PC Range 用了 Bit Shift?
于是 AVS 唯一被认为精度较高的工具也不靠谱了。其实 VS 的 fmtconv 好像也是这回事。https://github.com/EleonoreMizo/fmtconv/issues/10

mrhso
帖子: 32
注册时间: 2016-10-22 17:19

Re: Dither tools 在 PC Range 使用 Bit Shift?

2018-11-10 22:19

所以 Shift 回去然后再 Round 回来?啊啊啊,,,

mrhso
帖子: 32
注册时间: 2016-10-22 17:19

Re: Dither tools 在 PC Range 使用 Bit Shift?

2018-11-11 9:22

代码: 全选

Dither_lut16("x 65536 / 256 * 255 / 65535 *", y=3, u=3, v=3)

代码: 全选

Dither_lut16("x 65535 / 255 * 256 / 65536 *", y=3, u=3, v=3)
这个过程又是有损的,更别说考虑 Chroma 的 0.5-32768-65535.5 范围了……

mrhso
帖子: 32
注册时间: 2016-10-22 17:19

Re: Dither tools 在 PC Range 使用 Bit Shift?

2018-11-11 9:49

仔细分析一下,发现是从 8-bit RGB 输入的时候给用 Bit Shift 转成 16-bit RGB,再转换到 YUV。也就是说,要从一开始就把 8-bit RGB 转到 16-bit RGB,再喂给 Dither。但 TV Range 像 Dither tools 这样把 8-bit RGB Bit Shift 又没问题,……很混乱啊。

mrhso
帖子: 32
注册时间: 2016-10-22 17:19

Re: Dither tools 在 PC Range 使用 Bit Shift?

2018-11-11 14:17

于是 IshisashiAVS 采取全程 16-bit 处理的方式,避免 Dither tools 乱搞。
https://github.com/mrhso/IshisashiWebsi ... hiAVS.avsi
但是,感觉这样效率还是很低啊。

回到 “AviSynth”