Пример #1
0
        public FFV1(Massive mass, VideoEncoding VideoEncWindow, MainWindow parent)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.p = parent;
            this.root_window = VideoEncWindow;

            //прогружаем colorspace
            combo_color.Items.Add("YV12");
            combo_color.Items.Add("YUY2");
            combo_color.Items.Add("RGB32");
            combo_color.Items.Add("YUV410P");
            combo_color.Items.Add("YUV411P");
            combo_color.Items.Add("YUV444P");

            //codertype
            combo_codertype.Items.Add("VLC");
            combo_codertype.Items.Add("AC");

            //context model
            combo_contextmodel.Items.Add("Small");
            combo_contextmodel.Items.Add("Large");

            LoadFromProfile();
            SetToolTips();
        }
Пример #2
0
        public FFHUFF(Massive mass, VideoEncoding VideoEncWindow, MainWindow parent)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.p = parent;
            this.root_window = VideoEncWindow;

            //прогружаем fourcc
            combo_fourcc.Items.Add("HFYU");
            combo_fourcc.Items.Add("FFVH");

            //прогружаем colorspace
            combo_color.Items.Add("YV12");
            combo_color.Items.Add("YUY2");
            combo_color.Items.Add("RGB32");

            //предиктор
            combo_predictor.Items.Add("Left");
            combo_predictor.Items.Add("Plane");
            combo_predictor.Items.Add("Median");

            LoadFromProfile();
            SetToolTips();
        }
Пример #3
0
        public FMJPEG(Massive mass, VideoEncoding VideoEncWindow, MainWindow parent)
        {
            this.InitializeComponent();

            this.num_bitrate.ValueChanged      += new RoutedPropertyChangedEventHandler <decimal>(num_bitrate_ValueChanged);
            this.num_bittolerance.ValueChanged += new RoutedPropertyChangedEventHandler <decimal>(num_bittolerance_ValueChanged);
            this.num_buffsize.ValueChanged     += new RoutedPropertyChangedEventHandler <decimal>(num_buffsize_ValueChanged);
            this.num_gopsize.ValueChanged      += new RoutedPropertyChangedEventHandler <decimal>(num_gopsize_ValueChanged);
            this.num_maxbitrate.ValueChanged   += new RoutedPropertyChangedEventHandler <decimal>(num_maxbitrate_ValueChanged);
            this.num_minbitrate.ValueChanged   += new RoutedPropertyChangedEventHandler <decimal>(num_minbitrate_ValueChanged);

            this.m           = mass.Clone();
            this.p           = parent;
            this.root_window = VideoEncWindow;

            combo_mode.Items.Add("1-Pass Bitrate");
            //combo_mode.Items.Add("2-Pass Bitrate");
            //combo_mode.Items.Add("3-Pass Bitrate");
            combo_mode.Items.Add("Constant Quality");
            //combo_mode.Items.Add("2-Pass Quality");
            combo_mode.Items.Add("1-Pass Size");
            //combo_mode.Items.Add("3-Pass Size");

            LoadFromProfile();
        }
Пример #4
0
        public FFHUFF(Massive mass, VideoEncoding VideoEncWindow, MainWindow parent)
        {
            this.InitializeComponent();

            this.m           = mass.Clone();
            this.p           = parent;
            this.root_window = VideoEncWindow;

            //прогружаем fourcc
            combo_fourcc.Items.Add("HFYU");
            combo_fourcc.Items.Add("FFVH");

            //прогружаем colorspace
            combo_color.Items.Add("YV12");
            combo_color.Items.Add("YUY2");
            combo_color.Items.Add("RGB32");

            //предиктор
            combo_predictor.Items.Add("Left");
            combo_predictor.Items.Add("Plane");
            combo_predictor.Items.Add("Median");

            LoadFromProfile();
            SetToolTips();
        }
Пример #5
0
        public FFV1(Massive mass, VideoEncoding VideoEncWindow, MainWindow parent)
        {
            this.InitializeComponent();

            this.m           = mass.Clone();
            this.p           = parent;
            this.root_window = VideoEncWindow;

            //прогружаем colorspace
            combo_color.Items.Add("YV12");
            combo_color.Items.Add("YUY2");
            combo_color.Items.Add("RGB32");
            combo_color.Items.Add("YUV410P");
            combo_color.Items.Add("YUV411P");
            combo_color.Items.Add("YUV444P");

            //codertype
            combo_codertype.Items.Add("VLC");
            combo_codertype.Items.Add("AC");

            //context model
            combo_contextmodel.Items.Add("Small");
            combo_contextmodel.Items.Add("Large");

            LoadFromProfile();
            SetToolTips();
        }
Пример #6
0
        public FDV(Massive mass, VideoEncoding VideoEncWindow, MainWindow parent)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.p = parent;
            this.root_window = VideoEncWindow;

            //прогружаем fourcc
            combo_fourcc.Items.Add("dvsd");
            combo_fourcc.Items.Add("DVSD");
            combo_fourcc.Items.Add("dv25");
            combo_fourcc.Items.Add("DV25");
            combo_fourcc.Items.Add("dv50");
            combo_fourcc.Items.Add("DV50");

            //прогружаем пресеты
            combo_preset.Items.Add("DVCAM");
            combo_preset.Items.Add("DVCPRO25");
            combo_preset.Items.Add("DVCPRO50");

            LoadFromProfile();
            SetToolTips();
        }
