ATV Demod: render image immediately when FPS is below 25 to avoid partial image flickering

This commit is contained in:
f4exb 2017-04-06 05:30:59 +02:00
parent 2fe0ec7dbd
commit b55d9324d1
3 changed files with 5 additions and 1 deletions

View File

@ -573,6 +573,7 @@ void ATVDemod::applySettings()
m_intNumberSamplePerLine = (int) (m_objConfig.m_fltLineDuration * m_objConfig.m_intSampleRate);
m_intNumberSamplePerTop = (int) (m_objConfig.m_fltTopDuration * m_objConfig.m_intSampleRate);
m_objRegisteredATVScreen->setRenderImmediate((m_objConfig.m_fltFramePerS < 25.0f));
m_objRegisteredATVScreen->resizeATVScreen(
m_intNumberSamplePerLine - m_intNumberSamplePerLineSignals,
m_intNumberOfLines - m_intNumberOfBlackLines);

View File

@ -37,6 +37,7 @@ ATVScreen::ATVScreen(QWidget* parent) :
m_chrLastData = NULL;
m_blnConfigChanged = false;
m_blnDataChanged = false;
m_blnRenderImmediate = false;
m_blnGLContextInitialized = false;
//Par défaut
@ -63,7 +64,7 @@ void ATVScreen::renderImage(unsigned char * objData)
{
m_chrLastData = objData;
m_blnDataChanged = true;
//update();
if (m_blnRenderImmediate) update();
}
void ATVScreen::resetImage()

View File

@ -54,6 +54,7 @@ public:
bool selectRow(int intLine);
bool setDataColor(int intCol,int intRed, int intGreen, int intBlue);
void setRenderImmediate(bool blnRenderImmediate) { m_blnRenderImmediate = blnRenderImmediate; }
void connectTimer(const QTimer& timer);
@ -75,6 +76,7 @@ private:
QTimer m_objTimer;
QMutex m_objMutex;
bool m_blnDataChanged;
bool m_blnRenderImmediate;
bool m_blnConfigChanged;
GLShaderArray m_objGLShaderArray;