Ejemplo n.º 1
0
        public NeroAAC(Massive mass, AudioEncoding AudioEncWindow)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = AudioEncWindow;

            combo_mode.Items.Add("CBR");
            combo_mode.Items.Add("VBR");
            combo_mode.Items.Add("ABR");
            combo_mode.Items.Add("ABR 2-Pass");

            combo_aac_profile.Items.Add("Auto");
            combo_aac_profile.Items.Add("AAC-LC");
            combo_aac_profile.Items.Add("AAC-HE");
            combo_aac_profile.Items.Add("AAC-HEv2");

            this.num_period.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_period_ValueChanged);
            num_period.ToolTip = "2-Pass encoding bitrate averaging period, milliseconds. \r\nDefault and recommended: 0 (Auto).\r\n" +
            "\r\nWARNING! Low values may produce crash of neroAacEnc.exe!";

            text_mode.Content = Languages.Translate("Encoding mode") + ":";

            LoadFromProfile();
        }
Ejemplo n.º 2
0
        public Normalize(Massive mass)
        {
            this.InitializeComponent();
            this.Owner = App.Current.MainWindow;
            this.m = mass.Clone();

            //колличество обрабатываемых фреймов
            int accuratepr = Convert.ToInt32(m.volumeaccurate.Replace("%", ""));
            vtrim = Calculate.GetProcentValue(m.inframes, accuratepr);
            if (vtrim < 10000) vtrim = Math.Min(10000, m.inframes);

            //забиваем
            prCurrent.Maximum = vtrim;
            prCurrent.ToolTip = Languages.Translate("Current progress");
            Title = Languages.Translate("Normalizer");
            text_info.Content = Languages.Translate("Please wait... Work in progress...");

            //BackgroundWorker
            CreateBackgroundWorker();
            worker.RunWorkerAsync();

            //Сворачиваем окно, если программа минимизирована или свернута в трей
            if (!Owner.IsVisible || Owner.WindowState == WindowState.Minimized)
            {
                this.WindowState = WindowState.Minimized;
                this.SizeToContent = System.Windows.SizeToContent.Manual;
                this.StateChanged += new EventHandler(Window_StateChanged);
                this.Name = "Hidden";
            }

            ShowDialog();
        }
Ejemplo n.º 3
0
        public static Massive DecodePresets(Massive m)
        {
            //расшифровываем видео параметры
            if (m.outvcodec == "x265") m = x265.DecodeLine(m);
            else if (m.outvcodec == "x264") m = x264.DecodeLine(m);
            else if (m.outvcodec == "x262") m = x262.DecodeLine(m);
            else if (m.outvcodec == "XviD") m = XviD.DecodeLine(m);
            else if (m.outvcodec == "MPEG2") m = FMPEG2.DecodeLine(m);
            else if (m.outvcodec == "MPEG1") m = FMPEG1.DecodeLine(m);
            else if (m.outvcodec == "MPEG4") m = FMPEG4.DecodeLine(m);
            else if (m.outvcodec == "DV") m = FDV.DecodeLine(m);
            else if (m.outvcodec == "HUFF") m = FFHUFF.DecodeLine(m);
            else if (m.outvcodec == "MJPEG") m = FMJPEG.DecodeLine(m);
            else if (m.outvcodec == "FFV1") m = FFV1.DecodeLine(m);
            else if (m.outvcodec == "FLV1") m = FLV1.DecodeLine(m);

            if (m.outaudiostreams.Count > 0)
            {
                AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];

                //расшифровываем audio параметры
                if (outstream.codec == "AAC") m = NeroAAC.DecodeLine(m);
                else if (outstream.codec == "QAAC") m = QuickTimeAAC.DecodeLine(m);
                else if (outstream.codec == "MP3") m = LameMP3.DecodeLine(m);
                else if (outstream.codec == "AC3") m = AftenAC3.DecodeLine(m);
                else if (outstream.codec == "MP2") m = FMP2.DecodeLine(m);
                else if (outstream.codec == "PCM") m = FPCM.DecodeLine(m);
                else if (outstream.codec == "LPCM") m = FLPCM.DecodeLine(m);
                else if (outstream.codec == "FLAC") m = FFLAC.DecodeLine(m);
            }

            return m;
        }
Ejemplo n.º 4
0
        public static Massive DecodeLine(Massive m)
        {
            AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];

            //создаём свежий массив параметров FFmpeg FLAC
            m.flac_options = new flac_arguments();

            //берём пока что за основу последнюю строку
            string line = outstream.passes;

            string[] separator = new string[] { " " };
            string[] cli = line.Split(separator, StringSplitOptions.None);
            int n = 0;

            foreach (string value in cli)
            {
                if (value == "-compression_level") m.flac_options.level = Convert.ToInt32(cli[n + 1]);
                else if (value == "-use_lpc") m.flac_options.use_lpc = Convert.ToInt32(cli[n + 1]);
                else if (value == "-lpc_coeff_precision ") m.flac_options.lpc_precision = Convert.ToInt32(cli[n + 1]);

                n++;
            }

            return m;
        }
Ejemplo n.º 5
0
        public static Massive DecodeLine(Massive m)
        {
            AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];

            //создаём свежий массив параметров
            m.ac3_options = new ac3_arguments();

            //берём пока что за основу последнюю строку
            string line = outstream.passes;

            string[] separator = new string[] { " " };
            string[] cli = line.Split(separator, StringSplitOptions.None);
            int n = 0;

            foreach (string value in cli)
            {
                if (value == "-b") outstream.bitrate = Convert.ToInt32(cli[n + 1]);
                else if (value == "-dnorm") m.ac3_options.dnorm = Convert.ToInt32(cli[n + 1]);
                else if (value == "-w") m.ac3_options.bandwidth = Convert.ToInt32(cli[n + 1]);

                n++;
            }

            return m;
        }
Ejemplo n.º 6
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();
        }
Ejemplo n.º 7
0
        public static Massive DecodeLine(Massive m)
        {
            AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];

            //берём пока что за основу последнюю строку
            string line = outstream.passes;

            string[] separator = new string[] { " " };
            string[] cli = line.Split(separator, StringSplitOptions.None);
            int n = 0;

            foreach (string value in cli)
            {
                if (value == "-acodec")
                {
                    string bit = cli[n + 1];

                    if (bit == "pcm_s16be")
                        outstream.bits = 16;
                    if (bit == "pcm_s24be")
                        outstream.bits = 24;
                    if (bit == "pcm_s32be")
                        outstream.bits = 32;
                }
            }

            outstream.bitrate = (int)(0.016 * outstream.channels * (double)Convert.ToInt32(outstream.samplerate) * (double)outstream.bits / 16.0);

            return m;
        }
