summarylogtreecommitdiffstats
path: root/video2x.yaml
blob: e2c1ae0cd79d7028f4334e5f142b888ed366cb98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
# Name: Video2X Configuration File
# Creator: K4YT3X
# Date Created: October 23, 2018
# Last Modified: September 28, 2020
# Values here are the default values. Change the value here to
#   save the default value permanently.
# Items commented out are parameters irrelevant to this context
#   or parameters handled by Video2X internally.
waifu2x_caffe:
  path: '/usr/bin/waifu2x-caffe-cui'
  tta: 0 # <0|1> 8x slower and slightly high quality
  gpu: 0 # gpu device no
  batch_size: 1 # input batch size
  crop_h: null # input image split size(height)
  crop_w: null # input image split size(width)
  crop_size: 128 # input image split size
  output_depth: 8 # output image chanel depth bit
  output_quality: -1 # output image quality
  process: gpu # <cpu|gpu|cudnn> process mode
  model_dir: null # path to custom model directory (don't append last / )
  #scale_height: 0 # custom scale height (specifying this will overwrite scale_ratio)
  #scale_width: 0 # custom scale width (specifying this will overwrite scale_ratio)
  #scale_ratio: null # custom scale ratio
  noise_level: 3 # <0|1|2|3> noise reduction level
  mode: noise_scale # <noise|scale|noise_scale|auto_scale> image processing mode
  output_extention: null # extension to output image file when output_path is (auto) or input_path is folder
  input_extention_list: null # extension to input image file when input_path is folder
  #output_path: null # path to output image file (when input_path is folder, output_path must be folder)
  #input_path: null # (required) path to input image file
waifu2x_converter_cpp:
  path: '/usr/bin/waifu2x-converter-cpp'
  #list-supported-formats: null # dump currently supported format list
  #list-opencv-formats: null # (deprecated. Use --list-supported-formats) dump opencv supported format list
  #list-processor # dump processor list
  #output-format: null # The format used when running in recursive/folder mode
  png-compression: 5 # Set PNG compression level (0-9), 9 = Max compression (slowest & smallest)
  image-quality: -1 # JPEG & WebP Compression quality (-1-101, 0 being smallest size and lowest quality, -1 being default), use 101 for lossless WebP
  block-size: 0 # block size
  disable-gpu: false # disable GPU
  force-OpenCL: false # force to use OpenCL on Intel Platform
  processor: -1 # set target processor (-1 uses default device)
  jobs: 0 # number of threads launching at the same time
  model-dir: null # path to custom model directory (don't append last / ) default: models_rgb
  #scale-ratio: 2.0 # custom scale ratio
  noise-level: 1 # <0|1|2|3> noise reduction level
  mode: noise-scale # <noise|scale|noise-scale> image processing mode
  log-level: 1 # <0|1|2|3|4> Set log level
  silent: true # Enable silent mode. (same as --log-level 1)
  tta: 0 # Enable Test-Time Augmentation mode. (0 or 1)
  #generate-subdir: 0 # Generate sub folder when recursive directory is enabled.
  #auto-naming: 0 # Add postfix to output name when output path is not specified.
  #recursive-directory: 0 # Search recursively through directories to find more images to process.
  #output: null # path to output image file or directory  (you should use the full path)
  #input: null # (required) path to input image file or directory (you should use the full path)
waifu2x_ncnn_vulkan:
  path: '/usr/bin/waifu2x-ncnn-vulkan'
  v: null # verbose output
  #i: null # input-path: input image path (jpg/png/webp) or directory
  #o: null # output-path: output image path (jpg/png/webp) or directory
  'n': 2 # noise-level: denoise level (-1/0/1/2/3, default=0)
  s: 2 # scale: upscale ratio (1/2, default=2)
  t: 400 # tile-size: tile size (>=32, default=400)
  m: null # model-path: waifu2x model path (default=models-cunet)
  g: 0 # gpu-id: gpu device to use (default=0)
  j: '1:2:2' # thread count for load/proc/save (default=1:2:2) can be 1:2,2,2:2 for multi-gpu
  x: false # enable tta mode
  #f: png # output image format (jpg/png/webp, default=ext/png)
