]> git.sesse.net Git - kdenlive/blobdiff - thumbnailer/westleypreview.cpp
Merge branch 'buildsystem' into next
[kdenlive] / thumbnailer / westleypreview.cpp
index ceb77b352903f5649e3def7f03965627e677c32d..8512b60f9d1b483dd90fd9edece4942924f13edc 100644 (file)
@@ -62,9 +62,7 @@ MltPreview::~MltPreview()
 bool MltPreview::create(const QString &path, int width, int height, QImage &img)
 {
     Mlt::Profile *profile = new Mlt::Profile("dv_pal");
-    char *tmp = (char *) qstrdup(path.toUtf8().data());
-    Mlt::Producer *producer = new Mlt::Producer(*profile, tmp);
-    delete[] tmp;
+    Mlt::Producer *producer = new Mlt::Producer(*profile, path.toUtf8().data());
 
 
     if (producer->is_blank()) {
@@ -128,17 +126,26 @@ uint MltPreview::imageVariance(QImage image)
     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;
 }