Ejemplo n.º 8
0
        public QuickTimeAAC(Massive mass, AudioEncoding AudioEncWindow)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = AudioEncWindow;

            //--check    Show library versions and exit
            //--formats  Show available AAC formats and exit

            combo_mode.Items.Add("CBR");             //-c, --cbr <bitrate>   AAC CBR mode / bitrate
            combo_mode.Items.Add("ABR");             //-a, --abr <bitrate>   AAC ABR mode / bitrate
            combo_mode.Items.Add("Constrained VBR"); //-v, --cvbr <bitrate>  AAC Constrained VBR mode / bitrate
            combo_mode.Items.Add("True VBR");        //-V, --tvbr <quality>  AAC True VBR mode / quality [0-127] (AAC-HE не поддерживается)
            combo_mode.Items.Add("Lossless (ALAC)"); //-A, --alac            ALAC encoding mode

            combo_accuracy.Items.Add("0 - Fast");
            combo_accuracy.Items.Add("1");
            combo_accuracy.Items.Add("2 - Slow");

            combo_aac_profile.Items.Add("AAC-LC");
            combo_aac_profile.Items.Add("AAC-HE");

            //Предупреждение о неточности битрейта
            combo_bitrate.Tag = Languages.Translate("Do not expect that selected bitrate will be strictly observed by the encoder!") + "\r\n" +
                Languages.Translate("The actual value will varies with encoding mode (ABR/CBR/CVBR), profile (LC/HE), sample rate and number of channels.") + "\r\n" +
                Languages.Translate("Click on \"Bitrate\" label to get detailed information about all supported combinations.");

            text_mode.Content = Languages.Translate("Encoding mode") + ":";
            text_accuracy.Content = Languages.Translate("Accuracy") + ":";

            LoadFromProfile();
        }
Ejemplo n.º 9
0
 public AviSynthEncoder(Massive mass)
 {
     m = mass.Clone();
     this.script = m.script;
     AudioStream stream = (AudioStream)m.outaudiostreams[0];
     this.outfilepath = stream.audiopath;
 }
Ejemplo n.º 10
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();
        }
Ejemplo n.º 11
0
        public static Massive GetFriendFilesList(Massive m)
        {
            string friendfile;
            ArrayList fileslist = new ArrayList();

            if (Calculate.IsValidVOBName(m.infilepath))
            {
                if (Path.GetFileName(m.infilepath).ToUpper() != "VIDEO_TS.VOB")
                {
                    string title = Calculate.GetTitleNum(m.infilepath);
                    string dir = Path.GetDirectoryName(m.infilepath).TrimEnd(new char[] { '\\' }); //C:\, но C:\Some_Path
                    for (int i = 1; i <= 20; i++)
                    {
                        friendfile = dir + "\\VTS_" + title + "_" + i.ToString() + ".VOB";
                        if (File.Exists(friendfile)) fileslist.Add(friendfile);
                    }

                    //Если каким-то чудесным образом ни одного файла не нашлось
                    if (fileslist.Count == 0) fileslist.Add(m.infilepath);
                }
                else
                    fileslist.Add(m.infilepath);
            }
            else
            {
                fileslist.Add(m.infilepath);
                char[] chars = Path.GetFileNameWithoutExtension(m.infilepath).ToCharArray();
                int pos = 0;
                foreach (char c in chars)
                {
                    pos += 1;
                    string cstring = c.ToString();
                    if (cstring == "1")
                    {
                        string dir = Path.GetDirectoryName(m.infilepath).TrimEnd(new char[] { '\\' }) + "\\"; //Так надо
                        string file_name = Path.GetFileNameWithoutExtension(m.infilepath);
                        string ext = Path.GetExtension(m.infilepath);
                        for (int i = 2; i <= 9; i++)
                        {
                            friendfile = dir + file_name.Remove(pos - 1, 1).Insert(pos - 1, i.ToString()) + ext;
                            if (File.Exists(friendfile)) fileslist.Add(friendfile);
                        }
                    }
                }
            }

            //забиваем все найденные файлы
            m.infileslist = Calculate.ConvertArrayListToStringArray(fileslist);

            //диалог выбора файлов если их больше одного
            if (fileslist.Count > 1)
            {
                FilesListWindow f = new FilesListWindow(m);
                if (f.m != null) m = f.m.Clone();
                else m = null;
            }

            return m;
        }
Ejemplo n.º 12
0
        public DVDImport(Massive mass, string dvdpath)
        {
            this.InitializeComponent();
            this.Owner = App.Current.MainWindow;
            this.m = mass.Clone();
            this.dpi = SysInfo.dpi;

            DDHelper ddh = new DDHelper(this);
            ddh.GotFiles += new DDEventHandler(DD_GotFiles);

            //tooltips
            label_title.Content = Languages.Translate("Select title:");
            button_cancel.Content = Languages.Translate("Cancel");
            button_ok.Content = Languages.Translate("OK");
            button_play.ToolTip = Languages.Translate("Play-Pause");
            button_stop.ToolTip = Languages.Translate("Stop");

            //events
            this.Loaded += new RoutedEventHandler(MainWindow_Loaded);
            this.Closing += new System.ComponentModel.CancelEventHandler(MainWindow_Closing);
            this.KeyUp += new KeyEventHandler(MainWindow_KeyUp);

            //подготавливаем список титлов
            string[] maintitles = Directory.GetFiles(dvdpath, "VTS_*1.VOB", SearchOption.AllDirectories);
            int titlescount = maintitles.Length;

            //если нет ни одного титла
            if (titlescount == 0)
            {
                Message message = new Message(this.Owner);
                message.ShowMessage(Languages.Translate("Can`t find any VOB file in:") +
                    " \"" + dvdpath + "\"!", Languages.Translate("Error"));
                m = null;
                Close();
                return;
            }

            //сортируем и забиваем вобы в список
            dvd = new ArrayList();
            string[] vobs = new string[] { "" };
            for (int n = 0; n < titlescount; n++)
            {
                string title = Calculate.GetTitleNum(maintitles[n]);
                vobs = Directory.GetFiles(dvdpath, "VTS_" + title + "*.VOB", SearchOption.AllDirectories);
                ArrayList vobs_ar = Calculate.ConvertStringArrayToArrayList(vobs);
                if (vobs_ar[0].ToString().ToUpper().EndsWith("0.VOB"))
                    vobs_ar.RemoveAt(0);
                vobs = Calculate.ConvertArrayListToStringArray(vobs_ar);
                dvd.Add(vobs);
            }

            //забиваем и выделяем пустой титл
            combo_titles.Items.Add(Calculate.GetTimeline(0));
            combo_titles.SelectedIndex = 0;
            Title = "DVD: " + Calculate.GetDVDName(vobs[0]);

            this.ShowDialog();
        }
