mirror of
				https://github.com/k4yt3x/video2x.git
				synced 2025-10-31 21:00:58 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env python3
 | |
| # -*- coding: utf-8 -*-
 | |
| """
 | |
| Name: FFMPEG Class
 | |
| Author: K4YT3X
 | |
| Date Created: Feb 24, 2018
 | |
| Last Modified: October 22, 2018
 | |
| 
 | |
| Description: This class controls waifu2x
 | |
| engine
 | |
| 
 | |
| Version 2.0.2
 | |
| """
 | |
| from avalon_framework import Avalon
 | |
| import subprocess
 | |
| import threading
 | |
| 
 | |
| 
 | |
| class Waifu2x:
 | |
|     """This class communicates with waifu2x cui engine
 | |
| 
 | |
|     An object will be created for this class, containing information
 | |
|     about the binary address and the processing method. When being called
 | |
|     by the main program, other detailed information will be passed to
 | |
|     the upscale function.
 | |
|     """
 | |
| 
 | |
|     def __init__(self, waifu2x_path, method, model_type):
 | |
|         self.waifu2x_path = waifu2x_path
 | |
|         self.method = method
 | |
|         self.model_type = model_type
 | |
| 
 | |
|     def upscale(self, folderin, folderout, width, height):
 | |
|             """This is the core function for WAIFU2X class
 | |
| 
 | |
|             Arguments:
 | |
|                 folderin {string} -- source folder path
 | |
|                 folderout {string} -- output folder path
 | |
|                 width {int} -- output video width
 | |
|                 height {int} -- output video height
 | |
|             """
 | |
|             Avalon.debug_info('[upscaler] Thread {} started'.format(threading.current_thread().name))
 | |
|             execute = '{} -p {} -I png -i {} -e png -o {} -w {} -h {} -n 3 -m noise_scale -y {}'.format(
 | |
|                 self.waifu2x_path, self.method, folderin, folderout, width, height, self.model_type)
 | |
|             subprocess.call(execute)
 | |
|             Avalon.debug_info('[upscaler] Thread {} exiting'.format(threading.current_thread().name))
 |