--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Collections.Specialized;\r
+using System.ComponentModel;\r
+using System.Data;\r
+using System.Drawing;\r
+using System.Text;\r
+using System.Windows.Forms;\r
+using System.Net;\r
+using System.IO;\r
+using System.Diagnostics;\r
+using System.Threading;\r
+using System.Runtime.InteropServices;\r
+using System.Globalization;\r
+\r
+namespace Handbrake.Functions\r
+{\r
+ class SystemInfo\r
+ {\r
+ #region CheckRam\r
+ private struct MEMORYSTATUS\r
+ {\r
+ public UInt32 dwLength;\r
+ public UInt32 dwMemoryLoad;\r
+ public UInt32 dwTotalPhys; // Used\r
+ public UInt32 dwAvailPhys;\r
+ public UInt32 dwTotalPageFile;\r
+ public UInt32 dwAvailPageFile;\r
+ public UInt32 dwTotalVirtual;\r
+ public UInt32 dwAvailVirtual;\r
+ }\r
+\r
+ [DllImport("kernel32.dll")]\r
+ private static extern void GlobalMemoryStatus\r
+ (\r
+ ref MEMORYSTATUS lpBuffer\r
+ );\r
+\r
+\r
+ /// <summary>\r
+ /// Returns the total physical ram in a system\r
+ /// </summary>\r
+ /// <returns></returns>\r
+ public uint TotalPhysicalMemory()\r
+ {\r
+ MEMORYSTATUS memStatus = new MEMORYSTATUS();\r
+ GlobalMemoryStatus(ref memStatus);\r
+\r
+ uint MemoryInfo = memStatus.dwTotalPhys;\r
+ MemoryInfo = MemoryInfo / 1024 / 1024; \r
+\r
+ return MemoryInfo;\r
+ }\r
+ #endregion\r
+\r
+ }\r
+}\r
{\r
class x264Panel\r
{\r
- Boolean NoWidgetUpdate = false;\r
\r
/// <summary>\r
/// Reset all components to defaults and clears the x264 rtf box\r
public void reset2Defaults(frmMain mainWindow)\r
{\r
mainWindow.check_8x8DCT.CheckState = CheckState.Unchecked;\r
- mainWindow.check_bFrameDistortion.CheckState = CheckState.Unchecked;\r
+ mainWindow.check_bFrameRateDistortion.CheckState = CheckState.Unchecked;\r
mainWindow.check_BidirectionalRefinement.CheckState = CheckState.Unchecked;\r
mainWindow.check_Cabac.CheckState = CheckState.Checked;\r
mainWindow.check_mixedReferences.CheckState = CheckState.Unchecked;\r
/// </summary>\r
public void X264_SetCurrentSettingsInPanel(frmMain mainWindow)\r
{\r
- // When the widgets are changed, we don't want them to update the text box again. No Need.\r
- // This boolean controls the Widget Change function\r
-\r
-\r
/* Set widgets depending on the opt string in field */\r
String thisOpt; // The separated option such as "bframes=3"\r
String optName = ""; // The option name such as "bframes"\r
/*iterate through the array and get <opts> and <values*/\r
int loopcounter;\r
int currentOptsArrayCount = currentOptsArray.Length;\r
- \r
+\r
\r
/*iterate through the array and get <opts> and <values*/\r
for (loopcounter = 0; loopcounter < currentOptsArrayCount; loopcounter++)\r
{\r
- \r
+\r
thisOpt = currentOptsArray[loopcounter];\r
String[] splitOptRange = thisOpt.Split('=');\r
\r
\r
/*BRDO NSPopUpButton*/\r
else if (optName.Equals("brdo"))\r
- mainWindow.check_bFrameDistortion.CheckState = CheckState.Checked;\r
+ mainWindow.check_bFrameRateDistortion.CheckState = CheckState.Checked;\r
\r
/*B Pyramid NSPopUpButton*/\r
else if (optName.Equals("b-pyramid"))\r
if (changedOptString != "")\r
mainWindow.rtf_x264Query.Text = changedOptString;\r
}\r
+ /*\r
+ * Take a single option and standardize it. Returns as a String\r
+ * Input: String. - Single X264 Option. Name only\r
+ * Output: String - Single X264 Option. Name only. Changed to standard format\r
+ */\r
+ private string X264_StandardizeOptNames(String cleanOptNameString)\r
+ {\r
+ String input = cleanOptNameString;\r
+\r
+ if (input.Equals("ref") || input.Equals("frameref"))\r
+ cleanOptNameString = "ref";\r
+\r
+ /*No Fast PSkip nofast_pskip*/\r
+ if (input.Equals("no-fast-pskip") || input.Equals("no_fast_pskip") || input.Equals("nofast_pskip"))\r
+ cleanOptNameString = "no-fast-pskip";\r
+\r
+ /*No Dict Decimate*/\r
+ if (input.Equals("no-dct-decimate") || input.Equals("no_dct_decimate") || input.Equals("nodct_decimate"))\r
+ cleanOptNameString = "no-dct-decimate";\r
+\r
+ /*Subme*/\r
+ if (input.Equals("subme"))\r
+ cleanOptNameString = "subq";\r
+\r
+ /*ME Range*/\r
+ if (input.Equals("me-range") || input.Equals("me_range"))\r
+ cleanOptNameString = "merange";\r
+\r
+ /*WeightB*/\r
+ if (input.Equals("weight-b") || input.Equals("weight_b"))\r
+ cleanOptNameString = "weightb";\r
+\r
+ /*BRDO*/\r
+ if (input.Equals("b-rdo") || input.Equals("b_rdo"))\r
+ cleanOptNameString = "brdo";\r
+\r
+ /*B Pyramid*/\r
+ if (input.Equals("b_pyramid"))\r
+ cleanOptNameString = "b-pyramid";\r
+\r
+ /*Direct Prediction*/\r
+ if (input.Equals("direct-pred") || input.Equals("direct_pred"))\r
+ cleanOptNameString = "direct";\r
+\r
+ /*Deblocking*/\r
+ if (input.Equals("filter"))\r
+ cleanOptNameString = "deblock";\r
+\r
+ /*Analysis*/\r
+ if (input.Equals("partitions"))\r
+ cleanOptNameString = "analyse";\r
+\r
+ return cleanOptNameString;\r
+ }\r
\r
/// <summary>\r
/// This function will update the X264 Query when one of the GUI widgets changes.\r
/// </summary>\r
public void on_x264_WidgetChange(string sender, frmMain mainWindow)\r
{\r
- if (NoWidgetUpdate == false)\r
- {\r
- String optNameToChange = sender;\r
- String currentOptString = mainWindow.rtf_x264Query.Text;\r
+ animate(mainWindow, sender);\r
+ String optNameToChange = sender;\r
+ String currentOptString = mainWindow.rtf_x264Query.Text;\r
\r
- /*First, we create a pattern to check for ":"optNameToChange"=" to modify the option if the name falls after\r
- the first character of the opt string (hence the ":") */\r
- String checkOptNameToChange = ":" + optNameToChange + "=";\r
- String checkOptNameToChangeBegin = optNameToChange + "=";\r
+ /*First, we create a pattern to check for ":"optNameToChange"=" to modify the option if the name falls after\r
+ the first character of the opt string (hence the ":") */\r
+ String checkOptNameToChange = ":" + optNameToChange + "=";\r
+ String checkOptNameToChangeBegin = optNameToChange + "=";\r
\r
- // IF the current H264 Option String Contains Multiple Items or Just 1 Item\r
- if ((currentOptString.Contains(checkOptNameToChange)) || (currentOptString.StartsWith(checkOptNameToChangeBegin)))\r
- hasFullOption(currentOptString, optNameToChange, mainWindow);\r
- else // IF there is no options in the rich text box!\r
- hasNoOptions(optNameToChange, mainWindow);\r
- }\r
- else\r
- {\r
- NoWidgetUpdate = false;\r
- }\r
+ // IF the current H264 Option String Contains Multiple Items or Just 1 Item\r
+ if ((currentOptString.Contains(checkOptNameToChange)) || (currentOptString.StartsWith(checkOptNameToChangeBegin)))\r
+ hasOptions(currentOptString, optNameToChange, mainWindow);\r
+ else // IF there is no options in the rich text box!\r
+ hasNoOptions(optNameToChange, mainWindow);\r
}\r
- \r
-\r
- // Some Private Functions used by the above Public Functions\r
/*\r
* Used by on_x264_WidgetChange()\r
- * Called when the current x264 option string contains multiple (or a single) item(s) in it seperated by :\r
- * Basically, it updates the current option that the widget corrosponds to, if it is already in thes string\r
- * otherwise, it adds it to the string.\r
+ ** hasOptions - Called when the current x264 option string contains multiple (or a single) item(s) in it seperated by :\r
+ * it updates the current option that the widget corrosponds to, if it is already in thes string.\r
+ ** hasNoOptions - Add's an option to the x264 query string.\r
+ * Handles 2 cases. 1 Where rtf_x264Query.Text is empty, and one where there is an option with no value,\r
+ * e.g no-fast-pskip\r
*/\r
- private void hasFullOption(string currentOptString, string optNameToChange, frmMain mainWindow)\r
+ private void hasOptions(string currentOptString, string optNameToChange, frmMain mainWindow)\r
{\r
String thisOpt; // The separated option such as "bframes=3"\r
String optName = ""; // The option name such as "bframes"\r
}\r
else if (optNameToChange.Equals("brdo"))\r
{\r
- if (mainWindow.check_bFrameDistortion.CheckState == CheckState.Checked)\r
+ if (mainWindow.check_bFrameRateDistortion.CheckState == CheckState.Checked)\r
thisOpt = "brdo=1";\r
else\r
thisOpt = "";\r
/* Change the option string to reflect the new mod settings */\r
mainWindow.rtf_x264Query.Text = changedOptString;\r
}\r
-\r
- /*\r
- * Used by on_x264_WidgetChange()\r
- * Called when the current x264 option string contains no options.\r
- * This simply adds the option to the x264 query in the gui.\r
- */\r
private void hasNoOptions(string optNameToChange, frmMain mainWindow)\r
{\r
- // If the text box is blank\r
- if (mainWindow.rtf_x264Query.Text == "")\r
+ string query = "";\r
+ string colon = "";\r
+ if (mainWindow.rtf_x264Query.Text != "")\r
+ colon = ":";\r
+\r
+ query = mainWindow.rtf_x264Query.Text;\r
+ if (optNameToChange.Equals("me"))\r
{\r
- if (optNameToChange.Equals("me"))\r
+ switch (mainWindow.drop_MotionEstimationMethod.SelectedIndex)\r
{\r
- switch (mainWindow.drop_MotionEstimationMethod.SelectedIndex)\r
- {\r
- case 1:\r
- mainWindow.rtf_x264Query.Text = "me=dia";\r
- break;\r
-\r
- case 2:\r
- mainWindow.rtf_x264Query.Text = "me=hex";\r
+ case 1:\r
+ query = query + colon + "me=dia";\r
+ break;\r
\r
- break;\r
+ case 2:\r
+ query = query + colon + "me=hex";\r
+ break;\r
\r
- case 3:\r
- mainWindow.rtf_x264Query.Text = "me=umh";\r
- break;\r
+ case 3:\r
+ query = query + colon + "me=umh";\r
+ break;\r
\r
- case 4:\r
- mainWindow.rtf_x264Query.Text = "me=esa";\r
- break;\r
+ case 4:\r
+ query = query + colon + "me=esa";\r
+ break;\r
\r
- default:\r
- break;\r
- }\r
+ default:\r
+ break;\r
}\r
- else if (optNameToChange.Equals("direct"))\r
+ }\r
+ else if (optNameToChange.Equals("direct"))\r
+ {\r
+ switch (mainWindow.drop_directPrediction.SelectedIndex)\r
{\r
- switch (mainWindow.drop_directPrediction.SelectedIndex)\r
- {\r
- case 1:\r
- mainWindow.rtf_x264Query.Text = "direct=none";\r
- break;\r
+ case 1:\r
+ query = query + colon + "direct=none";\r
+ break;\r
\r
- case 2:\r
- mainWindow.rtf_x264Query.Text = "direct=spatial";\r
- break;\r
+ case 2:\r
+ query = query + colon + "direct=spatial";\r
+ break;\r
\r
- case 3:\r
- mainWindow.rtf_x264Query.Text = "direct=temporal";\r
- break;\r
+ case 3:\r
+ query = query + colon + "direct=temporal";\r
+ break;\r
\r
- case 4:\r
- mainWindow.rtf_x264Query.Text = "direct=auto";\r
- break;\r
+ case 4:\r
+ query = query + colon + "direct=auto";\r
+ break;\r
\r
- default:\r
- break;\r
- }\r
+ default:\r
+ break;\r
}\r
- else if (optNameToChange.Equals("analyse"))\r
+ }\r
+ else if (optNameToChange.Equals("analyse"))\r
+ {\r
+ switch (mainWindow.drop_analysis.SelectedIndex)\r
{\r
- switch (mainWindow.drop_analysis.SelectedIndex)\r
- {\r
- case 1:\r
- mainWindow.rtf_x264Query.Text = "analyse=none";\r
- break;\r
+ case 1:\r
+ query = query + colon + "analyse=none";\r
+ break;\r
\r
- case 2:\r
- mainWindow.rtf_x264Query.Text = "analyse=all";\r
- break;\r
+ case 2:\r
+ query = query + colon + "analyse=all";\r
+ break;\r
\r
- default:\r
- break;\r
- }\r
+ default:\r
+ break;\r
}\r
+ }\r
+ else if (optNameToChange.Equals("merange"))\r
+ {\r
+ int value = mainWindow.drop_MotionEstimationRange.SelectedIndex + 3;\r
+ query = query + colon + "merange=" + value.ToString();\r
+ }\r
+ else if (optNameToChange.Equals("deblock"))\r
+ {\r
+ String da = mainWindow.drop_deblockAlpha.SelectedItem.ToString();\r
+ String db = mainWindow.drop_deblockBeta.Text.ToString();\r
\r
- else if (optNameToChange.Equals("merange"))\r
+ if (((da.Contains("Default")) && (db.Contains("Default"))) || ((da.Contains("0")) && (db.Contains("0"))))\r
{\r
- int value = mainWindow.drop_MotionEstimationRange.SelectedIndex + 3;\r
- mainWindow.rtf_x264Query.Text = "merange=" + value.ToString();\r
+ mainWindow.drop_deblockBeta.SelectedItem = "Default (0)";\r
+ mainWindow.drop_deblockAlpha.SelectedItem = "Default (0)";\r
}\r
- else if (optNameToChange.Equals("deblock"))\r
+ else\r
{\r
- String da = mainWindow.drop_deblockAlpha.SelectedItem.ToString();\r
- String db = mainWindow.drop_deblockBeta.SelectedItem.ToString();\r
+ if (db.Contains("Default"))\r
+ db = "0";\r
\r
- if (((da.Contains("Default")) && (db.Contains("Default"))) || ((da.Contains("0")) && (db.Contains("0"))))\r
- {\r
- mainWindow.drop_deblockBeta.SelectedItem = "Default (0)";\r
- mainWindow.drop_deblockAlpha.SelectedItem = "Default (0)";\r
- mainWindow.rtf_x264Query.Text = "";\r
- }\r
- else if ((!da.Contains("Default")) && (db.Contains("Default")))\r
- {\r
- mainWindow.drop_deblockBeta.SelectedItem = "0";\r
- mainWindow.rtf_x264Query.Text = "deblock=" + da + ",0";\r
- }\r
- else if ((da.Contains("Default")) && (!db.Contains("Default")))\r
- {\r
- mainWindow.drop_deblockAlpha.SelectedItem = "0";\r
- mainWindow.rtf_x264Query.Text = "deblock=0," + db;\r
- }\r
- else if ((!da.Contains("Default")) && (!db.Contains("Default")))\r
- {\r
- mainWindow.rtf_x264Query.Text = "deblock=" + da + "," + db;\r
- }\r
- }\r
- else if (optNameToChange.Equals("mixed-refs"))\r
- {\r
- if (mainWindow.check_mixedReferences.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = "mixed-refs=1";\r
- else\r
- mainWindow.rtf_x264Query.Text = "";\r
- }\r
- else if (optNameToChange.Equals("weightb"))\r
- {\r
- if (mainWindow.check_weightedBFrames.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = "weightb=1";\r
- else\r
- mainWindow.rtf_x264Query.Text = "";\r
- }\r
- else if (optNameToChange.Equals("brdo"))\r
- {\r
- if (mainWindow.check_bFrameDistortion.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = "brdo=1";\r
- else\r
- mainWindow.rtf_x264Query.Text = "";\r
- }\r
- else if (optNameToChange.Equals("bime"))\r
- {\r
- if (mainWindow.check_BidirectionalRefinement.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = "bime=1";\r
- else\r
- mainWindow.rtf_x264Query.Text = "";\r
- }\r
- else if (optNameToChange.Equals("b-pyramid"))\r
- {\r
- if (mainWindow.check_pyrmidalBFrames.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = "b-pyramid=1";\r
- else\r
- mainWindow.rtf_x264Query.Text = "";\r
- }\r
- else if (optNameToChange.Equals("no-fast-pskip"))\r
- {\r
- if (mainWindow.check_noFastPSkip.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = "no-fast-pskip=1";\r
- else\r
- mainWindow.rtf_x264Query.Text = "";\r
- }\r
- else if (optNameToChange.Equals("no-dct-decimate"))\r
- {\r
- if (mainWindow.check_noDCTDecimate.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = "no-dct-decimate=1";\r
- else\r
- mainWindow.rtf_x264Query.Text = "";\r
- }\r
- else if (optNameToChange.Equals("8x8dct"))\r
- {\r
- if (mainWindow.check_8x8DCT.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = "8x8dct=1";\r
- else\r
- mainWindow.rtf_x264Query.Text = "";\r
- }\r
- else if (optNameToChange.Equals("cabac"))\r
- {\r
- if (mainWindow.check_Cabac.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = "";\r
- else\r
- mainWindow.rtf_x264Query.Text = "cabac=0";\r
- }\r
- else if (optNameToChange.Equals("ref"))\r
- {\r
- string refItem = mainWindow.drop_refFrames.SelectedItem.ToString();\r
- if (!refItem.Contains("default"))\r
- mainWindow.rtf_x264Query.Text = "ref=" + mainWindow.drop_refFrames.SelectedItem.ToString();\r
- }\r
- else if (optNameToChange.Equals("bframes"))\r
- {\r
- String value = mainWindow.drop_bFrames.SelectedItem.ToString();\r
- if (!mainWindow.drop_bFrames.SelectedItem.ToString().Contains("Default"))\r
- mainWindow.rtf_x264Query.Text = "bframes=" + value;\r
- }\r
- else if (optNameToChange.Equals("subq"))\r
- {\r
- String value = mainWindow.drop_subpixelMotionEstimation.SelectedItem.ToString();\r
- if (!mainWindow.drop_subpixelMotionEstimation.SelectedItem.ToString().Contains("Default"))\r
- mainWindow.rtf_x264Query.Text = "subq=" + value;\r
- }\r
- else if (optNameToChange.Equals("trellis"))\r
- {\r
- String value = mainWindow.drop_trellis.SelectedItem.ToString();\r
- if (!mainWindow.drop_trellis.SelectedItem.ToString().Contains("Default"))\r
- mainWindow.rtf_x264Query.Text = "trellis=" + value;\r
- }\r
+ if (da.Contains("Default"))\r
+ da = "0";\r
\r
- //*******************************************************\r
+ query = query + colon + "deblock=" + da + "," + db;\r
+ }\r
}\r
- else // There was some text in the box. This deals with options with no value. e.g "no-fast-pskip"\r
+ else if (optNameToChange.Equals("mixed-refs"))\r
{\r
- //*******************************************************\r
- if (optNameToChange.Equals("me"))\r
- {\r
- switch (mainWindow.drop_MotionEstimationMethod.SelectedIndex)\r
- {\r
- case 1:\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":me=dia";\r
- break;\r
-\r
- case 2:\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":me=hex";\r
- break;\r
-\r
- case 3:\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":me=umh";\r
- break;\r
-\r
- case 4:\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":me=esa";\r
- break;\r
-\r
- default:\r
- break;\r
- }\r
- }\r
- else if (optNameToChange.Equals("direct"))\r
- {\r
- switch (mainWindow.drop_directPrediction.SelectedIndex)\r
- {\r
- case 1:\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":direct=none";\r
- break;\r
-\r
- case 2:\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":direct=spatial";\r
- break;\r
-\r
- case 3:\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":direct=temporal";\r
- break;\r
+ if (mainWindow.check_mixedReferences.CheckState == CheckState.Checked)\r
+ query = query + colon + "mixed-refs=1";\r
+ }\r
+ else if (optNameToChange.Equals("weightb"))\r
+ {\r
+ if (mainWindow.check_weightedBFrames.CheckState == CheckState.Checked)\r
+ query = query + colon + "weightb=1";\r
+ }\r
+ else if (optNameToChange.Equals("brdo"))\r
+ {\r
+ if (mainWindow.check_bFrameRateDistortion.CheckState == CheckState.Checked)\r
+ query = query + colon + "brdo=1";\r
+ }\r
+ else if (optNameToChange.Equals("bime"))\r
+ {\r
+ if (mainWindow.check_BidirectionalRefinement.CheckState == CheckState.Checked)\r
+ query = query + colon + "bime=1";\r
+ }\r
+ else if (optNameToChange.Equals("b-pyramid"))\r
+ {\r
+ if (mainWindow.check_pyrmidalBFrames.CheckState == CheckState.Checked)\r
+ query = query + colon + "b-pyramid=1";\r
+ }\r
+ else if (optNameToChange.Equals("no-fast-pskip"))\r
+ {\r
+ if (mainWindow.check_noFastPSkip.CheckState == CheckState.Checked)\r
+ query = query + colon + "no-fast-pskip=1";\r
+ }\r
+ else if (optNameToChange.Equals("no-dct-decimate"))\r
+ {\r
+ if (mainWindow.check_noDCTDecimate.CheckState == CheckState.Checked)\r
+ query = query + colon + "no-dct-decimate=1";\r
+ }\r
+ else if (optNameToChange.Equals("8x8dct"))\r
+ {\r
+ if (mainWindow.check_8x8DCT.CheckState == CheckState.Checked)\r
+ query = query + colon + "8x8dct=1";\r
+ }\r
+ else if (optNameToChange.Equals("cabac"))\r
+ {\r
+ if (mainWindow.check_Cabac.CheckState != CheckState.Checked)\r
+ query = query + colon + "cabac=0";\r
+ }\r
+ else if (optNameToChange.Equals("ref"))\r
+ {\r
+ if (!mainWindow.drop_refFrames.SelectedItem.ToString().Contains("Default"))\r
+ query = query + colon + "ref=" + mainWindow.drop_refFrames.SelectedItem.ToString();\r
+ }\r
+ else if (optNameToChange.Equals("bframes"))\r
+ {\r
+ String value = mainWindow.drop_bFrames.SelectedItem.ToString();\r
+ if (!mainWindow.drop_bFrames.SelectedItem.ToString().Contains("Default"))\r
+ query = query + colon + "bframes=" + value;\r
+ }\r
+ else if (optNameToChange.Equals("subq"))\r
+ {\r
+ String value = mainWindow.drop_subpixelMotionEstimation.SelectedItem.ToString();\r
+ if (!mainWindow.drop_subpixelMotionEstimation.SelectedItem.ToString().Contains("Default"))\r
+ query = query + colon + "subq=" + value;\r
+ }\r
+ else if (optNameToChange.Equals("trellis"))\r
+ {\r
+ if (!mainWindow.drop_trellis.SelectedItem.ToString().Contains("Default"))\r
+ query = query + colon + "trellis=" + mainWindow.drop_trellis.SelectedItem.ToString();\r
+ }\r
\r
- case 4:\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":direct=auto";\r
- break;\r
+ mainWindow.rtf_x264Query.Text = query;\r
+ }\r
+ private void animate(frmMain mainWindow, string sender)\r
+ {\r
+ /* Lots of situations to cover.\r
+ - B-frames (when 0 turn of b-frame specific stuff, when < 2 disable b-pyramid)\r
+ - CABAC (when 0 turn off trellis)\r
+ - subme (if under 6 turn off brdo)\r
+ - analysis (if none, turn off 8x8dct and direct pred)\r
+ - refs (under 2, disable mixed-refs)\r
+ */\r
+ if (mainWindow.drop_bFrames.SelectedIndex < 2)\r
+ {\r
+ /* If the b-frame widget is at 0 or 1, the user has chosen\r
+ not to use b-frames at all. So disable the options\r
+ that can only be used when b-frames are enabled. */\r
+ mainWindow.check_weightedBFrames.Visible = false;\r
+ mainWindow.check_bFrameRateDistortion.Visible = false;\r
+ mainWindow.check_pyrmidalBFrames.Visible = false;\r
+ mainWindow.check_BidirectionalRefinement.Visible = false;\r
+ mainWindow.drop_directPrediction.Visible = false;\r
+ mainWindow.lbl_direct_prediction.Visible = false;\r
+\r
+ mainWindow.check_weightedBFrames.CheckState = CheckState.Unchecked;\r
+ mainWindow.check_bFrameRateDistortion.CheckState = CheckState.Unchecked;\r
+ mainWindow.check_pyrmidalBFrames.CheckState = CheckState.Unchecked;\r
+ mainWindow.check_BidirectionalRefinement.CheckState = CheckState.Unchecked;\r
+ mainWindow.drop_directPrediction.SelectedIndex = 0;\r
+ }\r
+ else if (mainWindow.drop_bFrames.SelectedIndex == 2)\r
+ {\r
+ /* Only 1 b-frame? Disable b-pyramid. */\r
+ mainWindow.check_pyrmidalBFrames.Visible = false;\r
+ mainWindow.check_pyrmidalBFrames.CheckState = CheckState.Unchecked;\r
\r
- default:\r
- break;\r
- }\r
- }\r
- else if (optNameToChange.Equals("analyse"))\r
- {\r
- switch (mainWindow.drop_analysis.SelectedIndex)\r
- {\r
- case 1:\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":analyse=none";\r
- break;\r
+ mainWindow.check_weightedBFrames.Visible = true;\r
+ mainWindow.check_BidirectionalRefinement.Visible = true;\r
\r
- case 2:\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":analyse=all";\r
- break;\r
\r
- default:\r
- break;\r
- }\r
+ /* Only show B-RDO if both bframes and subme allow it. */\r
+ if (mainWindow.drop_subpixelMotionEstimation.SelectedIndex >= 7)\r
+ mainWindow.check_bFrameRateDistortion.Visible = true;\r
+ \r
+ /* Only show direct pred when allowed by both bframes and analysis.*/\r
+ if ( mainWindow.drop_analysis.SelectedIndex != 1)\r
+ { \r
+ mainWindow.drop_directPrediction.Visible = true;\r
+ mainWindow.lbl_direct_prediction.Visible = true;\r
}\r
+ }\r
+ else\r
+ {\r
+ mainWindow.check_weightedBFrames.Visible = true;\r
+ mainWindow.check_pyrmidalBFrames.Visible = true;\r
+ mainWindow.check_BidirectionalRefinement.Visible = true;\r
\r
- else if (optNameToChange.Equals("merange"))\r
- {\r
- int value = mainWindow.drop_MotionEstimationRange.SelectedIndex + 3;\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":merange=" + value.ToString();\r
+ /* Only show B-RDO if both bframes and subme allow it. */\r
+ if (mainWindow.drop_subpixelMotionEstimation.SelectedIndex >= 7)\r
+ mainWindow.check_bFrameRateDistortion.Visible = true;\r
+ \r
+ /* Only show direct pred when allowed by both bframes and analysis.*/\r
+ if ( mainWindow.drop_analysis.SelectedIndex != 1)\r
+ { \r
+ mainWindow.drop_directPrediction.Visible = true;\r
+ mainWindow.lbl_direct_prediction.Visible = true;\r
}\r
- else if (optNameToChange.Equals("deblock"))\r
- {\r
- String da = mainWindow.drop_deblockAlpha.SelectedItem.ToString();\r
- String db = mainWindow.drop_deblockBeta.Text.ToString();\r
-\r
- if (((da.Contains("Default")) && (db.Contains("Default"))) || ((da.Contains("0")) && (db.Contains("0"))))\r
- {\r
- mainWindow.drop_deblockBeta.SelectedItem = "Default (0)";\r
- mainWindow.drop_deblockAlpha.SelectedItem = "Default (0)";\r
- }\r
- else\r
- {\r
- if (db.Contains("Default"))\r
- db = "0";\r
\r
- if (da.Contains("Default"))\r
- da = "0";\r
-\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":deblock=" + da + "," + db;\r
- }\r
- }\r
- else if (optNameToChange.Equals("mixed-refs"))\r
- {\r
- if (mainWindow.check_mixedReferences.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":mixed-refs=1";\r
- }\r
- else if (optNameToChange.Equals("weightb"))\r
- {\r
- if (mainWindow.check_weightedBFrames.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":weightb=1";\r
- }\r
- else if (optNameToChange.Equals("brdo"))\r
- {\r
- if (mainWindow.check_bFrameDistortion.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":brdo=1";\r
- }\r
- else if (optNameToChange.Equals("bime"))\r
- {\r
- if (mainWindow.check_BidirectionalRefinement.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":bime=1";\r
- }\r
- else if (optNameToChange.Equals("b-pyramid"))\r
- {\r
- if (mainWindow.check_pyrmidalBFrames.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":b-pyramid=1";\r
- }\r
- else if (optNameToChange.Equals("no-fast-pskip"))\r
- {\r
- if (mainWindow.check_noFastPSkip.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":no-fast-pskip=1";\r
- }\r
- else if (optNameToChange.Equals("no-dct-decimate"))\r
- {\r
- if (mainWindow.check_noDCTDecimate.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":no-dct-decimate=1";\r
- }\r
- else if (optNameToChange.Equals("8x8dct"))\r
- {\r
- if (mainWindow.check_8x8DCT.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":8x8dct=1";\r
- }\r
- else if (optNameToChange.Equals("cabac"))\r
- {\r
- if (mainWindow.check_Cabac.CheckState == CheckState.Checked)\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text;\r
- else\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":cabac=0";\r
- }\r
- else if (optNameToChange.Equals("ref"))\r
- {\r
- if (!mainWindow.drop_refFrames.SelectedItem.ToString().Contains("Default"))\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":ref=" + mainWindow.drop_refFrames.SelectedItem.ToString();\r
- }\r
- else if (optNameToChange.Equals("bframes"))\r
- {\r
- int value = mainWindow.drop_bFrames.SelectedIndex;\r
- value = value - 1;\r
- if (!mainWindow.drop_bFrames.SelectedItem.ToString().Contains("Default"))\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":bframes=" + value.ToString();\r
- }\r
- else if (optNameToChange.Equals("subq"))\r
- {\r
- String value = mainWindow.drop_subpixelMotionEstimation.SelectedItem.ToString();\r
- if (!mainWindow.drop_subpixelMotionEstimation.SelectedItem.ToString().Contains("Default"))\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":subq=" + value;\r
- }\r
- else if (optNameToChange.Equals("trellis"))\r
- {\r
- if (!mainWindow.drop_trellis.SelectedItem.ToString().Contains("Default"))\r
- mainWindow.rtf_x264Query.Text = mainWindow.rtf_x264Query.Text + ":trellis=" + mainWindow.drop_trellis.SelectedItem.ToString();\r
- }\r
}\r
- }\r
\r
- /*\r
- * Take a single option and standardize it. Returns as a String\r
- * Input: String. - Single X264 Option. Name only\r
- * Output: String - Single X264 Option. Name only. Changed to standard format\r
- */\r
- private string X264_StandardizeOptNames(String cleanOptNameString)\r
- {\r
- String input = cleanOptNameString;\r
- if (input.Equals("ref") || input.Equals("frameref"))\r
+ if (mainWindow.check_Cabac.Checked == false)\r
{\r
- cleanOptNameString = "ref";\r
+ /* Without CABAC entropy coding, trellis doesn't run. */\r
+ mainWindow.drop_trellis.Visible = false;\r
+ mainWindow.drop_trellis.SelectedIndex = 0;\r
+ mainWindow.lbl_trellis.Visible = false;\r
}\r
-\r
- /*No Fast PSkip nofast_pskip*/\r
- if (input.Equals("no-fast-pskip") || input.Equals("no_fast_pskip") || input.Equals("nofast_pskip"))\r
+ else\r
{\r
- cleanOptNameString = "no-fast-pskip";\r
+ mainWindow.drop_trellis.Visible = true;\r
+ mainWindow.lbl_trellis.Visible = true;\r
}\r
\r
- /*No Dict Decimate*/\r
- if (input.Equals("no-dct-decimate") || input.Equals("no_dct_decimate") || input.Equals("nodct_decimate"))\r
- {\r
- cleanOptNameString = "no-dct-decimate";\r
- }\r
\r
- /*Subme*/\r
- if (input.Equals("subme"))\r
+ if (mainWindow.drop_subpixelMotionEstimation.SelectedIndex < 7)\r
{\r
- cleanOptNameString = "subq";\r
+ /* When subme < 6, B-RDO doesn't work. */\r
+ mainWindow.check_bFrameRateDistortion.Visible = false;\r
+ if (sender == "subq" && sender != "brdo")\r
+ mainWindow.check_bFrameRateDistortion.CheckState = CheckState.Unchecked;\r
}\r
-\r
- /*ME Range*/\r
- if (input.Equals("me-range") || input.Equals("me_range"))\r
+ else if (mainWindow.drop_bFrames.SelectedIndex >= 2 )\r
{\r
- cleanOptNameString = "merange";\r
+ /* Make sure to only display B-RDO if allowed by both\r
+ the subme and bframe option settings. */\r
+ mainWindow.check_bFrameRateDistortion.Visible = true;\r
}\r
\r
- /*WeightB*/\r
- if (input.Equals("weight-b") || input.Equals("weight_b"))\r
- {\r
- cleanOptNameString = "weightb";\r
- }\r
\r
- /*BRDO*/\r
- if (input.Equals("b-rdo") || input.Equals("b_rdo"))\r
+ if (mainWindow.drop_analysis.SelectedIndex == 1)\r
{\r
- cleanOptNameString = "brdo";\r
+ /* No analysis? Disable 8x8dct and direct pred */\r
+ mainWindow.check_8x8DCT.Visible = false;\r
+ if (sender != "8x8dct")\r
+ mainWindow.check_8x8DCT.CheckState = CheckState.Unchecked;\r
+ \r
+ mainWindow.drop_directPrediction.Visible = false;\r
+ if (sender != "direct")\r
+ mainWindow.drop_directPrediction.SelectedIndex = 0;\r
}\r
-\r
- /*B Pyramid*/\r
- if (input.Equals("b_pyramid"))\r
+ else\r
{\r
- cleanOptNameString = "b-pyramid";\r
- }\r
+ mainWindow.check_8x8DCT.Visible = true;\r
\r
- /*Direct Prediction*/\r
- if (input.Equals("direct-pred") || input.Equals("direct_pred"))\r
- {\r
- cleanOptNameString = "direct";\r
+ if ( mainWindow.drop_bFrames.SelectedIndex >= 2)\r
+ {\r
+ /* Onlt show direct pred when allowed by both analysis and bframes */\r
+ mainWindow.drop_directPrediction.Visible = true;\r
+ }\r
}\r
\r
- /*Deblocking*/\r
- if (input.Equals("filter"))\r
+\r
+ if (mainWindow.drop_refFrames.SelectedIndex < 3)\r
{\r
- cleanOptNameString = "deblock";\r
+ mainWindow.check_mixedReferences.Visible = false;\r
+ if (sender != "mixed-refs")\r
+ mainWindow.check_mixedReferences.CheckState = CheckState.Unchecked;\r
}\r
-\r
- /*Analysis*/\r
- if (input.Equals("partitions"))\r
+ else\r
{\r
- cleanOptNameString = "analyse";\r
+ mainWindow.check_mixedReferences.Visible = true;\r
}\r
-\r
- return cleanOptNameString;\r
}\r
+\r
}\r
-}\r
+}
\ No newline at end of file
<Compile Include="frmUpdater.Designer.cs">\r
<DependentUpon>frmUpdater.cs</DependentUpon>\r
</Compile>\r
+ <Compile Include="Functions\SystemInfo.cs" />\r
<Compile Include="Functions\Common.cs" />\r
<Compile Include="Functions\Presets.cs" />\r
<Compile Include="Functions\Queue.cs" />\r
}\r
\r
// Make sure the system has enough RAM. 384MB or greater\r
- uint memory = MemoryCheck.CheckMemeory();\r
- memory = memory / 1024 / 1024;\r
-\r
+ Functions.SystemInfo info = new Functions.SystemInfo();\r
+ uint memory = info.TotalPhysicalMemory();\r
+ \r
if (memory < 256)\r
{\r
MessageBox.Show("Your system does not meet the minimum requirements for HandBrake. \n Insufficient RAM. 384MB or greater required. You have: " + memory.ToString() + "MB", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
}\r
}\r
\r
- class MemoryCheck\r
- {\r
- public struct MEMORYSTATUS\r
- {\r
- public UInt32 dwLength;\r
- public UInt32 dwMemoryLoad;\r
- public UInt32 dwTotalPhys; // Used\r
- public UInt32 dwAvailPhys;\r
- public UInt32 dwTotalPageFile;\r
- public UInt32 dwAvailPageFile;\r
- public UInt32 dwTotalVirtual;\r
- public UInt32 dwAvailVirtual;\r
- // Aditional Varibles left in for future usage (JIC)\r
- }\r
-\r
- [DllImport("kernel32.dll")]\r
- public static extern void GlobalMemoryStatus\r
- (\r
- ref MEMORYSTATUS lpBuffer\r
- );\r
-\r
- public static uint CheckMemeory()\r
- {\r
- // Call the native GlobalMemoryStatus method\r
- // with the defined structure.\r
- MEMORYSTATUS memStatus = new MEMORYSTATUS();\r
- GlobalMemoryStatus(ref memStatus);\r
-\r
- uint MemoryInfo = memStatus.dwTotalPhys;\r
-\r
- return MemoryInfo;\r
- }\r
- }\r
}
\ No newline at end of file
RegKey = RegKey.OpenSubKey("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");\r
Object cpuType = RegKey.GetValue("ProcessorNameString");\r
\r
+ // Get the screen resolution\r
+ System.Windows.Forms.Screen scr = System.Windows.Forms.Screen.PrimaryScreen;\r
+\r
+ // Physical Ram\r
+ Functions.SystemInfo info = new Functions.SystemInfo();\r
+ uint memory = info.TotalPhysicalMemory();\r
+\r
// Add a header to the log file indicating that it's from the Windows GUI and display the windows version\r
rtf_actLog.AppendText("### Windows GUI \n");\r
rtf_actLog.AppendText(String.Format("### Running: {0} \n###\n", Environment.OSVersion.ToString()));\r
rtf_actLog.AppendText(String.Format("### CPU: {0} \n", cpuType));\r
+ rtf_actLog.AppendText(String.Format("### Ram: {0} MB \n", memory));\r
+ rtf_actLog.AppendText(String.Format("### Screen: {0}x{1} \n", scr.Bounds.Width, scr.Bounds.Height));\r
rtf_actLog.AppendText(String.Format("### Temp Dir: {0} \n", Path.GetTempPath()));\r
rtf_actLog.AppendText(String.Format("### Install Dir: {0} \n", Application.StartupPath));\r
rtf_actLog.AppendText(String.Format("### Data Dir: {0} \n###\n", Application.UserAppDataPath));\r
this.label43 = new System.Windows.Forms.Label();\r
this.btn_reset = new System.Windows.Forms.Button();\r
this.rtf_x264Query = new System.Windows.Forms.RichTextBox();\r
- this.label35 = new System.Windows.Forms.Label();\r
this.check_Cabac = new System.Windows.Forms.CheckBox();\r
- this.label36 = new System.Windows.Forms.Label();\r
this.check_noDCTDecimate = new System.Windows.Forms.CheckBox();\r
- this.label37 = new System.Windows.Forms.Label();\r
this.check_noFastPSkip = new System.Windows.Forms.CheckBox();\r
- this.label39 = new System.Windows.Forms.Label();\r
+ this.lbl_trellis = new System.Windows.Forms.Label();\r
this.drop_trellis = new System.Windows.Forms.ComboBox();\r
this.drop_deblockBeta = new System.Windows.Forms.ComboBox();\r
this.label41 = new System.Windows.Forms.Label();\r
this.panel3 = new System.Windows.Forms.Panel();\r
this.panel1 = new System.Windows.Forms.Panel();\r
this.panel2 = new System.Windows.Forms.Panel();\r
- this.label44 = new System.Windows.Forms.Label();\r
this.check_8x8DCT = new System.Windows.Forms.CheckBox();\r
this.label45 = new System.Windows.Forms.Label();\r
this.drop_analysis = new System.Windows.Forms.ComboBox();\r
this.drop_MotionEstimationRange = new System.Windows.Forms.ComboBox();\r
this.label54 = new System.Windows.Forms.Label();\r
this.drop_MotionEstimationMethod = new System.Windows.Forms.ComboBox();\r
- this.label57 = new System.Windows.Forms.Label();\r
this.check_pyrmidalBFrames = new System.Windows.Forms.CheckBox();\r
- this.label58 = new System.Windows.Forms.Label();\r
this.check_BidirectionalRefinement = new System.Windows.Forms.CheckBox();\r
- this.label59 = new System.Windows.Forms.Label();\r
- this.check_bFrameDistortion = new System.Windows.Forms.CheckBox();\r
- this.label60 = new System.Windows.Forms.Label();\r
+ this.check_bFrameRateDistortion = new System.Windows.Forms.CheckBox();\r
this.check_weightedBFrames = new System.Windows.Forms.CheckBox();\r
- this.label61 = new System.Windows.Forms.Label();\r
+ this.lbl_direct_prediction = new System.Windows.Forms.Label();\r
this.drop_directPrediction = new System.Windows.Forms.ComboBox();\r
this.label62 = new System.Windows.Forms.Label();\r
this.drop_bFrames = new System.Windows.Forms.ComboBox();\r
- this.label63 = new System.Windows.Forms.Label();\r
this.label64 = new System.Windows.Forms.Label();\r
this.drop_refFrames = new System.Windows.Forms.ComboBox();\r
this.check_mixedReferences = new System.Windows.Forms.CheckBox();\r
this.h264Tab.Controls.Add(this.label43);\r
this.h264Tab.Controls.Add(this.btn_reset);\r
this.h264Tab.Controls.Add(this.rtf_x264Query);\r
- this.h264Tab.Controls.Add(this.label35);\r
this.h264Tab.Controls.Add(this.check_Cabac);\r
- this.h264Tab.Controls.Add(this.label36);\r
this.h264Tab.Controls.Add(this.check_noDCTDecimate);\r
- this.h264Tab.Controls.Add(this.label37);\r
this.h264Tab.Controls.Add(this.check_noFastPSkip);\r
- this.h264Tab.Controls.Add(this.label39);\r
+ this.h264Tab.Controls.Add(this.lbl_trellis);\r
this.h264Tab.Controls.Add(this.drop_trellis);\r
this.h264Tab.Controls.Add(this.drop_deblockBeta);\r
this.h264Tab.Controls.Add(this.label41);\r
this.h264Tab.Controls.Add(this.panel3);\r
this.h264Tab.Controls.Add(this.panel1);\r
this.h264Tab.Controls.Add(this.panel2);\r
- this.h264Tab.Controls.Add(this.label44);\r
this.h264Tab.Controls.Add(this.check_8x8DCT);\r
this.h264Tab.Controls.Add(this.label45);\r
this.h264Tab.Controls.Add(this.drop_analysis);\r
this.h264Tab.Controls.Add(this.drop_MotionEstimationRange);\r
this.h264Tab.Controls.Add(this.label54);\r
this.h264Tab.Controls.Add(this.drop_MotionEstimationMethod);\r
- this.h264Tab.Controls.Add(this.label57);\r
this.h264Tab.Controls.Add(this.check_pyrmidalBFrames);\r
- this.h264Tab.Controls.Add(this.label58);\r
this.h264Tab.Controls.Add(this.check_BidirectionalRefinement);\r
- this.h264Tab.Controls.Add(this.label59);\r
- this.h264Tab.Controls.Add(this.check_bFrameDistortion);\r
- this.h264Tab.Controls.Add(this.label60);\r
+ this.h264Tab.Controls.Add(this.check_bFrameRateDistortion);\r
this.h264Tab.Controls.Add(this.check_weightedBFrames);\r
- this.h264Tab.Controls.Add(this.label61);\r
+ this.h264Tab.Controls.Add(this.lbl_direct_prediction);\r
this.h264Tab.Controls.Add(this.drop_directPrediction);\r
this.h264Tab.Controls.Add(this.label62);\r
this.h264Tab.Controls.Add(this.drop_bFrames);\r
- this.h264Tab.Controls.Add(this.label63);\r
this.h264Tab.Controls.Add(this.label64);\r
this.h264Tab.Controls.Add(this.drop_refFrames);\r
this.h264Tab.Controls.Add(this.check_mixedReferences);\r
// \r
// btn_reset\r
// \r
- this.btn_reset.Location = new System.Drawing.Point(13, 226);\r
+ this.btn_reset.Location = new System.Drawing.Point(277, 224);\r
this.btn_reset.Name = "btn_reset";\r
this.btn_reset.Size = new System.Drawing.Size(75, 23);\r
this.btn_reset.TabIndex = 41;\r
this.rtf_x264Query.LostFocus += new System.EventHandler(this.rtf_x264Query_TextChanged);\r
this.rtf_x264Query.TextChanged += new System.EventHandler(this.rtf_x264Query_TextChanged);\r
// \r
- // label35\r
- // \r
- this.label35.AutoSize = true;\r
- this.label35.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
- this.label35.Location = new System.Drawing.Point(534, 213);\r
- this.label35.Name = "label35";\r
- this.label35.Size = new System.Drawing.Size(128, 12);\r
- this.label35.TabIndex = 29;\r
- this.label35.Text = "CABAC Entropy Coding:";\r
- // \r
// check_Cabac\r
// \r
this.check_Cabac.AutoSize = true;\r
+ this.check_Cabac.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;\r
+ this.check_Cabac.Checked = true;\r
+ this.check_Cabac.CheckState = System.Windows.Forms.CheckState.Checked;\r
this.check_Cabac.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
- this.check_Cabac.Location = new System.Drawing.Point(668, 214);\r
+ this.check_Cabac.Location = new System.Drawing.Point(536, 214);\r
this.check_Cabac.Name = "check_Cabac";\r
this.check_Cabac.RightToLeft = System.Windows.Forms.RightToLeft.No;\r
- this.check_Cabac.Size = new System.Drawing.Size(12, 11);\r
+ this.check_Cabac.Size = new System.Drawing.Size(144, 16);\r
this.check_Cabac.TabIndex = 40;\r
+ this.check_Cabac.Text = "CABAC Entropy Coding:";\r
this.check_Cabac.TextAlign = System.Drawing.ContentAlignment.MiddleRight;\r
this.check_Cabac.UseVisualStyleBackColor = true;\r
this.check_Cabac.CheckStateChanged += new System.EventHandler(this.check_Cabac_CheckedChanged);\r
// \r
- // label36\r
- // \r
- this.label36.AutoSize = true;\r
- this.label36.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
- this.label36.Location = new System.Drawing.Point(561, 194);\r
- this.label36.Name = "label36";\r
- this.label36.Size = new System.Drawing.Size(102, 12);\r
- this.label36.TabIndex = 28;\r
- this.label36.Text = "No DCT-Decimate:";\r
- // \r
// check_noDCTDecimate\r
// \r
this.check_noDCTDecimate.AutoSize = true;\r
+ this.check_noDCTDecimate.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;\r
this.check_noDCTDecimate.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
- this.check_noDCTDecimate.Location = new System.Drawing.Point(668, 195);\r
+ this.check_noDCTDecimate.Location = new System.Drawing.Point(562, 192);\r
this.check_noDCTDecimate.Name = "check_noDCTDecimate";\r
this.check_noDCTDecimate.RightToLeft = System.Windows.Forms.RightToLeft.No;\r
- this.check_noDCTDecimate.Size = new System.Drawing.Size(12, 11);\r
+ this.check_noDCTDecimate.Size = new System.Drawing.Size(118, 16);\r
this.check_noDCTDecimate.TabIndex = 39;\r
+ this.check_noDCTDecimate.Text = "No DCT-Decimate:";\r
this.check_noDCTDecimate.TextAlign = System.Drawing.ContentAlignment.MiddleRight;\r
this.check_noDCTDecimate.UseVisualStyleBackColor = true;\r
this.check_noDCTDecimate.CheckStateChanged += new System.EventHandler(this.check_noDCTDecimate_CheckedChanged);\r
// \r
- // label37\r
- // \r
- this.label37.AutoSize = true;\r
- this.label37.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
- this.label37.Location = new System.Drawing.Point(444, 193);\r
- this.label37.Name = "label37";\r
- this.label37.Size = new System.Drawing.Size(87, 12);\r
- this.label37.TabIndex = 27;\r
- this.label37.Text = "No Fast-P-Skip:";\r
- // \r
// check_noFastPSkip\r
// \r
this.check_noFastPSkip.AutoSize = true;\r
+ this.check_noFastPSkip.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;\r
this.check_noFastPSkip.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
- this.check_noFastPSkip.Location = new System.Drawing.Point(537, 194);\r
+ this.check_noFastPSkip.Location = new System.Drawing.Point(444, 192);\r
this.check_noFastPSkip.Name = "check_noFastPSkip";\r
this.check_noFastPSkip.RightToLeft = System.Windows.Forms.RightToLeft.No;\r
- this.check_noFastPSkip.Size = new System.Drawing.Size(12, 11);\r
+ this.check_noFastPSkip.Size = new System.Drawing.Size(103, 16);\r
this.check_noFastPSkip.TabIndex = 38;\r
+ this.check_noFastPSkip.Text = "No Fast-P-Skip:";\r
this.check_noFastPSkip.TextAlign = System.Drawing.ContentAlignment.MiddleRight;\r
this.check_noFastPSkip.UseVisualStyleBackColor = true;\r
this.check_noFastPSkip.CheckStateChanged += new System.EventHandler(this.check_noFastPSkip_CheckedChanged);\r
// \r
- // label39\r
+ // lbl_trellis\r
// \r
- this.label39.AutoSize = true;\r
- this.label39.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
- this.label39.Location = new System.Drawing.Point(490, 169);\r
- this.label39.Name = "label39";\r
- this.label39.Size = new System.Drawing.Size(41, 12);\r
- this.label39.TabIndex = 26;\r
- this.label39.Text = "Trellis:";\r
+ this.lbl_trellis.AutoSize = true;\r
+ this.lbl_trellis.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+ this.lbl_trellis.Location = new System.Drawing.Point(490, 169);\r
+ this.lbl_trellis.Name = "lbl_trellis";\r
+ this.lbl_trellis.Size = new System.Drawing.Size(41, 12);\r
+ this.lbl_trellis.TabIndex = 26;\r
+ this.lbl_trellis.Text = "Trellis:";\r
// \r
// drop_trellis\r
// \r
this.drop_trellis.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
- this.drop_trellis.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
+ this.drop_trellis.FlatStyle = System.Windows.Forms.FlatStyle.Popup;\r
this.drop_trellis.FormattingEnabled = true;\r
+ this.drop_trellis.Items.AddRange(new object[] {\r
+ "Default (0)",\r
+ "0",\r
+ "1",\r
+ "2"});\r
this.drop_trellis.Location = new System.Drawing.Point(537, 166);\r
this.drop_trellis.Name = "drop_trellis";\r
this.drop_trellis.Size = new System.Drawing.Size(143, 20);\r
// drop_deblockBeta\r
// \r
this.drop_deblockBeta.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
- this.drop_deblockBeta.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
+ this.drop_deblockBeta.FlatStyle = System.Windows.Forms.FlatStyle.Popup;\r
this.drop_deblockBeta.FormattingEnabled = true;\r
+ this.drop_deblockBeta.Items.AddRange(new object[] {\r
+ "Default (0)",\r
+ "-6",\r
+ "-5",\r
+ "-4",\r
+ "-3",\r
+ "-2",\r
+ "-1",\r
+ "0",\r
+ "1",\r
+ "2",\r
+ "3",\r
+ "4",\r
+ "5",\r
+ "6"});\r
this.drop_deblockBeta.Location = new System.Drawing.Point(611, 139);\r
this.drop_deblockBeta.Name = "drop_deblockBeta";\r
this.drop_deblockBeta.Size = new System.Drawing.Size(69, 20);\r
// drop_deblockAlpha\r
// \r
this.drop_deblockAlpha.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
- this.drop_deblockAlpha.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
+ this.drop_deblockAlpha.FlatStyle = System.Windows.Forms.FlatStyle.Popup;\r
this.drop_deblockAlpha.FormattingEnabled = true;\r
+ this.drop_deblockAlpha.Items.AddRange(new object[] {\r
+ "Default (0)",\r
+ "-6",\r
+ "-5",\r
+ "-4",\r
+ "-3",\r
+ "-2",\r
+ "-1",\r
+ "0",\r
+ "1",\r
+ "2",\r
+ "3",\r
+ "4",\r
+ "5",\r
+ "6"});\r
this.drop_deblockAlpha.Location = new System.Drawing.Point(537, 139);\r
this.drop_deblockAlpha.Name = "drop_deblockAlpha";\r
this.drop_deblockAlpha.Size = new System.Drawing.Size(68, 20);\r
this.panel2.Size = new System.Drawing.Size(284, 1);\r
this.panel2.TabIndex = 21;\r
// \r
- // label44\r
- // \r
- this.label44.AutoSize = true;\r
- this.label44.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
- this.label44.Location = new System.Drawing.Point(606, 109);\r
- this.label44.Name = "label44";\r
- this.label44.Size = new System.Drawing.Size(55, 12);\r
- this.label44.TabIndex = 23;\r
- this.label44.Text = "8x8 DCT:";\r
- // \r
// check_8x8DCT\r
// \r
this.check_8x8DCT.AutoSize = true;\r
+ this.check_8x8DCT.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;\r
this.check_8x8DCT.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
- this.check_8x8DCT.Location = new System.Drawing.Point(664, 109);\r
+ this.check_8x8DCT.Location = new System.Drawing.Point(608, 106);\r
this.check_8x8DCT.Name = "check_8x8DCT";\r
this.check_8x8DCT.RightToLeft = System.Windows.Forms.RightToLeft.No;\r
- this.check_8x8DCT.Size = new System.Drawing.Size(12, 11);\r
+ this.check_8x8DCT.Size = new System.Drawing.Size(71, 16);\r
this.check_8x8DCT.TabIndex = 34;\r
+ this.check_8x8DCT.Text = "8x8 DCT:";\r
this.check_8x8DCT.TextAlign = System.Drawing.ContentAlignment.MiddleRight;\r
this.check_8x8DCT.UseVisualStyleBackColor = true;\r
this.check_8x8DCT.CheckStateChanged += new System.EventHandler(this.check_8x8DCT_CheckedChanged);\r
// drop_analysis\r
// \r
this.drop_analysis.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
- this.drop_analysis.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
+ this.drop_analysis.FlatStyle = System.Windows.Forms.FlatStyle.Popup;\r
this.drop_analysis.FormattingEnabled = true;\r
+ this.drop_analysis.Items.AddRange(new object[] {\r
+ "Default (some)",\r
+ "None",\r
+ "All"});\r
this.drop_analysis.Location = new System.Drawing.Point(537, 105);\r
this.drop_analysis.Name = "drop_analysis";\r
this.drop_analysis.Size = new System.Drawing.Size(63, 20);\r
// drop_subpixelMotionEstimation\r
// \r
this.drop_subpixelMotionEstimation.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
- this.drop_subpixelMotionEstimation.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
+ this.drop_subpixelMotionEstimation.FlatStyle = System.Windows.Forms.FlatStyle.Popup;\r
this.drop_subpixelMotionEstimation.FormattingEnabled = true;\r
+ this.drop_subpixelMotionEstimation.Items.AddRange(new object[] {\r
+ "Default (4)",\r
+ "0",\r
+ "1",\r
+ "2",\r
+ "3",\r
+ "4",\r
+ "5",\r
+ "6",\r
+ "7"});\r
this.drop_subpixelMotionEstimation.Location = new System.Drawing.Point(537, 69);\r
this.drop_subpixelMotionEstimation.Name = "drop_subpixelMotionEstimation";\r
this.drop_subpixelMotionEstimation.Size = new System.Drawing.Size(139, 20);\r
// drop_MotionEstimationRange\r
// \r
this.drop_MotionEstimationRange.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
- this.drop_MotionEstimationRange.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
+ this.drop_MotionEstimationRange.FlatStyle = System.Windows.Forms.FlatStyle.Popup;\r
this.drop_MotionEstimationRange.FormattingEnabled = true;\r
+ this.drop_MotionEstimationRange.Items.AddRange(new object[] {\r
+ "Default (16)",\r
+ "4",\r
+ "5",\r
+ "6",\r
+ "7",\r
+ "8",\r
+ "9",\r
+ "10",\r
+ "11",\r
+ "12",\r
+ "13",\r
+ "14",\r
+ "15",\r
+ "16",\r
+ "17",\r
+ "18",\r
+ "19",\r
+ "20",\r
+ "21",\r
+ "22",\r
+ "23",\r
+ "24",\r
+ "25",\r
+ "26",\r
+ "27",\r
+ "28",\r
+ "29",\r
+ "30",\r
+ "31",\r
+ "32",\r
+ "33",\r
+ "34",\r
+ "35",\r
+ "36",\r
+ "37",\r
+ "38",\r
+ "39",\r
+ "40",\r
+ "41",\r
+ "42",\r
+ "43",\r
+ "44",\r
+ "45",\r
+ "46",\r
+ "47",\r
+ "48",\r
+ "49",\r
+ "50",\r
+ "51",\r
+ "52",\r
+ "53",\r
+ "54",\r
+ "55",\r
+ "56",\r
+ "57",\r
+ "58",\r
+ "59",\r
+ "60",\r
+ "61",\r
+ "62",\r
+ "63",\r
+ "64"});\r
this.drop_MotionEstimationRange.Location = new System.Drawing.Point(537, 40);\r
this.drop_MotionEstimationRange.Name = "drop_MotionEstimationRange";\r
this.drop_MotionEstimationRange.Size = new System.Drawing.Size(139, 20);\r
// drop_MotionEstimationMethod\r
// \r
this.drop_MotionEstimationMethod.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
- this.drop_MotionEstimationMethod.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
+ this.drop_MotionEstimationMethod.FlatStyle = System.Windows.Forms.FlatStyle.Popup;\r
this.drop_MotionEstimationMethod.FormattingEnabled = true;\r
this.drop_MotionEstimationMethod.ItemHeight = 12;\r
+ this.drop_MotionEstimationMethod.Items.AddRange(new object[] {\r
+ "Default (Hexagon)",\r
+ "Diamond",\r
+ "Hexagon",\r
+ "Uneven Multi-Hexagon",\r
+ "Exhaustive"});\r
this.drop_MotionEstimationMethod.Location = new System.Drawing.Point(537, 11);\r
this.drop_MotionEstimationMethod.Name = "drop_MotionEstimationMethod";\r
this.drop_MotionEstimationMethod.Size = new System.Drawing.Size(139, 20);\r
this.drop_MotionEstimationMethod.TabIndex = 30;\r
this.drop_MotionEstimationMethod.SelectedIndexChanged += new System.EventHandler(this.drop_MotionEstimationMethod_SelectedIndexChanged);\r
// \r
- // label57\r
- // \r
- this.label57.AutoSize = true;\r
- this.label57.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
- this.label57.Location = new System.Drawing.Point(41, 204);\r
- this.label57.Name = "label57";\r
- this.label57.Size = new System.Drawing.Size(105, 12);\r
- this.label57.TabIndex = 9;\r
- this.label57.Text = "Pyrmidal B-Frames:";\r
- // \r
// check_pyrmidalBFrames\r
// \r
this.check_pyrmidalBFrames.AutoSize = true;\r
+ this.check_pyrmidalBFrames.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;\r
this.check_pyrmidalBFrames.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
- this.check_pyrmidalBFrames.Location = new System.Drawing.Point(157, 205);\r
+ this.check_pyrmidalBFrames.Location = new System.Drawing.Point(47, 210);\r
this.check_pyrmidalBFrames.Name = "check_pyrmidalBFrames";\r
this.check_pyrmidalBFrames.RightToLeft = System.Windows.Forms.RightToLeft.No;\r
- this.check_pyrmidalBFrames.Size = new System.Drawing.Size(12, 11);\r
+ this.check_pyrmidalBFrames.Size = new System.Drawing.Size(121, 16);\r
this.check_pyrmidalBFrames.TabIndex = 17;\r
+ this.check_pyrmidalBFrames.Text = "Pyrmidal B-Frames:";\r
this.check_pyrmidalBFrames.TextAlign = System.Drawing.ContentAlignment.MiddleRight;\r
this.check_pyrmidalBFrames.UseVisualStyleBackColor = true;\r
this.check_pyrmidalBFrames.CheckStateChanged += new System.EventHandler(this.check_pyrmidalBFrames_CheckedChanged);\r
// \r
- // label58\r
- // \r
- this.label58.AutoSize = true;\r
- this.label58.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
- this.label58.Location = new System.Drawing.Point(15, 184);\r
- this.label58.Name = "label58";\r
- this.label58.Size = new System.Drawing.Size(131, 12);\r
- this.label58.TabIndex = 8;\r
- this.label58.Text = "Bidirectional Refinement:";\r
- // \r
// check_BidirectionalRefinement\r
// \r
this.check_BidirectionalRefinement.AutoSize = true;\r
+ this.check_BidirectionalRefinement.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;\r
this.check_BidirectionalRefinement.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
- this.check_BidirectionalRefinement.Location = new System.Drawing.Point(157, 185);\r
+ this.check_BidirectionalRefinement.Location = new System.Drawing.Point(21, 188);\r
this.check_BidirectionalRefinement.Name = "check_BidirectionalRefinement";\r
this.check_BidirectionalRefinement.RightToLeft = System.Windows.Forms.RightToLeft.No;\r
- this.check_BidirectionalRefinement.Size = new System.Drawing.Size(12, 11);\r
+ this.check_BidirectionalRefinement.Size = new System.Drawing.Size(147, 16);\r
this.check_BidirectionalRefinement.TabIndex = 16;\r
+ this.check_BidirectionalRefinement.Text = "Bidirectional Refinement:";\r
this.check_BidirectionalRefinement.TextAlign = System.Drawing.ContentAlignment.MiddleRight;\r
this.check_BidirectionalRefinement.UseVisualStyleBackColor = true;\r
this.check_BidirectionalRefinement.CheckStateChanged += new System.EventHandler(this.check_BidirectionalRefinement_CheckedChanged);\r
// \r
- // label59\r
- // \r
- this.label59.AutoSize = true;\r
- this.label59.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
- this.label59.Location = new System.Drawing.Point(15, 164);\r
- this.label59.Name = "label59";\r
- this.label59.Size = new System.Drawing.Size(131, 12);\r
- this.label59.TabIndex = 7;\r
- this.label59.Text = "B-Frame Rate Distortion:";\r
- // \r
- // check_bFrameDistortion\r
- // \r
- this.check_bFrameDistortion.AutoSize = true;\r
- this.check_bFrameDistortion.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
- this.check_bFrameDistortion.Location = new System.Drawing.Point(157, 165);\r
- this.check_bFrameDistortion.Name = "check_bFrameDistortion";\r
- this.check_bFrameDistortion.RightToLeft = System.Windows.Forms.RightToLeft.No;\r
- this.check_bFrameDistortion.Size = new System.Drawing.Size(12, 11);\r
- this.check_bFrameDistortion.TabIndex = 15;\r
- this.check_bFrameDistortion.TextAlign = System.Drawing.ContentAlignment.MiddleRight;\r
- this.check_bFrameDistortion.UseVisualStyleBackColor = true;\r
- this.check_bFrameDistortion.CheckStateChanged += new System.EventHandler(this.check_bFrameDistortion_CheckedChanged);\r
- // \r
- // label60\r
- // \r
- this.label60.AutoSize = true;\r
- this.label60.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
- this.label60.Location = new System.Drawing.Point(39, 146);\r
- this.label60.Name = "label60";\r
- this.label60.Size = new System.Drawing.Size(107, 12);\r
- this.label60.TabIndex = 6;\r
- this.label60.Text = "Weighted B-Frames:";\r
+ // check_bFrameRateDistortion\r
+ // \r
+ this.check_bFrameRateDistortion.AutoSize = true;\r
+ this.check_bFrameRateDistortion.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;\r
+ this.check_bFrameRateDistortion.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
+ this.check_bFrameRateDistortion.Location = new System.Drawing.Point(20, 166);\r
+ this.check_bFrameRateDistortion.Name = "check_bFrameRateDistortion";\r
+ this.check_bFrameRateDistortion.RightToLeft = System.Windows.Forms.RightToLeft.No;\r
+ this.check_bFrameRateDistortion.Size = new System.Drawing.Size(147, 16);\r
+ this.check_bFrameRateDistortion.TabIndex = 15;\r
+ this.check_bFrameRateDistortion.Text = "B-Frame Rate Distortion:";\r
+ this.check_bFrameRateDistortion.TextAlign = System.Drawing.ContentAlignment.MiddleRight;\r
+ this.check_bFrameRateDistortion.UseVisualStyleBackColor = true;\r
+ this.check_bFrameRateDistortion.CheckStateChanged += new System.EventHandler(this.check_bFrameDistortion_CheckedChanged);\r
// \r
// check_weightedBFrames\r
// \r
this.check_weightedBFrames.AutoSize = true;\r
+ this.check_weightedBFrames.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;\r
this.check_weightedBFrames.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
- this.check_weightedBFrames.Location = new System.Drawing.Point(157, 147);\r
+ this.check_weightedBFrames.Location = new System.Drawing.Point(44, 144);\r
this.check_weightedBFrames.Name = "check_weightedBFrames";\r
this.check_weightedBFrames.RightToLeft = System.Windows.Forms.RightToLeft.No;\r
- this.check_weightedBFrames.Size = new System.Drawing.Size(12, 11);\r
+ this.check_weightedBFrames.Size = new System.Drawing.Size(123, 16);\r
this.check_weightedBFrames.TabIndex = 14;\r
- this.check_weightedBFrames.TextAlign = System.Drawing.ContentAlignment.MiddleRight;\r
+ this.check_weightedBFrames.Text = "Weighted B-Frames:";\r
this.check_weightedBFrames.UseVisualStyleBackColor = true;\r
this.check_weightedBFrames.CheckStateChanged += new System.EventHandler(this.check_weightedBFrames_CheckedChanged);\r
// \r
- // label61\r
+ // lbl_direct_prediction\r
// \r
- this.label61.AutoSize = true;\r
- this.label61.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
- this.label61.Location = new System.Drawing.Point(52, 121);\r
- this.label61.Name = "label61";\r
- this.label61.Size = new System.Drawing.Size(94, 12);\r
- this.label61.TabIndex = 5;\r
- this.label61.Text = "Direct Prediction:";\r
+ this.lbl_direct_prediction.AutoSize = true;\r
+ this.lbl_direct_prediction.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+ this.lbl_direct_prediction.Location = new System.Drawing.Point(52, 121);\r
+ this.lbl_direct_prediction.Name = "lbl_direct_prediction";\r
+ this.lbl_direct_prediction.Size = new System.Drawing.Size(94, 12);\r
+ this.lbl_direct_prediction.TabIndex = 5;\r
+ this.lbl_direct_prediction.Text = "Direct Prediction:";\r
// \r
// drop_directPrediction\r
// \r
this.drop_directPrediction.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
- this.drop_directPrediction.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
+ this.drop_directPrediction.FlatStyle = System.Windows.Forms.FlatStyle.Popup;\r
this.drop_directPrediction.FormattingEnabled = true;\r
+ this.drop_directPrediction.Items.AddRange(new object[] {\r
+ "Default (Spatial)",\r
+ "None",\r
+ "Spatial",\r
+ "Temporal",\r
+ "Automatic"});\r
this.drop_directPrediction.Location = new System.Drawing.Point(157, 118);\r
this.drop_directPrediction.Name = "drop_directPrediction";\r
this.drop_directPrediction.Size = new System.Drawing.Size(121, 20);\r
// drop_bFrames\r
// \r
this.drop_bFrames.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
- this.drop_bFrames.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
+ this.drop_bFrames.FlatStyle = System.Windows.Forms.FlatStyle.Popup;\r
this.drop_bFrames.FormattingEnabled = true;\r
+ this.drop_bFrames.Items.AddRange(new object[] {\r
+ "Default (0)",\r
+ "0",\r
+ "1",\r
+ "2",\r
+ "3",\r
+ "4",\r
+ "5",\r
+ "6",\r
+ "7",\r
+ "8",\r
+ "9",\r
+ "10",\r
+ "11",\r
+ "12",\r
+ "13",\r
+ "14",\r
+ "15",\r
+ "16"});\r
this.drop_bFrames.Location = new System.Drawing.Point(157, 91);\r
this.drop_bFrames.Name = "drop_bFrames";\r
this.drop_bFrames.Size = new System.Drawing.Size(121, 20);\r
this.drop_bFrames.TabIndex = 12;\r
this.drop_bFrames.SelectedIndexChanged += new System.EventHandler(this.drop_bFrames_SelectedIndexChanged);\r
// \r
- // label63\r
- // \r
- this.label63.AutoSize = true;\r
- this.label63.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
- this.label63.Location = new System.Drawing.Point(48, 64);\r
- this.label63.Name = "label63";\r
- this.label63.Size = new System.Drawing.Size(98, 12);\r
- this.label63.TabIndex = 2;\r
- this.label63.Text = "Mixed References:";\r
- // \r
// label64\r
// \r
this.label64.AutoSize = true;\r
// drop_refFrames\r
// \r
this.drop_refFrames.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
- this.drop_refFrames.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
+ this.drop_refFrames.FlatStyle = System.Windows.Forms.FlatStyle.Popup;\r
this.drop_refFrames.FormattingEnabled = true;\r
+ this.drop_refFrames.Items.AddRange(new object[] {\r
+ "Default (1)",\r
+ "0",\r
+ "1",\r
+ "2",\r
+ "3",\r
+ "4",\r
+ "5",\r
+ "6",\r
+ "7",\r
+ "8",\r
+ "9",\r
+ "10",\r
+ "11",\r
+ "12",\r
+ "13",\r
+ "14",\r
+ "15",\r
+ "16"});\r
this.drop_refFrames.Location = new System.Drawing.Point(157, 37);\r
this.drop_refFrames.Name = "drop_refFrames";\r
this.drop_refFrames.Size = new System.Drawing.Size(121, 20);\r
// check_mixedReferences\r
// \r
this.check_mixedReferences.AutoSize = true;\r
+ this.check_mixedReferences.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;\r
this.check_mixedReferences.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
- this.check_mixedReferences.Location = new System.Drawing.Point(157, 65);\r
+ this.check_mixedReferences.Location = new System.Drawing.Point(54, 63);\r
this.check_mixedReferences.Name = "check_mixedReferences";\r
this.check_mixedReferences.RightToLeft = System.Windows.Forms.RightToLeft.No;\r
- this.check_mixedReferences.Size = new System.Drawing.Size(12, 11);\r
+ this.check_mixedReferences.Size = new System.Drawing.Size(114, 16);\r
this.check_mixedReferences.TabIndex = 11;\r
+ this.check_mixedReferences.Text = "Mixed References:";\r
this.check_mixedReferences.TextAlign = System.Drawing.ContentAlignment.MiddleRight;\r
this.check_mixedReferences.UseVisualStyleBackColor = true;\r
this.check_mixedReferences.CheckStateChanged += new System.EventHandler(this.check_mixedReferences_CheckedChanged);\r
// \r
this.lbl_encode.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
this.lbl_encode.Name = "lbl_encode";\r
- this.lbl_encode.Size = new System.Drawing.Size(148, 17);\r
- this.lbl_encode.Text = "Encoding: Not Started";\r
+ this.lbl_encode.Size = new System.Drawing.Size(31, 17);\r
+ this.lbl_encode.Text = "{0}";\r
// \r
// panel4\r
// \r
internal System.Windows.Forms.RichTextBox rtf_x264Query;\r
internal System.Windows.Forms.Label label43;\r
internal System.Windows.Forms.Button btn_reset;\r
- internal System.Windows.Forms.Label label35;\r
internal System.Windows.Forms.CheckBox check_Cabac;\r
- internal System.Windows.Forms.Label label36;\r
internal System.Windows.Forms.CheckBox check_noDCTDecimate;\r
- internal System.Windows.Forms.Label label37;\r
internal System.Windows.Forms.CheckBox check_noFastPSkip;\r
- internal System.Windows.Forms.Label label39;\r
+ internal System.Windows.Forms.Label lbl_trellis;\r
internal System.Windows.Forms.ComboBox drop_trellis;\r
internal System.Windows.Forms.ComboBox drop_deblockBeta;\r
internal System.Windows.Forms.Label label41;\r
internal System.Windows.Forms.Panel panel3;\r
internal System.Windows.Forms.Panel panel1;\r
internal System.Windows.Forms.Panel panel2;\r
- internal System.Windows.Forms.Label label44;\r
internal System.Windows.Forms.CheckBox check_8x8DCT;\r
internal System.Windows.Forms.Label label45;\r
internal System.Windows.Forms.ComboBox drop_analysis;\r
internal System.Windows.Forms.ComboBox drop_MotionEstimationRange;\r
internal System.Windows.Forms.Label label54;\r
internal System.Windows.Forms.ComboBox drop_MotionEstimationMethod;\r
- internal System.Windows.Forms.Label label57;\r
internal System.Windows.Forms.CheckBox check_pyrmidalBFrames;\r
- internal System.Windows.Forms.Label label58;\r
internal System.Windows.Forms.CheckBox check_BidirectionalRefinement;\r
- internal System.Windows.Forms.Label label59;\r
- internal System.Windows.Forms.CheckBox check_bFrameDistortion;\r
- internal System.Windows.Forms.Label label60;\r
+ internal System.Windows.Forms.CheckBox check_bFrameRateDistortion;\r
internal System.Windows.Forms.CheckBox check_weightedBFrames;\r
- internal System.Windows.Forms.Label label61;\r
+ internal System.Windows.Forms.Label lbl_direct_prediction;\r
internal System.Windows.Forms.ComboBox drop_directPrediction;\r
internal System.Windows.Forms.Label label62;\r
internal System.Windows.Forms.ComboBox drop_bFrames;\r
- internal System.Windows.Forms.Label label63;\r
internal System.Windows.Forms.Label label64;\r
internal System.Windows.Forms.ComboBox drop_refFrames;\r
internal System.Windows.Forms.CheckBox check_mixedReferences;\r
// Enabled GUI tooltip's if Required\r
if (Properties.Settings.Default.tooltipEnable == "Checked")\r
ToolTip.Active = true;\r
+ lbl_encode.Text = "";\r
Thread.Sleep(400);\r
\r
\r
this.Enabled = true;\r
\r
// Some event Handlers. Used for minimize to taskbar\r
- this.Resize += new EventHandler(frmMain_Resize);\r
+ this.Resize += new EventHandler(frmMain_Resize); \r
}\r
\r
// Startup Functions\r
}\r
private void setupH264Panel()\r
{\r
- /*Set opt widget values here*/\r
-\r
- /*B-Frames fX264optBframesPopUp*/\r
- int i;\r
- drop_bFrames.Items.Clear();\r
- drop_bFrames.Items.Add("Default (0)");\r
drop_bFrames.Text = "Default (0)";\r
-\r
- for (i = 0; i < 17; i++)\r
- {\r
- drop_bFrames.Items.Add(i.ToString());\r
- }\r
-\r
- /*Reference Frames fX264optRefPopUp*/\r
- drop_refFrames.Items.Clear();\r
- drop_refFrames.Items.Add("Default (1)");\r
drop_refFrames.Text = "Default (1)";\r
- for (i = 0; i < 17; i++)\r
- {\r
- drop_refFrames.Items.Add(i.ToString());\r
- }\r
-\r
- /*No Fast P-Skip fX264optNfpskipSwitch BOOLEAN*/\r
- check_noFastPSkip.CheckState = CheckState.Unchecked;\r
-\r
- /*No Dict Decimate fX264optNodctdcmtSwitch BOOLEAN*/\r
- check_noDCTDecimate.CheckState = CheckState.Unchecked;\r
-\r
-\r
- /*Sub Me fX264optSubmePopUp*/\r
- drop_subpixelMotionEstimation.Items.Clear();\r
- drop_subpixelMotionEstimation.Items.Add("Default (4)");\r
drop_subpixelMotionEstimation.Text = "Default (4)";\r
- for (i = 0; i < 8; i++)\r
- {\r
- drop_subpixelMotionEstimation.Items.Add(i.ToString());\r
- }\r
-\r
- /*Trellis fX264optTrellisPopUp*/\r
- drop_trellis.Items.Clear();\r
- drop_trellis.Items.Add("Default (0)");\r
drop_trellis.Text = "Default (0)";\r
- for (i = 0; i < 3; i++)\r
- {\r
- drop_trellis.Items.Add(i.ToString());\r
- }\r
-\r
- /*Mixed-references fX264optMixedRefsSwitch BOOLEAN*/\r
- check_mixedReferences.CheckState = CheckState.Unchecked;\r
-\r
- /*Motion Estimation fX264optMotionEstPopUp*/\r
- drop_MotionEstimationMethod.Items.Clear();\r
- drop_MotionEstimationMethod.Items.Add("Default (Hexagon)");\r
- drop_MotionEstimationMethod.Items.Add("Diamond");\r
- drop_MotionEstimationMethod.Items.Add("Hexagon");\r
- drop_MotionEstimationMethod.Items.Add("Uneven Multi-Hexagon");\r
- drop_MotionEstimationMethod.Items.Add("Exhaustive");\r
drop_MotionEstimationMethod.Text = "Default (Hexagon)";\r
-\r
- /*Motion Estimation range fX264optMERangePopUp*/\r
- drop_MotionEstimationRange.Items.Clear();\r
- drop_MotionEstimationRange.Items.Add("Default (16)");\r
drop_MotionEstimationRange.Text = "Default (16)";\r
- for (i = 4; i < 65; i++)\r
- {\r
- drop_MotionEstimationRange.Items.Add(i.ToString());\r
- }\r
-\r
- /*Weighted B-Frame Prediction fX264optWeightBSwitch BOOLEAN*/\r
- check_weightedBFrames.CheckState = CheckState.Unchecked;\r
-\r
- /*B-Frame Rate Distortion Optimization fX264optBRDOSwitch BOOLEAN*/\r
- check_bFrameDistortion.CheckState = CheckState.Unchecked;\r
-\r
- /*B-frame Pyramids fX264optBPyramidSwitch BOOLEAN*/\r
- check_pyrmidalBFrames.CheckState = CheckState.Unchecked;\r
-\r
- /*Bidirectional Motion Estimation Refinement fX264optBiMESwitch BOOLEAN*/\r
- check_BidirectionalRefinement.CheckState = CheckState.Unchecked;\r
-\r
- /*Direct B-Frame Prediction Mode fX264optDirectPredPopUp*/\r
- drop_directPrediction.Items.Clear();\r
- drop_directPrediction.Items.Add("Default (Spatial)");\r
- drop_directPrediction.Items.Add("None");\r
- drop_directPrediction.Items.Add("Spatial");\r
- drop_directPrediction.Items.Add("Temporal");\r
- drop_directPrediction.Items.Add("Automatic");\r
drop_directPrediction.Text = "Default (Spatial)";\r
-\r
- /*Alpha Deblock*/\r
- drop_deblockAlpha.Items.Clear();\r
- drop_deblockAlpha.Items.Add("Default (0)");\r
drop_deblockAlpha.Text = "Default (0)";\r
- for (i = -6; i < 7; i++)\r
- {\r
- drop_deblockAlpha.Items.Add(i.ToString());\r
- }\r
-\r
- /*Beta Deblock*/\r
- drop_deblockBeta.Items.Clear();\r
- drop_deblockBeta.Items.Add("Default (0)");\r
drop_deblockBeta.Text = "Default (0)";\r
- for (i = -6; i < 7; i++)\r
- {\r
- drop_deblockBeta.Items.Add(i.ToString());\r
- }\r
-\r
- /* Analysis fX264optAnalysePopUp */\r
- drop_analysis.Items.Clear();\r
- drop_analysis.Items.Add("Default (some)"); /* 0=default */\r
- drop_analysis.Items.Add("None"); /* 1=none */\r
- drop_analysis.Items.Add("All"); /* 2=all */\r
drop_analysis.Text = "Default (some)";\r
-\r
- /* 8x8 DCT fX264op8x8dctSwitch */\r
- check_8x8DCT.CheckState = CheckState.Unchecked;\r
-\r
- /* CABAC fX264opCabacSwitch */\r
- check_Cabac.CheckState = CheckState.Checked;\r
-\r
- /* Standardize the option string */\r
rtf_x264Query.Text = "";\r
}\r
private void loadUserDefaults()\r
\r
ThreadPool.QueueUserWorkItem(procMonitor, query);\r
lbl_encode.Visible = true;\r
- lbl_encode.Text = "Encoding: in Progress";\r
+ lbl_encode.Text = "Encoding in Progress";\r
\r
btn_start.Text = "Stop";\r
btn_start.Image = Properties.Resources.stop;\r
if (drp_dvdtitle.Items.Count == 0)\r
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);\r
\r
- lbl_encode.Text = "Encoding: Not Started";\r
+ lbl_encode.Text = "";\r
}\r
}\r
private void btn_file_source_Click(object sender, EventArgs e)\r
if (drp_dvdtitle.Items.Count == 0)\r
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);\r
\r
- lbl_encode.Text = "Encoding: Not Started";\r
+ lbl_encode.Text = "";\r
}\r
}\r
private void mnu_dvd_drive_Click(object sender, EventArgs e)\r
if (drp_dvdtitle.Items.Count == 0)\r
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);\r
\r
- lbl_encode.Text = "Encoding: Not Started";\r
+ lbl_encode.Text = "";\r
}\r
\r
private void drp_dvdtitle_Click(object sender, EventArgs e)\r
\r
drp_audmix_1.Text = "Automatic";\r
drp_audbit_1.Text = "160";\r
- drp_audsr_1.Text = "48";\r
+ drp_audsr_1.Text = "Auto";\r
}\r
\r
\r
\r
drp_audmix_2.Text = "Automatic";\r
drp_audbit_2.Text = "160";\r
- drp_audsr_2.Text = "48";\r
+ drp_audsr_2.Text = "Auto";\r
}\r
else\r
{\r
\r
drp_audmix_2.Text = "Automatic";\r
drp_audbit_2.Text = "160";\r
- drp_audsr_2.Text = "48";\r
+ drp_audsr_2.Text = "Auto";\r
}\r
}\r
\r
\r
drp_audmix_3.Text = "Automatic";\r
drp_audbit_3.Text = "160";\r
- drp_audsr_3.Text = "48";\r
+ drp_audsr_3.Text = "Auto";\r
}\r
else\r
{\r
\r
drp_audmix_3.Text = "Automatic";\r
drp_audbit_3.Text = "160";\r
- drp_audsr_3.Text = "48";\r
+ drp_audsr_3.Text = "Auto";\r
}\r
}\r
\r
\r
drp_audmix_4.Text = "Automatic";\r
drp_audbit_4.Text = "160";\r
- drp_audsr_4.Text = "48";\r
+ drp_audsr_4.Text = "Auto";\r
}\r
else\r
{\r
\r
drp_audmix_4.Text = "Automatic";\r
drp_audbit_4.Text = "160";\r
- drp_audsr_4.Text = "48";\r
+ drp_audsr_4.Text = "Auto";\r
}\r
}\r
\r
}\r
private void check_Cabac_CheckedChanged(object sender, EventArgs e)\r
{\r
+ \r
x264PanelFunctions.on_x264_WidgetChange("cabac", this);\r
}\r
\r
this.BeginInvoke(new UpdateUIHandler(setEncodeLabelFinished));\r
return;\r
}\r
- lbl_encode.Text = "Encoding: Finished";\r
+ lbl_encode.Text = "Encoding Finished";\r
btn_start.Text = "Start";\r
btn_start.Image = Properties.Resources.Play;\r
}\r