NAVras
帖子: 141
注册时间: 2016-04-24 1:32

Re: mvsfunc-r7

2016-07-02 22:52

vempx 写了:你这非HD的源,就算人妻2x拉成HD了但是色彩并没有变化,这么强行过一次RGB转709不觉得蛋疼么?
之前测试感觉RGB模型比单处理Y的感觉要好...另外我想拉成444的所以感觉单Y不够
另外在rgb下处理,waifu2x会不会补进非601的颜色?709感觉色域广点既然已经转RGB了709所以709损失相对小点 {:cat_3} 正好709符合HD标准...(自己YY的结论求轻喷)

头像
vempx
管理猿
帖子: 146
注册时间: 2010-09-19 20:45

Re: mvsfunc-r7

2016-07-03 1:02

都是插值出来的数据为何要如此纠结 {:doge}
在提问前还请仔细查阅公告帖以及各版置顶帖
相信置顶中也许会有您需要的内容


~My Blog~

chungexcy
帖子: 1
注册时间: 2016-07-05 5:25

Re: mvsfunc-r7

2016-07-05 5:36

NAVras 写了:之前测试感觉RGB模型比单处理Y的感觉要好...另外我想拉成444的所以感觉单Y不够
另外在rgb下处理,waifu2x会不会补进非601的颜色?709感觉色域广点既然已经转RGB了709所以709损失相对小点 {:cat_3} 正好709符合HD标准...(自己YY的结论求轻喷)
转709就行了。RGB颜色空间应该是基于srgb色域的(也就是709),w2x的rgb模型也是用srgb的训练出来的,现在的显示器和电视也是基于srgb/709的,hd视频也是默认709。所以现在播放601也得转化到709,反正都拉到hd了,还不如先转了。

头像
mawen1250
核心会员
核心会员
帖子: 670
注册时间: 2011-07-24 20:33

Re: mvsfunc-r7

2016-07-10 17:33

vempx 写了:你这非HD的源,就算人妻2x拉成HD了但是色彩并没有变化,这么强行过一次RGB转709不觉得蛋疼么?
waifu2x本来就是在RGB下处理的,Y也能但无论是速度还是效果都不推荐,作者也早就停止更新Y model了。
所以转RGB并没有什么问题,如果分辨率变了,顺便做一次matrix转换也是正常的,但是709和601不但是matrix不同,primary也不同,所以按理来说还需要做primary转换(否则就要手动在264/265中标记601的primary)。
PS. 709的primary和sRGB是相同的,但601不是——严格来说601不准确,因为PAL和NTSC分别还有不同的定义。

NAVras
帖子: 141
注册时间: 2016-04-24 1:32

Re: mvsfunc-r7

2016-07-10 20:10

mawen1250 写了: 所以转RGB并没有什么问题,如果分辨率变了,顺便做一次matrix转换也是正常的,但是709和601不但是matrix不同,primary也不同,所以按理来说还需要做primary转换(否则就要手动在264/265中标记601的primary)。
PS. 709的primary和sRGB是相同的,但601不是——严格来说601不准确,因为PAL和NTSC分别还有不同的定义。
也就是说我即使转RGB再转709也要手动改primary 和transfer?
捕获.PNG
捕获.PNG (15.28 KiB) 查看 3252 次
噢的确transfer和primary还是原来的5,需要转换

NAVras
帖子: 141
注册时间: 2016-04-24 1:32

Re: mvsfunc-r7

2016-07-11 20:50

mawen1250 写了:但是709和601不但是matrix不同,primary也不同,所以按理来说还需要做primary转换
mvsfunc不带primary转换的话,,用vs内置(zimg?)例如bicubic来转和fmtconv转有区别的嘛?
另外transfer=5 primaries=5 是pal制式的嘛?(vseditor不认非要去掉才能预览)
{:cat_4} 有点小乱,,c.resize转换又出现预览时unrecognized transfer characteristic的问题,即使删除也没用,而fmtconv在RGB下转换完成后用mvf.ToYUV则transfer和primaries又变回去了(text显示数字5),另外不转YUV的话将Transfer转1(709)rgb图像不正确(变黑)
不管Transfer和primaries的话pipe出来的视频text显示的又变成2了(transfer=2,primaries=2),2是什么...

