00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #if ! defined( __LP64__ )
00024
00025 #pragma once
00026
00027 #include "cinder/Cinder.h"
00028 #include "cinder/Url.h"
00029 #include "cinder/Surface.h"
00030
00031 #include <string>
00032
00033 #if defined( CINDER_MAC )
00034 # include <QuickTime/QuickTime.h>
00035 #else
00036 # include <QTML.h>
00037 # include <Movies.h>
00038 #endif
00039
00040 namespace cinder { namespace qtime {
00041
00043
00044 bool dictionarySetValue( CFMutableDictionaryRef dict, CFStringRef key, SInt32 value );
00045 bool dictionarySetPixelBufferPixelFormatType( bool alpha, CFMutableDictionaryRef dict );
00046 bool dictionarySetPixelBufferSize( const unsigned int width, const unsigned int height, CFMutableDictionaryRef dict );
00047 bool dictionarySetPixelBufferBytesPerRowAlignment( CFMutableDictionaryRef dict );
00048 void dictionarySetPixelBufferOpenGLCompatibility( CFMutableDictionaryRef dict );
00049 bool dictionarySetPixelBufferOptions( unsigned int width, unsigned int height, bool alpha, CFMutableDictionaryRef *pixelBufferOptions );
00050 CFMutableDictionaryRef initQTVisualContextOptions( int width, int height, bool alpha );
00051
00052 ::Movie openMovieFromUrl( const Url &url );
00053 ::Movie openMovieFromPath( const std::string &path );
00054 ::Movie openMovieFromMemory( const void *data, size_t dataSize, const std::string &fileNameHint, const std::string &mimeTypeHint );
00055
00057
00059 static void CVPixelBufferDealloc( void *refcon );
00061 Surface8u convertCVPixelBufferToSurface( CVPixelBufferRef pixelBufferRef );
00062
00063 } }
00064
00065 #endif // ! defined( __LP64__ )