Make level of stream details configurable

Implements partly #4
This commit is contained in:
Juergen Tem 2018-05-13 01:29:23 +02:00
parent fd06038d1c
commit 36eb9834a0
No known key found for this signature in database
GPG Key ID: 0A9625B1654DCE28
6 changed files with 85 additions and 33 deletions

View File

@ -593,30 +593,39 @@ namespace BDInfo
if (seqParameterSet.VUIParameters.VideoSignalTypePresentFlag)
{
ExtendedFormatInfo.Add(seqParameterSet.VUIParameters.VideoFullRangeFlag == 1 ? "Full Range" : "Limited Range");
if (BDInfoSettings.ExtendedStreamDiagnostics)
ExtendedFormatInfo.Add(seqParameterSet.VUIParameters.VideoFullRangeFlag == 1 ? "Full Range" : "Limited Range");
if (seqParameterSet.VUIParameters.ColourDescriptionPresentFlag)
{
ExtendedFormatInfo.Add(ColourPrimaries(seqParameterSet.VUIParameters.ColourPrimaries));
ExtendedFormatInfo.Add(TransferCharacteristics(seqParameterSet.VUIParameters.TransferCharacteristics));
ExtendedFormatInfo.Add(MatrixCoefficients(seqParameterSet.VUIParameters.MatrixCoefficients));
if (BDInfoSettings.ExtendedStreamDiagnostics)
{
ExtendedFormatInfo.Add(TransferCharacteristics(seqParameterSet.VUIParameters.TransferCharacteristics));
ExtendedFormatInfo.Add(MatrixCoefficients(seqParameterSet.VUIParameters.MatrixCoefficients));
}
}
}
}
}
if (MasteringDisplayColorPrimaries != string.Empty)
if (BDInfoSettings.ExtendedStreamDiagnostics)
{
ExtendedFormatInfo.Add("Mastering display color primaries: " + MasteringDisplayColorPrimaries);
}
if (MasteringDisplayLuminance != string.Empty)
{
ExtendedFormatInfo.Add("Mastering display luminance: " + MasteringDisplayLuminance);
}
if (MasteringDisplayColorPrimaries != string.Empty)
{
ExtendedFormatInfo.Add("Mastering display color primaries: " + MasteringDisplayColorPrimaries);
}
if (MasteringDisplayLuminance != string.Empty)
{
ExtendedFormatInfo.Add("Mastering display luminance: " + MasteringDisplayLuminance);
}
if (LightLevelAvailable && MaximumContentLightLevel > 0)
{
ExtendedFormatInfo.Add("Maximum Content Light Level: " + MaximumContentLightLevel + " cd / m2");
ExtendedFormatInfo.Add("Maximum Frame-Average Light Level: " + MaximumFrameAverageLightLevel + " cd/m2");
if (LightLevelAvailable && MaximumContentLightLevel > 0)
{
ExtendedFormatInfo.Add("Maximum Content Light Level: " + MaximumContentLightLevel + " cd / m2");
ExtendedFormatInfo.Add("Maximum Frame-Average Light Level: " + MaximumFrameAverageLightLevel + " cd/m2");
}
}
stream.IsVBR = true;

View File