头像
mawen1250
核心会员
核心会员
帖子: 670
注册时间: 2011-07-24 20:33

Re: mvsfunc-r7

2016-07-12 21:20

关于这些数字分别是什么,去查ITU-T H.265的Table E.3到E.5(在VUI Syntax里)的定义。

2代表Unspecified,未定义的格式,如果是未知的,或者是H.265标准里没有的,通常就是2了。
5是PAL的BT.601 625/BT.470,6是NTSC的BT.601 525/SMPTE 170M

core.resize只支持比较有限的几种primary、transfer、matrix,而fmtc.primary、fmtc.transfer就包含了一大堆的预设,而且还可以自定义。core.resize对frame property有比较严格的检查和依赖,fmtconv则不是,所以用fmtconv时自己定义好输入输出相对应的参数通常就没有问题了,而用core.resize时最好先检查frame property是否正确,有问题的话最好自己手动改一下。

如果用fmtconv的话你要自己处理好顺序,比如输入是YUV420的话,要依次用fmtc.resample转YUV444,fmtc.matrix转R'G'B',fmtc.transfer转linear RGB,fmtc.primary转primary,然后再一路返回去。用core.resize的话只要你设置好几个参数,它内部自动会处理好转换流程。

关于primary=5时vsedit预览报错的问题,你可以看core.resize的文档,它的primary不支持PAL的BT.470,只支持NTSC的SMPTE 170M,所以报错了。我没遇到这种情况所以我也不太清楚,因为按理说预览的流程不会涉及到primary转换(起码vsedit还没有color management这种高大上的东西……),但只要过了core.resize就会强制检查这个primary?你可以试试用mvf.ToRGB(depth=8)预览,如果还是不行的话就手动把primary改成2或者删掉。

NAVras
帖子: 141
注册时间: 2016-04-24 1:32

Re: mvsfunc-r7

2016-07-13 19:25

mawen1250 写了:内容手动略 {:cat_11}
现在才发现,,多谢大大的回复~终于会弄了
另外发现pal的视频即使不过resize单纯索引完了就输出都会报错然后崩掉,但把transfer、primaries那两只删掉就能预览了
ToRGB后预览(另目测是vsedit的问题?)
上次由 NAVras 在 2016-10-02 0:58,总共编辑 4 次。

头像
mawen1250
核心会员
核心会员
帖子: 670
注册时间: 2011-07-24 20:33

Re: mvsfunc-r8

2016-07-31 21:39

更新r8

New Main function VFRSplice()
Preview: Set default dither to "random" to avoid banding
Depth, ToRGB, ToYUV, BM3D: When sample conversion is required but 'depth' is not set, use 16-bit for integer and 32-bit for float
LimitFilter: fixed error when thr>0&brighten_thr<=0 or thr<=0&brighten_thr>0
LimitFilter: fixed brighten_thr is not used when elast<=1
Frame properties related fixes

fch1993
帖子: 213
注册时间: 2012-06-12 11:56

Re: mvsfunc-r8

2016-08-31 1:19

mawen1250 写了:更新r8

New Main function VFRSplice()
Preview: Set default dither to "random" to avoid banding
Depth, ToRGB, ToYUV, BM3D: When sample conversion is required but 'depth' is not set, use 16-bit for integer and 32-bit for float
LimitFilter: fixed error when thr>0&brighten_thr<=0 or thr<=0&brighten_thr>0
LimitFilter: fixed brighten_thr is not used when elast<=1
Frame properties related fixes
希望日后能在ToRGB, ToYUV中增加usez的功能。理由见此。

https://github.com/HomeOfVapourSynthEvo ... c/issues/1

回到 “VapourSynth”