@@ -9,43 +9,47 @@ Download pre-built binaries and model files from [releases](https://github.com/N
9
9
## Usage
10
10
11
11
```
12
- core.w2xnvk.Waifu2x(clip[, noise, scale, model, tile_size, gpu_id, gpu_thread])
12
+ core.w2xnvk.Waifu2x(clip[, noise, scale, model, tile_size, gpu_id, gpu_thread, precision ])
13
13
```
14
14
15
- * clip: input clip. Only 8 -bit RGB is supported.
15
+ * clip: Input clip. Only 32 -bit float RGB is supported.
16
16
17
- * noise: denoise level (int -1/0/1/2/3, defualt=0)
17
+ * noise: Denoise level. (int -1/0/1/2/3, defualt=0)
18
18
* -1 = none
19
19
* 0 = low
20
20
* 1 = medium
21
21
* 2 = high
22
22
* 3 = highest
23
23
24
- * scale: upscale ratio (int 1/2, default=2)
24
+ * scale: Upscale ratio. (int 1/2, default=2)
25
+ * 1 = no scaling, denoise only. upconv_7 doesn't support this mode.
26
+ * 2 = upscale 2x.
25
27
26
- * model: model to use (int 0/1/2, default=0)
28
+ * model: Model to use. (int 0/1/2, default=0)
27
29
* 0 = upconv_7_anime_style_art_rgb
28
30
* 1 = upconv_7_photo
29
- * 2 = cunet (slow , but better quality)
31
+ * 2 = cunet (For 2D artwork. Slow , but better quality. )
30
32
31
- * tile_size: tile size (int >=32, default=180)
33
+ * tile_size: Tile size. Must be divisible by 4. Increasing tile size will take more VRAM. (int >=32, default=180)
32
34
33
- * gpu_id: gpu device to use (int >=0, default=0)
35
+ * gpu_id: GPU device to use. (int >=0, default=0)
34
36
35
- * gpu_thread: number of threads that can simultaneously access GPU (int >=1, default=0 for auto detect)
37
+ * gpu_thread: Number of threads that can simultaneously access GPU. (int >=1, default=0 for auto detect)
38
+
39
+ * precision: Floating-point precision. Single-precision (fp32) is slow but more precise in color. Default is half-precision (fp16). (int 16/32, default=16)
36
40
37
41
## Performance Comparison
38
42
39
43
### AMD graphics card
40
44
41
45
* Ryzen 5 1600X + Radeon RX 580 2048SP
42
- * vapoursynth-waifu2x-ncnn-vulkan: ` core.w2xnvk.Waifu2x(last, noise=0, scale=2, gpu_thread=3 ) `
46
+ * vapoursynth-waifu2x-ncnn-vulkan: ` core.w2xnvk.Waifu2x(last, noise=0, scale=2) `
43
47
* vapoursynth-waifu2x-w2xc: ` core.w2xc.Waifu2x(last, noise=0, scale=2) `
44
48
45
49
| | 540p -> 1080p | 720p -> 2K | 1080p -> 4K |
46
50
| ---------------------------------| ----------------| -------------| -------------|
47
- | vapoursynth-waifu2x-ncnn-vulkan | 3.282 fps | 1.848 fps | 0.822 fps |
48
51
| vapoursynth-waifu2x-w2xc | 0.744 fps | 0.435 fps | 0.199 fps |
52
+ | vapoursynth-waifu2x-ncnn-vulkan | 3.203 fps | 1.788 fps | 0.795 fps |
49
53
50
54
### NVIDIA graphics card
51
55
@@ -55,8 +59,8 @@ core.w2xnvk.Waifu2x(clip[, noise, scale, model, tile_size, gpu_id, gpu_thread])
55
59
56
60
| | 540p -> 1080p | 720p -> 2K | 1080p -> 4K |
57
61
| ---------------------------------| ----------------| -------------| -------------|
58
- | vapoursynth-waifu2x-ncnn-vulkan | 1.759 fps | 1.003 fps | 0.455 fps |
59
62
| vapoursynth-waifu2x-caffe | 1.674 fps | 1.085 fps | 0.477 fps |
63
+ | vapoursynth-waifu2x-ncnn-vulkan | 1.880 fps | 1.034 fps | 0.471 fps |
60
64
61
65
## Build
62
66
@@ -70,26 +74,14 @@ mkdir /tmp/workspace
70
74
# build ncnn
71
75
cd /tmp/workspace
72
76
git clone https://github.com/Tencent/ncnn.git
73
- mkdir ncnn/ build && cd ncnn/ build
77
+ cd ncnn && mkdir build && cd build
74
78
cmake -DCMAKE_INSTALL_PREFIX=./install -DNCNN_VULKAN=ON -DNCNN_OPENMP=OFF ..
75
79
make && make install
76
80
77
- # build waifu2x-ncnn-vulkan
78
- cd /tmp/workspace
79
- git clone https://github.com/Nlzy/waifu2x-ncnn-vulkan.git
80
- mkdir waifu2x-ncnn-vulkan/src/build && cd waifu2x-ncnn-vulkan/src/build
81
- cmake -DCMAKE_INSTALL_PREFIX=./install -Dncnn_DIR=/tmp/workspace/ncnn/build/install/lib/cmake/ncnn ..
82
- make && make install
83
-
84
81
# build vapoursynth-waifu2x-ncnn-vulkan
85
82
cd /tmp/workspace
86
83
git clone https://github.com/Nlzy/vapoursynth-waifu2x-ncnn-vulkan.git
87
- mkdir vapoursynth-waifu2x-ncnn-vulkan/src/build
88
- cd vapoursynth-waifu2x-ncnn-vulkan/src/build
89
- cmake -DCMAKE_INSTALL_PREFIX=./install -Dncnn_DIR=/tmp/workspace/ncnn/build/install/lib/cmake/ncnn -Dw2xnvk_DIR=/tmp/workspace/waifu2x-ncnn-vulkan/src/build/install/lib/w2xnvk ..
84
+ cd vapoursynth-waifu2x-ncnn-vulkan && mkdir build && cd build
85
+ cmake -Dncnn_DIR=/tmp/workspace/ncnn/build/install/lib/cmake/ncnn ..
90
86
make
91
87
```
92
-
93
- ### Windows
94
-
95
- TODO.
0 commit comments