comparison dsp/rateconversion/Resampler.cpp @ 396:b63c22ce235b

Further debug out option
author Chris Cannam <c.cannam@qmul.ac.uk>
date Sat, 10 May 2014 13:40:44 +0100
parents 0d79970811c7
children 6a820c2a3eb2
comparison
equal deleted inserted replaced
395:a0829908bb74 396:b63c22ce235b
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 }