Ejemplo n.º 13
0
        public FMP2(Massive mass, AudioEncoding AudioEncWindow)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = AudioEncWindow;

            LoadFromProfile();
        }
Ejemplo n.º 14
0
        public static Massive DecodeLine(Massive m)
        {
            //создаём свежий массив параметров ffmpeg
            m.ffmpeg_options = new ffmpeg_arguments();

            m.encodingmode = Settings.EncodingModes.OnePass;

            //берём пока что за основу последнюю строку
            string line = m.vpasses[m.vpasses.Count - 1].ToString();

            string[] separator = new string[] { " " };
            string[] cli = line.Split(separator, StringSplitOptions.None);
            int n = 0;

            foreach (string value in cli)
            {
                if (value == "-vtag")
                    m.ffmpeg_options.fourcc_dv = cli[n + 1];

                if (value == "-pix_fmt")
                {
                    string dvstandart = cli[n + 1];
                    if (dvstandart == "yuv420p") m.ffmpeg_options.dvpreset = "DVCAM";
                    else if (dvstandart == "yuv411p") m.ffmpeg_options.dvpreset = "DVCPRO25";
                    else if (dvstandart == "yuv422p") m.ffmpeg_options.dvpreset = "DVCPRO50";

                    //dvcam
                    //-f mov -vcodec dvvideo -r 25 -pix_fmt yuv420p -vtag dvcp -acodec pcm_s16be -ac 2

                    //dvcpro25
                    //-f mov -vcodec dvvideo -r 25 -pix_fmt yuv411p -vtag dvpp -acodec pcm_s16be -ac 2

                    //dvcpro50
                    //-f mov -vcodec dvvideo -r 25 -pix_fmt yuv422p -vtag dv5p -acodec pcm_s16be -ac 2
                }

                n++;
            }

            //битрейт
            if (m.format == Format.ExportFormats.AviDVPAL)
            {
                if (m.ffmpeg_options.dvpreset == "DVCPRO50")
                    m.outvbitrate = 57600;
                else
                    m.outvbitrate = 28800;
            }
            if (m.format == Format.ExportFormats.AviDVNTSC)
            {
                if (m.ffmpeg_options.dvpreset == "DVCPRO50")
                    m.outvbitrate = 57543;
                else
                    m.outvbitrate = 28771;
            }

            return m;
        }
Ejemplo n.º 15
0
 private void button_refresh_Click(object sender, System.Windows.RoutedEventArgs e)
 {
     if (m != null)
     {
         m   = AviSynthScripting.CreateAutoAviSynthScript(m);
         p.m = m.Clone();
         p.Refresh(m.script);
         this.Focus();
     }
 }
Ejemplo n.º 16
0
 private void Refresh()
 {
     if (oldm != null)
     {
         m   = AviSynthScripting.CreateAutoAviSynthScript(m);
         p.m = m.Clone();
         p.Refresh(m.script);
         this.Focus();
     }
 }
Ejemplo n.º 17
0
        private void Refresh()
        {
            m   = AviSynthScripting.CreateAutoAviSynthScript(m);
            p.m = m.Clone();
            p.Refresh(m.script);
            this.Focus();

            CalculateMod();
            FillManualBox();
        }
Ejemplo n.º 18
0
        private void button_analyse_Click(object sender, RoutedEventArgs e)
        {
            Autocrop acrop = new Autocrop(m, this, -1);

            if (acrop.m != null)
            {
                m = acrop.m.Clone();
                ApplyCrop();
            }
        }
Ejemplo n.º 19
0
        public static Massive DecodeLine(Massive m)
        {
            AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];

            //создаём свежий массив параметров QuickTime AAC
            m.qaac_options = new qaac_arguments();

            //берём пока что за основу последнюю строку
            string line = outstream.passes;

            string[] separator = new string[] { " " };
            string[] cli = line.Split(separator, StringSplitOptions.None);
            int n = 0;

            foreach (string value in cli)
            {
                if (value == "-q")
                {
                    m.qaac_options.accuracy = Convert.ToInt32(cli[n + 1]);
                }
                else if (value == "--tvbr")
                {
                    m.qaac_options.encodingmode = Settings.AudioEncodingModes.VBR;
                    m.qaac_options.quality = Convert.ToInt32(cli[n + 1]) / 9;
                }
                else if (value == "--cbr" || value == "--abr" || value == "--cvbr")
                {
                    if (value == "--cbr") m.qaac_options.encodingmode = Settings.AudioEncodingModes.CBR;
                    else if (value == "--abr") m.qaac_options.encodingmode = Settings.AudioEncodingModes.ABR;
                    else m.qaac_options.encodingmode = Settings.AudioEncodingModes.CVBR;

                    outstream.bitrate = Convert.ToInt32(cli[n + 1]);
                }
                else if (value == "--alac")
                {
                    m.qaac_options.encodingmode = Settings.AudioEncodingModes.ALAC;
                }
                else if (value == "--he")
                {
                    m.qaac_options.aacprofile = "AAC-HE";
                }
                else if (value == "--no-delay")
                {
                    m.qaac_options.no_delay = true;
                }
                else if (value == "--gapless-mode")
                {
                    m.qaac_options.gapless_mode = Convert.ToInt32(cli[n + 1]);
                }

                n++;
            }

            return m;
        }
Ejemplo n.º 20
0
        private void Refresh()
        {
            if (m != null)
            {
                CheckFramerateModifierIsApplied();

                m   = AviSynthScripting.CreateAutoAviSynthScript(m);
                p.m = m.Clone();
                p.Refresh(m.script);
                this.Focus();
            }
        }