Пример #7
0
        public FDV(Massive mass, VideoEncoding VideoEncWindow, MainWindow parent)
        {
            this.InitializeComponent();

            this.m           = mass.Clone();
            this.p           = parent;
            this.root_window = VideoEncWindow;

            //прогружаем fourcc
            combo_fourcc.Items.Add("dvsd");
            combo_fourcc.Items.Add("DVSD");
            combo_fourcc.Items.Add("dv25");
            combo_fourcc.Items.Add("DV25");
            combo_fourcc.Items.Add("dv50");
            combo_fourcc.Items.Add("DV50");

            //прогружаем пресеты
            combo_preset.Items.Add("DVCAM");
            combo_preset.Items.Add("DVCPRO25");
            combo_preset.Items.Add("DVCPRO50");

            LoadFromProfile();
            SetToolTips();
        }
Пример #8
0
        public x264(Massive mass, VideoEncoding VideoEncWindow, MainWindow parent)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = VideoEncWindow;
            this.p = parent;

            //Mode
            combo_mode.Items.Add("1-Pass Bitrate");
            combo_mode.Items.Add("2-Pass Bitrate");
            combo_mode.Items.Add("3-Pass Bitrate");
            combo_mode.Items.Add("Constant Quality");
            combo_mode.Items.Add("Constant Quantizer");
            combo_mode.Items.Add("2-Pass Quality");
            combo_mode.Items.Add("3-Pass Quality");
            combo_mode.Items.Add("2-Pass Size");
            combo_mode.Items.Add("3-Pass Size");

            //AVC profile
            combo_avc_profile.Items.Add(new ComboBoxItem { Content = "Auto" });
            combo_avc_profile.Items.Add("Baseline Profile");
            combo_avc_profile.Items.Add("Main Profile");
            combo_avc_profile.Items.Add("High Profile");
            combo_avc_profile.Items.Add("High 10 Profile");

            //AVC level
            combo_level.Items.Add("Unrestricted");
            combo_level.Items.Add("1.0");
            combo_level.Items.Add("1.1");
            combo_level.Items.Add("1.2");
            combo_level.Items.Add("1.3");
            combo_level.Items.Add("2.0");
            combo_level.Items.Add("2.1");
            combo_level.Items.Add("2.2");
            combo_level.Items.Add("3.0");
            combo_level.Items.Add("3.1");
            combo_level.Items.Add("3.2");
            combo_level.Items.Add("4.0");
            combo_level.Items.Add("4.1");
            combo_level.Items.Add("4.2");
            combo_level.Items.Add("5.0");
            combo_level.Items.Add("5.1");
            combo_level.Items.Add("5.2");

            //Tune
            combo_tune.Items.Add("None");
            combo_tune.Items.Add("Film");
            combo_tune.Items.Add("Animation");
            combo_tune.Items.Add("Grain");
            combo_tune.Items.Add("Still Image");
            combo_tune.Items.Add("PSNR");
            combo_tune.Items.Add("SSIM");
            combo_tune.Items.Add("Fast Decode");

            //Adaptive Quantization
            for (double n = 0.1; n <= 2.1; n += 0.1)
                combo_adapt_quant.Items.Add(Calculate.ConvertDoubleToPointString(n, 1));

            combo_adapt_quant_mode.Items.Add("None");
            combo_adapt_quant_mode.Items.Add("VAQ");
            combo_adapt_quant_mode.Items.Add("A-VAQ");

            //прогружаем деблокинг
            for (int n = -6; n <= 6; n++)
            {
                combo_dstrength.Items.Add(n);
                combo_dthreshold.Items.Add(n);
            }

            //Прописываем subme
            combo_subme.Items.Add("0 - Fullpel only");
            combo_subme.Items.Add("1 - QPel SAD");
            combo_subme.Items.Add("2 - QPel SATD");
            combo_subme.Items.Add("3 - HPel on MB then QPel");
            combo_subme.Items.Add("4 - Always QPel");
            combo_subme.Items.Add("5 - QPel & Bidir ME");
            combo_subme.Items.Add("6 - RD on I/P frames");
            combo_subme.Items.Add("7 - RD on all frames");
            combo_subme.Items.Add("8 - RD refinement on I/P frames");
            combo_subme.Items.Add("9 - RD refinement on all frames");
            combo_subme.Items.Add("10 - QP-RD");
            combo_subme.Items.Add("11 - Full RD");

            //прописываем me алгоритм
            combo_me.Items.Add("Diamond");
            combo_me.Items.Add("Hexagon");
            combo_me.Items.Add("Multi Hexagon");
            combo_me.Items.Add("Exhaustive");
            combo_me.Items.Add("SATD Exhaustive");

            //прописываем me range
            for (int n = 4; n <= 64; n++)
                combo_merange.Items.Add(n);

            //B фреймы
            for (int n = 0; n <= 16; n++)
                combo_bframes.Items.Add(n);

            //режим B фреймов
            combo_bframe_mode.Items.Add("Disabled");
            combo_bframe_mode.Items.Add("Spatial");
            combo_bframe_mode.Items.Add("Temporal");
            combo_bframe_mode.Items.Add("Auto");

            //trellis
            combo_trellis.Items.Add("0 - Disabled");
            combo_trellis.Items.Add("1 - Final MB");
            combo_trellis.Items.Add("2 - Always");

            //refernce frames
            for (int n = 1; n <= 16; n++)
                combo_ref.Items.Add(n);

            combo_open_gop.Items.Add("No");
            combo_open_gop.Items.Add("Yes");

            //Кол-во потоков для lookahead
            combo_lookahead_threads.Items.Add("Auto");
            for (int n = 1; n <= 10; n++)
                combo_lookahead_threads.Items.Add(Convert.ToString(n));

            //Кол-во потоков для x264-го
            combo_threads_count.Items.Add("Auto");
            combo_threads_count.Items.Add("1");
            combo_threads_count.Items.Add("1+1"); //+ --thread-input
            for (int n = 2; n <= 32; n++)
                combo_threads_count.Items.Add(Convert.ToString(n));

            //-b-adapt
            combo_badapt_mode.Items.Add("Disabled");
            combo_badapt_mode.Items.Add("Fast");
            combo_badapt_mode.Items.Add("Optimal");

            //--b-pyramid
            combo_bpyramid_mode.Items.Add("None");
            combo_bpyramid_mode.Items.Add("Strict");
            combo_bpyramid_mode.Items.Add("Normal");

            //--weightp
            combo_weightp_mode.Items.Add("Disabled");
            combo_weightp_mode.Items.Add("Blind offset");
            combo_weightp_mode.Items.Add("Smart analysis");

            combo_nal_hrd.Items.Add("None");
            combo_nal_hrd.Items.Add("VBR");
            combo_nal_hrd.Items.Add("CBR");

            combo_range_in.Items.Add("Auto");
            combo_range_in.Items.Add("TV");
            combo_range_in.Items.Add("PC");

            combo_range_out.Items.Add("Auto");
            combo_range_out.Items.Add("TV");
            combo_range_out.Items.Add("PC");

            combo_colorprim.Items.Add("Undefined");
            combo_colorprim.Items.Add("bt709");
            combo_colorprim.Items.Add("bt470m");
            combo_colorprim.Items.Add("bt470bg");
            combo_colorprim.Items.Add("smpte170m");
            combo_colorprim.Items.Add("smpte240m");
            combo_colorprim.Items.Add("film");

            combo_transfer.Items.Add("Undefined");
            combo_transfer.Items.Add("bt709");
            combo_transfer.Items.Add("bt470m");
            combo_transfer.Items.Add("bt470bg");
            combo_transfer.Items.Add("linear");
            combo_transfer.Items.Add("log100");
            combo_transfer.Items.Add("log316");
            combo_transfer.Items.Add("smpte170m");
            combo_transfer.Items.Add("smpte240m");

            combo_colormatrix.Items.Add("Undefined");
            combo_colormatrix.Items.Add("bt709");
            combo_colormatrix.Items.Add("fcc");
            combo_colormatrix.Items.Add("bt470bg");
            combo_colormatrix.Items.Add("smpte170m");
            combo_colormatrix.Items.Add("smpte240m");
            combo_colormatrix.Items.Add("GBR");
            combo_colormatrix.Items.Add("YCgCo");

            combo_colorspace.Items.Add("I420");
            combo_colorspace.Items.Add("I422");
            combo_colorspace.Items.Add("I444");
            combo_colorspace.Items.Add("RGB");

            text_mode.Content = Languages.Translate("Encoding mode") + ":";
            Apply_CLI.Content = Languages.Translate("Apply");
            Reset_CLI.Content = Languages.Translate("Reset");
            x264_help.Content = Languages.Translate("Help");
            Reset_CLI.ToolTip = "Reset to last good CLI";
            x264_help.ToolTip = "Show x264.exe --fullhelp screen";

            LoadFromProfile();
        }
