mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-03-22 04:08:29 -04:00
DATV demod: small optimizations (2)
This commit is contained in:
parent
d70f431ec2
commit
03e29e9a1d
@ -46,6 +46,7 @@ DATVDemod::DATVDemod(DeviceAPI *deviceAPI) :
|
||||
{
|
||||
qDebug("DATVDemod::DATVDemod");
|
||||
setObjectName(m_channelId);
|
||||
m_thread.setObjectName("bbDATVDemod");
|
||||
m_basebandSink = new DATVDemodBaseband();
|
||||
m_basebandSink->moveToThread(&m_thread);
|
||||
|
||||
|
@ -95,6 +95,7 @@ void DATVDemodSink::SetVideoRender(DATVideoRender *screen)
|
||||
m_videoRender = screen;
|
||||
m_videoRender->setAudioFIFO(&m_audioFifo);
|
||||
m_videoThread = new DATVideoRenderThread(m_videoRender, m_videoStream);
|
||||
m_videoThread->setObjectName("vtDATVDemodSink");
|
||||
}
|
||||
|
||||
bool DATVDemodSink::audioActive()
|
||||
@ -630,7 +631,7 @@ void DATVDemodSink::InitDATVFramework()
|
||||
|
||||
//***************
|
||||
p_rawiq = new leansdr::pipebuf<leansdr::cf32>(m_objScheduler, "rawiq", BUF_BASEBAND);
|
||||
p_rawiq_writer = new leansdr::pipewriter<leansdr::cf32>(*p_rawiq);
|
||||
p_rawiq_writer = new leansdr::pipewriter<leansdr::cf32>(*p_rawiq, m_RawIQMinWrite);
|
||||
p_preprocessed = p_rawiq;
|
||||
|
||||
// NOTCH FILTER
|
||||
@ -961,7 +962,7 @@ void DATVDemodSink::InitDATVS2Framework()
|
||||
|
||||
//***************
|
||||
p_rawiq = new leansdr::pipebuf<leansdr::cf32>(m_objScheduler, "rawiq", BUF_BASEBAND);
|
||||
p_rawiq_writer = new leansdr::pipewriter<leansdr::cf32>(*p_rawiq);
|
||||
p_rawiq_writer = new leansdr::pipewriter<leansdr::cf32>(*p_rawiq, m_RawIQMinWrite);
|
||||
p_preprocessed = p_rawiq;
|
||||
|
||||
// NOTCH FILTER
|
||||
@ -1148,7 +1149,7 @@ void DATVDemodSink::InitDATVS2Framework()
|
||||
p_verrcount)
|
||||
;
|
||||
leansdr::s2_fecdec_helper<leansdr::llr_t, leansdr::llr_sb> *fecdec = (leansdr::s2_fecdec_helper<leansdr::llr_t, leansdr::llr_sb> *) r_fecdechelper;
|
||||
const int nhelpers = 6;
|
||||
const int nhelpers = 2;
|
||||
fecdec->nhelpers = nhelpers;
|
||||
fecdec->must_buffer = false;
|
||||
fecdec->max_trials = m_settings.m_softLDPCMaxTrials;
|
||||
@ -1324,7 +1325,7 @@ void DATVDemodSink::feed(const SampleVector::const_iterator& begin, const Sample
|
||||
m_objScheduler->step();
|
||||
|
||||
m_lngReadIQ = 0;
|
||||
p_rawiq_writer->reset();
|
||||
p_rawiq_writer->reset(m_RawIQMinWrite);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -219,6 +219,7 @@ private:
|
||||
leansdr::pipebuf<leansdr::cf32> *p_rawiq;
|
||||
leansdr::pipewriter<leansdr::cf32> *p_rawiq_writer;
|
||||
leansdr::pipebuf<leansdr::cf32> *p_preprocessed;
|
||||
static const int m_RawIQMinWrite = 1;
|
||||
|
||||
// NOTCH FILTER
|
||||
leansdr::auto_notch<leansdr::f32> *r_auto_notch;
|
||||
|
@ -3397,7 +3397,7 @@ struct s2_fecdec_helper : runnable
|
||||
p->procs = new helper_instance[nhelpers];
|
||||
|
||||
for (int i = 0; i < nhelpers; ++i) {
|
||||
spawn_helper(&p->procs[i], pls);
|
||||
spawn_helper(&p->procs[i], pls, i);
|
||||
}
|
||||
|
||||
p->nprocs = nhelpers;
|
||||
@ -3449,7 +3449,7 @@ struct s2_fecdec_helper : runnable
|
||||
}
|
||||
|
||||
// Spawn a helper process.
|
||||
void spawn_helper(helper_instance *h, const s2_pls *pls)
|
||||
void spawn_helper(helper_instance *h, const s2_pls *pls, imt)
|
||||
{
|
||||
if (sch->debug) {
|
||||
fprintf(stderr, "Spawning LDPC helper: modcod=%d sf=%d\n", pls->modcod, pls->sf);
|
||||
@ -3639,7 +3639,7 @@ struct s2_fecdec_helper : runnable
|
||||
pipebuf<int> *_errcount = nullptr
|
||||
) :
|
||||
runnable(sch, "S2 fecdec io"),
|
||||
batch_size(16),
|
||||
batch_size(32),
|
||||
nhelpers(1),
|
||||
must_buffer(false),
|
||||
max_trials(8),
|
||||
@ -3771,7 +3771,7 @@ struct s2_fecdec_helper : runnable
|
||||
p->procs = new helper_instance[nhelpers];
|
||||
|
||||
for (int i = 0; i < nhelpers; ++i) {
|
||||
spawn_helper(&p->procs[i], pls);
|
||||
spawn_helper(&p->procs[i], pls, i);
|
||||
}
|
||||
|
||||
p->nprocs = nhelpers;
|
||||
@ -3813,10 +3813,11 @@ struct s2_fecdec_helper : runnable
|
||||
}
|
||||
|
||||
// Spawn a helper thread.
|
||||
void spawn_helper(helper_instance *h, const s2_pls *pls)
|
||||
void spawn_helper(helper_instance *h, const s2_pls *pls, int helper_index)
|
||||
{
|
||||
qDebug() << "s2_fecdec_helper: Spawning LDPC thread: modcod=" << pls->modcod << " sf=" << pls->sf;
|
||||
h->m_thread = new QThread();
|
||||
h->m_thread->setObjectName(QString("ldpcDVBS2_%1").arg(helper_index));
|
||||
h->m_worker = new LDPCWorker(pls->modcod, max_trials, batch_size, pls->sf);
|
||||
h->m_worker->moveToThread(h->m_thread);
|
||||
h->batch_size = batch_size;
|
||||
|
Loading…
Reference in New Issue
Block a user