Ejemplo n.º 21
0
        public LameMP3(Massive mass, AudioEncoding AudioEncWindow)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = AudioEncWindow;

            combo_mode.Items.Add("CBR");
            combo_mode.Items.Add("VBR");
            combo_mode.Items.Add("ABR");

            combo_channels_mode.Items.Add("Auto");                //default is (j) or (s) depending on bitrate
            combo_channels_mode.Items.Add("Stereo");              //"-m s" (s)imple = force LR stereo on all frames
            combo_channels_mode.Items.Add("Joint Stereo");        //"-m j" (j)oint  = joins the best possible of MS and LR stereo
            combo_channels_mode.Items.Add("Forced Joint Stereo"); //"-m f" (f)orce  = force MS stereo on all frames.
            combo_channels_mode.Items.Add("Mono");                //"-m m" (d)ual-mono, (m)ono
            combo_channels_mode.ToolTip = "Auto - auto select (depending on bitrate), default\r\n" +
                "Stereo - force LR stereo on all frames\r\n" +
                "Joint Stereo - joins the best possible of MS and LR stereo\r\n" +
                "Forced Joint Stereo - force MS stereo on all frames\r\n" +
                "Mono - encode as mono";

            combo_quality.Items.Add("0 - Best Quality");
            combo_quality.Items.Add("1");
            combo_quality.Items.Add("2 - Recommended");
            combo_quality.Items.Add("3");
            combo_quality.Items.Add("4");
            combo_quality.Items.Add("5 - Good Speed");
            combo_quality.Items.Add("6");
            combo_quality.Items.Add("7 - Very Fast");
            combo_quality.Items.Add("8");
            combo_quality.Items.Add("9 - Poor Quality");
            combo_quality.ToolTip = "Noise shaping & psycho acoustic algorithms\r\n" +
                "0 - highest quality, very slow\r\n" +
                "2 - recommended, default\r\n" +
                "9 - poor quality, but fast";

            combo_gain.Items.Add("None");
            combo_gain.Items.Add("Fast");
            combo_gain.Items.Add("Accurate");
            combo_gain.ToolTip = "None - do not compute RG (slightly faster encoding)\r\n" +
                "Fast - compute RG fast and slightly inaccurately, default\r\n" +
                "Accurate - compute RG more accurately, but slower";

            //прогружаем битрейты
            LoadBitrates();

            text_mode.Content = Languages.Translate("Encoding mode") + ":";
            text_quality.Content = Languages.Translate("Accuracy") + ":";

            LoadFromProfile();
        }
Ejemplo n.º 22
0
        public LameMP3(Massive mass, AudioEncoding AudioEncWindow)
        {
            this.InitializeComponent();

            this.m           = mass.Clone();
            this.root_window = AudioEncWindow;

            combo_mode.Items.Add("CBR");
            combo_mode.Items.Add("VBR");
            combo_mode.Items.Add("ABR");

            combo_channels_mode.Items.Add("Auto");                //default is (j) or (s) depending on bitrate
            combo_channels_mode.Items.Add("Stereo");              //"-m s" (s)imple = force LR stereo on all frames
            combo_channels_mode.Items.Add("Joint Stereo");        //"-m j" (j)oint  = joins the best possible of MS and LR stereo
            combo_channels_mode.Items.Add("Forced Joint Stereo"); //"-m f" (f)orce  = force MS stereo on all frames.
            combo_channels_mode.Items.Add("Mono");                //"-m m" (d)ual-mono, (m)ono
            combo_channels_mode.ToolTip = "Auto - auto select (depending on bitrate), default\r\n" +
                                          "Stereo - force LR stereo on all frames\r\n" +
                                          "Joint Stereo - joins the best possible of MS and LR stereo\r\n" +
                                          "Forced Joint Stereo - force MS stereo on all frames\r\n" +
                                          "Mono - encode as mono";

            combo_quality.Items.Add("0 - Best Quality");
            combo_quality.Items.Add("1");
            combo_quality.Items.Add("2 - Recommended");
            combo_quality.Items.Add("3");
            combo_quality.Items.Add("4");
            combo_quality.Items.Add("5 - Good Speed");
            combo_quality.Items.Add("6");
            combo_quality.Items.Add("7 - Very Fast");
            combo_quality.Items.Add("8");
            combo_quality.Items.Add("9 - Poor Quality");
            combo_quality.ToolTip = "Noise shaping & psycho acoustic algorithms\r\n" +
                                    "0 - highest quality, very slow\r\n" +
                                    "2 - recommended, default\r\n" +
                                    "9 - poor quality, but fast";

            combo_gain.Items.Add("None");
            combo_gain.Items.Add("Fast");
            combo_gain.Items.Add("Accurate");
            combo_gain.ToolTip = "None - do not compute RG (slightly faster encoding)\r\n" +
                                 "Fast - compute RG fast and slightly inaccurately, default\r\n" +
                                 "Accurate - compute RG more accurately, but slower";

            //прогружаем битрейты
            LoadBitrates();

            text_mode.Content    = Languages.Translate("Encoding mode") + ":";
            text_quality.Content = Languages.Translate("Accuracy") + ":";

            LoadFromProfile();
        }
Ejemplo n.º 23
0
        private void combo_framerate_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            if ((combo_framerate.IsDropDownOpen || combo_framerate.IsSelectionBoxHighlighted || combo_framerate.IsEditable) && combo_framerate.SelectedItem != null)
            {
                if (combo_framerate.SelectedItem.ToString().Length == 0)
                {
                    //Включаем редактирование
                    combo_framerate.IsEditable = true;
                    combo_framerate.ToolTip    = Languages.Translate("Enter - apply, Esc - cancel.");
                    combo_framerate.ApplyTemplate();
                    return;
                }
                else
                {
                    m.outframerate = Calculate.GetSplittedString(combo_framerate.SelectedItem.ToString(), 0);

                    m.sampleratemodifer = Settings.SamplerateModifer;
                    m = AviSynthScripting.CreateAutoAviSynthScript(m);

                    //механизм обхода ошибок SSRC
                    if (m.sampleratemodifer == AviSynthScripting.SamplerateModifers.SSRC &&
                        m.inaudiostreams.Count > 0 && m.outaudiostreams.Count > 0)
                    {
                        AudioStream instream  = (AudioStream)m.inaudiostreams[m.inaudiostream];
                        AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];
                        if (instream.samplerate != outstream.samplerate && outstream.samplerate != null &&
                            Calculate.CheckScriptErrors(m) == "SSRC: could not resample between the two samplerates.")
                        {
                            m.sampleratemodifer = AviSynthScripting.SamplerateModifers.ResampleAudio;
                            m = AviSynthScripting.CreateAutoAviSynthScript(m);
                        }
                    }

                    //обновляем конечное колличество фреймов, с учётом режима деинтерелейса
                    m             = Calculate.UpdateOutFrames(m);
                    m.outfilesize = Calculate.GetEncodingSize(m);

                    CheckFramerateModifierIsApplied();

                    p.m = m.Clone();
                    p.Refresh(m.script);
                    this.Focus();
                }

                if (combo_framerate.IsEditable)
                {
                    //Выключаем редактирование
                    combo_framerate.IsEditable = false;
                    combo_framerate.ToolTip    = null;
                }
            }
        }
