def get_changed_video_codec_settings(self): video_codec_text = self.get_video_codec_value() if video_codec_text == "H264": video_settings = X264() self._change_to_x264_state() elif video_codec_text == "H265": video_settings = X265() self._change_to_x265_state() elif 'NVENC' in video_codec_text: if self.is_widgets_setting_up: video_settings = None else: if video_codec_text == 'NVENC H264': video_settings = H264Nvenc() self.nvenc_handlers.set_h264_state() else: video_settings = HevcNvenc() self.nvenc_handlers.set_hevc_state() self._reset_settings_for_nvenc_handlers() self._change_to_nvenc_state() elif video_codec_text == 'VP9': video_settings = VP9() self._change_to_vp9_state() else: video_settings = None self._change_to_video_copy_state() return video_settings
def test_instantiation(self): """Tests the initial values of the X265 codec.""" x265 = X265() self.assertEqual(x265.codec_name, 'libx265') self.assertEqual(x265.crf, 20.0) self.assertIsNone(x265.qp) self.assertIsNone(x265.bitrate) self.assertEqual(x265.profile, 0) self.assertEqual(x265.preset, 0) self.assertEqual(x265.level, 0) self.assertEqual(x265.tune, 0) self.assertEqual(x265.vbv_maxrate, 2500) self.assertEqual(x265.vbv_bufsize, 2500) self.assertEqual(x265.aq_mode, 0) self.assertEqual(x265.aq_strength, 1.0) self.assertFalse(x265.hevc_aq) self.assertEqual(x265.keyint, 250) self.assertEqual(x265.min_keyint, 0) self.assertEqual(x265.ref, 3) self.assertEqual(x265.bframes, 4) self.assertEqual(x265.b_adapt, 0) self.assertFalse(x265.no_b_pyramid) self.assertFalse(x265.b_intra) self.assertFalse(x265.no_open_gop) self.assertEqual(x265.rc_lookahead, 20) self.assertFalse(x265.no_scenecut) self.assertFalse(x265.no_high_tier) self.assertEqual(x265.psy_rd, 2.0) self.assertEqual(x265.psy_rdoq, 0.0) self.assertEqual(x265.me, 0) self.assertEqual(x265.subme, 2) self.assertFalse(x265.weightb) self.assertFalse(x265.no_weightp) self.assertTupleEqual(x265.deblock, (0, 0)) self.assertFalse(x265.no_deblock) self.assertFalse(x265.no_sao) self.assertFalse(x265.sao_non_deblock) self.assertFalse(x265.limit_sao) self.assertEqual(x265.selective_sao, 0) self.assertEqual(x265.rd, 3) self.assertEqual(x265.rdoq_level, 0) self.assertFalse(x265.rd_refine) self.assertEqual(x265.ctu, 0) self.assertEqual(x265.min_cu_size, 0) self.assertFalse(x265.rect) self.assertFalse(x265.amp) self.assertFalse(x265.wpp) self.assertFalse(x265.pmode) self.assertFalse(x265.pme) self.assertFalse(x265.uhd_bd) self.assertIsNone(x265.encode_pass) self.assertIsNone(x265.stats) self.assertIsNone(x265.get_ffmpeg_advanced_args()['-x265-params'])
def apply_settings(self, ffmpeg): """ Applies settings from the x265 widgets to ffmpeg settings. """ video_settings = X265() video_settings.preset = self.x265_preset_combobox.get_active() video_settings.profile = self.x265_profile_combobox.get_active() video_settings.level = self.x265_level_combobox.get_active() video_settings.tune = self.x265_tune_combobox.get_active() video_settings.aq_mode = self.x265_aq_mode_combobox.get_active() video_settings.b_adapt = self.x265_b_adapt_combobox.get_active() video_settings.me = self.x265_me_combobox.get_active() video_settings.rdoq_level = self.x265_rdoq_level_combobox.get_active() video_settings.ctu = self.x265_max_cu_combobox.get_active() video_settings.min_cu_size = self.x265_min_cu_combobox.get_active() self._apply_rate_control_settings(video_settings) self._apply_advanced_settings(video_settings) ffmpeg.video_settings = video_settings
def test_x265_min_cu_size(self): """Tests the Min-CU Size option values for the x265 codec.""" x265 = X265() self._test_min_cu_size_normal_values(x265) self._test_min_cu_size_abnormal_values(x265)
def test_x265_ref(self): """Tests the Reference Frames option values for the x265 codec.""" x265 = X265() self._test_ref_normal_values(x265) self._test_ref_abnormal_values(x265)
def test_x265_vbv_maxrate(self): """Tests the VBV-Maxrate option values for the x265 codec.""" x265 = X265() self._test_vbv_maxrate_normal_values(x265) self._test_vbv_maxrate_abnormal_values(x265)
def test_x265_no_scenecut(self): """Tests the No Scenecut option values for the x265 codec.""" x265 = X265() self._test_no_scenecut_normal_values(x265) self._test_no_scenecut_abormal_values(x265)
def test_x265_min_keyint(self): """Tests the Min-Keyint option values for the x265 codec.""" x265 = X265() self._test_min_keyint_normal_values(x265) self._test_min_keyint_abnormal_values(x265)
def test_x265_bitrate(self): """Tests the Bitrate option values for the x265 codec.""" x265 = X265() self._test_bitrate_normal_values(x265) self._test_bitrate_abnormal_values(x265)
def test_x265_hevc_aq(self): """Tests the HEVC AQ option values for the x265 codec.""" x265 = X265() self._test_hevc_aq_normal_values(x265) self._test_hevc_aq_abormal_values(x265)
def test_x265_no_b_pyramid(self): """Tests the No B-Pyramid option values for the x265 codec.""" x265 = X265() self._test_no_b_pyramid_normal_values(x265) self._test_no_b_pyramid_abormal_values(x265)
def test_x265_subme(self): """Tests the Sub-Motion Estimation option values for the x265 codec.""" x265 = X265() self._test_subme_normal_values(x265) self._test_subme_abnormal_values(x265)
def test_x265_deblock(self): """Tests the Deblock option values for the x265 codec.""" x265 = X265() self._test_deblock_normal_values(x265) self._test_deblock_abnormal_values(x265)
def test_x265_rd_refine(self): """Tests the Rate Distortion Refine option values for the x265 codec.""" x265 = X265() self._test_rd_refine_normal_values(x265) self._test_rd_refine_abormal_values(x265)
def test_x265_limit_sao(self): """Tests the Limit SAO option values for the x265 codec.""" x265 = X265() self._test_limit_sao_normal_values(x265) self._test_limit_sao_abormal_values(x265)
def test_x265_qp(self): """Tests the QP option values for the x265 codec.""" x265 = X265() self._test_qp_normal_values(x265) self._test_qp_abnormal_values(x265)
def test_x265_preset(self): """Tests the Preset option values for the x265 codec.""" x265 = X265() self._test_preset_normal_values(x265) self._test_preset_abnormal_values(x265)
def test_x265_wpp(self): """Tests the WPP option values for the x265 codec.""" x265 = X265() self._test_wpp_normal_values(x265) self._test_wpp_abormal_values(x265)
def test_x265_profile(self): """Tests the Profile option values for the x265 codec.""" x265 = X265() self._test_profile_normal_values(x265) self._test_profile_abnormal_values(x265)
def test_x265_level(self): """Tests the Level option values for the x265 codec.""" x265 = X265() self._test_level_normal_values(x265) self._test_level_abnormal_values(x265)
def test_x265_sao_non_deblock(self): """Tests the SAO Non-Deblock option values for the x265 codec.""" x265 = X265() self._test_sao_non_deblock_normal_values(x265) self._test_sao_non_deblock_abormal_values(x265)
def test_x265_selective_sao(self): """Tests the Selective SAO option values for the x265 codec.""" x265 = X265() self._test_selective_sao_normal_values(x265) self._test_selective_sao_abormal_values(x265)
def test_x265_tune(self): """Tests the Tune option values for the x265 codec.""" x265 = X265() self._test_tune_normal_values(x265) self._test_tune_abnormal_values(x265)
def test_x265_b_intra(self): """Tests the B-Intra option values for the x265 codec.""" x265 = X265() self._test_b_intra_normal_values(x265) self._test_b_intra_abormal_values(x265)
def test_x265_pmode(self): """Tests the PMode option values for the x265 codec.""" x265 = X265() self._test_pmode_normal_values(x265) self._test_pmode_abormal_values(x265)
def test_x265_weightb(self): """Tests the Weight-B option values for the x265 codec.""" x265 = X265() self._test_weightb_normal_values(x265) self._test_weightb_abormal_values(x265)
def test_x265_psy_rdoq(self): """Tests the Psy-RDOQ option values for the x265 codec.""" x265 = X265() self._test_psy_rdoq_normal_values(x265) self._test_psy_rdoq_abnormal_values(x265)
def test_x265_bframes(self): """Tests the B-Frames option values for the x265 codec.""" x265 = X265() self._test_bframes_normal_values(x265) self._test_bframes_abnormal_values(x265)
def test_x265_rd(self): """Tests the Rate Distortion option values for the x265 codec.""" x265 = X265() self._test_rd_normal_values(x265) self._test_rd_abnormal_values(x265)
def test_x265_aq_strength(self): """Tests the AQ Strength option values for the x265 codec.""" x265 = X265() self._test_aq_strength_normal_values(x265) self._test_aq_strength_abnormal_values(x265)