Пример #9
0
        public FMPEG4(Massive mass, VideoEncoding VideoEncWindow, MainWindow parent)
        {
            this.InitializeComponent();

            this.num_bitrate.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_bitrate_ValueChanged);
            this.num_bittolerance.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_bittolerance_ValueChanged);
            this.num_buffsize.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_buffsize_ValueChanged);
            this.num_gopsize.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_gopsize_ValueChanged);
            this.num_maxbitrate.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_maxbitrate_ValueChanged);
            this.num_minbitrate.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_minbitrate_ValueChanged);

            this.m = mass.Clone();
            this.p = parent;
            this.root_window = VideoEncWindow;

            combo_mode.Items.Add("1-Pass Bitrate");
            combo_mode.Items.Add("2-Pass Bitrate");
            //combo_mode.Items.Add("3-Pass Bitrate");
            combo_mode.Items.Add("Constant Quality");
            combo_mode.Items.Add("2-Pass Quality");
            combo_mode.Items.Add("2-Pass Size");
            //combo_mode.Items.Add("3-Pass Size");

            //Прописываем ME метод
            #region
            //(me_method is only allowed to be set to zero and epzs; for hex,umh,full and others see dia_size)
            //http://forum.doom9.org/showthread.php?t=157282
            //log, phods, and x1 don't exist. -dia_size 1040 means “exhaustive search of radius 16″, or in x264, –me esa –merange 16
            /*motion_estimation_template.c  (0 2 4 5 514 1040 1285)

            if(c->dia_size==-1)        funny_diamond_search
            else if(c->dia_size<-1)    sab_diamond_search
            else if(c->dia_size<2)     small_diamond_search
            else if(c->dia_size>1024)  full_search
            else if(c->dia_size>768)   umh_search
            else if(c->dia_size>512)   hex_search
            else if(c->dia_size>256)   l2s_dia_search
            else                       var_diamond_search
             */
            /*
             * -x..-2     sab_diamond_search
             * -1         funny_diamond_search
             * 0..1       small_diamond_search
             * 2..256     var_diamond_search
             * 257..512   l2s_dia_search
             * 513..768   hex_search
             * 769..1024  umh_search
             * 1025..     full_search
             *
             * 0    5s  11.08
             * 1    5s  11.08
             * 2-   5s  10.97
             * 3    6s  10.90
             * 4    7s  10.89
             * 5    8s  10.86 MAP
             * 10  17s  10.80
             * 15  33s  10.75
             * 256-доооооолго
             * 257  5s  10.97
             * 258  6s  10.88
             * 260  7s  10.83
             * 261  7s  10.81 MAP
             * -2   6s  10.98
             * -4   6s  10.91
             * -5   7s  10.90
             */
            #endregion
            combo_me_method.Items.Add("Small"); //0..1
            combo_me_method.Items.Add("Sab"); //-x..-2
            combo_me_method.Items.Add("Funny"); //-1
            combo_me_method.Items.Add("Var"); //2..256
            combo_me_method.Items.Add("L2s"); //257..512
            combo_me_method.Items.Add("HEX"); //513..768
            combo_me_method.Items.Add("UMH"); //769..1024
            combo_me_method.Items.Add("Full"); //1025..x

            //прописываем cmp
            combo_cmp.Items.Add("SAD");
            combo_cmp.Items.Add("SSE");
            combo_cmp.Items.Add("SATD");
            combo_cmp.Items.Add("DCT");
            combo_cmp.Items.Add("PSNR");
            combo_cmp.Items.Add("BIT");
            combo_cmp.Items.Add("RD");
            combo_cmp.Items.Add("ZERO");
            combo_cmp.Items.Add("VSAD");
            combo_cmp.Items.Add("VSSE");
            combo_cmp.Items.Add("NSSE");

            //прогружаем матрицы квантизации
            combo_qmatrix.Items.Add("H263");
            foreach (string matrix in PresetLoader.CustomMatrixes(MatrixTypes.TXT))
                combo_qmatrix.Items.Add(matrix);

            //прогружаем fourcc
            combo_fourcc.Items.Add("");
            combo_fourcc.Items.Add("Default");
            combo_fourcc.Items.Add("XVID");
            combo_fourcc.Items.Add("FFDS");
            combo_fourcc.Items.Add("FVFW");
            combo_fourcc.Items.Add("DX50");
            combo_fourcc.Items.Add("DIVX");
            combo_fourcc.Items.Add("MP4V");

            //прогружаем mbd
            combo_mbd.Items.Add("Simple");
            combo_mbd.Items.Add("Fewest bits");
            combo_mbd.Items.Add("Rate distortion");

            //B фреймы
            for (int n = 0; n <= 16; n++)
                combo_bframes.Items.Add(n);

            combo_bdecision.Items.Add("Disabled");
            for (int n = 1; n <= 10; n++)
                combo_bdecision.Items.Add(n.ToString());

            combo_brefine.Items.Add("Disabled");
            for (int n = 1; n <= 4; n++)
                combo_brefine.Items.Add(n.ToString());

            //пресеты настроек и качества
            foreach (string preset in Enum.GetNames(typeof(CodecPresets)))
                combo_codec_preset.Items.Add(preset);

            combo_threads.Items.Add("Auto");
            for (int n = 1; n <= 32; n++)
                combo_threads.Items.Add(n);

            Apply_CLI.Content = Languages.Translate("Apply");
            Reset_CLI.Content = Languages.Translate("Reset");
            Help_CLI.Content = Languages.Translate("Help");
            Reset_CLI.ToolTip = "Reset to last good CLI";
            Help_CLI.ToolTip = "Show ffmpeg.exe -help full screen";

            LoadFromProfile();
        }
