噢~原来是这样玩的mawen1250 写了:format的话你用core.register_format()注册,如果要求输入的是id的话那就在后面再加上.id。
或者是vs预定义好的格式就直接用vs.YUV444P16这种。
多谢大大
噢~原来是这样玩的mawen1250 写了:format的话你用core.register_format()注册,如果要求输入的是id的话那就在后面再加上.id。
或者是vs预定义好的格式就直接用vs.YUV444P16这种。
再次请问大大,我现在用 nnrs.nnedi3_resample(src16, csp=vs.YUV444P16) 来拉伸420到444(luma不改变),使用的是nnedi3吗?mawen1250 写了:format的话你用core.register_format()注册,如果要求输入的是id的话那就在后面再加上.id。
或者是vs预定义好的格式就直接用vs.YUV444P16这种。
这里的意思就是你没指定chromak_up的话,就使用nnedi3做chroma的upscale。NAVras 写了:再次请问大大,我现在用 nnrs.nnedi3_resample(src16, csp=vs.YUV444P16) 来拉伸420到444(luma不改变),使用的是nnedi3吗?mawen1250 写了:format的话你用core.register_format()注册,如果要求输入的是id的话那就在后面再加上.id。
或者是vs预定义好的格式就直接用vs.YUV444P16这种。
看到相关的语句是 if chromak_up is None chromak_up = 'nnedi3'和chroma upscaling一节 U/V = nnedi3_resample_kernel(......)
脚本好高级,打开只能看懂一点点所以向大大确定一下
谢大大教导mawen1250 写了:这里的意思就是你没指定chromak_up的话,就使用nnedi3做chroma的upscale。
如果想让nnedi3在32bit下是不是改190行Holy 写了:https://github.com/mawen1250/VapourSynth-scriptlwjkk666 写了:弱弱地问下,有没有vs版的
請問mawen大大mawen1250 写了:可以在x26x的参数里手动指定--colormatrix --transfer --colorprim
至于转换的话:
1. 对于420的源,需要先转到444才能做matrix转换,带来了额外的麻烦(而且如果最后转回420就多了两次resample的损失)。
2. 光是转换matrix是不符合定义要求的,因为BT.601、BT.709、BT.2020定义了一整套颜色标准,而不单单只是matrix,所以要转换的话就应该同时转换matrix、transfer和primary。而AVS里似乎并没有方便的函数可以做到(就我所知只有3D-LUT之类的可以实现,然而使用麻烦而且只支持8bit);VS倒是有zimg的z.ColorSpace可以一步完成所有的转换,fmtconv未来也会加入primary转换的支持。
代码: 全选
shift16 = IsY8 ? output=="Y8" ? merge16.ConvertToY8() : Eval("shift16.ConvertTo"+oCSP).Dither_lut16(Y=2, U=-32768, V=-32768) : shift16