mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-10-29 20:10:22 -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user