Пример #10
0
        public FLV1(Massive mass, VideoEncoding VideoEncWindow, MainWindow parent)
        {
            this.InitializeComponent();

            this.num_bitrate.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_bitrate_ValueChanged);
            this.num_bittolerance.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_bittolerance_ValueChanged);
            this.num_buffsize.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_buffsize_ValueChanged);
            this.num_gopsize.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_gopsize_ValueChanged);
            this.num_maxbitrate.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_maxbitrate_ValueChanged);
            this.num_minbitrate.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_minbitrate_ValueChanged);

            this.m = mass.Clone();
            this.p = parent;
            this.root_window = VideoEncWindow;

            combo_mode.Items.Add("1-Pass Bitrate");
            combo_mode.Items.Add("2-Pass Bitrate");
            //combo_mode.Items.Add("3-Pass Bitrate");
            combo_mode.Items.Add("Constant Quality");
            combo_mode.Items.Add("2-Pass Quality");
            combo_mode.Items.Add("2-Pass Size");
            //combo_mode.Items.Add("3-Pass Size");

            //Прописываем ME метод
            combo_me_method.Items.Add("Small"); //0..1
            combo_me_method.Items.Add("Sab"); //-x..-2
            combo_me_method.Items.Add("Funny"); //-1
            combo_me_method.Items.Add("Var"); //2..256
            combo_me_method.Items.Add("L2s"); //257..512
            combo_me_method.Items.Add("HEX"); //513..768
            combo_me_method.Items.Add("UMH"); //769..1024
            combo_me_method.Items.Add("Full"); //1025..x

            //прописываем cmp
            combo_cmp.Items.Add("SAD");
            combo_cmp.Items.Add("SSE");
            combo_cmp.Items.Add("SATD");
            combo_cmp.Items.Add("DCT");
            combo_cmp.Items.Add("PSNR");
            combo_cmp.Items.Add("BIT");
            combo_cmp.Items.Add("RD");
            combo_cmp.Items.Add("ZERO");
            combo_cmp.Items.Add("VSAD");
            combo_cmp.Items.Add("VSSE");
            combo_cmp.Items.Add("NSSE");

            //прогружаем матрицы квантизации
            combo_qmatrix.Items.Add("H263");
            foreach (string matrix in PresetLoader.CustomMatrixes(MatrixTypes.TXT))
                combo_qmatrix.Items.Add(matrix);

            //прогружаем fourcc
            combo_fourcc.Items.Add("");
            combo_fourcc.Items.Add("Default");
            combo_fourcc.Items.Add("FLV1");

            //прогружаем mbd
            combo_mbd.Items.Add("Simple");
            combo_mbd.Items.Add("Fewest bits");
            combo_mbd.Items.Add("Rate distortion");

            //пресеты настроек и качества
            foreach (string preset in Enum.GetNames(typeof(CodecPresets)))
                combo_codec_preset.Items.Add(preset);

            Apply_CLI.Content = Languages.Translate("Apply");
            Reset_CLI.Content = Languages.Translate("Reset");
            Help_CLI.Content = Languages.Translate("Help");
            Reset_CLI.ToolTip = "Reset to last good CLI";
            Help_CLI.ToolTip = "Show ffmpeg.exe -help full screen";

            LoadFromProfile();
        }
