[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Fwd: Patch ffmpegthumbs
From:       Andreas Scherf <ascherfy () googlemail ! com>
Date:       2010-06-13 9:24:16
Message-ID: 201006131124.16737.ascherfy () googlemail ! com
[Download RAW message or body]

Hi, last week i asked 
if i should commit this patch to kdemultimedia. But i got now answer.
Here is my second try. Or should i wait with that until kde4.5 is released?

Cheers
Andreas

["forwarded message" (message/rfc822)]



Hello,
i have a patch for the ffmpegthumbnailer.
I added all changes from 
http://code.google.com/p/ffmpegthumbnailer/
Can i commit it or should i wait until 4.5 is out?

I tested the cahnges and it works.

Andreas

["ffmpegthumbs.diff" (text/x-patch)]

Index: ffmpegthumbnailer/moviedecoder.cpp
===================================================================
--- ffmpegthumbnailer/moviedecoder.cpp	(Revision 1134665)
+++ ffmpegthumbnailer/moviedecoder.cpp	(Arbeitskopie)
@@ -19,16 +19,8 @@
 #include <kdebug.h>
 #include <QFileInfo>
 
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
 extern "C" {
-#ifdef FFMPEG_SWSCALE_API
-#include <ffmpeg/swscale.h>
-#else
 #include <libswscale/swscale.h>
-#endif
 }
 
 using namespace std;
@@ -192,7 +184,7 @@
         return;
     }
 
-    int64_t timestamp = AV_TIME_BASE * static_cast<int64_t>(timeInSeconds);
+    qint64 timestamp = AV_TIME_BASE * static_cast<qint64>(timeInSeconds);
 
     if (timestamp < 0) {
         timestamp = 0;
@@ -250,7 +242,7 @@
 
     avcodec_get_frame_defaults(m_pFrame);
 
-    int frameFinished;
+    int frameFinished = 0;
 
 #if LIBAVCODEC_VERSION_MAJOR < 53
     int bytesDecoded = avcodec_decode_video(m_pVideoCodecContext, m_pFrame, \
&frameFinished, m_pPacket->data, m_pPacket->size); @@ -364,12 +356,12 @@
     }
 }
 
-void MovieDecoder::createAVFrame(AVFrame** avFrame, uint8_t** frameBuffer, int \
width, int height, PixelFormat format) +void MovieDecoder::createAVFrame(AVFrame** \
avFrame, quint8** frameBuffer, int width, int height, PixelFormat format)  {
     *avFrame = avcodec_alloc_frame();
 
     int numBytes = avpicture_get_size(format, width, height);
-    *frameBuffer = reinterpret_cast<uint8_t*>(av_malloc(numBytes));
+    *frameBuffer = reinterpret_cast<quint8*>(av_malloc(numBytes));
     avpicture_fill((AVPicture*) *avFrame, *frameBuffer, format, width, height);
 }
 
Index: ffmpegthumbnailer/ChangeLog
===================================================================
--- ffmpegthumbnailer/ChangeLog	(Revision 1134665)
+++ ffmpegthumbnailer/ChangeLog	(Arbeitskopie)
@@ -1,5 +1,9 @@
 FFmpegThumbnailer
 
+version 2.0.2
+- Fixed compilation error against latest ffmpeg
+- Size of the filmstrip overlay is dependant on thumbnail size
+
 Version 2.0.1
 - Setting the thumbnail size to 0 will use the original video size (thanks to John \
                Fremlin)
 - Fix for video files containing lots of audio packets before a video packet
Index: ffmpegthumbnailer/videothumbnailer.h
===================================================================
--- ffmpegthumbnailer/videothumbnailer.h	(Revision 1134665)
+++ ffmpegthumbnailer/videothumbnailer.h	(Arbeitskopie)
@@ -67,7 +67,7 @@
 
 private:
     int                         m_ThumbnailSize;
-    uint16_t                    m_SeekPercentage;
+    quint16                     m_SeekPercentage;
     bool                        m_OverlayFilmStrip;
     bool                        m_WorkAroundIssues;
     bool                        m_MaintainAspectRatio;
Index: ffmpegthumbnailer/moviedecoder.h
===================================================================
--- ffmpegthumbnailer/moviedecoder.h	(Revision 1134665)
+++ ffmpegthumbnailer/moviedecoder.h	(Arbeitskopie)
@@ -17,30 +17,14 @@
 #ifndef MOVIEDECODER_H
 #define MOVIEDECODER_H
 
-#include <string>
-#include <vector>
-
 #include "videoframe.h"
