X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=thumbnailer%2Fwestleypreview.cpp;h=b3212da8edac1e366cdc37b493349ab362dafb7a;hb=1404e8f1d631c81399e0e92ffce7dfac0195fabb;hp=a68787526576115daa26996ed70062aeb002f6b1;hpb=5762e7870bec80b9c61d5486065c0ebb33ddb1fb;p=kdenlive diff --git a/thumbnailer/westleypreview.cpp b/thumbnailer/westleypreview.cpp index a6878752..b3212da8 100644 --- a/thumbnailer/westleypreview.cpp +++ b/thumbnailer/westleypreview.cpp @@ -41,14 +41,14 @@ //#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,12 +118,13 @@ 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 pivot(STEPS); kDebug(DBG_AREA) << "Using " << STEPS << " steps\n"; @@ -130,13 +132,21 @@ uint MltPreview::imageVariance(QImage image) // First pass: get pivots and taking average for( uint i=0; i= 0x040700 avg+=pivot.at(i); +#else + avg+=pivot[i]; +#endif } avg=avg/STEPS; // Second Step: calculate delta (average?) for (uint i=0; i= 0x040700 int curdelta=abs(int(avg - pivot.at(i))); +#else + int curdelta=abs(int(avg - pivot[i])); +#endif delta+=curdelta; } return delta / STEPS; @@ -148,3 +158,5 @@ ThumbCreator::Flags MltPreview::flags() const } + +#include "westleypreview.moc"