Home

Awesome

Getnative

Find the native resolution(s) of upscaled material (mostly anime)

Usage

Start by executing:

$ getnative [--args] inputFile

If getnative could not be found, try executing this:

# Linux
$ python -m getnative [--args] inputFile

# Windows
$ py -3 -m getnative [--args] inputFile

or

Start by executing:

$ python -m getnative [--args] inputFile

That's it.

Requirements

To run this script you will need:

Installation

After installing the above prerequisites, install the project via:

$ pip install getnative

or

Recommended Windows Installation

Install these programs from their websites:

Once Vapoursynth is installed:

vsrepo.py install descale
vsrepo.py install ffms2
vsrepo.py install lsmas

Install getnative (and Python dependencies):

pip install getnative

Example Output

Input Command:

$ getnative -k bicubic -b 0.33 -c 0.33 -dir "../../Downloads" "../../Downloads/unknown.png"

Terminal Output:

Using imwri as source filter

500/500

Output Path: /Users/infi/Downloads/results

Bicubic b 0.33 c 0.33 AR: 1.78 Steps: 1
Native resolution(s) (best guess): 873p

done in 13.56s

Output Graph:

alt text

Output TXT (summary):

 868		 | 0.0000863251		 | 0.93
 869		 | 0.0000828592		 | 1.04
 870		 | 0.0000734709		 | 1.13
 871		 | 0.0000555885		 | 1.32
 872		 | 0.0000596791		 | 0.93
 873		 | 0.0000011579		 | 51.54
 874		 | 0.0000385670		 | 0.03
 875		 | 0.0000433674		 | 0.89
 876		 | 0.0000548476		 | 0.79
 877		 | 0.0000614557		 | 0.89
 878		 | 0.0000740702		 | 0.83

Args

PropertyDescriptionDefault valueType
frameSpecify a frame for the analysis.num_frames//3Int
kernelResize kernel to be usedbicubicString
bicubic-bB parameter of bicubic resize1/3Float
bicubic-cC parameter of bicubic resize1/3Float
lanczos-tapsTaps parameter of lanczos resize3Int
aspect-ratioForce aspect ratio. Only useful for anamorphic inputw/hFloat
min-heightMinimum height to consider500Int
max-heightMaximum height to consider1000Int
is-imageForce image inputFalseAction
generate-imagesSave detail mask as pngFalseAction
plot-scalingScaling of the y axis. Can be "linear" or "log"logString
plot-formatFormat of the output image. Specify multiple formats separated by commas. Can be svg, png, tif(f), and moresvgString
show-plot-guiShow an interactive plot gui window.FalseAction
no-saveDo not save files to disk.FalseAction
steppingThis changes the way getnative will handle resolutions. Example steps=3 [500p, 503p, 506p ...]1Int
output-dirSets the path of the output dir where you want all results to be saved. (/results will always be added as last folder)(CWD)/resultsString

CLI Args

PropertyDescriptionDefault valueType
helpAutomatically render the usage information when running -h or --helpFalseAction
Absolute or relative path to the input fileRequiredString
modeChoose a predefined mode ["bilinear", "bicubic", "bl-bc", "all"]NoneString
useUse specified source filter (e.g. "lsmas.LWLibavSource")NoneString

Warning

This script's success rate is far from perfect. If possible, do multiple tests on different frames from the same source. Bright scenes generally yield the most accurate results. Graphs tend to have multiple notches, so the script's assumed resolution may be incorrect. Also, due to the current implementation of the autoguess, it is not possible for the script to automatically recognize 1080p productions. Use your eyes or anibin if necessary.

Thanks

BluBb_mADe, kageru, FichteFoll, stux!, LittlePox

Help?

Join https://discord.gg/UERrfucRFD (Ask in #encode-autism for help)