mixed_rescale
DiffMode
Bases: IntEnum
Mode used to calculate the difference between rescale and input clip.
Source code in vodesfunc/rescale_ext/mixed_rescale.py
GET_NATIVE = 3
class-attribute
instance-attribute
Weird headcraft from getnative
MAE = 1
class-attribute
instance-attribute
Mean Absolute Error
MSE = 2
class-attribute
instance-attribute
Mean Squared Error
MixedRB
Bases: vs_object
Implementation of MixedRescale for RescaleBuilder(s)
This is just a stop-gap solution until we (mostly Setsu) can cook up something better.
Example Usage:
upscaler = Waifu2x("trt", 1, fp16=True)
builders = [
RescaleBuilder(src).descale(Bilinear(border_handling=1), 1280, 720),
RescaleBuilder(src).descale(BicubicSharp, 1280, 720),
]
# This will be run on all of the above
builders = [
b.double(upscaler)
.linemask(KirschTCanny, Bilinear, lthr=50 / 255, hthr=150 / 255, inflate_iter=2)
.errormask(expand=2)
.downscale(Hermite(linear=True))
for b in builders
]
mixed = MixedRB(*builders)
rescaled = mixed.get_upscaled()
Source code in vodesfunc/rescale_ext/mixed_rescale.py
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
|
__init__(*targets, diffmode=DiffMode.GET_NATIVE, crop_diff=True)
A naive per-frame diff approach of trying to get the best descale. Credits to Setsu for most of this class.