Пример #11
0
        public FMPEG2(Massive mass, VideoEncoding VideoEncWindow, MainWindow parent)
        {
            this.InitializeComponent();

            this.num_bitrate.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_bitrate_ValueChanged);
            this.num_bittolerance.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_bittolerance_ValueChanged);
            this.num_buffsize.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_buffsize_ValueChanged);
            this.num_gopsize.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_gopsize_ValueChanged);
            this.num_maxbitrate.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_maxbitrate_ValueChanged);
            this.num_minbitrate.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_minbitrate_ValueChanged);

            this.m = mass.Clone();
            this.p = parent;
            this.root_window = VideoEncWindow;

            combo_mode.Items.Add("1-Pass Bitrate");
            combo_mode.Items.Add("2-Pass Bitrate");
            //combo_mode.Items.Add("3-Pass Bitrate");
            combo_mode.Items.Add("Constant Quality");
            combo_mode.Items.Add("2-Pass Quality");
            combo_mode.Items.Add("2-Pass Size");
            //combo_mode.Items.Add("3-Pass Size");

            //Прописываем ME метод
            //combo_me_method.Items.Add("ZERO");
            //combo_me_method.Items.Add("FULL");
            //combo_me_method.Items.Add("EPSZ");
            //combo_me_method.Items.Add("LOG");
            //combo_me_method.Items.Add("PHODS");
            //combo_me_method.Items.Add("X1");
            //combo_me_method.Items.Add("HEX");
            //combo_me_method.Items.Add("UMH");
            //combo_me_method.Items.Add("ITER");
            combo_me_method.Items.Add("Default Search"); //0
            combo_me_method.Items.Add("Sab Diamond Search"); //-2-
            combo_me_method.Items.Add("Funny Diamond Search"); //-1
            combo_me_method.Items.Add("Small Diamond Search"); //2+
            combo_me_method.Items.Add("L2s Diamond Search"); //257+
            combo_me_method.Items.Add("HEX Search"); //513+
            combo_me_method.Items.Add("UMH Search"); //769+
            combo_me_method.Items.Add("Full Search"); //1025+

            //прописываем cmp
            combo_cmp.Items.Add("SAD");
            combo_cmp.Items.Add("SSE");
            combo_cmp.Items.Add("SATD");
            combo_cmp.Items.Add("DCT");
            combo_cmp.Items.Add("PSNR");
            combo_cmp.Items.Add("BIT");
            combo_cmp.Items.Add("RD");
            combo_cmp.Items.Add("ZERO");
            combo_cmp.Items.Add("VSAD");
            combo_cmp.Items.Add("VSSE");
            combo_cmp.Items.Add("NSSE");
            //combo_cmp.Items.Add("W53");
            //combo_cmp.Items.Add("W97");

            //прогружаем матрицы квантизации
            combo_qmatrix.Items.Add("H263");
            foreach (string matrix in PresetLoader.CustomMatrixes(MatrixTypes.TXT))
                combo_qmatrix.Items.Add(matrix);

            //прогружаем fourcc
            combo_fourcc.Items.Add("MPEG");
            combo_fourcc.Items.Add("MPG2");

            //прогружаем векторы
            combo_mvectors.Items.Add("Disabled");
            combo_mvectors.Items.Add("MV0");
            combo_mvectors.Items.Add("MV4");
            combo_mvectors.Items.Add("Unlimited");

            //прогружаем mbd
            combo_mbd.Items.Add("Simple");
            combo_mbd.Items.Add("Fewest bits");
            combo_mbd.Items.Add("Rate distortion");

            //B фреймы
            for (int n = 0; n <= 16; n++)
                combo_bframes.Items.Add(n);

            combo_bdecision.Items.Add("Disabled");
            for (int n = 0; n <= 10; n++)
                combo_bdecision.Items.Add(n.ToString());

            combo_brefine.Items.Add("Disabled");
            for (int n = 0; n <= 4; n++)
                combo_brefine.Items.Add(n.ToString());

            //пресеты настроек и качества
            foreach (string preset in Enum.GetNames(typeof(CodecPresets)))
                combo_codec_preset.Items.Add(preset);

            LoadFromProfile();
        }
Пример #12
0
        private void VideoEncodingSettings_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (m != null && m.format == Format.ExportFormats.Audio)
            {
                Message mess = new Message(this);
                mess.ShowMessage(Languages.Translate("File doesn`t have video streams!"), Languages.Translate("Error"));
            }
            else if (!(m == null && Settings.FormatOut == Format.ExportFormats.Audio))
            {
                VideoEncoding enc = new VideoEncoding(m, this);

                if (m != null) m = enc.m.Clone();
                Format.ExportFormats format = enc.m.format;
                string vencoding = enc.m.vencoding;

                LoadVideoPresets();

                //защита от удаления профиля
                if (!combo_vencoding.Items.Contains(vencoding))
                    vencoding = ChooseVideoPreset(format);

                combo_vencoding.SelectedItem = vencoding;
                Settings.SetVEncodingPreset(format, vencoding);

                if (m != null)
                {
                    //проверка на размер
                    //m.outfilesize = Calculate.GetEncodingSize(m);

                    UpdateTaskMassive(m);
                    ValidateTrimAndCopy(m);
                }
            }
        }
