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

关于RGB Shift

目前修复思路:转换至RGB48Y分平面shift(以G平面为基准),再转回YV24。
# 8bit yuv420 input
nnedi3_resize16(lsb_in=False, matrix="709", output="RGB48Y")
R=Dither_resize16(Width, Height, R_Horizontal_Shift, R_Vertical_Shift, kernel="spline16", U=1, V=1)
G=last
B=Dither_resize16(Width, Height, B_Horizontal_Shift, B_Vertical_Shift, kernel="spline16", U=1, V=1)
Dither_convert_rgb_to_yuv(R.SelectEvery(3,0),G.SelectEvery(3,1), B.SelectEvery(3,2),lsb=True,tv_range=True,output="YV24")

三个平面错位的话,请问如何快速确定shift值?如果同一视频不同场景shift值有所差别,是否可以采用类似chroma shift按chroma bleeding处理的做法?

请问下图是这种情况吗?
source
061757.png
Fussoir
无标题.png
头像
mawen1250
核心会员
核心会员
帖子: 670
注册时间: 2011-07-24 20:33

Re: 关于RGB Shift

shift值的判定用现有的工具我没想到什么好办法,只有不停地调整预览比较。由于涉及到3个平面,以其中一个平面为参照(一般保持G不变),调整R、B的水平、竖直,所以总共4个参数,再加上单个场景判断不一定准,可能要结合多个场景判断,这个过程很费时费力费眼(400%大法也很有必要)。
不停地变的话,如果变动范围很小,倒是可以大致调一个平均的shift值,然后用chroma bleeding的方式处理剩余的shift。
如果变动范围大,分场景的话,最好的办法就是scene filter了(从Fussoir以前压过的东西来看他就是搞scene filter的),只不过这手动工作量过于巨大。
这种情况下也许写一个滤镜还是更加可行的办法,自动寻找使R、G、B平面匹配的shift值。
alexz220
帖子: 115
注册时间: 2012-07-21 17:15

Re: 关于RGB Shift

mawen1250 写了:shift值的判定用现有的工具我没想到什么好办法,只有不停地调整预览比较。由于涉及到3个平面,以其中一个平面为参照(一般保持G不变),调整R、B的水平、竖直,所以总共4个参数,再加上单个场景判断不一定准,可能要结合多个场景判断,这个过程很费时费力费眼(400%大法也很有必要)。
不停地变的话,如果变动范围很小,倒是可以大致调一个平均的shift值,然后用chroma bleeding的方式处理剩余的shift。
如果变动范围大,分场景的话,最好的办法就是scene filter了(从Fussoir以前压过的东西来看他就是搞scene filter的),只不过这手动工作量过于巨大。
这种情况下也许写一个滤镜还是更加可行的办法,自动寻找使R、G、B平面匹配的shift值。
感謝解答~

回到 “AviSynth”