ATV Modulator: corrected horizotal sync leap placement so that image is received correctly

pull/27/head
f4exb 2017-04-05 05:37:48 +02:00
rodzic 645329b6c6
commit ca76d695f7
1 zmienionych plików z 6 dodań i 6 usunięć

Wyświetl plik

@ -271,7 +271,11 @@ Complex& ATVMod::modulateVestigialSSB(Real& sample)
void ATVMod::pullVideo(Real& sample)
{
if (m_lineCount < m_nbLines2 + 1) // even image or non interlaced
if ((m_running.m_atvStd == ATVStdHLeap) && (m_lineCount == m_nbLines2 - 1)) // 1 line before the last in leap mode
{
pullImageLine(sample, true); // pull image line without sync
}
else if (m_lineCount < m_nbLines2 + 1) // even image or non interlaced
{
int iLine = m_lineCount;
@ -288,10 +292,6 @@ void ATVMod::pullVideo(Real& sample)
pullImageLine(sample);
}
}
else if (m_running.m_atvStd == ATVStdHLeap) // HLeap special
{
pullImageLine(sample, true); // pull image line without sync
}
else // odd image
{
int iLine = m_lineCount - m_nbLines2 - 1;
@ -842,7 +842,7 @@ void ATVMod::applyStandard()
m_singleLongSync = true;
m_nbBlankLines = 0;
m_blankLineLvel = 0.7f;
m_nbLines2 = m_nbLines - 2; // force last line to slip from the even block
m_nbLines2 = m_nbLines - 1;
break;
case ATVStdShort:
m_nbImageLines = m_nbLines - 2; // lines less the total number of sync lines