@ -60,6 +60,7 @@ namespace BDInfo
this.checkBoxUseImagePrefix = new System.Windows.Forms.CheckBox();
this.textBoxUseImagePrefixValue = new System.Windows.Forms.TextBox();
this.checkBoxEnableSSIF = new System.Windows.Forms.CheckBox();
this.checkBoxExtendedStreamDiagnostics = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// checkBoxFilterLoopingPlaylists
@ -67,7 +68,7 @@ namespace BDInfo
this.checkBoxFilterLoopingPlaylists.AutoSize = true;
this.checkBoxFilterLoopingPlaylists.Checked = true;
this.checkBoxFilterLoopingPlaylists.CheckState = System.Windows.Forms.CheckState.Checked;
this.checkBoxFilterLoopingPlaylists.Location = new System.Drawing.Point(11, 99);
this.checkBoxFilterLoopingPlaylists.Location = new System.Drawing.Point(11, 122);
this.checkBoxFilterLoopingPlaylists.Name = "checkBoxFilterLoopingPlaylists";
this.checkBoxFilterLoopingPlaylists.Size = new System.Drawing.Size(177, 17);
this.checkBoxFilterLoopingPlaylists.TabIndex = 3;
@ -77,7 +78,7 @@ namespace BDInfo
// checkBoxAutosaveReport
//
this.checkBoxAutosaveReport.AutoSize = true;
this.checkBoxAutosaveReport.Location = new System.Drawing.Point(11, 53);
this.checkBoxAutosaveReport.Location = new System.Drawing.Point(11, 76);
this.checkBoxAutosaveReport.Name = "checkBoxAutosaveReport";
this.checkBoxAutosaveReport.Size = new System.Drawing.Size(202, 17);
this.checkBoxAutosaveReport.TabIndex = 2;
@ -87,7 +88,7 @@ namespace BDInfo
// buttonCancel
//
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.buttonCancel.Location = new System.Drawing.Point(126, 196);
this.buttonCancel.Location = new System.Drawing.Point(126, 218);
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(75, 23);
this.buttonCancel.TabIndex = 6;
@ -97,7 +98,7 @@ namespace BDInfo
//
// buttonOK
//
this.buttonOK.Location = new System.Drawing.Point(45, 196);
this.buttonOK.Location = new System.Drawing.Point(45, 218);
this.buttonOK.Name = "buttonOK";
this.buttonOK.Size = new System.Drawing.Size(75, 23);
this.buttonOK.TabIndex = 5;
@ -120,7 +121,7 @@ namespace BDInfo
// checkBoxKeepStreamOrder
//
this.checkBoxKeepStreamOrder.AutoSize = true;
this.checkBoxKeepStreamOrder.Location = new System.Drawing.Point(11, 76);
this.checkBoxKeepStreamOrder.Location = new System.Drawing.Point(11, 99);
this.checkBoxKeepStreamOrder.Name = "checkBoxKeepStreamOrder";
this.checkBoxKeepStreamOrder.Size = new System.Drawing.Size(165, 17);
this.checkBoxKeepStreamOrder.TabIndex = 4;
@ -132,7 +133,7 @@ namespace BDInfo
this.checkBoxGenerateTextSummary.AutoSize = true;
this.checkBoxGenerateTextSummary.Checked = true;
this.checkBoxGenerateTextSummary.CheckState = System.Windows.Forms.CheckState.Checked;
this.checkBoxGenerateTextSummary.Location = new System.Drawing.Point(11, 30);
this.checkBoxGenerateTextSummary.Location = new System.Drawing.Point(11, 53);
this.checkBoxGenerateTextSummary.Name = "checkBoxGenerateTextSummary";
this.checkBoxGenerateTextSummary.Size = new System.Drawing.Size(198, 17);
this.checkBoxGenerateTextSummary.TabIndex = 1;
@ -144,7 +145,7 @@ namespace BDInfo
this.checkBoxFilterShortPlaylists.AutoSize = true;
this.checkBoxFilterShortPlaylists.Checked = true;
this.checkBoxFilterShortPlaylists.CheckState = System.Windows.Forms.CheckState.Checked;
this.checkBoxFilterShortPlaylists.Location = new System.Drawing.Point(11, 122);
this.checkBoxFilterShortPlaylists.Location = new System.Drawing.Point(11, 145);
this.checkBoxFilterShortPlaylists.Name = "checkBoxFilterShortPlaylists";
this.checkBoxFilterShortPlaylists.Size = new System.Drawing.Size(153, 17);
this.checkBoxFilterShortPlaylists.TabIndex = 7;
@ -153,7 +154,7 @@ namespace BDInfo
//
// textBoxFilterShortPlaylistsValue
//
this.textBoxFilterShortPlaylistsValue.Location = new System.Drawing.Point(160, 120);
this.textBoxFilterShortPlaylistsValue.Location = new System.Drawing.Point(160, 143);
this.textBoxFilterShortPlaylistsValue.MaxLength = 4;
this.textBoxFilterShortPlaylistsValue.Name = "textBoxFilterShortPlaylistsValue";
this.textBoxFilterShortPlaylistsValue.Size = new System.Drawing.Size(41, 20);
@ -163,7 +164,7 @@ namespace BDInfo
// labelPlaylistLength
//
this.labelPlaylistLength.AutoSize = true;
this.labelPlaylistLength.Location = new System.Drawing.Point(202, 124);
this.labelPlaylistLength.Location = new System.Drawing.Point(202, 147);
this.labelPlaylistLength.Name = "labelPlaylistLength";
this.labelPlaylistLength.Size = new System.Drawing.Size(24, 13);
this.labelPlaylistLength.TabIndex = 9;
@ -172,7 +173,7 @@ namespace BDInfo
// checkBoxUseImagePrefix
//
this.checkBoxUseImagePrefix.AutoSize = true;
this.checkBoxUseImagePrefix.Location = new System.Drawing.Point(11, 145);
this.checkBoxUseImagePrefix.Location = new System.Drawing.Point(11, 168);
this.checkBoxUseImagePrefix.Name = "checkBoxUseImagePrefix";
this.checkBoxUseImagePrefix.Size = new System.Drawing.Size(104, 17);
this.checkBoxUseImagePrefix.TabIndex = 10;
@ -181,7 +182,7 @@ namespace BDInfo
//
// textBoxUseImagePrefixValue
//
this.textBoxUseImagePrefixValue.Location = new System.Drawing.Point(113, 143);
this.textBoxUseImagePrefixValue.Location = new System.Drawing.Point(113, 166);
this.textBoxUseImagePrefixValue.MaxLength = 4;
this.textBoxUseImagePrefixValue.Name = "textBoxUseImagePrefixValue";
this.textBoxUseImagePrefixValue.Size = new System.Drawing.Size(113, 20);
@ -191,20 +192,31 @@ namespace BDInfo
// checkBoxEnableSSIF
//
this.checkBoxEnableSSIF.AutoSize = true;
this.checkBoxEnableSSIF.Location = new System.Drawing.Point(11, 168);
this.checkBoxEnableSSIF.Location = new System.Drawing.Point(11, 191);
this.checkBoxEnableSSIF.Name = "checkBoxEnableSSIF";
this.checkBoxEnableSSIF.Size = new System.Drawing.Size(134, 17);
this.checkBoxEnableSSIF.TabIndex = 12;
this.checkBoxEnableSSIF.Text = "Enable SSIF scanning.";
this.checkBoxEnableSSIF.UseVisualStyleBackColor = true;
//
// checkBoxExtendedStreamDiagnostics
//
this.checkBoxExtendedStreamDiagnostics.AutoSize = true;
this.checkBoxExtendedStreamDiagnostics.Location = new System.Drawing.Point(11, 30);
this.checkBoxExtendedStreamDiagnostics.Name = "checkBoxExtendedStreamDiagnostics";
this.checkBoxExtendedStreamDiagnostics.Size = new System.Drawing.Size(193, 17);
this.checkBoxExtendedStreamDiagnostics.TabIndex = 13;
this.checkBoxExtendedStreamDiagnostics.Text = "Extended video stream diagnostics.";
this.checkBoxExtendedStreamDiagnostics.UseVisualStyleBackColor = true;
//
// FormSettings
//
this.AcceptButton = this.buttonOK;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.buttonCancel;
this.ClientSize = new System.Drawing.Size(243, 231);
this.ClientSize = new System.Drawing.Size(243, 250);
this.Controls.Add(this.checkBoxExtendedStreamDiagnostics);
this.Controls.Add(this.checkBoxEnableSSIF);
this.Controls.Add(this.textBoxUseImagePrefixValue);
this.Controls.Add(this.checkBoxUseImagePrefix);
@ -243,5 +255,6 @@ namespace BDInfo
private System.Windows.Forms.CheckBox checkBoxUseImagePrefix;
private System.Windows.Forms.TextBox textBoxUseImagePrefixValue;
private System.Windows.Forms.CheckBox checkBoxEnableSSIF;
private System.Windows.Forms.CheckBox checkBoxExtendedStreamDiagnostics;
}
}