+#include <QString>
 
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
 extern "C" {
-#ifdef FFMPEG_AVCODEC_API
-#include <ffmpeg/avcodec.h>
-#else
 #include <libavcodec/avcodec.h>
-#endif
-#ifdef FFMPEG_AVFORMAT_API
-#include <ffmpeg/avformat.h>
-#else
 #include <libavformat/avformat.h>
-#endif
 }
 
-#include <QString>
-
 namespace ffmpegthumbnailer
 {
 
@@ -69,7 +53,7 @@
     bool decodeVideoPacket();
     bool getVideoPacket();
     void convertAndScaleFrame(PixelFormat format, int scaledSize, bool \
                maintainAspectRatio, int& scaledWidth, int& scaledHeight);
-    void createAVFrame(AVFrame** avFrame, uint8_t** frameBuffer, int width, int \
height, PixelFormat format); +    void createAVFrame(AVFrame** avFrame, quint8** \
                frameBuffer, int width, int height, PixelFormat format);
     void calculateDimensions(int squareSize, bool maintainAspectRatio, int& \
destWidth, int& destHeight);  
 private:
@@ -79,7 +63,7 @@
     AVCodec*                m_pVideoCodec;
     AVStream*               m_pVideoStream;
     AVFrame*                m_pFrame;
-    uint8_t*                m_pFrameBuffer;
+    quint8*                 m_pFrameBuffer;
     AVPacket*               m_pPacket;
     bool                    m_FormatContextWasGiven;
     bool                    m_AllowSeek;
Index: ffmpegthumbnailer/filmstrip.h
===================================================================
--- ffmpegthumbnailer/filmstrip.h	(Revision 0)
+++ ffmpegthumbnailer/filmstrip.h	(Revision 0)
@@ -0,0 +1,575 @@
+//    Copyright (C) 2010 Dirk Vanden Boer <dirk.vdb@gmail.com>
+//
+//    This program is free software; you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation; either version 2 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program; if not, write to the Free Software
+//    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+#ifndef FILMSTRIP_H
+#define FILMSTRIP_H
+#include <QtGlobal>
+
+static const quint32 SMALLEST_FILM_STRIP_WIDTH = 4;
+
+static const quint8 filmStrip4[4 * 4 * 3] = {
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0kkk\207\207\207777\0\0\0\237\237\237\303\303"
+    "\303RRR\0\0\0\0\0\0\0\0\0\0\0"
+};
+
+static const quint8 filmStrip8[8 * 8 * 3] = {
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\40\40\40""777::::::444\1\1\1\0\0\0\2"
+    "\2\2\205\205\205\320\320\320\333\333\333\333\333\333\313\313\313\32\32\32"
+    "\0\0\0\2\2\2\236\236\236\360\360\360\373\373\373\373\373\373\353\353\353"
+    "\37\37\37\0\0\0\0\0\0FFFsssyyyyyynnn\2\2\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+};
+
+static const quint8 filmStrip16[16 * 16 * 3] = {
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\11\11\11\14\14\14"
+    "\15\15\15\15\15\15\15\15\15\15\15\15\15\15\15\15\15\15\4\4\4\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0""888YYYrrr|||\200\200\200\200\200\200\200\200\200"
+    "\200\200\200zzzmmm\23\23\23\0\0\0\0\0\0\0\0\0\0\0\0\11\11\11YYY\214\214\214"
+    "\257\257\257\276\276\276\302\302\302\302\302\302\302\302\302\301\301\301"
+    "\273\273\273\250\250\250@@@\0\0\0\0\0\0\0\0\0\0\0\0\14\14\14qqq\257\257\257"
+    "\326\326\326\347\347\347\353\353\353\354\354\354\354\354\354\353\353\353"
+    "\344\344\344\317\317\317PPP\0\0\0\0\0\0\0\0\0\0\0\0\15\15\15{{{\274\274\274"
+    "\345\345\345\365\365\365\372\372\372\373\373\373\373\373\373\371\371\371"
+    "\363\363\363\335\335\335VVV\0\0\0\0\0\0\0\0\0\0\0\0\14\14\14xxx\270\270\270"
+    "\340\340\340\361\361\361\365\365\365\366\366\366\366\366\366\365\365\365"
+    "\356\356\356\331\331\331UUU\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1ggg\240\240\240"
+    "\306\306\306\326\326\326\332\332\332\334\334\334\334\334\334\332\332\332"
+    "\324\324\324\277\277\277\"\"\"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1\32\32"
+    "\32\40\40\40###$$$$$$$$$$$$###\12\12\12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+};
+                                                    
+static const quint8 filmStrip32[32 * 32 * 3] = {
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\13\13\13\27\27\27"
+    "\34\34\34\40\40\40\"\"\"$$$%%%%%%&&&&&&&&&&&&&&&&&&%%%%%%###\35\35\35\3\3"
+    "\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\34\34\34""666EEESSS]]]eeeiiilllmmmooonnnnnnnnnnnnnnnmmmkkkgggaaaXXX\15"
+    "\15\15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\13\13"
+    "\13""666JJJ]]]nnn|||\205\205\205\213\213\213\217\217\217\220\220\220\221"
+    "\221\221\221\221\221\221\221\221\221\221\221\222\222\222\221\221\221\220"
+    "\220\220\215\215\215\210\210\210\201\201\201vvvXXX\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\27\27\27EEE]]]uuu\212\212\212\232"
+    "\232\232\245\245\245\254\254\254\260\260\260\262\262\262\263\263\263\263"
+    "\263\263\263\263\263\263\263\263\263\263\263\262\262\262\261\261\261\256"
+    "\256\256\252\252\252\241\241\241\222\222\222\200\200\200\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\34\34\34RRRnnn\212\212\212\242"
+    "\242\242\264\264\264\300\300\300\310\310\310\314\314\314\316\316\316\317"
+    "\317\317\317\317\317\317\317\317\317\317\317\317\317\317\317\317\317\315"
+    "\315\315\312\312\312\305\305\305\273\273\273\254\254\254\227\227\227\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\40\40\40\\\\\\|"
+    "||\232\232\232\264\264\264\307\307\307\324\324\324\334\334\334\341\341\341"
+    "\342\342\342\343\343\343\344\344\344\344\344\344\344\344\344\344\344\344"
+    "\343\343\343\342\342\342\337\337\337\331\331\331\317\317\317\277\277\277"
+    "\250\250\250\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\"\"\"ddd\206\206\206\245\245\245\300\300\300\324\324\324\342\342\342\352"
+    "\352\352\356\356\356\360\360\360\361\361\361\361\361\361\361\361\361\361"
+    "\361\361\361\361\361\361\361\361\360\360\360\354\354\354\346\346\346\334"
+    "\334\334\313\313\313\264\264\264\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0$$$hhh\212\212\212\253\253\253\307\307\307\333\333\333"
+    "\351\351\351\360\360\360\365\365\365\367\367\367\370\370\370\370\370\370"
+    "\370\370\370\370\370\370\370\370\370\367\367\367\366\366\366\363\363\363"
+    "\355\355\355\343\343\343\322\322\322\272\272\272\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$$$iii\214\214\214\255\255\255\311\311"
+    "\311\336\336\336\353\353\353\363\363\363\370\370\370\372\372\372\373\373"
+    "\373\373\373\373\373\373\373\373\373\373\373\373\373\372\372\372\371\371"
+    "\371\366\366\366\360\360\360\345\345\345\324\324\324\274\274\274\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$$$hhh\212\212\212\253"
+    "\253\253\307\307\307\333\333\333\351\351\351\360\360\360\365\365\365\367"
+    "\367\367\370\370\370\370\370\370\370\370\370\370\370\370\370\370\370\367"
+    "\367\367\366\366\366\363\363\363\355\355\355\343\343\343\322\322\322\272"
+    "\272\272\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\"\""
+    "\"ddd\206\206\206\245\245\245\300\300\300\324\324\324\342\342\342\352\352"
+    "\352\356\356\356\360\360\360\361\361\361\361\361\361\361\361\361\361\361"
+    "\361\361\361\361\361\361\361\360\360\360\354\354\354\346\346\346\334\334"
+    "\334\313\313\313\264\264\264\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\23\23\23\\\\\\|||\232\232\232\264\264\264\310\310\310\324"
+    "\324\324\334\334\334\341\341\341\342\342\342\343\343\343\344\344\344\344"
+    "\344\344\344\344\344\344\344\344\343\343\343\342\342\342\337\337\337\331"
+    "\331\331\317\317\317\277\277\277\222\222\222\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0;;;nnn\212\212\212\242\242\242\264"
+    "\264\264\301\301\301\310\310\310\314\314\314\316\316\316\317\317\317\320"
+    "\320\320\320\320\320\320\320\320\320\320\320\317\317\317\315\315\315\313"
+    "\313\313\305\305\305\273\273\273\254\254\254\33\33\33\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\33\33\33:::EEEMMMSS"
+    "SVVVXXXYYYYYYZZZZZZZZZZZZYYYXXXWWWUUUFFF\10\10\10\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+};
+                                                    
+static const quint8 filmStrip64[64 * 64 * 3] = {
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\20\20\"\""
+    "\"///666;;;@@@DDDHHHKKKMMMOOOQQQRRRRRRSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTT"
+    "TTTTTSSSSSSRRRRRRQQQOOOMMMHHH999\36\36\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\3\3\36\36\36...444;;;BB"
+    "BHHHNNNRRRWWWZZZ]]]___aaabbbcccddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedd"
+    "ddddcccbbbaaa___]]]ZZZWWWRRR===\10\10\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\36\36\36///777???GGGNNNVVV\\\\\\bbbgg"
+    "gkkknnnppprrrtttuuuvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvvuuutttrr"
+    "rqqqnnnkkkgggbbb\\\\\\CCC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\20\20\20...666@@@IIIRRR[[[cccjjjqqqvvv{{{~~~\201\201\201\203"
+    "\203\203\205\205\205\206\206\206\207\207\207\207\207\207\210\210\210\210"
+    "\210\210\210\210\210\210\210\210\210\210\210\210\210\210\210\210\210\210"
+    "\210\210\210\210\210\210\210\210\210\210\210\207\207\207\207\207\207\206"
+    "\206\206\205\205\205\203\203\203\201\201\201~~~{{{vvvqqqjjjccc)))\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\"\"\"444>>>IIISSS^^^hhhqq"
+    "qyyy\200\200\200\206\206\206\213\213\213\217\217\217\222\222\222\225\225"
+    "\225\226\226\226\230\230\230\230\230\230\231\231\231\231\231\231\232\232"
+    "\232\232\232\232\232\232\232\232\232\232\232\232\232\232\232\232\232\232"
+    "\232\232\232\232\232\232\232\231\231\231\231\231\231\231\231\231\230\230"
+    "\230\226\226\226\225\225\225\222\222\222\217\217\217\213\213\213\206\206"
+    "\206\200\200\200yyyqqqRRR\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0///;;;GGGRRR^^^iiittt~~~\207\207\207\217\217\217\226\226\226\233\233"
+    "\233\237\237\237\243\243\243\245\245\245\247\247\247\251\251\251\251\251"
+    "\251\252\252\252\252\252\252\253\253\253\253\253\253\253\253\253\253\253"
+    "\253\253\253\253\253\253\253\253\253\253\253\253\253\253\253\253\252\252"
+    "\252\252\252\252\251\251\251\251\251\251\247\247\247\245\245\245\243\243"
+    "\243\240\240\240\233\233\233\226\226\226\217\217\217\207\207\207~~~ooo\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""666BBBNNN[[[hhhttt"
+    "\200\200\200\213\213\213\224\224\224\235\235\235\244\244\244\251\251\251"
+    "\256\256\256\262\262\262\264\264\264\266\266\266\267\267\267\270\270\270"
+    "\271\271\271\271\271\271\272\272\272\272\272\272\272\272\272\272\272\272"
+    "\272\272\272\272\272\272\272\272\272\272\272\272\272\272\272\272\272\272"
+    "\271\271\271\270\270\270\270\270\270\266\266\266\264\264\264\262\262\262"
+    "\256\256\256\252\252\252\244\244\244\235\235\235\224\224\224\213\213\213"
+    "\200\200\200\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0;;;HHH"
+    "UUUcccqqq~~~\213\213\213\226\226\226\241\241\241\251\251\251\261\261\261"
+    "\267\267\267\274\274\274\277\277\277\302\302\302\304\304\304\305\305\305"
+    "\306\306\306\307\307\307\307\307\307\310\310\310\310\310\310\310\310\310"
+    "\310\310\310\310\310\310\310\310\310\310\310\310\310\310\310\310\310\310"
+    "\310\310\310\307\307\307\306\306\306\306\306\306\304\304\304\302\302\302"
+    "\277\277\277\274\274\274\267\267\267\261\261\261\251\251\251\241\241\241"
+    "\226\226\226\213\213\213\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0@@@MMM\\\\\\jjjyyy\207\207\207\225\225\225\241\241\241\254\254\254"
+    "\265\265\265\275\275\275\303\303\303\310\310\310\314\314\314\317\317\317"
+    "\321\321\321\322\322\322\323\323\323\324\324\324\324\324\324\325\325\325"
+    "\325\325\325\325\325\325\325\325\325\325\325\325\325\325\325\325\325\325"
+    "\325\325\325\325\325\325\325\325\325\324\324\324\323\323\323\322\322\322"
+    "\321\321\321\317\317\317\314\314\314\310\310\310\303\303\303\275\275\275"
+    "\265\265\265\254\254\254\241\241\241\225\225\225\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0DDDRRRaaaqqq\200\200\200\217\217\217\235\235"
+    "\235\252\252\252\265\265\265\276\276\276\307\307\307\315\315\315\322\322"
+    "\322\326\326\326\331\331\331\333\333\333\334\334\334\335\335\335\336\336"
+    "\336\336\336\336\337\337\337\337\337\337\337\337\337\337\337\337\337\337"
+    "\337\337\337\337\337\337\337\337\337\337\337\337\337\337\337\337\336\336"
+    "\336\335\335\335\334\334\334\333\333\333\331\331\331\326\326\326\322\322"
+    "\322\315\315\315\307\307\307\277\277\277\265\265\265\252\252\252\235\235"
+    "\235\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0HHHWWWfffvvv\206"
+    "\206\206\226\226\226\244\244\244\261\261\261\275\275\275\306\306\306\317"
+    "\317\317\325\325\325\332\332\332\336\336\336\341\341\341\343\343\343\345"
+    "\345\345\345\345\345\346\346\346\347\347\347\347\347\347\347\347\347\347"
+    "\347\347\347\347\347\347\347\347\347\347\347\347\347\347\347\347\347\347"
+    "\347\347\347\347\347\346\346\346\346\346\346\345\345\345\343\343\343\341"
+    "\341\341\336\336\336\332\332\332\325\325\325\317\317\317\306\306\306\275"
+    "\275\275\261\261\261\244\244\244\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0KKKZZZjjj{{{\213\213\213\233\233\233\252\252\252\267\267\267"
+    "\303\303\303\315\315\315\325\325\325\334\334\334\341\341\341\345\345\345"
+    "\350\350\350\352\352\352\354\354\354\354\354\354\355\355\355\356\356\356"
+    "\356\356\356\356\356\356\356\356\356\356\356\356\356\356\356\356\356\356"
+    "\356\356\356\356\356\356\356\356\356\356\356\356\355\355\355\355\355\355"
+    "\354\354\354\352\352\352\350\350\350\345\345\345\341\341\341\334\334\334"
+    "\325\325\325\315\315\315\303\303\303\267\267\267\252\252\252\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0MMM]]]mmm~~~\217\217\217\237\237"
+    "\237\256\256\256\274\274\274\310\310\310\322\322\322\332\332\332\341\341"
+    "\341\346\346\346\352\352\352\355\355\355\357\357\357\361\361\361\362\362"
+    "\362\362\362\362\363\363\363\363\363\363\363\363\363\363\363\363\363\363"
+    "\363\363\363\363\363\363\363\363\363\363\363\363\363\363\363\363\363\363"
+    "\363\362\362\362\362\362\362\361\361\361\357\357\357\355\355\355\352\352"
+    "\352\346\346\346\341\341\341\332\332\332\322\322\322\310\310\310\274\274"
+    "\274\256\256\256\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0NN"
+    "N^^^ooo\200\200\200\221\221\221\242\242\242\261\261\261\277\277\277\313\313"
+    "\313\325\325\325\335\335\335\344\344\344\351\351\351\355\355\355\360\360"
+    "\360\362\362\362\364\364\364\365\365\365\365\365\365\366\366\366\366\366"
+    "\366\366\366\366\366\366\366\366\366\366\366\366\366\366\366\366\366\366"
+    "\366\366\366\366\366\366\366\366\366\366\365\365\365\365\365\365\364\364"
+    "\364\362\362\362\360\360\360\355\355\355\351\351\351\344\344\344\335\335"
+    "\335\325\325\325\313\313\313\277\277\277\261\261\261\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0PPP```qqq\202\202\202\223\223\223\244\244"
+    "\244\263\263\263\301\301\301\315\315\315\327\327\327\340\340\340\346\346"
+    "\346\354\354\354\357\357\357\362\362\362\364\364\364\366\366\366\367\367"
+    "\367\367\367\367\370\370\370\370\370\370\370\370\370\370\370\370\370\370"
+    "\370\370\370\370\370\370\370\370\370\370\370\370\370\370\370\370\370\370"
+    "\370\367\367\367\367\367\367\366\366\366\364\364\364\362\362\362\360\360"
+    "\360\354\354\354\346\346\346\340\340\340\327\327\327\315\315\315\301\301"
+    "\301\263\263\263\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0PP"
+    "P```qqq\203\203\203\224\224\224\245\245\245\264\264\264\302\302\302\316\316"
+    "\316\331\331\331\341\341\341\350\350\350\355\355\355\361\361\361\364\364"
+    "\364\366\366\366\370\370\370\371\371\371\371\371\371\372\372\372\372\372"
+    "\372\372\372\372\372\372\372\372\372\372\372\372\372\372\372\372\372\372"
+    "\372\372\372\372\372\372\372\372\372\372\371\371\371\371\371\371\370\370"
+    "\370\366\366\366\364\364\364\361\361\361\355\355\355\350\350\350\341\341"
+    "\341\331\331\331\316\316\316\302\302\302\264\264\264\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0PPP```qqq\203\203\203\224\224\224\245\245"
+    "\245\264\264\264\302\302\302\316\316\316\331\331\331\341\341\341\350\350"
+    "\350\355\355\355\361\361\361\364\364\364\366\366\366\370\370\370\371\371"
+    "\371\371\371\371\372\372\372\372\372\372\372\372\372\372\372\372\372\372"
+    "\372\372\372\372\372\372\372\372\372\372\372\372\372\372\372\372\372\372"
+    "\372\371\371\371\371\371\371\370\370\370\366\366\366\364\364\364\361\361"
+    "\361\355\355\355\350\350\350\341\341\341\331\331\331\316\316\316\302\302"
+    "\302\264\264\264\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0PP"
+    "P```qqq\202\202\202\223\223\223\244\244\244\263\263\263\301\301\301\315\315"
+    "\315\327\327\327\340\340\340\346\346\346\354\354\354\357\357\357\362\362"
+    "\362\364\364\364\366\366\366\367\367\367\367\367\367\370\370\370\370\370"
+    "\370\370\370\370\370\370\370\370\370\370\370\370\370\370\370\370\370\370"
+    "\370\370\370\370\370\370\370\370\370\370\367\367\367\367\367\367\366\366"
+    "\366\364\364\364\362\362\362\360\360\360\354\354\354\346\346\346\340\340"
+    "\340\327\327\327\315\315\315\301\301\301\263\263\263\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0NNN^^^ooo\200\200\200\221\221\221\242\242"
+    "\242\261\261\261\277\277\277\313\313\313\325\325\325\335\335\335\344\344"
+    "\344\351\351\351\355\355\355\360\360\360\362\362\362\364\364\364\365\365"
+    "\365\365\365\365\366\366\366\366\366\366\366\366\366\366\366\366\366\366"
+    "\366\366\366\366\366\366\366\366\366\366\366\366\366\366\366\366\366\366"
+    "\366\365\365\365\365\365\365\364\364\364\362\362\362\360\360\360\355\355"
+    "\355\351\351\351\344\344\344\335\335\335\325\325\325\313\313\313\277\277"
+    "\277\261\261\261\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0MM"
+    "M]]]mmm~~~\217\217\217\237\237\237\256\256\256\274\274\274\310\310\310\322"
+    "\322\322\332\332\332\341\341\341\346\346\346\352\352\352\355\355\355\357"
+    "\357\357\361\361\361\362\362\362\362\362\362\363\363\363\363\363\363\363"
+    "\363\363\363\363\363\363\363\363\363\363\363\363\363\363\363\363\363\363"
+    "\363\363\363\363\363\363\363\363\362\362\362\362\362\362\361\361\361\357"
+    "\357\357\355\355\355\352\352\352\346\346\346\341\341\341\332\332\332\322"
+    "\322\322\310\310\310\274\274\274\256\256\256\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0HHHZZZjjj{{{\213\213\213\233\233\233\252\252\252"
+    "\267\267\267\303\303\303\315\315\315\325\325\325\334\334\334\341\341\341"
+    "\345\345\345\350\350\350\352\352\352\354\354\354\354\354\354\355\355\355"
+    "\356\356\356\356\356\356\356\356\356\356\356\356\356\356\356\356\356\356"
+    "\356\356\356\356\356\356\356\356\356\356\356\356\356\356\356\355\355\355"
+    "\355\355\355\354\354\354\352\352\352\350\350\350\345\345\345\341\341\341"
+    "\334\334\334\325\325\325\315\315\315\303\303\303\267\267\267\243\243\243"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""999WWWfffvvv\206"
+    "\206\206\226\226\226\244\244\244\261\261\261\275\275\275\306\306\306\317"
+    "\317\317\325\325\325\332\332\332\336\336\336\341\341\341\343\343\343\345"
+    "\345\345\345\345\345\346\346\346\347\347\347\347\347\347\347\347\347\347"
+    "\347\347\347\347\347\347\347\347\347\347\347\347\347\347\347\347\347\347"
+    "\347\347\347\347\347\346\346\346\346\346\346\345\345\345\343\343\343\341"
+    "\341\341\336\336\336\332\332\332\325\325\325\317\317\317\306\306\306\275"
+    "\275\275\261\261\261\201\201\201\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\36\36\36RRRaaaqqq\200\200\200\217\217\217\235\235\235\252"
+    "\252\252\265\265\265\277\277\277\307\307\307\315\315\315\322\322\322\326"
+    "\326\326\331\331\331\333\333\333\334\334\334\335\335\335\336\336\336\336"
+    "\336\336\337\337\337\337\337\337\337\337\337\337\337\337\337\337\337\337"
+    "\337\337\337\337\337\337\337\337\337\337\337\337\337\337\336\336\336\335"
+    "\335\335\335\335\335\333\333\333\331\331\331\326\326\326\322\322\322\315"
+    "\315\315\307\307\307\277\277\277\265\265\265\252\252\252GGG\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0===\\\\\\jjjyyy\207\207\207"
+    "\225\225\225\241\241\241\254\254\254\265\265\265\275\275\275\303\303\303"
+    "\310\310\310\314\314\314\317\317\317\321\321\321\322\322\322\323\323\323"
+    "\324\324\324\324\324\324\325\325\325\325\325\325\325\325\325\325\325\325"
+    "\325\325\325\325\325\325\325\325\325\325\325\325\325\325\325\325\325\325"
+    "\324\324\324\323\323\323\322\322\322\321\321\321\317\317\317\314\314\314"
+    "\310\310\310\303\303\303\275\275\275\265\265\265\254\254\254~~~\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10CCCcccq"
+    "qq~~~\213\213\213\227\227\227\241\241\241\252\252\252\261\261\261\270\270"
+    "\270\274\274\274\300\300\300\303\303\303\305\305\305\306\306\306\307\307"
+    "\307\310\310\310\310\310\310\311\311\311\311\311\311\311\311\311\311\311"
+    "\311\311\311\311\311\311\311\311\311\311\311\311\311\311\311\311\310\310"
+    "\310\310\310\310\307\307\307\306\306\306\305\305\305\303\303\303\300\300"
+    "\300\275\275\275\270\270\270\262\262\262\252\252\252~~~\22\22\22\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0))"
+    ")RRRooo\200\200\200\213\213\213\225\225\225\235\235\235\244\244\244\252\252"
+    "\252\257\257\257\262\262\262\265\265\265\267\267\267\270\270\270\271\271"
+    "\271\272\272\272\272\272\272\273\273\273\273\273\273\273\273\273\273\273"
+    "\273\273\273\273\273\273\273\273\273\273\273\273\273\273\273\273\272\272"
+    "\272\272\272\272\271\271\271\270\270\270\267\267\267\265\265\265\262\262"
+    "\262\257\257\257\243\243\243\201\201\201GGG\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+};
+
+#endif
+                                           
\ No newline at end of file
Index: ffmpegthumbnailer/filmstripfilter.cpp
===================================================================
--- ffmpegthumbnailer/filmstripfilter.cpp	(Revision 1134665)
+++ ffmpegthumbnailer/filmstripfilter.cpp	(Arbeitskopie)
@@ -14,6 +14,7 @@
 //    along with this program; if not, write to the Free Software
 //    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
+#include "filmstrip.h"
 #include "filmstripfilter.h"
 
 namespace ffmpegthumbnailer
@@ -22,23 +23,51 @@
 static const int FILMHOLE_WIDTH = 12;
 static const int FILMHOLE_HEIGHT = 10;
 
-static const uint8_t filmHole[FILMHOLE_WIDTH * FILMHOLE_HEIGHT * 3] = {
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, \
0x23, 0x23, 0x7a, 0x7a, 0x7a, 0x83, 0x83, 0x83, 0x8c, 0x8c, 0x8c, 0x90, 0x90, 0x90, \
                0x8e, 0x8e, 0x8e, 0x52, 0x52, 0x52, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, \
0x6e, 0x6e, 0x83, 0x83, 0x83, 0x93, 0x93, 0x93, 0xa3, 0xa3, 0xa3, 0xab, 0xab, 0xab, \
                0xa8, 0xa8, 0xa8, 0x9b, 0x9b, 0x9b, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, \
0x72, 0x72, 0x8e, 0x8e, 0x8e, 0xa4, 0xa4, 0xa4, 0xbb, 0xbb, 0xbb, 0xc4, 0xc4, 0xc4, \
                0xc1, 0xc1, 0xc1, 0xaf, 0xaf, 0xaf, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, \
0x3e, 0x3e, 0x90, 0x90, 0x90, 0xa6, 0xa6, 0xa6, 0xbe, 0xbe, 0xbe, 0xc8, 0xc8, 0xc8, \
                0xc4, 0xc4, 0xc4, 0x8e, 0x8e, 0x8e, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x07, 0x07, 0x07, 0x09, 0x09, 0x09, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, \
                0x0a, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
+static const quint8* determineFilmStrip(quint32 videoWidth, quint32& filmStripWidth, \
quint32& filmStripHeight) +{
+    if (videoWidth <= SMALLEST_FILM_STRIP_WIDTH * 2)
+    {
+        return NULL;
+    }
 
+    if (videoWidth <= 96)
+    {
+        filmStripWidth = filmStripHeight = 4;
+        return filmStrip4;
+    }
 
+    if (videoWidth <= 192)
+    {
+        filmStripWidth = filmStripHeight = 8;
+        return filmStrip8;
+    }
+
+    if (videoWidth <= 384)
+    {
+        filmStripWidth = filmStripHeight = 16;
+        return filmStrip16;
+    }
+
+    if (videoWidth <= 768)
+    {
+        filmStripWidth = filmStripHeight = 32;
+        return filmStrip32;
+    }
+
+    filmStripWidth = filmStripHeight = 64;
+    return filmStrip64;
+}
+
+
+
 void FilmStripFilter::process(VideoFrame& videoFrame)
 {
-    if (videoFrame.width < FILMHOLE_WIDTH * 2) {
+    quint32 filmStripWidth;
+    quint32 filmStripHeight;
+    const quint8* filmHole = determineFilmStrip(videoFrame.width, filmStripWidth, \
filmStripHeight); +    
+    if (!filmHole)
+    {
         return;
     }
 
@@ -46,8 +75,10 @@
     int filmHoleIndex = 0;
     int offset = (videoFrame.width * 3) - 3;
 
-    for (int i = 0; i < videoFrame.height; ++i) {
-        for (int j = 0; j < FILMHOLE_WIDTH * 3; j += 3) {
+    for (quint32 i = 0; i < videoFrame.height; ++i)
+    {
+        for (quint32 j = 0; j < filmStripWidth * 3; j+=3)
+        {
             int currentFilmHoleIndex = filmHoleIndex + j;
 
             videoFrame.frameData[frameIndex + j]     = \
filmHole[currentFilmHoleIndex]; @@ -59,7 +90,7 @@
             videoFrame.frameData[frameIndex + offset - j + 2] = \
filmHole[currentFilmHoleIndex + 2];  }
         frameIndex += videoFrame.lineSize;
-        filmHoleIndex = (i % FILMHOLE_HEIGHT) * FILMHOLE_WIDTH * 3;
+        filmHoleIndex = (i % filmStripHeight) * filmStripWidth * 3;
     }
 }
 
Index: ffmpegthumbnailer/videoframe.h
===================================================================
--- ffmpegthumbnailer/videoframe.h	(Revision 1134665)
+++ ffmpegthumbnailer/videoframe.h	(Arbeitskopie)
@@ -19,6 +19,7 @@
 
 #include <inttypes.h>
 #include <vector>
+#include <QtGlobal>
 
 namespace ffmpegthumbnailer
 {
@@ -34,7 +35,7 @@
     int height;
     int lineSize;
 
-    std::vector<uint8_t> frameData;
+    std::vector<quint8> frameData;
 };
 
 }
Index: tests/ffmpegthumbtest.cpp
===================================================================
--- tests/ffmpegthumbtest.cpp	(Revision 1134665)
+++ tests/ffmpegthumbtest.cpp	(Arbeitskopie)
@@ -1,5 +1,4 @@
-
-//    Copyright (C) 2010 Dirk Andreas Scherf <ascherfy@gmail.com>
+//    Copyright (C) 2010 Andreas Scherf <ascherfy@gmail.com>
 //
 //    This program is free software; you can redistribute it and/or modify
 //    it under the terms of the GNU General Public License as published by
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(Revision 1134665)
+++ CMakeLists.txt	(Arbeitskopie)
@@ -4,15 +4,6 @@
     ${FFMPEG_INCLUDE_DIR}
     )
 
-if (FFMPEG_INCLUDE_DIR_OLD_STYLE)
-    SET( CMAKE_CXX_FLAGS "-D FFMPEG_AVFORMAT_API=1" )
-    SET( CMAKE_CXX_FLAGS "-D FFMPEG_AVCODEC_API=1" )
-endif(FFMPEG_INCLUDE_DIR_OLD_STYLE)
-
-if (SWSCALE_INCLUDE_DIR)
-    SET( CMAKE_CXX_FLAGS "-D FFMPEG_SWSCALE_API=1" )
-endif(SWSCALE_INCLUDE_DIR)
-
 # Certain versions of FFMPEG need this to be defined
 SET( CMAKE_CXX_FLAGS "-D __STDC_CONSTANT_MACROS" )
 
@@ -26,12 +17,10 @@
 
 kde4_add_plugin(ffmpegthumbs ${ffmpegthumbs_PART_SRCS})
 
-
 target_link_libraries(ffmpegthumbs  ${KDE4_KIO_LIBS} ${AVUTIL_LIBRARIES} \
${AVFORMAT_LIBRARIES} ${AVCODEC_LIBRARIES} ${SWSCALE_LIBRARIES} )  
 install(TARGETS ffmpegthumbs DESTINATION ${PLUGIN_INSTALL_DIR})
 
-
 ########### install files ###############
 
 install(FILES  ffmpegthumbs.desktop DESTINATION ${SERVICES_INSTALL_DIR})



>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic