summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--win/C#/frmMain.Designer.cs49
-rw-r--r--win/C#/frmMain.cs21
-rw-r--r--win/C#/frmMain.resx96
-rw-r--r--win/C#/frmReadDVD.cs4
4 files changed, 144 insertions, 26 deletions
diff --git a/win/C#/frmMain.Designer.cs b/win/C#/frmMain.Designer.cs
index 75f2ed8b2..66c4458e6 100644
--- a/win/C#/frmMain.Designer.cs
+++ b/win/C#/frmMain.Designer.cs
@@ -363,7 +363,8 @@ namespace Handbrake
this.drp_dvdtitle.Size = new System.Drawing.Size(119, 21);
this.drp_dvdtitle.TabIndex = 7;
this.drp_dvdtitle.Text = "Automatic";
- this.ToolTip.SetToolTip(this.drp_dvdtitle, "Select the title you wish to encode.");
+ this.ToolTip.SetToolTip(this.drp_dvdtitle, "Select the title you wish to encode.\r\nThe longest title is selected by default af" +
+ "ter you have scanned a source.");
this.drp_dvdtitle.SelectedIndexChanged += new System.EventHandler(this.drp_dvdtitle_SelectedIndexChanged);
this.drp_dvdtitle.Click += new System.EventHandler(this.drp_dvdtitle_Click);
//
@@ -375,7 +376,7 @@ namespace Handbrake
this.text_source.Size = new System.Drawing.Size(584, 21);
this.text_source.TabIndex = 1;
this.text_source.Text = "Click \'Source\' to continue";
- this.ToolTip.SetToolTip(this.text_source, "The input source location.");
+ this.ToolTip.SetToolTip(this.text_source, "Location of the source input file, folder or dvd.");
//
// text_destination
//
@@ -454,8 +455,8 @@ namespace Handbrake
this.check_largeFile.Size = new System.Drawing.Size(105, 17);
this.check_largeFile.TabIndex = 4;
this.check_largeFile.Text = "Large file size";
- this.ToolTip.SetToolTip(this.check_largeFile, "Allows creation of MP4 files greater than 4GB.\r\nWarning: Breaks iPod, Apple TV (V" +
- "ersion 1 only) and PS3 compatibility.\r\nRequires .mp4/.m4v file extension");
+ this.ToolTip.SetToolTip(this.check_largeFile, "Caution: This option will likely break device compatibility with all but the Appl" +
+ "eTV Take 2.\r\nChecking this box enables a 64bit mp4 file which can be over 4GB.");
this.check_largeFile.UseVisualStyleBackColor = false;
//
// check_turbo
@@ -601,7 +602,7 @@ namespace Handbrake
this.check_optimiseMP4.AutoSize = true;
this.check_optimiseMP4.BackColor = System.Drawing.Color.Transparent;
this.check_optimiseMP4.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.check_optimiseMP4.Location = new System.Drawing.Point(304, 21);
+ this.check_optimiseMP4.Location = new System.Drawing.Point(304, 22);
this.check_optimiseMP4.Name = "check_optimiseMP4";
this.check_optimiseMP4.Size = new System.Drawing.Size(110, 17);
this.check_optimiseMP4.TabIndex = 25;
@@ -616,13 +617,13 @@ namespace Handbrake
this.check_iPodAtom.AutoSize = true;
this.check_iPodAtom.BackColor = System.Drawing.Color.Transparent;
this.check_iPodAtom.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.check_iPodAtom.Location = new System.Drawing.Point(420, 20);
+ this.check_iPodAtom.Location = new System.Drawing.Point(420, 22);
this.check_iPodAtom.Name = "check_iPodAtom";
this.check_iPodAtom.Size = new System.Drawing.Size(117, 17);
this.check_iPodAtom.TabIndex = 26;
this.check_iPodAtom.Text = "iPod 5G support";
- this.ToolTip.SetToolTip(this.check_iPodAtom, "Required for 5th and 6th Generation iPods.\r\nEncodes will not sync if this is not " +
- "enabled for H.264 encodes");
+ this.ToolTip.SetToolTip(this.check_iPodAtom, "Support for legacy 5th Generation iPods.\r\nEncodes will not sync if this option is" +
+ " not enabled for H.264 encodes.");
this.check_iPodAtom.UseVisualStyleBackColor = false;
//
// data_chpt
@@ -954,7 +955,7 @@ namespace Handbrake
this.drop_format.Name = "drop_format";
this.drop_format.Size = new System.Drawing.Size(106, 21);
this.drop_format.TabIndex = 28;
- this.ToolTip.SetToolTip(this.drop_format, "Select a video encoder");
+ this.ToolTip.SetToolTip(this.drop_format, "Select the file container format.");
this.drop_format.SelectedIndexChanged += new System.EventHandler(this.drop_format_SelectedIndexChanged);
//
// lbl_src_res
@@ -1893,6 +1894,7 @@ namespace Handbrake
this.check_customCrop.Size = new System.Drawing.Size(74, 17);
this.check_customCrop.TabIndex = 34;
this.check_customCrop.Text = "Custom:";
+ this.ToolTip.SetToolTip(this.check_customCrop, "Set some custom cropping values.");
this.check_customCrop.UseVisualStyleBackColor = true;
this.check_customCrop.CheckedChanged += new System.EventHandler(this.check_customCrop_CheckedChanged);
//
@@ -1906,6 +1908,7 @@ namespace Handbrake
this.check_autoCrop.TabIndex = 33;
this.check_autoCrop.TabStop = true;
this.check_autoCrop.Text = "Automatic";
+ this.ToolTip.SetToolTip(this.check_autoCrop, "Automatically set cropping values.");
this.check_autoCrop.UseVisualStyleBackColor = true;
this.check_autoCrop.CheckedChanged += new System.EventHandler(this.check_autoCrop_CheckedChanged);
//
@@ -2329,6 +2332,7 @@ namespace Handbrake
this.check_Cabac.TabIndex = 40;
this.check_Cabac.Text = "CABAC Entropy Coding:";
this.check_Cabac.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ToolTip.SetToolTip(this.check_Cabac, resources.GetString("check_Cabac.ToolTip"));
this.check_Cabac.UseVisualStyleBackColor = true;
this.check_Cabac.CheckStateChanged += new System.EventHandler(this.check_Cabac_CheckedChanged);
//
@@ -2344,6 +2348,8 @@ namespace Handbrake
this.check_noDCTDecimate.TabIndex = 39;
this.check_noDCTDecimate.Text = "No DCT-Decimate:";
this.check_noDCTDecimate.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ToolTip.SetToolTip(this.check_noDCTDecimate, "Only use this with constant quality encoding. \r\nIt increases quality but also bit" +
+ "rate/file size.");
this.check_noDCTDecimate.UseVisualStyleBackColor = true;
this.check_noDCTDecimate.CheckStateChanged += new System.EventHandler(this.check_noDCTDecimate_CheckedChanged);
//
@@ -2359,6 +2365,8 @@ namespace Handbrake
this.check_noFastPSkip.TabIndex = 38;
this.check_noFastPSkip.Text = "No Fast-P-Skip:";
this.check_noFastPSkip.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ToolTip.SetToolTip(this.check_noFastPSkip, "This can help with blocking on solid colors like blue skies, \r\nbut it also slows " +
+ "down the encode.");
this.check_noFastPSkip.UseVisualStyleBackColor = true;
this.check_noFastPSkip.CheckStateChanged += new System.EventHandler(this.check_noFastPSkip_CheckedChanged);
//
@@ -2386,6 +2394,9 @@ namespace Handbrake
this.drop_trellis.Name = "drop_trellis";
this.drop_trellis.Size = new System.Drawing.Size(143, 20);
this.drop_trellis.TabIndex = 37;
+ this.ToolTip.SetToolTip(this.drop_trellis, "Trellis fine-tunes how bitrate is doled out, so it can reduce file size/bitrate o" +
+ "r increase quality. \r\nA value of 2 forces it to be used more often than a value " +
+ "of 1.");
this.drop_trellis.SelectedIndexChanged += new System.EventHandler(this.drop_trellis_SelectedIndexChanged);
//
// drop_deblockBeta
@@ -2412,6 +2423,7 @@ namespace Handbrake
this.drop_deblockBeta.Name = "drop_deblockBeta";
this.drop_deblockBeta.Size = new System.Drawing.Size(69, 20);
this.drop_deblockBeta.TabIndex = 36;
+ this.ToolTip.SetToolTip(this.drop_deblockBeta, resources.GetString("drop_deblockBeta.ToolTip"));
this.drop_deblockBeta.SelectedIndexChanged += new System.EventHandler(this.drop_deblockBeta_SelectedIndexChanged);
//
// label41
@@ -2448,6 +2460,7 @@ namespace Handbrake
this.drop_deblockAlpha.Name = "drop_deblockAlpha";
this.drop_deblockAlpha.Size = new System.Drawing.Size(68, 20);
this.drop_deblockAlpha.TabIndex = 35;
+ this.ToolTip.SetToolTip(this.drop_deblockAlpha, resources.GetString("drop_deblockAlpha.ToolTip"));
this.drop_deblockAlpha.SelectedIndexChanged += new System.EventHandler(this.drop_deblockAlpha_SelectedIndexChanged);
//
// panel3
@@ -2489,6 +2502,7 @@ namespace Handbrake
this.check_8x8DCT.TabIndex = 34;
this.check_8x8DCT.Text = "8x8 DCT:";
this.check_8x8DCT.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ToolTip.SetToolTip(this.check_8x8DCT, resources.GetString("check_8x8DCT.ToolTip"));
this.check_8x8DCT.UseVisualStyleBackColor = true;
this.check_8x8DCT.CheckStateChanged += new System.EventHandler(this.check_8x8DCT_CheckedChanged);
//
@@ -2515,6 +2529,7 @@ namespace Handbrake
this.drop_analysis.Name = "drop_analysis";
this.drop_analysis.Size = new System.Drawing.Size(63, 20);
this.drop_analysis.TabIndex = 33;
+ this.ToolTip.SetToolTip(this.drop_analysis, resources.GetString("drop_analysis.ToolTip"));
this.drop_analysis.SelectedIndexChanged += new System.EventHandler(this.drop_analysis_SelectedIndexChanged);
//
// label48
@@ -2546,6 +2561,7 @@ namespace Handbrake
this.drop_subpixelMotionEstimation.Name = "drop_subpixelMotionEstimation";
this.drop_subpixelMotionEstimation.Size = new System.Drawing.Size(139, 20);
this.drop_subpixelMotionEstimation.TabIndex = 32;
+ this.ToolTip.SetToolTip(this.drop_subpixelMotionEstimation, resources.GetString("drop_subpixelMotionEstimation.ToolTip"));
this.drop_subpixelMotionEstimation.SelectedIndexChanged += new System.EventHandler(this.drop_subpixelMotionEstimation_SelectedIndexChanged);
//
// label49
@@ -2630,6 +2646,7 @@ namespace Handbrake
this.drop_MotionEstimationRange.Name = "drop_MotionEstimationRange";
this.drop_MotionEstimationRange.Size = new System.Drawing.Size(139, 20);
this.drop_MotionEstimationRange.TabIndex = 31;
+ this.ToolTip.SetToolTip(this.drop_MotionEstimationRange, resources.GetString("drop_MotionEstimationRange.ToolTip"));
this.drop_MotionEstimationRange.SelectedIndexChanged += new System.EventHandler(this.drop_MotionEstimationRange_SelectedIndexChanged);
//
// label54
@@ -2658,6 +2675,7 @@ namespace Handbrake
this.drop_MotionEstimationMethod.Name = "drop_MotionEstimationMethod";
this.drop_MotionEstimationMethod.Size = new System.Drawing.Size(139, 20);
this.drop_MotionEstimationMethod.TabIndex = 30;
+ this.ToolTip.SetToolTip(this.drop_MotionEstimationMethod, resources.GetString("drop_MotionEstimationMethod.ToolTip"));
this.drop_MotionEstimationMethod.SelectedIndexChanged += new System.EventHandler(this.drop_MotionEstimationMethod_SelectedIndexChanged);
//
// check_pyrmidalBFrames
@@ -2672,6 +2690,7 @@ namespace Handbrake
this.check_pyrmidalBFrames.TabIndex = 17;
this.check_pyrmidalBFrames.Text = "Pyrmidal B-Frames:";
this.check_pyrmidalBFrames.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ToolTip.SetToolTip(this.check_pyrmidalBFrames, resources.GetString("check_pyrmidalBFrames.ToolTip"));
this.check_pyrmidalBFrames.UseVisualStyleBackColor = true;
this.check_pyrmidalBFrames.CheckStateChanged += new System.EventHandler(this.check_pyrmidalBFrames_CheckedChanged);
//
@@ -2687,6 +2706,7 @@ namespace Handbrake
this.check_BidirectionalRefinement.TabIndex = 16;
this.check_BidirectionalRefinement.Text = "Bidirectional Refinement:";
this.check_BidirectionalRefinement.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ToolTip.SetToolTip(this.check_BidirectionalRefinement, resources.GetString("check_BidirectionalRefinement.ToolTip"));
this.check_BidirectionalRefinement.UseVisualStyleBackColor = true;
this.check_BidirectionalRefinement.CheckStateChanged += new System.EventHandler(this.check_BidirectionalRefinement_CheckedChanged);
//
@@ -2702,6 +2722,7 @@ namespace Handbrake
this.check_bFrameRateDistortion.TabIndex = 15;
this.check_bFrameRateDistortion.Text = "B-Frame Rate Distortion:";
this.check_bFrameRateDistortion.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ToolTip.SetToolTip(this.check_bFrameRateDistortion, resources.GetString("check_bFrameRateDistortion.ToolTip"));
this.check_bFrameRateDistortion.UseVisualStyleBackColor = true;
this.check_bFrameRateDistortion.CheckStateChanged += new System.EventHandler(this.check_bFrameDistortion_CheckedChanged);
//
@@ -2716,6 +2737,7 @@ namespace Handbrake
this.check_weightedBFrames.Size = new System.Drawing.Size(123, 16);
this.check_weightedBFrames.TabIndex = 14;
this.check_weightedBFrames.Text = "Weighted B-Frames:";
+ this.ToolTip.SetToolTip(this.check_weightedBFrames, resources.GetString("check_weightedBFrames.ToolTip"));
this.check_weightedBFrames.UseVisualStyleBackColor = true;
this.check_weightedBFrames.CheckStateChanged += new System.EventHandler(this.check_weightedBFrames_CheckedChanged);
//
@@ -2744,6 +2766,7 @@ namespace Handbrake
this.drop_directPrediction.Name = "drop_directPrediction";
this.drop_directPrediction.Size = new System.Drawing.Size(121, 20);
this.drop_directPrediction.TabIndex = 13;
+ this.ToolTip.SetToolTip(this.drop_directPrediction, resources.GetString("drop_directPrediction.ToolTip"));
this.drop_directPrediction.SelectedIndexChanged += new System.EventHandler(this.drop_directPrediction_SelectedIndexChanged);
//
// label62
@@ -2784,6 +2807,9 @@ namespace Handbrake
this.drop_bFrames.Name = "drop_bFrames";
this.drop_bFrames.Size = new System.Drawing.Size(121, 20);
this.drop_bFrames.TabIndex = 12;
+ this.ToolTip.SetToolTip(this.drop_bFrames, "Sane values are 1-6. \r\nB-Frames are smaller than other frames, so they let you pa" +
+ "ck in more quality at the same bitrate. \r\nUse more of them with animated materia" +
+ "l: 9-16. ");
this.drop_bFrames.SelectedIndexChanged += new System.EventHandler(this.drop_bFrames_SelectedIndexChanged);
//
// label64
@@ -2824,6 +2850,8 @@ namespace Handbrake
this.drop_refFrames.Name = "drop_refFrames";
this.drop_refFrames.Size = new System.Drawing.Size(121, 20);
this.drop_refFrames.TabIndex = 10;
+ this.ToolTip.SetToolTip(this.drop_refFrames, "Sane values are 1-6. The more you add, the higher the quality � but the slower th" +
+ "e encode. ");
this.drop_refFrames.SelectedIndexChanged += new System.EventHandler(this.drop_refFrames_SelectedIndexChanged);
//
// check_mixedReferences
@@ -2838,6 +2866,8 @@ namespace Handbrake
this.check_mixedReferences.TabIndex = 11;
this.check_mixedReferences.Text = "Mixed References:";
this.check_mixedReferences.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ToolTip.SetToolTip(this.check_mixedReferences, "With this on, different parts of a frame will refer back to different prior frame" +
+ "s, \r\ndepending on what\'s best for that part of the image. ");
this.check_mixedReferences.UseVisualStyleBackColor = true;
this.check_mixedReferences.CheckStateChanged += new System.EventHandler(this.check_mixedReferences_CheckedChanged);
//
@@ -2997,6 +3027,7 @@ namespace Handbrake
this.btn_source.Name = "btn_source";
this.btn_source.Size = new System.Drawing.Size(90, 36);
this.btn_source.Text = "Source";
+ this.btn_source.ToolTipText = "Open a new source file or folder.";
this.btn_source.Click += new System.EventHandler(this.btn_source_Click);
//
// btn_file_source
diff --git a/win/C#/frmMain.cs b/win/C#/frmMain.cs
index df78634b5..88f26851c 100644
--- a/win/C#/frmMain.cs
+++ b/win/C#/frmMain.cs
@@ -371,7 +371,7 @@ namespace Handbrake
// If there are no titles in the dropdown menu then the scan has obviously failed. Display an error message explaining to the user.
if (drp_dvdtitle.Items.Count == 0)
- MessageBox.Show("No Title(s) found. Please make sure you have selected a valid, non-copy protected source. Please refer to the FAQ (see Help Menu).", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
+ MessageBox.Show("No Title(s) found. Please make sure you have selected a valid, non-copy protected source.\nYour Source may be copy protected, badly mastered or a format which HandBrake does not support. \nPlease refer to the Documentation and FAQ (see Help Menu).", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
lbl_encode.Text = "";
}
@@ -400,7 +400,7 @@ namespace Handbrake
// If there are no titles in the dropdown menu then the scan has obviously failed. Display an error message explaining to the user.
if (drp_dvdtitle.Items.Count == 0)
- MessageBox.Show("No Title(s) found. Please make sure you have selected a valid, non-copy protected source. Please refer to the FAQ (see Help Menu).", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
+ MessageBox.Show("No Title(s) found. Please make sure you have selected a valid, non-copy protected source.\nYour Source may be copy protected, badly mastered or a format which HandBrake does not support. \nPlease refer to the Documentation and FAQ (see Help Menu).", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
lbl_encode.Text = "";
}
@@ -420,7 +420,7 @@ namespace Handbrake
// If there are no titles in the dropdown menu then the scan has obviously failed. Display an error message explaining to the user.
if (drp_dvdtitle.Items.Count == 0)
- MessageBox.Show("No Title(s) found. Please make sure you have selected a valid, non-copy protected source. Please refer to the FAQ (see Help Menu).", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
+ MessageBox.Show("No Title(s) found. Please make sure you have selected a valid, non-copy protected source.\nYour Source may be copy protected, badly mastered or a format which HandBrake does not support. \nPlease refer to the Documentation and FAQ (see Help Menu).", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
lbl_encode.Text = "";
}
@@ -428,7 +428,7 @@ namespace Handbrake
private void drp_dvdtitle_Click(object sender, EventArgs e)
{
if ((drp_dvdtitle.Items.Count == 1) && (drp_dvdtitle.Items[0].ToString() == "Automatic"))
- MessageBox.Show("There are no titles to select. Please scan the DVD by clicking the 'Source' button above before trying to select a title.", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
+ MessageBox.Show("There are no titles to select. Please load a source file by clicking the 'Source' button above before trying to select a title.", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
private void drp_dvdtitle_SelectedIndexChanged(object sender, EventArgs e)
{
@@ -917,9 +917,6 @@ namespace Handbrake
}
private void drp_audmix_2_SelectedIndexChanged(object sender, EventArgs e)
{
- if (drp_audmix_1.Text == "Automatic")
- MessageBox.Show("Please select a mixdown for the previous track(s).", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
-
if ((drp_audenc_2.Text == "AAC") && (drp_audmix_2.Text == "6 Channel Discrete"))
setBitrateSelections384(drp_audbit_2);
else if ((drp_audenc_2.Text == "AAC") && (drp_audmix_2.Text != "6 Channel Discrete"))
@@ -930,9 +927,6 @@ namespace Handbrake
}
private void drp_audmix_3_SelectedIndexChanged(object sender, EventArgs e)
{
- if (drp_audmix_2.Text == "Automatic")
- MessageBox.Show("Please select a mixdown for the previous track(s).", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
-
if ((drp_audenc_3.Text == "AAC") && (drp_audmix_3.Text == "6 Channel Discrete"))
setBitrateSelections384(drp_audbit_3);
else if ((drp_audenc_3.Text == "AAC") && (drp_audmix_3.Text != "6 Channel Discrete"))
@@ -943,9 +937,6 @@ namespace Handbrake
}
private void drp_audmix_4_SelectedIndexChanged(object sender, EventArgs e)
{
- if (drp_audmix_3.Text == "Automatic")
- MessageBox.Show("Please select a mixdown for the previous track(s).", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
-
if ((drp_audenc_4.Text == "AAC") && (drp_audmix_4.Text == "6 Channel Discrete"))
setBitrateSelections384(drp_audbit_4);
else if ((drp_audenc_4.Text == "AAC") && (drp_audmix_4.Text != "6 Channel Discrete"))
@@ -1791,9 +1782,9 @@ namespace Handbrake
if (foundDrive == false)
mnu_dvd_drive.Text = "[No DVD Drive Ready]";
}
- catch (Exception exc)
+ catch (Exception)
{
- MessageBox.Show("Drive Detection Error. \n Error Information: \n\n " + exc.ToString());
+ mnu_dvd_drive.Text = "[No DVD Drive Ready / Found]";
}
}
diff --git a/win/C#/frmMain.resx b/win/C#/frmMain.resx
index 5bc2f65cb..be7f79444 100644
--- a/win/C#/frmMain.resx
+++ b/win/C#/frmMain.resx
@@ -173,6 +173,102 @@ Note: Do not change any of the chapter numbers!</value>
<metadata name="frmMainMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>106, 15</value>
</metadata>
+ <data name="check_Cabac.ToolTip" xml:space="preserve">
+ <value>CABAC, or context adaptive binary arithmetic coding, is used by x264 to reduce the bitrate needed for a given quality by 15%.
+This makes it very cool and very useful, and it should be left on whenever possible. However, it is incompatible with the iPod 5.5G, and makes the AppleTV struggle.
+So turn it off for those. CABAC is a kind of entropy coding, which means that it compresses data by making shorthand symbols to represent long streams of data.
+The "entropy" part means that the symbols it uses the most often are the smallest.
+When you disable CABAC, another entropy coding scheme gets enabled, called CAVLC (context adaptive variable-length coding).
+CAVLC is a lot less efficient, which is why it needs 15% more bitrate to achieve the same quality as CABAC.</value>
+ </data>
+ <data name="drop_deblockBeta.ToolTip" xml:space="preserve">
+ <value>x264 includes an in-loop deblocking filter.
+What this means is that blocky compression artifacts are smoothed away when you play back the video.
+It has two settings: strength and threshold, just like a simple filter in Photoshop.
+Strength controls the amount of deblocking applied to the whole frame.
+If you drop down below 0, you reduce the amount of blurring.
+Go too negative, and you'll get an effect somewhat like oversharpening an image.
+Go into positive values, and the image may become too soft.
+Threshold controls how sensitive the filter is to whether something in a block is detail that needs to be preserved: lower numbers blur details less.
+The default deblocking values are 0 and 0. This does not mean zero deblocking.
+It means x264 will apply the regular deblocking strength and thresholds the codec authors have selected as working the best in most cases.
+While many, many people stick with the default deblocking values of 0,0, other people disagree.
+Some prefer a slightly less blurred image for live action material, and use values like -2,-1 or -2,-2. Others will raise it to 1,1 or even 3,3 for animation.
+While the values for each setting extend from -6 to 6, the consensus is that going below -3 or above 3 is worthless.
+</value>
+ </data>
+ <data name="drop_deblockAlpha.ToolTip" xml:space="preserve">
+ <value>x264 includes an in-loop deblocking filter.
+What this means is that blocky compression artifacts are smoothed away when you play back the video.
+It has two settings: strength and threshold, just like a simple filter in Photoshop.
+Strength controls the amount of deblocking applied to the whole frame.
+If you drop down below 0, you reduce the amount of blurring.
+Go too negative, and you'll get an effect somewhat like oversharpening an image.
+Go into positive values, and the image may become too soft.
+Threshold controls how sensitive the filter is to whether something in a block is detail that needs to be preserved: lower numbers blur details less.
+The default deblocking values are 0 and 0. This does not mean zero deblocking.
+It means x264 will apply the regular deblocking strength and thresholds the codec authors have selected as working the best in most cases.
+While many, many people stick with the default deblocking values of 0,0, other people disagree.
+Some prefer a slightly less blurred image for live action material, and use values like -2,-1 or -2,-2. Others will raise it to 1,1 or even 3,3 for animation.
+While the values for each setting extend from -6 to 6, the consensus is that going below -3 or above 3 is worthless.</value>
+ </data>
+ <data name="check_8x8DCT.ToolTip" xml:space="preserve">
+ <value>When Analysis is set to "all," checking this box lets x264 break key frames down into 8x8 blocks of pixels for analysis.
+This is a high profile feature of H.264, which makes it less compatible. It should slightly decrease bitrate or improve quality.</value>
+ </data>
+ <data name="drop_analysis.ToolTip" xml:space="preserve">
+ <value>Analysis controls how finely x264 divides up a frame to capture detail.
+Full macroblocks are 16x16 pixels, but x264 can go down all the way to 4x4 blocks if it judges it necessary.
+By default it only breaks up key frames that much.
+To give x264 the freedom to make the best decisions for all frames, use "all" analysis.
+If you want to create a high profile H.264 video (which is less compatible with the world at large than main profile),
+also check the "8x8 DCT blocks" box to add yet another block size for analysis.</value>
+ </data>
+ <data name="drop_subpixelMotionEstimation.ToolTip" xml:space="preserve">
+ <value>This setting is finer-grained than the motion estimation settings above.
+Instead of dealing with whole pixels, it deals with fractional pixels. 4, HandBrake's default, means looking at quarter pixels (qpel).
+Higher levels increase quality by dividing the pixel more, but take longer to encode.
+Using 6 or 7 turns unlocks the ability to turn on more advanced features like B-Frame rate distortion.</value>
+ </data>
+ <data name="drop_MotionEstimationRange.ToolTip" xml:space="preserve">
+ <value>This range is the radius, in pixels, x264 should use for motion estimation searches.
+It only has an effect when you use Uneven Multi-Hexagonal or Exhaustive searching.
+24, 32, and 64 are good values.</value>
+ </data>
+ <data name="drop_MotionEstimationMethod.ToolTip" xml:space="preserve">
+ <value>This sets the shape of the area x264 searches when estimating motion.
+Your choices are a diamond, a hexagon, a more complex hexagonal shape, or searching the entire frame.
+You are best off using Uneven Multi-Hexagonal searching.</value>
+ </data>
+ <data name="check_pyrmidalBFrames.ToolTip" xml:space="preserve">
+ <value>B-frame pyramids are a High Profile feature.
+This means that if you enable it, YOUR VIDEO WILL NOT PLAY IN QUICKTIME.
+Pyramidal B-frames mean that B-frames don't just reference surrounding reference frames —
+ instead, it also treats a previous B-frame as a reference, improving quality/lowering bitrate at the expense of complexity.
+Logically, to reference an earlier B-frame, you must tell x264 to use at least 2 B-frames.</value>
+ </data>
+ <data name="check_BidirectionalRefinement.ToolTip" xml:space="preserve">
+ <value>When bidrectional motion estimation refinement is activated, x264 will optimize motion vectors both forwards and backwards in time.
+This improves quality, and while it slows down encoding, it does not make playback any more difficult. </value>
+ </data>
+ <data name="check_bFrameRateDistortion.ToolTip" xml:space="preserve">
+ <value>When B-frame rate distortion optimization is enabled, x264 tries several different methods of compression for each part of a frame,
+and chooses the one that looks the best.
+You need to use a subpixel motion estimation refinement level of 6 or 7 for this to work. </value>
+ </data>
+ <data name="check_weightedBFrames.ToolTip" xml:space="preserve">
+ <value>With weighted B-frame prediction enabled, x264 will consider how far away the previous and next P-frames are,
+before deciding to make a frame a B-frame.
+The effect is that x264 will use fewer B-frames when they'd look bad — when it can't accurately predict motion.
+Obviously, this only works when you tell x264 to use more than 1 B-frame. </value>
+ </data>
+ <data name="drop_directPrediction.ToolTip" xml:space="preserve">
+ <value>Direct prediction tells x264 what method to use when guessing motion for certain parts of a B-frame.
+It can either look at other parts of the current frame (spatial) or compare against the preceding frame (temporal).
+You're best off setting this to automatic, so x264 decides which method is best on its own.
+Don't select none assuming it will be faster; instead it will take longer and look worse.
+If you're going to choose between spatial and temporal, spatial is usually better. </value>
+ </data>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>731, 18</value>
</metadata>
diff --git a/win/C#/frmReadDVD.cs b/win/C#/frmReadDVD.cs
index f4fc30c71..ec9b318d1 100644
--- a/win/C#/frmReadDVD.cs
+++ b/win/C#/frmReadDVD.cs
@@ -135,7 +135,7 @@ namespace Handbrake
}
catch (Exception exc)
{
- MessageBox.Show("frmReadDVD.cs - closeWindowAfterError - Unable to recover from a serious error. \n\n Error Information: \n " + exc.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ MessageBox.Show("frmReadDVD.cs - closeWindowAfterError - Unable to recover from a serious error. \nYou may need to restart HandBrake. \n\n Error Information: \n " + exc.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
@@ -162,7 +162,7 @@ namespace Handbrake
}
catch (Exception ex)
{
- MessageBox.Show("Unable to kill HandBrakeCLI.exe \n\nError Information: \n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ MessageBox.Show("Unable to kill HandBrakeCLI.exe \nYou may need to manually kill HandBrakeCLI.exe using the Windows Task Manager if it does not close automatically within the next few minutes. \n\nError Information: \n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}