X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fcolorcorrection%2Fwaveformgenerator.cpp;h=0575a1c500a66f1bf7bc1b3982535676c6f79058;hb=b540689a832244cfc6f4c5e62f2b01644f5bc437;hp=195da5ac19b00da7d1ca8c7d463cb1678b04b5d9;hpb=08a49ce40071207043020d0d8f3c804703ee7af8;p=kdenlive diff --git a/src/colorcorrection/waveformgenerator.cpp b/src/colorcorrection/waveformgenerator.cpp index 195da5ac..0575a1c5 100644 --- a/src/colorcorrection/waveformgenerator.cpp +++ b/src/colorcorrection/waveformgenerator.cpp @@ -25,8 +25,10 @@ WaveformGenerator::~WaveformGenerator() { } -QImage WaveformGenerator::calculateWaveform(const QSize &waveformSize, const QImage &image, const bool &drawAxis) +QImage WaveformGenerator::calculateWaveform(const QSize &waveformSize, const QImage &image, const bool &drawAxis, const uint &accelFactor) { + Q_ASSERT(accelFactor >= 1); + QTime time; time.start(); @@ -60,7 +62,7 @@ QImage WaveformGenerator::calculateWaveform(const QSize &waveformSize, const QIm const float wPrediv = (float)(ww-1)/(iw-1); const uchar *bits = image.bits(); - const uint stepsize = 4; + const uint stepsize = 4*accelFactor; for (uint i = 0, x = 0; i < byteCount; i += stepsize) { @@ -80,7 +82,7 @@ QImage WaveformGenerator::calculateWaveform(const QSize &waveformSize, const QIm bits += stepsize; x += stepsize; - x %= iw; + x %= iw; // Modulo image width, to represent the current x position in the image } if (drawAxis) { @@ -102,7 +104,7 @@ QImage WaveformGenerator::calculateWaveform(const QSize &waveformSize, const QIm } uint diff = time.elapsed(); - qDebug() << "Waveform calculation ended. Time taken: " << diff << " ms. Sending signal now."; +// qDebug() << "Waveform calculation ended. Time taken: " << diff << " ms. Sending signal now."; emit signalCalculationFinished(wave, diff); return wave;