diff --git a/src/BizHawk.Client.EmuHawk/AVOut/FFmpegWriterForm.Designer.cs b/src/BizHawk.Client.EmuHawk/AVOut/FFmpegWriterForm.Designer.cs index 8f17a4eba3..14fd192bb6 100644 --- a/src/BizHawk.Client.EmuHawk/AVOut/FFmpegWriterForm.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/AVOut/FFmpegWriterForm.Designer.cs @@ -28,117 +28,117 @@ /// private void InitializeComponent() { - this.label1 = new BizHawk.WinForms.Controls.LocLabelEx(); - this.listBox1 = new System.Windows.Forms.ListBox(); - this.label2 = new BizHawk.WinForms.Controls.LocLabelEx(); - this.label3 = new BizHawk.WinForms.Controls.LocLabelEx(); - this.label4 = new BizHawk.WinForms.Controls.LocLabelEx(); - this.textBox1 = new System.Windows.Forms.TextBox(); - this.button1 = new System.Windows.Forms.Button(); - this.button2 = new System.Windows.Forms.Button(); - this.label5 = new BizHawk.WinForms.Controls.LocLabelEx(); - this.SuspendLayout(); - // - // label1 - // - this.label1.Location = new System.Drawing.Point(5, 5); - this.label1.Name = "label1"; - this.label1.Text = "Formats:"; - // - // listBox1 - // - this.listBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + this.label1 = new BizHawk.WinForms.Controls.LocLabelEx(); + this.listBox1 = new System.Windows.Forms.ListBox(); + this.label2 = new BizHawk.WinForms.Controls.LocLabelEx(); + this.label3 = new BizHawk.WinForms.Controls.LocLabelEx(); + this.label4 = new BizHawk.WinForms.Controls.LocLabelEx(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.label5 = new BizHawk.WinForms.Controls.LocLabelEx(); + this.SuspendLayout(); + // + // label1 + // + this.label1.Location = new System.Drawing.Point(5, 5); + this.label1.Name = "label1"; + this.label1.Text = "Formats:"; + // + // listBox1 + // + this.listBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.listBox1.FormattingEnabled = true; - this.listBox1.Location = new System.Drawing.Point(5, 23); - this.listBox1.Name = "listBox1"; - this.listBox1.Size = new System.Drawing.Size(275, 160); - this.listBox1.TabIndex = 1; - this.listBox1.SelectedIndexChanged += new System.EventHandler(this.ListBox1_SelectedIndexChanged); - // - // label2 - // - this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.label2.Location = new System.Drawing.Point(7, 189); - this.label2.Name = "label2"; - this.label2.Text = "Description:"; - // - // label3 - // - this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.label3.Location = new System.Drawing.Point(6, 206); - this.label3.MaximumSize = new System.Drawing.Size(260, 0); - this.label3.Name = "label3"; - // - // label4 - // - this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.label4.Location = new System.Drawing.Point(10, 268); - this.label4.Name = "label4"; - this.label4.Text = "Command:"; - // - // textBox1 - // - this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + this.listBox1.FormattingEnabled = true; + this.listBox1.Location = new System.Drawing.Point(5, 23); + this.listBox1.Name = "listBox1"; + this.listBox1.Size = new System.Drawing.Size(275, 173); + this.listBox1.TabIndex = 1; + this.listBox1.SelectedIndexChanged += new System.EventHandler(this.ListBox1_SelectedIndexChanged); + // + // label2 + // + this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label2.Location = new System.Drawing.Point(7, 202); + this.label2.Name = "label2"; + this.label2.Text = "Description:"; + // + // label3 + // + this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label3.Location = new System.Drawing.Point(6, 219); + this.label3.MaximumSize = new System.Drawing.Size(260, 0); + this.label3.Name = "label3"; + // + // label4 + // + this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label4.Location = new System.Drawing.Point(10, 281); + this.label4.Name = "label4"; + this.label4.Text = "Command:"; + // + // textBox1 + // + this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.textBox1.Location = new System.Drawing.Point(8, 286); - this.textBox1.Name = "textBox1"; - this.textBox1.Size = new System.Drawing.Size(272, 20); - this.textBox1.TabIndex = 5; - // - // button1 - // - this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.button1.DialogResult = System.Windows.Forms.DialogResult.OK; - this.button1.Location = new System.Drawing.Point(124, 327); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(75, 23); - this.button1.TabIndex = 6; - this.button1.Text = "OK"; - this.button1.UseVisualStyleBackColor = true; - // - // button2 - // - this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.button2.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.button2.Location = new System.Drawing.Point(205, 327); - this.button2.Name = "button2"; - this.button2.Size = new System.Drawing.Size(75, 23); - this.button2.TabIndex = 7; - this.button2.Text = "Cancel"; - this.button2.UseVisualStyleBackColor = true; - // - // label5 - // - this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.label5.Location = new System.Drawing.Point(159, 189); - this.label5.Name = "label5"; - this.label5.Text = "Extension:"; - // - // FFmpegWriterForm - // - this.AcceptButton = this.button1; - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.CancelButton = this.button2; - this.ClientSize = new System.Drawing.Size(292, 362); - this.Controls.Add(this.label5); - this.Controls.Add(this.button2); - this.Controls.Add(this.button1); - this.Controls.Add(this.textBox1); - this.Controls.Add(this.label4); - this.Controls.Add(this.label3); - this.Controls.Add(this.label2); - this.Controls.Add(this.listBox1); - this.Controls.Add(this.label1); - this.MinimumSize = new System.Drawing.Size(300, 360); - this.Name = "FFmpegWriterForm"; - this.ShowIcon = false; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Choose Video Format"; - this.ResumeLayout(false); - this.PerformLayout(); + this.textBox1.Location = new System.Drawing.Point(8, 299); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(272, 20); + this.textBox1.TabIndex = 5; + // + // button1 + // + this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.button1.DialogResult = System.Windows.Forms.DialogResult.OK; + this.button1.Location = new System.Drawing.Point(124, 340); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 6; + this.button1.Text = "OK"; + this.button1.UseVisualStyleBackColor = true; + // + // button2 + // + this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.button2.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.button2.Location = new System.Drawing.Point(205, 340); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(75, 23); + this.button2.TabIndex = 7; + this.button2.Text = "Cancel"; + this.button2.UseVisualStyleBackColor = true; + // + // label5 + // + this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.label5.Location = new System.Drawing.Point(159, 202); + this.label5.Name = "label5"; + this.label5.Text = "Extension:"; + // + // FFmpegWriterForm + // + this.AcceptButton = this.button1; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.button2; + this.ClientSize = new System.Drawing.Size(292, 375); + this.Controls.Add(this.label5); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Controls.Add(this.textBox1); + this.Controls.Add(this.label4); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.listBox1); + this.Controls.Add(this.label1); + this.MinimumSize = new System.Drawing.Size(300, 360); + this.Name = "FFmpegWriterForm"; + this.ShowIcon = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Choose Video Format"; + this.ResumeLayout(false); + this.PerformLayout(); } diff --git a/src/BizHawk.Client.EmuHawk/AVOut/FFmpegWriterForm.cs b/src/BizHawk.Client.EmuHawk/AVOut/FFmpegWriterForm.cs index 4d5580a103..f48aab9e91 100644 --- a/src/BizHawk.Client.EmuHawk/AVOut/FFmpegWriterForm.cs +++ b/src/BizHawk.Client.EmuHawk/AVOut/FFmpegWriterForm.cs @@ -47,10 +47,12 @@ namespace BizHawk.Client.EmuHawk { return new[] { - new FormatPreset("AVI Lossless AVC", "Lossless AVC video and uncompressed audio in an AVI container. High speed and compression, compatible with AVISource().", - "-c:a pcm_s16le -c:v libx264rgb -qp 0 -preset ultrafast -g 10 -pix_fmt rgb24 -f avi", false, "avi"), - new FormatPreset("AVI Lossless FFV1", "Lossless FFV1 video and uncompressed audio in an AVI container. Compatible with AVISource(), if ffmpeg based decoder is installed.", + new FormatPreset("AVI Lossless UT Video", "Lossless UT video and uncompressed audio in an AVI container. Compatible with AVISource(), if UT Video decoder is installed. Fast, but low compression.", + "-c:a pcm_s16le -c:v utvideo -pred median -pix_fmt gbrp -f avi", false, "avi"), + new FormatPreset("AVI Lossless FFV1", "Lossless FFV1 video and uncompressed audio in an AVI container. Compatible with AVISource(), if ffmpeg based decoder is installed. Slow, but high compression.", "-c:a pcm_s16le -c:v ffv1 -pix_fmt bgr0 -level 1 -g 1 -coder 1 -context 1 -f avi", false, "avi"), + new FormatPreset("AVI Lossless AVC", "Lossless AVC video and uncompressed audio in an AVI container. High speed and compression, compatible with AVISource(). Seeking may be unstable.", + "-c:a pcm_s16le -c:v libx264rgb -qp 0 -preset ultrafast -g 10 -pix_fmt rgb24 -f avi", false, "avi"), new FormatPreset("AVI Uncompressed", "Uncompressed video and audio in an AVI container. Very large, don't use!", "-c:a pcm_s16le -c:v rawvideo -f avi", false, "avi"), new FormatPreset("Matroska Lossless", "Lossless AVC video and uncompressed audio in a Matroska container.",