Ejemplo n.º 24
0
        public void UpdateOutSize()
        {
            if (profile_was_changed)
            {
                //cli
                if (x265c != null)
                {
                    m = x265c.m.Clone();
                }
                else if (x264c != null)
                {
                    m = x264c.m.Clone();
                }
                else if (x262c != null)
                {
                    m = x262c.m.Clone();
                }
                else if (xvid != null)
                {
                    m = xvid.m.Clone();
                }
                else if (mpeg4 != null)
                {
                    m = mpeg4.m.Clone();
                }
                else if (mpeg2 != null)
                {
                    m = mpeg2.m.Clone();
                }
                else if (mpeg1 != null)
                {
                    m = mpeg1.m.Clone();
                }
                else if (flv != null)
                {
                    m = flv.m.Clone();
                }
            }
            else
            {
                UpdateMassive();
            }

            //Финальный размер
            text_outsize_value.Content = m.outfilesize = Calculate.GetEncodingSize(m);

            //bit-pixels calculation
            text_inquality_value.Content  = Calculate.GetQualityIn(m);
            text_outquality_value.Content = Calculate.GetQualityOut(m, true);

            UpdateCodecMassive();
        }
Ejemplo n.º 25
0
        private void button_cancel_Click(object sender, RoutedEventArgs e)
        {
            if (mode == AudioOptionsModes.AllOptions)
            {
                if (p.m.script != oldm.script)
                {
                    m = oldm.Clone();
                    Refresh();
                }
            }

            Close();
        }
Ejemplo n.º 26
0
        private void button_cancel_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (oldm != null)
            {
                m = oldm.Clone();
            }
            else
            {
                ((AudioStream)m.outaudiostreams[m.outaudiostream]).encoding = old_aencoding;
            }

            Close();
        }
Ejemplo n.º 27
0
        private void button_cancel_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (oldm != null)
            {
                m = oldm.Clone();
            }
            else
            {
                m.vencoding = old_vencoding;
            }

            Close();
        }
Ejemplo n.º 28
0
        private void combo_mixing_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (combo_mixing.IsDropDownOpen || combo_mixing.IsSelectionBoxHighlighted)
            {
                AudioStream instream = (AudioStream)m.inaudiostreams[m.inaudiostream];
                instream.channelconverter = StringMixingToEnum(combo_mixing.SelectedItem.ToString());

                //получаем колличество каналов на выход
                m = Format.GetValidChannels(m);

                SetInfo();
            }
        }
Ejemplo n.º 29
0
        public static Massive EncodeLine(Massive m)
        {
            string line = "-acodec mp2 -f mp2";

            AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];

            line += " -ab " + outstream.bitrate + "000";

            //забиваем данные в массив
            outstream.passes = line;

            return(m);
        }
Ejemplo n.º 30
0
        public FLPCM(Massive mass, AudioEncoding AudioEncWindow)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = AudioEncWindow;

            combo_bits.Items.Add("16-bit");
            combo_bits.Items.Add("24-bit");
            combo_bits.Items.Add("32-bit");

            LoadFromProfile();
        }
Ejemplo n.º 31
0
        private void button_ok_Click(object sender, RoutedEventArgs e)
        {
            if (m != null)
            {
                //Новый скрипт
                m = AviSynthScripting.CreateAutoAviSynthScript(m);

                //Проверяем, изменился ли скрипт
                NeedUpdate = (old_raw_script != m.script);
            }

            Close();
        }
Ejemplo n.º 32
0
 private void button_AutoCrop_current_Click(object sender, RoutedEventArgs e)
 {
     if (!IsError && HasVideo)
     {
         Autocrop acrop = new Autocrop(m, this, (int)slider_pos.Value);
         if (acrop.m != null)
         {
             m = acrop.m.Clone();
             SetValues(m.cropl, m.cropt, m.cropr, m.cropb);
             ShowCroppedFrame();
         }
     }
 }
Ejemplo n.º 33
0
        public FLPCM(Massive mass, AudioEncoding AudioEncWindow)
        {
            this.InitializeComponent();

            this.m           = mass.Clone();
            this.root_window = AudioEncWindow;

            combo_bits.Items.Add("16-bit");
            combo_bits.Items.Add("24-bit");
            combo_bits.Items.Add("32-bit");

            LoadFromProfile();
        }
Ejemplo n.º 34
0
        public static Massive EncodeLine(Massive m)
        {
            string line = "-acodec mp2 -f mp2";

            AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];

            line += " -ab " + outstream.bitrate + "000";

            //забиваем данные в массив
            outstream.passes = line;

            return m;
        }
Ejemplo n.º 35
0
        private void combo_deinterlace_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            if ((combo_deinterlace.IsDropDownOpen || combo_deinterlace.IsSelectionBoxHighlighted) && combo_deinterlace.SelectedItem != null)
            {
                m.deinterlace = (DeinterlaceType)Enum.GetValues(typeof(DeinterlaceType)).GetValue(combo_deinterlace.SelectedIndex);

                //запоминаем настройки
                if (m.interlace == SourceType.HYBRID_PROGRESSIVE_INTERLACED ||
                    m.interlace == SourceType.INTERLACED)
                {
                    if (m.deinterlace == DeinterlaceType.FieldDeinterlace ||
                        m.deinterlace == DeinterlaceType.LeakKernelDeint ||
                        m.deinterlace == DeinterlaceType.TDeint ||
                        m.deinterlace == DeinterlaceType.TDeintEDI ||
                        m.deinterlace == DeinterlaceType.TomsMoComp ||
                        m.deinterlace == DeinterlaceType.Yadif ||
                        m.deinterlace == DeinterlaceType.YadifModEDI ||
                        m.deinterlace == DeinterlaceType.YadifModEDI2 ||
                        m.deinterlace == DeinterlaceType.SmoothDeinterlace ||
                        m.deinterlace == DeinterlaceType.NNEDI ||
                        m.deinterlace == DeinterlaceType.MCBob ||
                        m.deinterlace == DeinterlaceType.QTGMC ||
                        m.deinterlace == DeinterlaceType.QTGMC_2 ||
                        m.deinterlace == DeinterlaceType.TFM)
                    {
                        Settings.Deint_Interlaced = m.deinterlace;
                    }
                }
                else if (m.interlace == SourceType.FILM || m.interlace == SourceType.HYBRID_FILM_INTERLACED ||
                         m.interlace == SourceType.HYBRID_PROGRESSIVE_FILM)
                {
                    if (m.deinterlace == DeinterlaceType.TIVTC ||
                        m.deinterlace == DeinterlaceType.TIVTC_TDeintEDI ||
                        m.deinterlace == DeinterlaceType.TIVTC_YadifModEDI)
                    {
                        Settings.Deint_Film = m.deinterlace;
                    }
                }

                m = Calculate.UpdateOutFramerate(m);

                SetFramerateCombo(m.outframerate);
                combo_outinterlace.SelectedItem = Format.GetCodecOutInterlace(m);

                //обновляем конечное колличество фреймов, с учётом режима деинтерелейса
                m             = Calculate.UpdateOutFrames(m);
                m.outfilesize = Calculate.GetEncodingSize(m);

                Refresh();
            }
        }