srmd_ncnn_vulkan:
  path: '/usr/bin/srmd-ncnn-vulkan'
  v: null # verbose output
  #i: null # input-path: input image path (jpg/png) or directory
  #o: null # output-path: output image path (png) or directory
  'n': 3 # noise-level: denoise level (-1/0/1/2/3/4/5/6/7/8/9/10, default=3)
  s: 2 # upscale ratio (2/3/4, default=2)
  t: 400 # tile-size: tile size (>=32, default=400)
  m: null # srmd model path (default=models-srmd)
  g: 0 # gpu device to use (default=0)
  j: '1:2:2' # thread count for load/proc/save (default=1:2:2)
  x: false # enable tta mode
  #f: png # output image format (jpg/png/webp, default=ext/png)
realsr_ncnn_vulkan:
  path: '/usr/bin/realsr-ncnn-vulkan'
  v: null # verbose output
  #i: null # input-path: input image path (jpg/png) or directory
  #o: null # output-path: output image path (png) or directory
  s: 4 # upscale ratio (4, default=4)
  t: 0 # tile size (>=32/0=auto, default=0)
  m: /usr/share/realsr-ncnn-vulkan/models-DF2K_JPEG # realsr model path (default=models-DF2K)
  g: 0 # gpu device to use (default=0)
  j: '1:2:2' # thread count for load/proc/save (default=1:2:2)
  x: false # enable tta mode
  #f: png # output image format (jpg/png/webp, default=ext/png)
anime4kcpp:
  path: '/usr/bin/Anime4KCPP_CLI'
  #input: null # File for loading (string [=./pic/p1.png])
  #output: null # File for outputting (string [=output.png])
  passes: 2 # Passes for processing (int [=2])
  pushColorCount: 2 # Limit the number of color pushes (int [=2])
  strengthColor: 0.3 # Strength for pushing color,range 0 to 1,higher for thinner (double [=0.3])
  strengthGradient: 1.0 # Strength for pushing gradient,range 0 to 1,higher for sharper (double [=1])
  zoomFactor: 2.0 # zoom factor for resizing (double [=2])
  threads: 16 # Threads count for video processing (unsigned int [=16])
  fastMode: false # Faster but maybe low quality
  videoMode: false # Video process
  preview: null # Preview image
  preprocessing: false # Enable pre processing
  postprocessing: false # Enable post processing
  preFilters: 4 # Enhancement filter, only working when preProcessing is true,there are 5 options by binary:Median blur=0000001, Mean blur=0000010, CAS Sharpening=0000100, Gaussian blur weak=0001000, Gaussian blur=0010000, Bilateral filter=0100000, Bilateral filter faster=1000000, you can freely combine them, eg: Gaussian blur weak + Bilateral filter = 0001000 | 0100000 = 0101000 = 40(D) (unsigned int [=4])
  postFilters: 40 # Enhancement filter, only working when postProcessing is true,there are 5 options by binary:Median blur=0000001, Mean blur=0000010, CAS Sharpening=0000100, Gaussian blur weak=0001000, Gaussian blur=0010000, Bilateral filter=0100000, Bilateral filter faster=1000000, you can freely combine them, eg: Gaussian blur weak + Bilateral filter = 0001000 | 0100000 = 0101000 = 40(D), so you can put 40 to enable Gaussian blur weak and Bilateral filter, which also is what I recommend for image that < 1080P, 48 for image that >= 1080P, and for performance I recommend to use 72 for video that < 1080P, 80 for video that >=1080P (unsigned int [=40])
  GPUMode: false # Enable GPU acceleration
  CNNMode: false # Enable ACNet
  HDN: false # Enable HDN mode for ACNet
  HDNLevel: 1 # Set HDN level (int [=1])
  listGPUs: null # list GPUs
  platformID: 0 # Specify the platform ID (unsigned int [=0])
  deviceID: 0 # Specify the device ID (unsigned int [=0])
  codec: mp4v # Specify the codec for encoding from mp4v(recommended in Windows), dxva(for Windows), avc1(H264, recommended in Linux), vp09(very slow), hevc(not support in Windowds), av01(not support in Windowds) (string [=mp4v])
  forceFps: 0 # Set output video fps to the specifying number, 0 to disable (float [=0])
  disableProgress: false # disable progress display
  webVideo: null # process the video from URL
  alpha: false # preserve the Alpha channel for transparent image