Пример #13
0
        public XviD(Massive mass, VideoEncoding VideoEncWindow, MainWindow parent)
        {
            this.InitializeComponent();

            this.num_bitrate.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_bitrate_ValueChanged);

            this.m = mass.Clone();
            this.p = parent;
            this.root_window = VideoEncWindow;

            combo_mode.Items.Add("1-Pass Bitrate");
            combo_mode.Items.Add("2-Pass Bitrate");
            combo_mode.Items.Add("3-Pass Bitrate");
            combo_mode.Items.Add("Constant Quality");
            //combo_mode.Items.Add("2-Pass Quality");
            combo_mode.Items.Add("3-Pass Quality");
            combo_mode.Items.Add("2-Pass Size");
            combo_mode.Items.Add("3-Pass Size");

            //Прописываем Motion Search Precision
            combo_quality.Items.Add("0 - Disabled");
            combo_quality.Items.Add("1 - Very Low");
            combo_quality.Items.Add("2 - Low");
            combo_quality.Items.Add("3 - Medium");
            combo_quality.Items.Add("4 - High");
            combo_quality.Items.Add("5 - Very High");
            combo_quality.Items.Add("6 - Ultra High");

            combo_vhqmode.Items.Add("0 - Disabled");
            combo_vhqmode.Items.Add("1 - Mode Decision");
            combo_vhqmode.Items.Add("2 - Limited Search");
            combo_vhqmode.Items.Add("3 - Medium Search");
            combo_vhqmode.Items.Add("4 - Wide Search");

            combo_metric.Items.Add("0 - PSNR");
            combo_metric.Items.Add("1 - PSNR_HVSM");

            //прогружаем матрицы квантизации
            combo_qmatrix.Items.Add("H263");
            combo_qmatrix.Items.Add("MPEG");
            foreach (string matrix in PresetLoader.CustomMatrixes(MatrixTypes.CQM))
                combo_qmatrix.Items.Add(matrix);

            for (int i = 1; i < 32; i++)
            {
                combo_imin.Items.Add(i);
                combo_imax.Items.Add(i);
                combo_pmin.Items.Add(i);
                combo_pmax.Items.Add(i);
                combo_bmin.Items.Add(i);
                combo_bmax.Items.Add(i);
            }

            //прогружаем fourcc
            combo_fourcc.Items.Add("XVID");
            combo_fourcc.Items.Add("FFDS");
            combo_fourcc.Items.Add("FVFW");
            combo_fourcc.Items.Add("DX50");
            combo_fourcc.Items.Add("DIVX");
            combo_fourcc.Items.Add("MP4V");

            combo_masking.Items.Add("None");
            combo_masking.Items.Add("Lumi");
            combo_masking.Items.Add("Variance");

            //B фреймы
            for (int n = 0; n <= 4; n++) combo_bframes.Items.Add(n);

            combo_threads.Items.Add("Auto");
            for (int i = 1; i < 13; i++) combo_threads.Items.Add(i);

            //пресеты настроек и качества
            foreach (string preset in Enum.GetNames(typeof(CodecPresets)))
                combo_codec_preset.Items.Add(preset);

            text_mode.Content = Languages.Translate("Encoding mode") + ":";
            Apply_CLI.Content = Languages.Translate("Apply");
            Reset_CLI.Content = Languages.Translate("Reset");
            xvid_help.Content = Languages.Translate("Help");
            Reset_CLI.ToolTip = "Reset to last good CLI";
            xvid_help.ToolTip = "Show xvid_encraw.exe -help screen";

            LoadFromProfile();
        }
