1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-05-25 03:32:29 -04:00

ATV Demodulator: Removed 405 lines and added 819 lines system

This commit is contained in:
f4exb 2020-07-31 04:05:09 +02:00
parent 8578b3e117
commit aeffab5954
4 changed files with 62 additions and 52 deletions

View File

@ -622,6 +622,11 @@
<property name="toolTip"> <property name="toolTip">
<string>Nominal number of lines per frame</string> <string>Nominal number of lines per frame</string>
</property> </property>
<item>
<property name="text">
<string>819</string>
</property>
</item>
<item> <item>
<property name="text"> <property name="text">
<string>640</string> <string>640</string>
@ -783,7 +788,7 @@
</item> </item>
<item> <item>
<property name="text"> <property name="text">
<string>PAL405</string> <string>819L</string>
</property> </property>
</item> </item>
<item> <item>

View File

@ -220,42 +220,45 @@ int ATVDemodSettings::getNumberOfLines(int nbLinesIndex)
switch(nbLinesIndex) switch(nbLinesIndex)
{ {
case 0: case 0:
return 640; return 819;
break;
case 2:
return 525;
break;
case 3:
return 480;
break;
case 4:
return 405;
break;
case 5:
return 360;
break;
case 6:
return 343;
break;
case 7:
return 240;
break;
case 8:
return 180;
break;
case 9:
return 120;
break;
case 10:
return 90;
break;
case 11:
return 60;
break;
case 12:
return 32;
break; break;
case 1: case 1:
return 640;
break;
case 3:
return 525;
break;
case 4:
return 480;
break;
case 5:
return 405;
break;
case 6:
return 360;
break;
case 7:
return 343;
break;
case 8:
return 240;
break;
case 9:
return 180;
break;
case 10:
return 120;
break;
case 11:
return 90;
break;
case 12:
return 60;
break;
case 13:
return 32;
break;
case 2:
default: default:
return 625; return 625;
break; break;
@ -265,29 +268,31 @@ int ATVDemodSettings::getNumberOfLines(int nbLinesIndex)
int ATVDemodSettings::getNumberOfLinesIndex(int nbLines) int ATVDemodSettings::getNumberOfLinesIndex(int nbLines)
{ {
if (nbLines <= 32) { if (nbLines <= 32) {
return 12; return 13;
} else if (nbLines <= 60) { } else if (nbLines <= 60) {
return 11; return 12;
} else if (nbLines <= 90) { } else if (nbLines <= 90) {
return 10; return 11;
} else if (nbLines <= 120) { } else if (nbLines <= 120) {
return 9; return 10;
} else if (nbLines <= 180) { } else if (nbLines <= 180) {
return 8; return 9;
} else if (nbLines <= 240) { } else if (nbLines <= 240) {
return 7; return 8;
} else if (nbLines <= 343) { } else if (nbLines <= 343) {
return 6; return 7;
} else if (nbLines <= 360) { } else if (nbLines <= 360) {
return 5; return 6;
} else if (nbLines <= 405) { } else if (nbLines <= 405) {
return 4; return 5;
} else if (nbLines <= 480) { } else if (nbLines <= 480) {
return 3; return 4;
} else if (nbLines <= 525) { } else if (nbLines <= 525) {
return 2; return 3;
} else if (nbLines <= 625) { } else if (nbLines <= 625) {
return 1; return 2;
} else if (nbLines <= 640) {
return 2;
} else { } else {
return 0; return 0;
} }

View File

@ -39,7 +39,7 @@ struct ATVDemodSettings
{ {
ATVStdPAL625, ATVStdPAL625,
ATVStdPAL525, ATVStdPAL525,
ATVStd405, ATVStd819,
ATVStdShortInterleaved, ATVStdShortInterleaved,
ATVStdShort, ATVStdShort,
ATVStdHSkip ATVStdHSkip

View File

@ -355,12 +355,12 @@ void ATVDemodSink::applyStandard(int sampleRate, const ATVDemodSettings& setting
m_firstVisibleLine = 3; m_firstVisibleLine = 3;
m_numberSamplesHSyncCrop = (int) (0.085f * lineDuration * sampleRate); // 8.5% of full line empirically m_numberSamplesHSyncCrop = (int) (0.085f * lineDuration * sampleRate); // 8.5% of full line empirically
break; break;
case ATVDemodSettings::ATVStd405: // Follows loosely the 405 lines standard case ATVDemodSettings::ATVStd819: // 819 lines standard F
// what is left in a line for the image // what is left in a line for the image
m_interleaved = true; m_interleaved = true;
m_numberOfVSyncLines = 3; m_numberOfVSyncLines = 4;
m_numberOfBlackLines = 30; m_numberOfBlackLines = 58;
m_firstVisibleLine = 13; m_firstVisibleLine = 27;
m_numberSamplesHSyncCrop = (int) (0.085f * lineDuration * sampleRate); // 8.5% of full line empirically m_numberSamplesHSyncCrop = (int) (0.085f * lineDuration * sampleRate); // 8.5% of full line empirically
break; break;
case ATVDemodSettings::ATVStdPAL525: // Follows PAL-M standard case ATVDemodSettings::ATVStdPAL525: // Follows PAL-M standard