Skip to content

Commit

Permalink
Merge pull request #896 from eshaz/video-parameter-limits
Browse files Browse the repository at this point in the history
Video parameter start and width limits
  • Loading branch information
happycube authored Jul 1, 2024
2 parents b0eaf1b + 7a741dd commit 2ed2b3c
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 94 deletions.
7 changes: 7 additions & 0 deletions tools/ld-analyse/videoparametersdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,13 @@ void VideoParametersDialog::setVideoParameters(const LdDecodeMetaData::VideoPara
// Transfer values to the dialogue
ui->blackLevelSpinBox->setValue(videoParameters.black16bIre);
ui->whiteLevelSpinBox->setValue(videoParameters.white16bIre);

ui->activeVideoWidthSpinBox->setValue(videoParameters.activeVideoEnd - videoParameters.activeVideoStart);
ui->activeVideoStartSpinBox->setValue(videoParameters.activeVideoStart);
ui->activeVideoWidthSpinBox->setMaximum(videoParameters.fieldWidth - videoParameters.activeVideoStart);
ui->activeVideoStartSpinBox->setMaximum(videoParameters.fieldWidth - 1);
ui->activeVideoStartSpinBox->setMinimum(videoParameters.colourBurstEnd);

if (videoParameters.isWidescreen) ui->aspectRatio169RadioButton->setChecked(true);
else ui->aspectRatio43RadioButton->setChecked(true);

Expand Down Expand Up @@ -104,6 +109,8 @@ void VideoParametersDialog::on_activeVideoStartSpinBox_valueChanged(int value)
{
int adjustAmount = videoParameters.activeVideoStart - value;
videoParameters.activeVideoStart = value;
// prevent the width from going over the actual field width
ui->activeVideoWidthSpinBox->setMaximum(videoParameters.fieldWidth - value - 1);
videoParameters.activeVideoEnd = value + ui->activeVideoWidthSpinBox->value();
updateDialog();
emit videoParametersChanged(videoParameters);
Expand Down
188 changes: 94 additions & 94 deletions tools/ld-analyse/videoparametersdialog.ui
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,6 @@
<property name="horizontalSpacing">
<number>12</number>
</property>
<item row="0" column="2">
<widget class="QPushButton" name="blackLevelResetButton">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Reset NTSC</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="blackLevelLabel">
<property name="text">
Expand All @@ -43,8 +30,8 @@
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="whiteLevelSpinBox">
<item row="0" column="1">
<widget class="QSpinBox" name="blackLevelSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
Expand All @@ -60,35 +47,58 @@
<property name="prefix">
<string>0x</string>
</property>
<property name="minimum">
<number>32768</number>
</property>
<property name="maximum">
<number>65535</number>
<number>32767</number>
</property>
<property name="singleStep">
<number>256</number>
</property>
<property name="value">
<number>54016</number>
<number>16384</number>
</property>
<property name="displayIntegerBase">
<number>16</number>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="aspectRatioLabel">
<item row="0" column="2">
<widget class="QPushButton" name="blackLevelResetButton">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Display aspect ratio:</string>
<string>Reset NTSC</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QPushButton" name="blackLevelAltResetButton">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Reset NTSC-J</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="whiteLevelLabel">
<property name="text">
<string>White level:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="blackLevelSpinBox">
<item row="1" column="1">
<widget class="QSpinBox" name="whiteLevelSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
Expand All @@ -104,56 +114,48 @@
<property name="prefix">
<string>0x</string>
</property>
<property name="minimum">
<number>32768</number>
</property>
<property name="maximum">
<number>32767</number>
<number>65535</number>
</property>
<property name="singleStep">
<number>256</number>
</property>
<property name="value">
<number>16384</number>
<number>54016</number>
</property>
<property name="displayIntegerBase">
<number>16</number>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="activeVideoStartSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item row="1" column="2">
<widget class="QPushButton" name="whiteLevelResetButton">
<property name="minimumSize">
<size>
<width>70</width>
<height>30</height>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="prefix">
<string></string>
</property>
<property name="minimum">
<number>16</number>
</property>
<property name="maximum">
<number>200</number>
</property>
<property name="singleStep">
<number>1</number>
<property name="text">
<string>Reset</string>
</property>
<property name="value">
<number>16</number>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="activeVideoStartlLabel">
<property name="text">
<string>Active video start:</string>
</property>
<property name="displayIntegerBase">
<number>10</number>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="activeVideoWidthSpinBox">
<item row="2" column="1">
<widget class="QSpinBox" name="activeVideoStartSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
Expand All @@ -170,24 +172,24 @@
<string></string>
</property>
<property name="minimum">
<number>1</number>
<number>0</number>
</property>
<property name="maximum">
<number>1000</number>
<number>1134</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>1</number>
<number>16</number>
</property>
<property name="displayIntegerBase">
<number>10</number>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="whiteLevelResetButton">
<item row="2" column="2">
<widget class="QPushButton" name="activeVideoStartResetButton">
<property name="minimumSize">
<size>
<width>100</width>
Expand All @@ -199,49 +201,47 @@
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QPushButton" name="blackLevelAltResetButton">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Reset NTSC-J</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="whiteLevelLabel">
<item row="3" column="0">
<widget class="QLabel" name="activeVideoWidthlLabel">
<property name="text">
<string>White level:</string>
<string>Active video width:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QPushButton" name="activeVideoStartResetButton">
<item row="3" column="1">
<widget class="QSpinBox" name="activeVideoWidthSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
<width>70</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>Reset</string>
<property name="prefix">
<string></string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="activeVideoStartlLabel">
<property name="text">
<string>Active video start:</string>
<property name="minimum">
<number>1</number>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
<property name="maximum">
<number>1135</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>1</number>
</property>
<property name="displayIntegerBase">
<number>10</number>
</property>
</widget>
</item>
Expand All @@ -258,13 +258,13 @@
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="activeVideoWidthlLabel">
<item row="4" column="0">
<widget class="QLabel" name="aspectRatioLabel">
<property name="text">
<string>Active video width:</string>
<string>Display aspect ratio:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
Expand Down

0 comments on commit 2ed2b3c

Please sign in to comment.