Ejemplo n.º 36
0
        public Demuxer(Massive mass, DemuxerMode mode, string outfile)
        {
            this.InitializeComponent();
            this.Owner   = App.Current.MainWindow;
            this.m       = mass.Clone();
            this.outfile = outfile;
            this.mode    = mode;

            //забиваем
            progress.Maximum = 100;

            label_info.Content = Languages.Translate("Please wait... Work in progress...");

            if (mode == DemuxerMode.DecodeToWAV)
            {
                Title = Languages.Translate("Decoding to Windows PCM") + "...";
            }
            else if (mode == DemuxerMode.NeroTempWAV)
            {
                Title = Languages.Translate("Creating Nero temp file") + "...";
            }
            else if (mode == DemuxerMode.ExtractAudio)
            {
                Title = Languages.Translate("Audio demuxing") + "...";
            }
            else if (mode == DemuxerMode.ExtractVideo)
            {
                Title = Languages.Translate("Video demuxing") + "...";
            }
            else if (mode == DemuxerMode.RepairMKV)
            {
                Title = Languages.Translate("Remuxing Matroska file") + "...";
            }

            //Определяем исходный файл
            source_file = (m.infilepath_source != null) ? m.infilepath_source : m.infilepath;

            //фоновое кодирование
            CreateBackgroundWorker();
            worker.RunWorkerAsync();

            //Сворачиваем окно, если программа минимизирована или свернута в трей
            if (!Owner.IsVisible || Owner.WindowState == WindowState.Minimized)
            {
                this.WindowState   = WindowState.Minimized;
                this.StateChanged += new EventHandler(Window_StateChanged);
                this.Name          = "Hidden";
            }

            ShowDialog();
        }
Ejemplo n.º 37
0
 private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     if (m != null &&
         list_files.Items.Count > 0)
     {
         m.infileslist = new string[list_files.Items.Count];
         list_files.Items.CopyTo(m.infileslist, 0);
         m.infilepath = m.infileslist[0];
     }
     else
     {
         m = null;
     }
 }
Ejemplo n.º 38
0
        void worker_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                m = null;
                ErrorException("Informer (Unhandled): " + ((Exception)e.Error).Message, ((Exception)e.Error).StackTrace);
            }
            else if (e.Result != null)
            {
                m = null;
                ErrorException("Informer: " + ((Exception)e.Result).Message, ((Exception)e.Result).StackTrace);
            }

            Close();
        }
Ejemplo n.º 39
0
        private void Refresh()
        {
            m   = AviSynthScripting.CreateAutoAviSynthScript(m);
            p.m = m.Clone();
            p.Refresh(m.script);

            if (m.outaudiostreams.Count > 0)
            {
                AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];
                if (p.combo_aencoding.SelectedItem.ToString() != outstream.encoding)
                {
                    p.combo_aencoding.SelectedItem = outstream.encoding;
                }
            }
        }
Ejemplo n.º 40
0
        public static Massive EncodeLine(Massive m)
        {
            string line = "-acodec flac -f flac";

            AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];

            if (m.flac_options.level != 5) line += " -compression_level " + m.flac_options.level;
            if (m.flac_options.use_lpc != 1) line += " -use_lpc " + m.flac_options.use_lpc;
            if (m.flac_options.lpc_precision != 15) line += " -lpc_coeff_precision " + m.flac_options.lpc_precision;

            //забиваем данные в массив
            outstream.passes = line;

            return m;
        }
Ejemplo n.º 41
0
        public static Massive EncodeLine(Massive m)
        {
            string line = "";

            AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];

            line += "-b " + outstream.bitrate;
            if (m.ac3_options.dnorm != 31) line += " -dnorm " + m.ac3_options.dnorm;
            if (m.ac3_options.bandwidth != -1) line += " -w " + m.ac3_options.bandwidth;

            //забиваем данные в массив
            outstream.passes = line;

            return m;
        }
Ejemplo n.º 42
0
        public static Massive DecodeLine(Massive m)
        {
            //создаём свежий массив параметров ffmpeg
            m.ffmpeg_options = new ffmpeg_arguments();

            m.encodingmode = Settings.EncodingModes.OnePass;

            //берём пока что за основу последнюю строку
            string line = m.vpasses[m.vpasses.Count - 1].ToString();

            string[] separator = new string[] { " " };
            string[] cli = line.Split(separator, StringSplitOptions.None);
            int n = 0;

            foreach (string value in cli)
            {
                if (value == "-vtag")
                    m.ffmpeg_options.fourcc_huff = cli[n + 1];

                if (value == "-pix_fmt")
                {
                    //YUV422 - YUY2
                    //YUV420P - YV12 & I420

                    string color = cli[n + 1];
                    if (color == "yuv420p") m.ffmpeg_options.colorspace = "YV12";
                    else if (color == "yuv422p") m.ffmpeg_options.colorspace = "YUY2";
                    else m.ffmpeg_options.colorspace = color.ToUpper();
                }

                if (value == "-coder")
                    m.ffmpeg_options.codertype = cli[n + 1].ToUpper();

                if (value == "-context")
                {
                    if (Convert.ToInt32(cli[n + 1]) == 0)
                        m.ffmpeg_options.contextmodel = "Small";
                    else m.ffmpeg_options.contextmodel = "Large";
                }

                n++;
            }

            m.outvbitrate = 1; //(int)((4.19 * (double)m.outresw * (double)m.outresh * Calculate.ConvertStringToDouble(m.outframerate)) / 1000.0);
            m.encodingmode = Settings.EncodingModes.Quantizer;

            return m;
        }
Ejemplo n.º 43
0
        public SourceDetector(Massive mass)
        {
            this.InitializeComponent();
            this.Owner = App.Current.MainWindow;
            this.m = mass.Clone();

            progress_total.Maximum = 100;
            Title = Languages.Translate("Detecting interlace") + "...";
            label_info.Content = Languages.Translate("Please wait... Work in progress...");

            //BackgroundWorker
            CreateBackgroundWorker();
            worker.RunWorkerAsync();

            ShowDialog();
        }
