diff --git a/src/video2x.yaml b/src/video2x.yaml index 5b0cbb4..43358d0 100644 --- a/src/video2x.yaml +++ b/src/video2x.yaml @@ -1,7 +1,7 @@ # Name: Video2X Configuration File # Creator: K4YT3X # Date Created: October 23, 2018 -# Last Modified: May 17, 2020 +# Last Modified: May 23, 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 @@ -123,6 +123,7 @@ ffmpeg: '-crf': 17 # 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 # Step 3: Streams Migration # migrate audio and subtitle streams from original # video into the upscaled video diff --git a/src/video2x_gui.py b/src/video2x_gui.py index fdbf0ef..9991fea 100755 --- a/src/video2x_gui.py +++ b/src/video2x_gui.py @@ -4,7 +4,7 @@ Creator: Video2X GUI Author: K4YT3X Date Created: May 5, 2020 -Last Modified: May 22, 2020 +Last Modified: May 23, 2020 """ # local imports @@ -32,7 +32,7 @@ from PyQt5.QtGui import * from PyQt5.QtWidgets import * import magic -GUI_VERSION = '2.3.1' +GUI_VERSION = '2.4.0' LEGAL_INFO = f'''Video2X GUI Version: {GUI_VERSION}\\ Upscaler Version: {UPSCALER_VERSION}\\ @@ -383,6 +383,7 @@ class Video2XMainWindow(QMainWindow): self.ffmpeg_assemble_video_output_options_video_codec_line_edit = self.findChild(QLineEdit, 'ffmpegAssembleVideoOutputOptionsVideoCodecLineEdit') self.ffmpeg_assemble_video_output_options_pixel_format_line_edit = self.findChild(QLineEdit, 'ffmpegAssembleVideoOutputOptionsPixelFormatLineEdit') self.ffmpeg_assemble_video_output_options_crf_spin_box = self.findChild(QSpinBox, 'ffmpegAssembleVideoOutputOptionsCrfSpinBox') + self.ffmpeg_assemble_video_output_options_tune_combo_box = self.findChild(QComboBox, 'ffmpegAssembleVideoOutputOptionsTuneComboBox') self.ffmpeg_assemble_video_output_options_bitrate_line_edit = self.findChild(QLineEdit, 'ffmpegAssembleVideoOutputOptionsBitrateLineEdit') self.ffmpeg_assemble_video_output_options_ensure_divisible_check_box = self.findChild(QCheckBox, 'ffmpegAssembleVideoOutputOptionsEnsureDivisibleCheckBox') self.ffmpeg_assemble_video_hardware_acceleration_check_box = self.findChild(QCheckBox, 'ffmpegAssembleVideoHardwareAccelerationCheckBox') @@ -530,6 +531,7 @@ class Video2XMainWindow(QMainWindow): self.ffmpeg_assemble_video_output_options_video_codec_line_edit.setText(settings['output_options']['-vcodec']) self.ffmpeg_assemble_video_output_options_pixel_format_line_edit.setText(settings['output_options']['-pix_fmt']) self.ffmpeg_assemble_video_output_options_crf_spin_box.setValue(settings['output_options']['-crf']) + self.ffmpeg_assemble_video_output_options_tune_combo_box.setCurrentText(settings['output_options']['-tune']) self.ffmpeg_assemble_video_output_options_bitrate_line_edit.setText(settings['output_options']['-b:v']) # migrate streams @@ -629,6 +631,7 @@ class Video2XMainWindow(QMainWindow): self.config['ffmpeg']['assemble_video']['output_options']['-vcodec'] = self.ffmpeg_assemble_video_output_options_video_codec_line_edit.text() self.config['ffmpeg']['assemble_video']['output_options']['-pix_fmt'] = self.ffmpeg_assemble_video_output_options_pixel_format_line_edit.text() self.config['ffmpeg']['assemble_video']['output_options']['-crf'] = self.ffmpeg_assemble_video_output_options_crf_spin_box.value() + self.config['ffmpeg']['assemble_video']['output_options']['-tune'] = self.ffmpeg_assemble_video_output_options_tune_combo_box.currentText() if self.ffmpeg_assemble_video_output_options_bitrate_line_edit.text() != '': self.config['ffmpeg']['assemble_video']['output_options']['-b:v'] = self.ffmpeg_assemble_video_output_options_bitrate_line_edit.text() else: diff --git a/src/video2x_gui.pyproject.user b/src/video2x_gui.pyproject.user index 81ed300..1ce5915 100644 --- a/src/video2x_gui.pyproject.user +++ b/src/video2x_gui.pyproject.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/src/video2x_gui.ui b/src/video2x_gui.ui index 83f7b3e..c5fdd3f 100644 --- a/src/video2x_gui.ui +++ b/src/video2x_gui.ui @@ -1707,7 +1707,7 @@ - 0 + 2 @@ -1929,7 +1929,7 @@ - yuv444p10le + yuv420p @@ -1956,6 +1956,64 @@ + + + + + + H.264/H.265 Tune (-tune) + + + + + + + <html><head/><body><p>- film (x264 only): use for high quality movie content; lowers deblocking</p><p>- animation (x264 only): good for cartoons; uses higher deblocking and more reference frames</p><p>- grain: preserves the grain structure in old, grainy film material</p><p>- stillimage: (x264 only) good for slideshow-like content</p><p>- fastdecode: allows faster decoding by disabling certain filters</p><p>- zerolatency: good for fast encoding and low-latency streaming</p><p>- psnr: ignore this as it is only used for codec development</p><p>- ssim: ignore this as it is only used for codec development </p></body></html> + + + + animation + + + + + film + + + + + grain + + + + + stillimage + + + + + fastdecode + + + + + zerolatency + + + + + psnr + + + + + ssim + + + + + +