]> git.sesse.net Git - kdenlive/blobdiff - thumbnailer/westleypreview.cpp
const'ref. Fix indent
[kdenlive] / thumbnailer / westleypreview.cpp
index 0ce57323a73c33d150f113c8d74724ca8ff211f2..b3212da8edac1e366cdc37b493349ab362dafb7a 100644 (file)
 
 //#include "config.h"
 extern "C" {
-    KDE_EXPORT ThumbCreator *new_creator() {
-        return new MltPreview;
-    }
+KDE_EXPORT ThumbCreator *new_creator() {
+    return new MltPreview;
+}
 }
 
 MltPreview::MltPreview() :
-        QObject(),
-        ThumbCreator()
+    QObject(),
+    ThumbCreator()
 {
     Mlt::Factory::init();
 }
@@ -67,6 +67,7 @@ bool MltPreview::create(const QString &path, int width, int height, QImage &img)
 
     if (producer->is_blank()) {
         delete producer;
+        delete profile;
         return false;
     }
     int frame = 75;
@@ -117,26 +118,36 @@ QImage MltPreview::getFrame(Mlt::Producer *producer, int framepos, int /*width*/
 }
 
 
-uint MltPreview::imageVariance(QImage image)
+uint MltPreview::imageVariance(const QImage &image)
 {
     if (image.isNull()) return 0;
     uint delta = 0;
     uint avg = 0;
     uint bytes = image.numBytes();
+    if (bytes == 0) return 0;
     uint STEPS = bytes / 2;
     QVarLengthArray<uchar> pivot(STEPS);
     kDebug(DBG_AREA) << "Using " << STEPS << " steps\n";
-    uchar *bits = image.bits();
+    const uchar *bits=image.bits();
     // First pass: get pivots and taking average
-    for (uint i = 0; i < STEPS ; i++) {
-        pivot[i] = bits[i*(bytes/STEPS)];
-        avg += pivot[i];
+    for( uint i=0; i<STEPS ; i++ ){
+        pivot[i] = bits[2 * i];
+#if QT_VERSION >= 0x040700
+        avg+=pivot.at(i);
+#else
+        avg+=pivot[i];
+#endif
     }
-    avg = avg / STEPS;
+    avg=avg/STEPS;
     // Second Step: calculate delta (average?)
-    for (uint i = 0; i < STEPS; i++) {
-        int curdelta = abs(int(avg - pivot[i]));
-        delta += curdelta;
+    for (uint i=0; i<STEPS; i++)
+    {
+#if QT_VERSION >= 0x040700
+        int curdelta=abs(int(avg - pivot.at(i)));
+#else
+        int curdelta=abs(int(avg - pivot[i]));
+#endif
+        delta+=curdelta;
     }
     return delta / STEPS;
 }
@@ -147,3 +158,5 @@ ThumbCreator::Flags MltPreview::flags() const
 }
 
 
+
+#include "westleypreview.moc"