Ejemplo n.º 44
0
        int MaxPortions              = 15;                      //Макс. допустимое кол-во порций (анализ полей только в интерлейсных секциях), 5

        public SourceDetector(Massive mass)
        {
            this.InitializeComponent();
            this.Owner = App.Current.MainWindow;
            this.m     = mass.Clone();

            progress_total.Maximum = 100;
            Title = Languages.Translate("Detecting interlace") + "...";
            label_info.Content = Languages.Translate("Please wait... Work in progress...");

            //BackgroundWorker
            CreateBackgroundWorker();
            worker.RunWorkerAsync();

            ShowDialog();
        }
Ejemplo n.º 45
0
        public static void CreateVProfile(Massive m)
        {
            using (StreamWriter sw = new StreamWriter(Calculate.StartupPath + "\\presets\\encoding\\" + Format.EnumToString(m.format) + "\\video\\" + m.vencoding + ".txt", false, System.Text.Encoding.Default))
            {
                sw.WriteLine("video codec:");
                sw.WriteLine(m.outvcodec);

                sw.WriteLine();

                sw.WriteLine("video cli:");
                foreach (string line in m.vpasses)
                    sw.WriteLine(line);

                sw.Close();
            }
        }
Ejemplo n.º 46
0
        public static Massive DecodeLine(Massive m)
        {
            //создаём свежий массив параметров ffmpeg
            m.ffmpeg_options = new ffmpeg_arguments();

            m.encodingmode = Settings.EncodingModes.OnePass;

            //берём пока что за основу последнюю строку
            string line = m.vpasses[m.vpasses.Count - 1].ToString();

            string[] separator = new string[] { " " };
            string[] cli = line.Split(separator, StringSplitOptions.None);
            int n = 0;

            foreach (string value in cli)
            {
                if (value == "-vtag")
                    m.ffmpeg_options.fourcc_huff = cli[n + 1];

                if (value == "-pix_fmt")
                {
                    //YUV422 - YUY2
                    //YUV420P - YV12 & I420
                    //RGBA 32

                    string dvstandart = cli[n + 1];
                    if (dvstandart == "yuv420p") m.ffmpeg_options.colorspace = "YV12";
                    else if (dvstandart == "yuv422p") m.ffmpeg_options.colorspace = "YUY2";
                    else m.ffmpeg_options.colorspace = dvstandart.ToUpper();
                }

                if (value == "-pred")
                {
                    string pred = cli[n + 1];
                    if (pred == "left") m.ffmpeg_options.predictor = "Left";
                    else if (pred == "plane") m.ffmpeg_options.predictor = "Plane";
                    else m.ffmpeg_options.predictor = "Median";
                }

                n++;
            }

            m.outvbitrate = 1; //(int)((6.70495523 * (double)m.outresw * (double)m.outresh * Calculate.ConvertStringToDouble(m.outframerate)) / 1000.0);
            m.encodingmode = Settings.EncodingModes.Quantizer;

            return m;
        }
Ejemplo n.º 47
0
        public static void CreateAProfile(Massive m)
        {
            AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];

            using (StreamWriter sw = new StreamWriter(Calculate.StartupPath + "\\presets\\encoding\\" + Format.EnumToString(m.format) + "\\audio\\" + outstream.encoding + ".txt", false, System.Text.Encoding.Default))
            {
                sw.WriteLine("audio codec:");
                sw.WriteLine(outstream.codec);

                sw.WriteLine();

                sw.WriteLine("audio cli:");
                sw.WriteLine(outstream.passes);

                sw.Close();
            }
        }
Ejemplo n.º 48
0
        public Caching(Massive mass)
        {
            this.InitializeComponent();
            this.Owner = App.Current.MainWindow;
            this.m = mass.Clone();

            //забиваем
            prCurrent.Maximum = 100;
            Title =  Languages.Translate("Caсhing") + "...";
            text_info.Content = Languages.Translate("Please wait... Work in progress...");

            //Caching
            CreateBackgroundWorker();
            worker.RunWorkerAsync();

            ShowDialog();
        }
Ejemplo n.º 49
0
        public static void CreateAProfile(Massive m)
        {
            AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];

            using (StreamWriter sw = new StreamWriter(Calculate.StartupPath + "\\presets\\encoding\\" + Format.EnumToString(m.format) + "\\audio\\" + outstream.encoding + ".txt", false, System.Text.Encoding.Default))
            {
                sw.WriteLine("audio codec:");
                sw.WriteLine(outstream.codec);

                sw.WriteLine();

                sw.WriteLine("audio cli:");
                sw.WriteLine(outstream.passes);

                sw.Close();
            }
        }
Ejemplo n.º 50
0
        public IndexChecker(Massive mass)
        {
            this.InitializeComponent();
            this.Owner = App.Current.MainWindow;
            this.m = mass.Clone();

            //забиваем
            prCurrent.Maximum = 100;
            Title = Languages.Translate("Checking index folder") + "...";
            label_info.Content = Languages.Translate("Please wait... Work in progress...");

            //BackgroundWorker
            CreateBackgroundWorker();
            worker.RunWorkerAsync();

            ShowDialog();
        }
Ejemplo n.º 51
0
        public Informer(Massive mass)
        {
            this.InitializeComponent();
            this.Owner = App.Current.MainWindow;
            this.m     = mass.Clone();

            //забиваем
            prCurrent.Maximum  = 100;
            Title              = Languages.Translate("Getting media info") + "...";
            label_info.Content = Languages.Translate("Please wait... Work in progress...");

            //BackgroundWorker
            CreateBackgroundWorker();
            worker.RunWorkerAsync();

            ShowDialog();
        }
Ejemplo n.º 52
0
        private void ApplyCrop()
        {
            m = FixInputAspect(m);
            m = Format.GetValidResolution(m);
            m = Format.GetValidOutAspect(m);
            m = FixAspectDifference(m);

            combo_aspectfix.SelectedItem = m.aspectfix.ToString();

            LoadResolutions();
            LoadInAspect();
            LoadOutAspect();
            LoadCrop();
            LoadBlack();

            Refresh();
        }
Ejemplo n.º 53
0
        private void combo_aspectfix_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            if ((combo_aspectfix.IsDropDownOpen || combo_aspectfix.IsSelectionBoxHighlighted) && combo_aspectfix.SelectedItem != null)
            {
                m.aspectfix = (AspectFixes)Enum.Parse(typeof(AspectFixes), combo_aspectfix.SelectedItem.ToString());

                m = FixAspectDifference(m);

                LoadCrop();
                LoadBlack();

                LoadInAspect();
                textbox_error.Text = Calculate.ConvertDoubleToPointString(100 - ((m.outaspect * 100) / m.inaspect), 2) + "%";

                Refresh();
            }
        }
