Mercurial > hg > qm-dsp
comparison dsp/rateconversion/Resampler.cpp @ 171:5f720340b0dd
Further debug out option
author | Chris Cannam |
---|---|
date | Sat, 10 May 2014 13:40:44 +0100 |
parents | 0a47ec0a1a56 |
children | 6a820c2a3eb2 |
comparison
equal
deleted
inserted
replaced
170:8c86761a5533 | 171:5f720340b0dd |
---|---|
26 | 26 |
27 using std::vector; | 27 using std::vector; |
28 using std::map; | 28 using std::map; |
29 | 29 |
30 //#define DEBUG_RESAMPLER 1 | 30 //#define DEBUG_RESAMPLER 1 |
31 //#define DEBUG_RESAMPLER_VERBOSE | |
31 | 32 |
32 Resampler::Resampler(int sourceRate, int targetRate) : | 33 Resampler::Resampler(int sourceRate, int targetRate) : |
33 m_sourceRate(sourceRate), | 34 m_sourceRate(sourceRate), |
34 m_targetRate(targetRate) | 35 m_targetRate(targetRate) |
35 { | 36 { |
371 int got = r.process(data, out.data(), n); | 372 int got = r.process(data, out.data(), n); |
372 got += r.process(pad.data(), out.data() + got, pad.size()); | 373 got += r.process(pad.data(), out.data() + got, pad.size()); |
373 | 374 |
374 #ifdef DEBUG_RESAMPLER | 375 #ifdef DEBUG_RESAMPLER |
375 std::cerr << "resample: " << n << " in, " << got << " out" << std::endl; | 376 std::cerr << "resample: " << n << " in, " << got << " out" << std::endl; |
377 #endif | |
378 #ifdef DEBUG_RESAMPLER_VERBOSE | |
376 std::cerr << "first 10 in:" << std::endl; | 379 std::cerr << "first 10 in:" << std::endl; |
377 for (int i = 0; i < 10; ++i) { | 380 for (int i = 0; i < 10; ++i) { |
378 std::cerr << data[i] << " "; | 381 std::cerr << data[i] << " "; |
379 if (i == 5) std::cerr << std::endl; | 382 if (i == 5) std::cerr << std::endl; |
380 } | 383 } |
385 if (toReturn > m) toReturn = m; | 388 if (toReturn > m) toReturn = m; |
386 | 389 |
387 vector<double> sliced(out.begin() + latency, | 390 vector<double> sliced(out.begin() + latency, |
388 out.begin() + latency + toReturn); | 391 out.begin() + latency + toReturn); |
389 | 392 |
390 #ifdef DEBUG_RESAMPLER | 393 #ifdef DEBUG_RESAMPLER_VERBOSE |
391 std::cerr << "all out (after latency compensation), length " << sliced.size() << ":"; | 394 std::cerr << "all out (after latency compensation), length " << sliced.size() << ":"; |
392 for (int i = 0; i < sliced.size(); ++i) { | 395 for (int i = 0; i < sliced.size(); ++i) { |
393 if (i % 5 == 0) std::cerr << std::endl << i << "... "; | 396 if (i % 5 == 0) std::cerr << std::endl << i << "... "; |
394 std::cerr << sliced[i] << " "; | 397 std::cerr << sliced[i] << " "; |
395 } | 398 } |