Пример #14
0
        public x265(Massive mass, VideoEncoding VideoEncWindow, MainWindow parent)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = VideoEncWindow;
            this.p = parent;

            //https://github.com/videolan/x265/blob/master/source/x265cli.h - ключи CLI
            //https://github.com/videolan/x265/blob/master/source/common/param.cpp - парсинг ключей, Presets, Tunes

            //Mode
            combo_mode.Items.Add("1-Pass Bitrate");
            combo_mode.Items.Add("2-Pass Bitrate");
            combo_mode.Items.Add("3-Pass Bitrate");
            combo_mode.Items.Add("Constant Quality");
            combo_mode.Items.Add("Constant Quantizer");
            combo_mode.Items.Add("2-Pass Quality");
            combo_mode.Items.Add("3-Pass Quality");
            combo_mode.Items.Add("2-Pass Size");
            combo_mode.Items.Add("3-Pass Size");

            //HEVC profile
            combo_hevc_profile.Items.Add("Auto");
            combo_hevc_profile.Items.Add("Main");
            combo_hevc_profile.Items.Add("Main 444");
            combo_hevc_profile.Items.Add("Main 10b");
            combo_hevc_profile.Items.Add("Main 422 10b");
            combo_hevc_profile.Items.Add("Main 444 10b");

            //HEVC level
            combo_level.Items.Add("Unrestricted");
            combo_level.Items.Add("1.0");
            combo_level.Items.Add("2.0");
            combo_level.Items.Add("2.1");
            combo_level.Items.Add("3.0");
            combo_level.Items.Add("3.1");
            combo_level.Items.Add("4.0");
            combo_level.Items.Add("4.1");
            combo_level.Items.Add("5.0");
            combo_level.Items.Add("5.1");
            combo_level.Items.Add("5.2");
            combo_level.Items.Add("6.0");
            combo_level.Items.Add("6.1");
            combo_level.Items.Add("6.2");

            //Tune  psnr, ssim, grain, zero-latency, fast-decode
            combo_tune.Items.Add("None");
            combo_tune.Items.Add("Grain");
            combo_tune.Items.Add("PSNR");
            combo_tune.Items.Add("SSIM");
            combo_tune.Items.Add("Fast Decode");

            //Adaptive Quantization
            for (double n = 0.0; n <= 3.1; n += 0.1)
                combo_adapt_quant.Items.Add(Calculate.ConvertDoubleToPointString(n, 1));

            combo_adapt_quant_mode.Items.Add("None");
            combo_adapt_quant_mode.Items.Add("VAQ");
            combo_adapt_quant_mode.Items.Add("A-VAQ");

            //прогружаем деблокинг
            for (int n = -6; n <= 6; n++)
            {
                combo_dstrength.Items.Add(n);
                combo_dthreshold.Items.Add(n);
            }

            //Прописываем subme
            combo_subme.Items.Add("0 - least");
            combo_subme.Items.Add("1");
            combo_subme.Items.Add("2");
            combo_subme.Items.Add("3");
            combo_subme.Items.Add("4");
            combo_subme.Items.Add("5");
            combo_subme.Items.Add("6");
            combo_subme.Items.Add("7");
            combo_subme.Items.Add("8");
            combo_subme.Items.Add("9");
            combo_subme.Items.Add("10");
            combo_subme.Items.Add("11 - most");

            //прописываем me алгоритм
            combo_me.Items.Add("Diamond");
            combo_me.Items.Add("Hexagon");
            combo_me.Items.Add("Multi Hexagon");
            combo_me.Items.Add("Star");
            combo_me.Items.Add("Full");

            //прописываем me range
            for (int n = 4; n <= 512; n++)
                combo_merange.Items.Add(n);

            for (int i = 1; i < 6; i++)
                combo_max_merge.Items.Add(i);

            combo_rd.Items.Add("0 - least");
            for (int i = 1; i < 6; i++)
                combo_rd.Items.Add(i);
            combo_rd.Items.Add("6 - full RDO");

            combo_ctu.Items.Add(16);
            combo_ctu.Items.Add(32);
            combo_ctu.Items.Add(64);

            combo_max_tu.Items.Add(4);
            combo_max_tu.Items.Add(8);
            combo_max_tu.Items.Add(16);
            combo_max_tu.Items.Add(32);

            //B фреймы
            for (int n = 0; n <= 16; n++)
                combo_bframes.Items.Add(n);

            combo_bpyramid_mode.Items.Add("Disabled");
            combo_bpyramid_mode.Items.Add("Enabled");

            //refernce frames
            for (int n = 1; n <= 16; n++)
                combo_ref.Items.Add(n);

            combo_open_gop.Items.Add("No");
            combo_open_gop.Items.Add("Yes");

            //Кол-во потоков для x265-го
            combo_threads_count.Items.Add("Auto");
            combo_threads_frames.Items.Add("Auto");
            for (int n = 1; n <= 32; n++)
            {
                combo_threads_count.Items.Add(n);
                combo_threads_frames.Items.Add(n);
            }

            //-b-adapt
            combo_badapt_mode.Items.Add("None");
            combo_badapt_mode.Items.Add("Fast");
            combo_badapt_mode.Items.Add("Full");

            combo_range_out.Items.Add("Auto");
            combo_range_out.Items.Add("Limited");
            combo_range_out.Items.Add("Full");

            combo_colorprim.Items.Add("Undefined");
            combo_colorprim.Items.Add("bt709");
            combo_colorprim.Items.Add("bt470m");
            combo_colorprim.Items.Add("bt470bg");
            combo_colorprim.Items.Add("smpte170m");
            combo_colorprim.Items.Add("smpte240m");
            combo_colorprim.Items.Add("film");
            combo_colorprim.Items.Add("bt2020");

            combo_transfer.Items.Add("Undefined");
            combo_transfer.Items.Add("bt709");
            combo_transfer.Items.Add("bt470m");
            combo_transfer.Items.Add("bt470bg");
            combo_transfer.Items.Add("smpte170m");
            combo_transfer.Items.Add("smpte240m");
            combo_transfer.Items.Add("linear");
            combo_transfer.Items.Add("log100");
            combo_transfer.Items.Add("log316");
            combo_transfer.Items.Add("iec61966-2-4");
            combo_transfer.Items.Add("bt1361e");
            combo_transfer.Items.Add("iec61966-2-1");
            combo_transfer.Items.Add("bt2020-10");
            combo_transfer.Items.Add("bt2020-12");

            combo_colormatrix.Items.Add("Undefined");
            combo_colormatrix.Items.Add("bt709");
            combo_colormatrix.Items.Add("fcc");
            combo_colormatrix.Items.Add("bt470bg");
            combo_colormatrix.Items.Add("smpte170m");
            combo_colormatrix.Items.Add("smpte240m");
            combo_colormatrix.Items.Add("GBR");
            combo_colormatrix.Items.Add("YCgCo");
            combo_colormatrix.Items.Add("bt2020nc");
            combo_colormatrix.Items.Add("bt2020c");

            combo_hash.Items.Add("None");
            combo_hash.Items.Add("MD5");
            combo_hash.Items.Add("CRC");
            combo_hash.Items.Add("Checksum");

            text_mode.Content = Languages.Translate("Encoding mode") + ":";
            Apply_CLI.Content = Languages.Translate("Apply");
            Reset_CLI.Content = Languages.Translate("Reset");
            x265_help.Content = Languages.Translate("Help");
            Reset_CLI.ToolTip = "Reset to last good CLI";
            x265_help.ToolTip = "Show x265.exe --fullhelp screen";

            LoadFromProfile();
        }
