Merge pull request #389 from jitsuCM/arr_fix

Quick fix for special case no-upscale 1.0 upscale
This commit is contained in:
K4YT3X 2020-10-26 22:09:04 +00:00 committed by GitHub
commit 43dbb134b6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -625,29 +625,33 @@ class Upscaler:
remaining_scaling_ratio = math.ceil(output_scale) remaining_scaling_ratio = math.ceil(output_scale)
self.scaling_jobs = [] self.scaling_jobs = []
while remaining_scaling_ratio > 1: # if the scaling ratio is 1.0
for ratio in supported_scaling_ratios: # apply the smallest scaling ratio available
if ratio >= remaining_scaling_ratio: if remaining_scaling_ratio == 1:
self.scaling_jobs.append(ratio) self.scaling_jobs.append(supported_scaling_ratios[0])
remaining_scaling_ratio /= ratio else:
break while remaining_scaling_ratio > 1:
for ratio in supported_scaling_ratios:
else: if ratio >= remaining_scaling_ratio:
self.scaling_jobs.append(ratio)
found = False remaining_scaling_ratio /= ratio
for i in supported_scaling_ratios:
for j in supported_scaling_ratios:
if i * j >= remaining_scaling_ratio:
self.scaling_jobs.extend([i, j])
remaining_scaling_ratio /= i * j
found = True
break
if found is True:
break break
if found is False: else:
self.scaling_jobs.append(supported_scaling_ratios[-1]) found = False
remaining_scaling_ratio /= supported_scaling_ratios[-1] for i in supported_scaling_ratios:
for j in supported_scaling_ratios:
if i * j >= remaining_scaling_ratio:
self.scaling_jobs.extend([i, j])
remaining_scaling_ratio /= i * j
found = True
break
if found is True:
break
if found is False:
self.scaling_jobs.append(supported_scaling_ratios[-1])
remaining_scaling_ratio /= supported_scaling_ratios[-1]
else: else:
self.scaling_jobs = [output_scale] self.scaling_jobs = [output_scale]