From f29c4ede5e0e8c5cb776734f314c5c8dd64a14de Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Thu, 12 Jan 2012 15:49:38 +0100 Subject: [PATCH] Fix vectorscope for 24bit RGB images: http://kdenlive.org/mantis/view.php?id=2478 --- src/colorcorrection/vectorscopegenerator.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/colorcorrection/vectorscopegenerator.cpp b/src/colorcorrection/vectorscopegenerator.cpp index 4ee5eccc..05202250 100644 --- a/src/colorcorrection/vectorscopegenerator.cpp +++ b/src/colorcorrection/vectorscopegenerator.cpp @@ -137,12 +137,13 @@ QImage VectorscopeGenerator::calculateVectorscope(const QSize &vectorscopeSize, double /*y,*/ u, v; QPoint pt; QRgb px; + int bpp = image.depth() / 8; - const int stepsize = 4*accelFactor; + const int stepsize = bpp * accelFactor; // Just an average for the number of image pixels per scope pixel. // NOTE: byteCount() has to be replaced by (img.bytesPerLine()*img.height()) for Qt 4.5 to compile, see: http://doc.trolltech.org/4.6/qimage.html#bytesPerLine - double avgPxPerPx = (double) 4*(image.bytesPerLine()*image.height())/scope.size().width()/scope.size().height()/accelFactor; + double avgPxPerPx = (double) bpp*(image.bytesPerLine()*image.height())/scope.size().width()/scope.size().height()/accelFactor; for (int i = 0; i < (image.bytesPerLine()*image.height()); i+= stepsize) { QRgb *col = (QRgb *) bits; -- 2.39.2