View File

@ -18,11 +18,6 @@
//=============================================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace BDInfo
@ -35,6 +30,7 @@ namespace BDInfo
checkBoxAutosaveReport.Checked = BDInfoSettings.AutosaveReport;
checkBoxGenerateStreamDiagnostics.Checked = BDInfoSettings.GenerateStreamDiagnostics;
checkBoxExtendedStreamDiagnostics.Checked = BDInfoSettings.ExtendedStreamDiagnostics;
checkBoxGenerateTextSummary.Checked = BDInfoSettings.GenerateTextSummary;
checkBoxFilterLoopingPlaylists.Checked = BDInfoSettings.FilterLoopingPlaylists;
checkBoxFilterShortPlaylists.Checked = BDInfoSettings.FilterShortPlaylists;
@ -49,6 +45,7 @@ namespace BDInfo
{
BDInfoSettings.AutosaveReport = checkBoxAutosaveReport.Checked;
BDInfoSettings.GenerateStreamDiagnostics = checkBoxGenerateStreamDiagnostics.Checked;
BDInfoSettings.ExtendedStreamDiagnostics = checkBoxExtendedStreamDiagnostics.Checked;
BDInfoSettings.GenerateTextSummary = checkBoxGenerateTextSummary.Checked;
BDInfoSettings.KeepStreamOrder = checkBoxKeepStreamOrder.Checked;
BDInfoSettings.UseImagePrefix = checkBoxUseImagePrefix.Checked;
@ -88,6 +85,21 @@ namespace BDInfo
}
}
public static bool ExtendedStreamDiagnostics
{
get
{
try { return Properties.Settings.Default.ExtendedStreamDetails; }
catch { return true; }
}
set
{
try { Properties.Settings.Default.ExtendedStreamDetails = value; }
catch { }
}
}
public static bool EnableSSIF
{
get

View File

@ -166,5 +166,17 @@ namespace BDInfo.Properties {
this["EnableSSIF"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool ExtendedStreamDetails {
get {
return ((bool)(this["ExtendedStreamDetails"]));
}
set {
this["ExtendedStreamDetails"] = value;
}
}
}
}

View File

@ -38,5 +38,8 @@
<Setting Name="EnableSSIF" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="ExtendedStreamDetails" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@ -23,7 +23,7 @@
<value>True</value>
</setting>
<setting name="LastPath" serializeAs="String">
<value/>
<value />
</setting>
<setting name="GenerateTextSummary" serializeAs="String">
<value>True</value>
@ -43,6 +43,9 @@
<setting name="EnableSSIF" serializeAs="String">
<value>True</value>
</setting>
<setting name="ExtendedStreamDetails" serializeAs="String">
<value>False</value>
</setting>
</BDInfo.Properties.Settings>
</userSettings>
</configuration>