ffmpeg:
  ffmpeg_path: '/usr/bin'
  intermediate_file_name: 'intermediate.mkv'
  # Step 1: Frame Extraction
  # extract all frames from original input into temporary directory
  extract_frames:
    '-hwaccel': auto # automatically select hardware acceleration method
    '-y': true
    input_options: {} # empty dict, expand if necessary
    output_options:
      '-pix_fmt': rgb24 # extracted frames pixel format
      '-qscale:v': null # output image quality control for JPEG (1-31, 1 being highest)
  # Step 2: Video Assembly
  # assemble all frames back into a video with only a video track
  assemble_video:
    '-hwaccel': auto # automatically select hardware acceleration method
    '-y': true
    input_options:
      '-f': image2 # force image2 format
    output_options:
      '-vcodec': libx264 # video codec
      '-pix_fmt': 'yuv420p' # overwrite default pixel format
      '-crf': 18 # H.264 Constant Rate Factor
      '-b:v': null # target average bitrate
      '-vf': 'pad=ceil(iw/2)*2:ceil(ih/2)*2' # ensure output is divisible by 2, recommended for libx264
      '-tune': 'animation' # encoding tuning film/animation/grain/stillimage/fastdecode/zerolatency/psnr/ssim
      '-preset:v': 'fast'
  # Step 3: Streams Migration
  # migrate audio and subtitle streams from original
  #   video into the upscaled video
  migrate_streams:
    '-hwaccel': auto # automatically select hardware acceleration method
    '-y': true
    input_options: {} # empty dict, expand if necessary
    output_options:
      '-map':
        - '0:v?' # copy video streams
        - '1:a?' # copy audio streams
        - '1:s?' # copy subtitle streams
        - '1:d?' # copy data streams
        - '1:t?' # copy fonts
      '-c': copy # copy codec for all streams
      # '-vf': 'minterpolate=''fps=60''' # minterpolate frame interpolation
      '-map_metadata': 0 # copy known metadata tags
      # '-movflags': 'use_metadata_tags' # copy custom/arbitrary metadata tags
      '-pix_fmt': null
      '-metadata': 'comment=Upscaled by Video2X'
gifski:
  gifski_path: '/usr/bin'
  # output: null # Destination file to write to
  # fps: 20 # Animation frames per second (for PNG frames only) [default: 20]
  fast: false # 3 times faster encoding, but 10% lower quality and bigger file
  quality: 100 # Lower quality may give smaller file
  #width: null # Maximum width
  #height: null # Maximum height (if width is also set)
  once: false # Do not loop the GIF
  nosort: false # Use files exactly in the order given, rather than sorted
  quiet: false # Do not show a progress bar
video2x:
  video2x_cache_directory: "/var/tmp/video2x" # Frames can be very very large in size, so we can't use /tmp # default: %TEMP%\video2x, directory where cache files are stored, will be deleted if preserve_frames is not set to true
  extracted_frame_format: png # png/jpg intermediate file format used for extracted frames during video processing
  output_file_name_format_string: "{original_file_name}_output{extension}" # format string to use for generating output file names
  image_output_extension: .png # image output extension during batch processing
  video_output_extension: .mkv # video output extension during batch processing
  preserve_frames: false # if set to true, the cache directory won't be cleaned upon task completion