Пример #15
0
        public x262(Massive mass, VideoEncoding VideoEncWindow, MainWindow parent)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = VideoEncWindow;
            this.p = parent;

            //Mode
            combo_mode.Items.Add("1-Pass Bitrate");
            combo_mode.Items.Add("2-Pass Bitrate");
            combo_mode.Items.Add("3-Pass Bitrate");
            combo_mode.Items.Add("Constant Quality");
            combo_mode.Items.Add("Constant Quantizer");
            combo_mode.Items.Add("2-Pass Quality");
            combo_mode.Items.Add("3-Pass Quality");
            combo_mode.Items.Add("2-Pass Size");
            combo_mode.Items.Add("3-Pass Size");

            //Profile
            combo_mpg_profile.Items.Add(new ComboBoxItem { Content = "Auto" });
            combo_mpg_profile.Items.Add("Simple Profile");
            combo_mpg_profile.Items.Add("Main Profile");
            combo_mpg_profile.Items.Add("High Profile");

            //Level
            combo_level.Items.Add("Unrestricted");
            combo_level.Items.Add("Low");
            combo_level.Items.Add("Main");
            combo_level.Items.Add("High");
            combo_level.Items.Add("High-1440");
            combo_level.Items.Add("HighP");

            //Tune
            combo_tune.Items.Add("None");
            combo_tune.Items.Add("Film");
            combo_tune.Items.Add("Animation");
            combo_tune.Items.Add("Grain");
            combo_tune.Items.Add("Still Image");
            combo_tune.Items.Add("PSNR");
            combo_tune.Items.Add("SSIM");
            combo_tune.Items.Add("Fast Decode");

            //Adaptive Quantization
            for (double n = 0.1; n <= 2.1; n += 0.1)
                combo_adapt_quant.Items.Add(Calculate.ConvertDoubleToPointString(n, 1));

            combo_adapt_quant_mode.Items.Add("None");
            combo_adapt_quant_mode.Items.Add("VAQ");
            combo_adapt_quant_mode.Items.Add("A-VAQ");

            //Прописываем subme
            combo_subme.Items.Add("0 - Fullpel only");
            combo_subme.Items.Add("1 - QPel SAD");
            combo_subme.Items.Add("2 - QPel SATD");
            combo_subme.Items.Add("3 - HPel on MB then QPel");
            combo_subme.Items.Add("4 - Always QPel");
            combo_subme.Items.Add("5 - QPel & Bidir ME");
            combo_subme.Items.Add("6 - RD on I/P frames");
            combo_subme.Items.Add("7 - RD on all frames");
            combo_subme.Items.Add("8 - RD refinement on I/P frames");
            combo_subme.Items.Add("9 - RD refinement on all frames");

            //прописываем me алгоритм
            combo_me.Items.Add("Diamond");
            combo_me.Items.Add("Hexagon");
            combo_me.Items.Add("Multi Hexagon");
            combo_me.Items.Add("Exhaustive");
            combo_me.Items.Add("SATD Exhaustive");

            //прописываем me range
            for (int n = 4; n <= 64; n++)
                combo_merange.Items.Add(n);

            //B фреймы
            for (int n = 0; n <= 16; n++)
                combo_bframes.Items.Add(n);

            //DC precision
            for (int n = 8; n <= 11; n++)
                combo_dc_precision.Items.Add(n);

            combo_open_gop.Items.Add("No");
            combo_open_gop.Items.Add("Yes");

            //Кол-во потоков для lookahead
            combo_lookahead_threads.Items.Add("Auto");
            for (int n = 1; n <= 10; n++)
                combo_lookahead_threads.Items.Add(Convert.ToString(n));

            //Кол-во потоков для x262-го
            combo_threads_count.Items.Add("Auto");
            combo_threads_count.Items.Add("1");
            combo_threads_count.Items.Add("1+1"); //+ --thread-input
            for (int n = 2; n <= 32; n++)
                combo_threads_count.Items.Add(Convert.ToString(n));

            //-b-adapt
            combo_badapt_mode.Items.Add("Disabled");
            combo_badapt_mode.Items.Add("Fast");
            combo_badapt_mode.Items.Add("Optimal");

            combo_range_in.Items.Add("Auto");
            combo_range_in.Items.Add("TV");
            combo_range_in.Items.Add("PC");

            combo_range_out.Items.Add("Auto");
            combo_range_out.Items.Add("TV");
            combo_range_out.Items.Add("PC");

            combo_colorprim.Items.Add("Undefined");
            combo_colorprim.Items.Add("bt709");
            combo_colorprim.Items.Add("bt470m");
            combo_colorprim.Items.Add("bt470bg");
            combo_colorprim.Items.Add("smpte170m");
            combo_colorprim.Items.Add("smpte240m");
            combo_colorprim.Items.Add("film");

            combo_transfer.Items.Add("Undefined");
            combo_transfer.Items.Add("bt709");
            combo_transfer.Items.Add("bt470m");
            combo_transfer.Items.Add("bt470bg");
            combo_transfer.Items.Add("linear");
            combo_transfer.Items.Add("log100");
            combo_transfer.Items.Add("log316");
            combo_transfer.Items.Add("smpte170m");
            combo_transfer.Items.Add("smpte240m");

            combo_colormatrix.Items.Add("Undefined");
            combo_colormatrix.Items.Add("bt709");
            combo_colormatrix.Items.Add("fcc");
            combo_colormatrix.Items.Add("bt470bg");
            combo_colormatrix.Items.Add("smpte170m");
            combo_colormatrix.Items.Add("smpte240m");
            combo_colormatrix.Items.Add("GBR");
            combo_colormatrix.Items.Add("YCgCo");

            combo_colorspace.Items.Add("I420");
            combo_colorspace.Items.Add("I422");

            text_mode.Content = Languages.Translate("Encoding mode") + ":";
            Apply_CLI.Content = Languages.Translate("Apply");
            Reset_CLI.Content = Languages.Translate("Reset");
            x262_help.Content = Languages.Translate("Help");
            Reset_CLI.ToolTip = "Reset to last good CLI";
            x262_help.ToolTip = "Show x262.exe --fullhelp screen";

            LoadFromProfile();
        }