Ejemplo n.º 54
0
        private void check_nonstandard_fps_Click(object sender, RoutedEventArgs e)
        {
            Settings.Nonstandard_fps = check_nonstandard_fps.IsChecked.Value;

            if (m != null)
            {
                m             = Format.GetOutInterlace(m);
                m             = Calculate.UpdateOutFramerate(m);
                m             = Calculate.UpdateOutFrames(m);
                m.outfilesize = Calculate.GetEncodingSize(m);

                combo_deinterlace.SelectedValue = m.deinterlace;
                SetFramerateCombo(m.outframerate);

                Refresh();
            }
        }
Ejemplo n.º 55
0
        public static Massive EncodeLine(Massive m)
        {
            string line = "";

            AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];

            if (m.aac_options.encodingmode == Settings.AudioEncodingModes.ABR)
            {
                line += "-br " + outstream.bitrate + "000";
            }
            else if (m.aac_options.encodingmode == Settings.AudioEncodingModes.CBR)
            {
                line += "-cbr " + outstream.bitrate + "000";
            }
            else if (m.aac_options.encodingmode == Settings.AudioEncodingModes.VBR)
            {
                line += "-q " + m.aac_options.quality.ToString("0.00").Replace(",", ".");
            }
            else //TwoPass
            {
                line += "-2pass -br " + outstream.bitrate + "000";
                if (m.aac_options.period > 0)
                {
                    line += " -2passperiod " + m.aac_options.period;
                }
            }

            if (m.aac_options.aacprofile == "AAC-LC")
            {
                line += " -lc";
            }
            if (m.aac_options.aacprofile == "AAC-HE")
            {
                line += " -he";
            }
            if (m.aac_options.aacprofile == "AAC-HEv2")
            {
                line += " -hev2";
            }

            //забиваем данные в массив
            outstream.passes = line;

            return(m);
        }
Ejemplo n.º 56
0
        public Indexing_FFMS(Massive mass)
        {
            this.InitializeComponent();
            this.Owner = App.Current.MainWindow;
            this.m = mass.Clone();

            //забиваем
            prCurrent.Maximum = 100;
            total = m.infileslist.Length;
            Title = Languages.Translate("Indexing");
            text_info.Content = Languages.Translate("Please wait... Work in progress...");

            //BackgroundWorker
            CreateBackgroundWorker();
            worker.RunWorkerAsync();

            ShowDialog();
        }
Ejemplo n.º 57
0
        public Caching(Massive mass, bool check_audio_only)
        {
            this.InitializeComponent();
            this.Owner      = App.Current.MainWindow;
            this.only_audio = check_audio_only;
            this.m          = mass.Clone();

            //забиваем
            prCurrent.Maximum = 100;
            Title             = Languages.Translate("Caсhing") + "...";
            text_info.Content = Languages.Translate("Please wait... Work in progress...");

            //Caching
            CreateBackgroundWorker();
            worker.RunWorkerAsync();

            ShowDialog();
        }
Ejemplo n.º 58
0
        public FFLAC(Massive mass, AudioEncoding AudioEncWindow)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = AudioEncWindow;

            for (int n = 0; n < 13; n++) combo_level.Items.Add(n);
            for (int n = 0; n < 11; n++) combo_use_lpc.Items.Add(n);
            for (int n = 0; n < 16; n++) combo_precision.Items.Add(n);

            combo_level.ToolTip = "Set compression level:\r\n0 - fast, but bigger filesize\r\n5 - default\r\n12 - slow, but smaller filesize";
            combo_use_lpc.ToolTip = "LPC method for determining coefficients:\r\n0 - LPC with fixed pre-defined coeffs (fast)\r\n" +
                "1 - LPC with coeffs determined by Levinson-Durbin recursion (default)\r\n2+ - LPC with coeffs determined by Cholesky factorization using (Use LPC - 1) passes (10 - veeery slow)";
            combo_precision.ToolTip = "LPC coefficient precision (15 - default)";

            LoadFromProfile();
        }
Ejemplo n.º 59
0
        public static void CreateVProfile(Massive m)
        {
            using (StreamWriter sw = new StreamWriter(Calculate.StartupPath + "\\presets\\encoding\\" + Format.EnumToString(m.format) + "\\video\\" + m.vencoding + ".txt", false, System.Text.Encoding.Default))
            {
                sw.WriteLine("video codec:");
                sw.WriteLine(m.outvcodec);

                sw.WriteLine();

                sw.WriteLine("video cli:");
                foreach (string line in m.vpasses)
                {
                    sw.WriteLine(line);
                }

                sw.Close();
            }
        }
Ejemplo n.º 60
0
        public static Massive DecodeLine(Massive m)
        {
            AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];

            //создаём свежий массив параметров Nero AAC
            m.aac_options = new aac_arguments();

            //берём пока что за основу последнюю строку
            string line = outstream.passes;

            string[] separator = new string[] { " " };
            string[] cli = line.Split(separator, StringSplitOptions.None);
            int n = 0; bool auto = true;

            foreach (string value in cli)
            {
                if (value == "-2pass") m.aac_options.encodingmode = Settings.AudioEncodingModes.TwoPass;
                else if (value == "-q")
                {
                    m.aac_options.encodingmode = Settings.AudioEncodingModes.VBR;
                    m.aac_options.quality = Calculate.ConvertStringToDouble(cli[n + 1]);
                }
                else if (value == "-br" || value == "-cbr")
                {
                    if (m.aac_options.encodingmode != Settings.AudioEncodingModes.TwoPass)
                        if (value == "-br") m.aac_options.encodingmode = Settings.AudioEncodingModes.ABR;
                        else m.aac_options.encodingmode = Settings.AudioEncodingModes.CBR;
                    outstream.bitrate = Convert.ToInt32(cli[n + 1].Replace("000", ""));
                }
                else if (value == "-lc" || value == "-he" || value == "-hev2")
                {
                    auto = false;
                    if (value == "-lc") m.aac_options.aacprofile = "AAC-LC";
                    else if (value == "-he") m.aac_options.aacprofile = "AAC-HE";
                    else m.aac_options.aacprofile = "AAC-HEv2";
                }
                else if (value == "-2passperiod") m.aac_options.period = Convert.ToInt32(cli[n + 1]);

                if (auto) m.aac_options.aacprofile = "Auto";
                n++;
            }

            return m;
        }