hdrflow-svn Mailing List for HDRFlow (Page 14)
Status: Pre-Alpha
Brought to you by:
glslang
You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
(30) |
May
(38) |
Jun
(22) |
Jul
(53) |
Aug
(66) |
Sep
(56) |
Oct
(29) |
Nov
(13) |
Dec
(6) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(16) |
Feb
(22) |
Mar
(12) |
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(6) |
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
(12) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <gl...@us...> - 2007-05-22 19:28:19
|
Revision: 137 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=137&view=rev Author: glslang Date: 2007-05-22 12:28:17 -0700 (Tue, 22 May 2007) Log Message: ----------- + more tidy-ups Modified Paths: -------------- trunk/lib/openlibraries/src/openimagelib/plugins/exr/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/hdr/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/jpg/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/png/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/png/png_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/png/png_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/psd/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_vc8.vcproj Removed Paths: ------------- trunk/lib/openlibraries/src/openimagelib/plugins/exr/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr.cpp trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+.cpp trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/hdr/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr.cpp trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/jpg/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg.cpp trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/png/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/png/png.cpp trunk/lib/openlibraries/src/openimagelib/plugins/png/png_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/psd/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd.cpp trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime.cpp trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_plugin.hpp Modified: trunk/lib/openlibraries/src/openimagelib/plugins/exr/Makefile.am =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/exr/Makefile.am 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/exr/Makefile.am 2007-05-22 19:28:17 UTC (rev 137) @@ -9,11 +9,7 @@ lib_LTLIBRARIES = libopenimagelib_exr.la libopenimagelib_exr_la_SOURCES = \ - config.hpp \ - exr.cpp \ - exr_plugin.hpp \ - exr_plugin.cpp \ - openexr.hpp + exr_plugin.cpp libopenimagelib_exr_la_CXXFLAGS = \ $(OLIB_CXXFLAGS) \ Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/exr/config.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/exr/config.hpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/exr/config.hpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,25 +0,0 @@ - -// EXR - An ILM OpenEXR plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef EXR_CONFIG_INC_ -#define EXR_CONFIG_INC_ - -#ifdef WIN32 - #ifdef EXR_EXPORTS - #define EXR_DECLSPEC __declspec( dllexport ) - #else - #define EXR_DECLSPEC __declspec( dllimport ) - #endif // EXR_EXPORTS -#else - #ifdef EXR_EXPORTS - #define EXR_DECLSPEC - #else - #define EXR_DECLSPEC - #endif // EXR_EXPORTS -#endif // WIN32 - -#endif // EXR_CONFIG_INC_ Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr.cpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr.cpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,33 +0,0 @@ - -// EXR - An ILM OpenEXR plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#include <openimagelib/plugins/exr/exr_plugin.hpp> - -namespace opl = olib::openpluginlib; -namespace EXR = olib::openimagelib::plugins::EXR; - -extern "C" -{ - EXR_DECLSPEC bool openplugin_init( void ) - { - return true; - } - - EXR_DECLSPEC bool openplugin_uninit( void ) - { - return true; - } - - EXR_DECLSPEC bool openplugin_create_plugin( const char*, opl::openplugin** plug ) - { - *plug = new EXR::EXR_plugin; - return true; - } - - EXR_DECLSPEC void openplugin_destroy_plugin( opl::openplugin* plug ) - { delete static_cast<EXR::EXR_plugin*>( plug ); } -} Modified: trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_plugin.cpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_plugin.cpp 2007-05-22 19:28:17 UTC (rev 137) @@ -9,13 +9,13 @@ #include <ImfCRgbaFile.h> #include <ImfArray.h> -#include <openimagelib/plugins/exr/exr_plugin.hpp> +#include <openimagelib/il/openimagelib_plugin.hpp> -namespace fs = boost::filesystem; -namespace il = olib::openimagelib::il; -namespace opl = olib::openpluginlib; +namespace fs = boost::filesystem; +namespace il = olib::openimagelib::il; +namespace pl = olib::openpluginlib; -namespace olib { namespace openimagelib { namespace plugins { namespace EXR { +namespace olib { namespace openimagelib { namespace il { namespace { @@ -57,10 +57,46 @@ } } -il::image_type_ptr EXR_plugin::load( const fs::path& path ) -{ return load_exr( path ); } +struct exr_plugin : public il::openimagelib_plugin +{ + virtual il::image_type_ptr load( const fs::path& path ) + { return load_exr( path ); } + + virtual bool store( const fs::path&, const il::image_type_ptr& ) + { return false; } +}; -bool EXR_plugin::store( const fs::path& /*path*/, const il::image_type_ptr& /*im*/) -{ return false; } +} } } -} } } } +extern "C" +{ + IL_DECLSPEC bool openplugin_init( void ) + { + return true; + } + + IL_DECLSPEC bool openplugin_uninit( void ) + { + return true; + } + + IL_DECLSPEC bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + { + *plug = new il::exr_plugin; + return true; + } + + IL_DECLSPEC void openplugin_destroy_plugin( pl::openplugin* plug ) + { delete static_cast<il::exr_plugin*>( plug ); } +} + +#ifdef WIN32 +extern "C" BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) +{ + if( fdwReason == DLL_PROCESS_ATTACH ) + DisableThreadLibraryCalls( hInstDLL ); + + return TRUE; +} +#endif + Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_plugin.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_plugin.hpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_plugin.hpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,26 +0,0 @@ - -// EXR - An ILM OpenEXR plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef EXR_PLUGIN_INC_ -#define EXR_PLUGIN_INC_ - -#include <boost/filesystem/path.hpp> - -#include <openimagelib/plugins/exr/config.hpp> -#include <openimagelib/il/openimagelib_plugin.hpp> - -namespace olib { namespace openimagelib { namespace plugins { namespace EXR { - -struct EXR_DECLSPEC EXR_plugin : public olib::openimagelib::il::openimagelib_plugin -{ - virtual il::image_type_ptr load( const boost::filesystem::path& path ); - virtual bool store( const boost::filesystem::path& path, const il::image_type_ptr& image ); -}; - -} } } } - -#endif Modified: trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_vc8.vcproj =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_vc8.vcproj 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_vc8.vcproj 2007-05-22 19:28:17 UTC (rev 137) @@ -41,7 +41,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\openexr-1.4.0-vs2005\include\OpenEXR"" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;EXR_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING;OPENEXR_DLL" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING;OPENEXR_DLL" MinimalRebuild="true" ExceptionHandling="2" BasicRuntimeChecks="3" @@ -125,7 +125,7 @@ Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\openexr-1.4.0-vs2005\include\OpenEXR"" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;EXR_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING;OPENEXR_DLL" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING;OPENEXR_DLL" ExceptionHandling="2" RuntimeLibrary="2" BufferSecurityCheck="false" @@ -194,10 +194,6 @@ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > <File - RelativePath=".\exr.cpp" - > - </File> - <File RelativePath=".\exr_plugin.cpp" > </File> @@ -207,14 +203,6 @@ Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > - <File - RelativePath=".\config.hpp" - > - </File> - <File - RelativePath=".\exr_plugin.hpp" - > - </File> </Filter> <Filter Name="Resource Files" Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/config.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/config.hpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/config.hpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,25 +0,0 @@ - -// GDI+ - An GDI+ plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef GDI_CONFIG_INC_ -#define GDI_CONFIG_INC_ - -#ifdef WIN32 - #ifdef GDI_EXPORTS - #define GDI_DECLSPEC __declspec( dllexport ) - #else - #define GDI_DECLSPEC __declspec( dllimport ) - #endif // GDI_EXPORTS -#else - #ifdef GDI_EXPORTS - #define GDI_DECLSPEC __attribute__( ( visibility( "default" ) ) ) - #else - #define GDI_DECLSPEC - #endif // GDI_EXPORTS -#endif // WIN32 - -#endif // GDI_CONFIG_INC_ Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+.cpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+.cpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,79 +0,0 @@ - -// GDI+ - An GDI+ plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifdef WIN32 -#include <windows.h> -#include <gdiplus.h> -#endif // WIN32 - -#include <boost/thread/recursive_mutex.hpp> - -#include <openimagelib/plugins/gdi+/gdi+_plugin.hpp> - -namespace opl = olib::openpluginlib; -namespace GDI = olib::openimagelib::plugins::GDI; - -namespace -{ - void reflib( int init ) - { - static long refs = 0; -#ifdef WIN32 - static ULONG_PTR gdiplusToken; -#endif // WIN32 - - assert( refs >= 0 && L" GDI+_plugin::refinit: refs is negative." ); - - if( init > 0 && ++refs ) - { -# ifdef WIN32 - Gdiplus::GdiplusStartupInput gdiplusStartupInput; - - Gdiplus::GdiplusStartup( &gdiplusToken, &gdiplusStartupInput, NULL ); -# endif - } - else if( init < 0 && --refs == 0 ) - { -# ifdef WIN32 - Gdiplus::GdiplusShutdown( gdiplusToken ); -# endif - } - } - - boost::recursive_mutex mutex; -} - -extern "C" -{ - GDI_DECLSPEC bool openplugin_init( void ) - { - boost::recursive_mutex::scoped_lock lock( mutex ); - - reflib( 1 ); - - return true; - } - - GDI_DECLSPEC bool openplugin_uninit( void ) - { - boost::recursive_mutex::scoped_lock lock( mutex ); - - reflib( -1 ); - - return true; - } - - GDI_DECLSPEC bool openplugin_create_plugin( const char*, opl::openplugin** plug ) - { - *plug = new GDI::GDI_plugin; - - return true; - } - - GDI_DECLSPEC void openplugin_destroy_plugin( opl::openplugin* plug ) - { delete static_cast<GDI::GDI_plugin*>( plug ); } -} Modified: trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_plugin.cpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_plugin.cpp 2007-05-22 19:28:17 UTC (rev 137) @@ -14,35 +14,22 @@ #include <vector> #include <string> -#include <openimagelib/plugins/gdi+/gdi+_plugin.hpp> +#include <boost/thread/recursive_mutex.hpp> +#include <openpluginlib/pl/utf8_utils.hpp> +#include <openimagelib/il/openimagelib_plugin.hpp> + namespace il = olib::openimagelib::il; namespace fs = boost::filesystem; +namespace pl = olib::openpluginlib; -namespace olib { namespace openimagelib { namespace plugins { namespace GDI { +namespace olib { namespace openimagelib { namespace il { -typedef il::image<unsigned char, il::surface_format> image_type; - namespace { - void destroy( image_type* im ) + void destroy( il::image_type* im ) { delete im; } - - std::wstring to_wstring( const std::string& str ) - { - std::vector<wchar_t> ws; - ws.resize( str.size( ) + 1 ); -#if _MSC_VER >= 1400 - size_t size; - mbstowcs_s( &size, &ws[ 0 ], ws.size( ), str.c_str( ), str.size( ) ); -#else - mbstowcs( &ws[ 0 ], str.c_str( ), str.size( ) ); -#endif // _MSC_VER >= 0x1400 - - return std::wstring( ws.begin( ), ws.end( ) ); - } - struct mime_type_equals_png : public std::unary_function<bool, Gdiplus::ImageCodecInfo> { @@ -79,29 +66,23 @@ il::image_type_ptr gdiplus_pixelformat_to_image_type( Gdiplus::PixelFormat pixelformat, int width, int height ) { - using namespace olib::openimagelib::il; - - typedef image<unsigned char, b8g8r8> b8g8r8_image_type; - typedef image<unsigned char, b8g8r8a8> b8g8r8a8_image_type; - typedef image<unsigned char, r8g8b8a8> r8g8b8a8_image_type; - switch( pixelformat ) { case PixelFormat24bppRGB: - return il::image_type_ptr( new image_type( b8g8r8_image_type( width, height, 1 ) ), destroy ); + return il::allocate( L"b8g8r8", width, height ); case PixelFormat32bppARGB: - return il::image_type_ptr( new image_type( b8g8r8a8_image_type( width, height, 1 ) ), destroy ); + return il::allocate( L"b8g8r8a8", width, height ); case PixelFormat32bppPARGB: default: - return il::image_type_ptr( static_cast<image_type*>( 0 ) ); + return il::image_type_ptr( ); } } il::image_type_ptr load_image( const fs::path& path ) { - Gdiplus::Bitmap bitmap( ( to_wstring( path.native_directory_string( ) ) ).c_str( ) ); + Gdiplus::Bitmap bitmap( ( pl::to_wstring( path.native_directory_string( ) ) ).c_str( ) ); Gdiplus::BitmapData bitmapData; Gdiplus::Rect rect( 0, 0, bitmap.GetWidth( ), bitmap.GetHeight( ) ); @@ -164,10 +145,85 @@ */ } -il::image_type_ptr GDI_plugin::load( const fs::path& path ) -{ return load_image( path ); } +class gdi_plugin : public il::openimagelib_plugin +{ +public: + virtual il::image_type_ptr load( const fs::path& path ) + { return load_image( path ); } + + virtual bool store( const fs::path&, const il::image_type_ptr& ) + { return false; } +}; -bool GDI_plugin::store( const fs::path& path, const il::image_type_ptr& ) -{ return false; } +} } } -} } } } +namespace +{ + void reflib( int init ) + { + static long refs = 0; +#ifdef WIN32 + static ULONG_PTR gdiplusToken; +#endif // WIN32 + + assert( refs >= 0 && L" GDI+_plugin::refinit: refs is negative." ); + + if( init > 0 && ++refs ) + { +# ifdef WIN32 + Gdiplus::GdiplusStartupInput gdiplusStartupInput; + + Gdiplus::GdiplusStartup( &gdiplusToken, &gdiplusStartupInput, NULL ); +# endif + } + else if( init < 0 && --refs == 0 ) + { +# ifdef WIN32 + Gdiplus::GdiplusShutdown( gdiplusToken ); +# endif + } + } + + boost::recursive_mutex mutex; +} + +extern "C" +{ + IL_DECLSPEC bool openplugin_init( void ) + { + boost::recursive_mutex::scoped_lock lock( mutex ); + + reflib( 1 ); + + return true; + } + + IL_DECLSPEC bool openplugin_uninit( void ) + { + boost::recursive_mutex::scoped_lock lock( mutex ); + + reflib( -1 ); + + return true; + } + + IL_DECLSPEC bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + { + *plug = new il::gdi_plugin; + + return true; + } + + IL_DECLSPEC void openplugin_destroy_plugin( pl::openplugin* plug ) + { delete static_cast<il::gdi_plugin*>( plug ); } +} + +#ifdef WIN32 +extern "C" BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) +{ + if( fdwReason == DLL_PROCESS_ATTACH ) + DisableThreadLibraryCalls( hInstDLL ); + + return TRUE; +} +#endif Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_plugin.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_plugin.hpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_plugin.hpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,27 +0,0 @@ - -// GDI+ - A GDI+ plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef GDI_PLUGIN_INC_ -#define GDI_PLUGIN_INC_ - -#include <boost/filesystem/path.hpp> - -#include <openimagelib/plugins/gdi+/config.hpp> -#include <openimagelib/il/openimagelib_plugin.hpp> - -namespace olib { namespace openimagelib { namespace plugins { namespace GDI { - -class GDI_DECLSPEC GDI_plugin : public olib::openimagelib::il::openimagelib_plugin -{ -public: - virtual il::image_type_ptr load( const boost::filesystem::path& path ); - virtual bool store( const boost::filesystem::path& path, const il::image_type_ptr& image ); -}; - -} } } } - -#endif Modified: trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_vc8.vcproj =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_vc8.vcproj 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_vc8.vcproj 2007-05-22 19:28:17 UTC (rev 137) @@ -41,7 +41,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GDI_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" BasicRuntimeChecks="3" @@ -125,7 +125,7 @@ Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GDI_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" BufferSecurityCheck="false" @@ -194,10 +194,6 @@ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > <File - RelativePath=".\gdi+.cpp" - > - </File> - <File RelativePath=".\gdi+_plugin.cpp" > </File> @@ -207,14 +203,6 @@ Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > - <File - RelativePath=".\config.hpp" - > - </File> - <File - RelativePath=".\gdi+_plugin.hpp" - > - </File> </Filter> <Filter Name="Resource Files" Modified: trunk/lib/openlibraries/src/openimagelib/plugins/hdr/Makefile.am =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/hdr/Makefile.am 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/hdr/Makefile.am 2007-05-22 19:28:17 UTC (rev 137) @@ -8,15 +8,11 @@ lib_LTLIBRARIES = libopenimagelib_hdr.la libopenimagelib_hdr_la_SOURCES = \ - config.hpp \ - hdr.cpp \ - hdr_plugin.hpp \ hdr_plugin.cpp libopenimagelib_hdr_la_CXXFLAGS = \ $(OLIB_CXXFLAGS) \ - $(BOOST_INCLUDE_PATH) \ - # end + $(BOOST_INCLUDE_PATH) libopenimagelib_hdr_la_LIBADD = \ $(BOOST_FILESYSTEM_LIBS) Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/hdr/config.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/hdr/config.hpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/hdr/config.hpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,25 +0,0 @@ - -// HDR - An HDR plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef HDR_CONFIG_INC_ -#define HDR_CONFIG_INC_ - -#ifdef WIN32 - #ifdef HDR_EXPORTS - #define HDR_DECLSPEC __declspec( dllexport ) - #else - #define HDR_DECLSPEC __declspec( dllimport ) - #endif // HDR_EXPORTS -#else - #ifdef HDR_EXPORTS - #define HDR_DECLSPEC extern - #else - #define HDR_DECLSPEC - #endif // HDR_EXPORTS -#endif // WIN32 - -#endif // HDR_CONFIG_INC_ Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr.cpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr.cpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,34 +0,0 @@ - -// HDR - An HDR plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#include <openimagelib/plugins/hdr/hdr_plugin.hpp> - -namespace opl = olib::openpluginlib; -namespace HDR = olib::openimagelib::plugins::HDR; - -extern "C" -{ - HDR_DECLSPEC bool openplugin_init( void ) - { - return true; - } - - HDR_DECLSPEC bool openplugin_uninit( void ) - { - return true; - } - - HDR_DECLSPEC bool openplugin_create_plugin( const char*, opl::openplugin** plug ) - { - *plug = new HDR::HDR_plugin; - - return true; - } - - HDR_DECLSPEC void openplugin_destroy_plugin( opl::openplugin* plug ) - { delete static_cast<HDR::HDR_plugin*>( plug ); } -} Modified: trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_plugin.cpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_plugin.cpp 2007-05-22 19:28:17 UTC (rev 137) @@ -15,12 +15,13 @@ #include <boost/filesystem/fstream.hpp> -#include <openimagelib/plugins/hdr/hdr_plugin.hpp> +#include <openimagelib/il/openimagelib_plugin.hpp> namespace il = olib::openimagelib::il; namespace fs = boost::filesystem; +namespace pl = olib::openpluginlib; -namespace olib { namespace openimagelib { namespace plugins { namespace HDR { +namespace olib { namespace openimagelib { namespace il { namespace { @@ -278,10 +279,45 @@ } } -il::image_type_ptr HDR_plugin::load( const fs::path& path ) -{ return load_hdr( path ); } +struct hdr_plugin : public il::openimagelib_plugin +{ + virtual il::image_type_ptr load( const boost::filesystem::path& path ) + { return load_hdr( path ); } + + virtual bool store( const boost::filesystem::path& path, const il::image_type_ptr& im ) + { return store_hdr( path, im ); } +}; -bool HDR_plugin::store( const fs::path& path, const il::image_type_ptr& im ) -{ return store_hdr( path, im ); } +} } } -} } } } +extern "C" +{ + IL_DECLSPEC bool openplugin_init( void ) + { + return true; + } + + IL_DECLSPEC bool openplugin_uninit( void ) + { + return true; + } + + IL_DECLSPEC bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + { + *plug = new il::hdr_plugin; + return true; + } + + IL_DECLSPEC void openplugin_destroy_plugin( pl::openplugin* plug ) + { delete static_cast<il::hdr_plugin*>( plug ); } +} + +#ifdef WIN32 +extern "C" BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) +{ + if( fdwReason == DLL_PROCESS_ATTACH ) + DisableThreadLibraryCalls( hInstDLL ); + + return TRUE; +} +#endif Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_plugin.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_plugin.hpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_plugin.hpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,26 +0,0 @@ - -// HDR - A HDR plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef HDR_PLUGIN_INC_ -#define HDR_PLUGIN_INC_ - -#include <boost/filesystem/path.hpp> - -#include <openimagelib/plugins/hdr/config.hpp> -#include <openimagelib/il/openimagelib_plugin.hpp> - -namespace olib { namespace openimagelib { namespace plugins { namespace HDR { - -struct HDR_DECLSPEC HDR_plugin : public olib::openimagelib::il::openimagelib_plugin -{ - virtual il::image_type_ptr load( const boost::filesystem::path& path ); - virtual bool store( const boost::filesystem::path& path, const il::image_type_ptr& image ); -}; - -} } } } - -#endif Modified: trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_vc8.vcproj =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_vc8.vcproj 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_vc8.vcproj 2007-05-22 19:28:17 UTC (rev 137) @@ -41,7 +41,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;HDR_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" BasicRuntimeChecks="3" @@ -128,7 +128,7 @@ Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;HDR_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" BufferSecurityCheck="false" @@ -198,10 +198,6 @@ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > <File - RelativePath=".\hdr.cpp" - > - </File> - <File RelativePath=".\hdr_plugin.cpp" > </File> @@ -211,14 +207,6 @@ Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > - <File - RelativePath=".\config.hpp" - > - </File> - <File - RelativePath=".\hdr_plugin.hpp" - > - </File> </Filter> <Filter Name="Resource Files" Modified: trunk/lib/openlibraries/src/openimagelib/plugins/jpg/Makefile.am =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/jpg/Makefile.am 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/jpg/Makefile.am 2007-05-22 19:28:17 UTC (rev 137) @@ -9,15 +9,11 @@ lib_LTLIBRARIES = libopenimagelib_jpg.la libopenimagelib_jpg_la_SOURCES = \ - config.hpp \ - jpg.cpp \ - jpg_plugin.hpp \ jpg_plugin.cpp libopenimagelib_jpg_la_CXXFLAGS = \ $(OLIB_CXXFLAGS) \ - $(BOOST_INCLUDE_PATH) \ - # end + $(BOOST_INCLUDE_PATH)s libopenimagelib_jpg_la_LIBADD = \ $(BOOST_FILESYSTEM_LIBS) \ Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/jpg/config.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/jpg/config.hpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/jpg/config.hpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,25 +0,0 @@ - -// JPG - An JPG plugin to il. - -// Copyright (C) 2005-2007 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef JPG_CONFIG_INC_ -#define JPG_CONFIG_INC_ - -#ifdef WIN32 - #ifdef JPG_EXPORTS - #define JPG_DECLSPEC __declspec( dllexport ) - #else - #define JPG_DECLSPEC __declspec( dllimport ) - #endif // JPG_EXPORTS -#else - #ifdef JPG_EXPORTS - #define JPG_DECLSPEC extern - #else - #define JPG_DECLSPEC - #endif // JPG_EXPORTS -#endif // WIN32 - -#endif // JPG_CONFIG_INC_ Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg.cpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg.cpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,34 +0,0 @@ - -// JPG - An JPG plugin to il. - -// Copyright (C) 2005-2007 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#include <openimagelib/plugins/jpg/jpg_plugin.hpp> - -namespace opl = olib::openpluginlib; -namespace JPG = olib::openimagelib::plugins::JPG; - -extern "C" -{ - JPG_DECLSPEC bool openplugin_init( void ) - { - return true; - } - - JPG_DECLSPEC bool openplugin_uninit( void ) - { - return true; - } - - JPG_DECLSPEC bool openplugin_create_plugin( const char*, opl::openplugin** plug ) - { - *plug = new JPG::JPG_plugin; - - return true; - } - - JPG_DECLSPEC void openplugin_destroy_plugin( opl::openplugin* plug ) - { delete static_cast<JPG::JPG_plugin*>( plug ); } -} Modified: trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_plugin.cpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_plugin.cpp 2007-05-22 19:28:17 UTC (rev 137) @@ -13,7 +13,7 @@ #include <vector> #include <string> -#include <openimagelib/plugins/jpg/jpg_plugin.hpp> +#include <openimagelib/il/openimagelib_plugin.hpp> extern "C" { #include <jpeglib.h> @@ -24,9 +24,11 @@ #include <color.h> #endif +namespace il = olib::openimagelib::il; +namespace fs = boost::filesystem; namespace pl = olib::openpluginlib; -namespace olib { namespace openimagelib { namespace plugins { namespace JPG { +namespace olib { namespace openimagelib { namespace il { namespace { @@ -190,11 +192,47 @@ return false; } } - -il::image_type_ptr JPG_plugin::load( const boost::filesystem::path& path ) -{ return load_jpg( path ); } -bool JPG_plugin::store( const boost::filesystem::path& path, const il::image_type_ptr& image ) -{ return store_jpg( path, image ); } +class jpg_plugin : public il::openimagelib_plugin +{ +public: + virtual il::image_type_ptr load( const fs::path& path ) + { return load_jpg( path ); } + + virtual bool store( const fs::path& path, const il::image_type_ptr& im ) + { return store_jpg( path, im ); } +}; -} } } } +} } } + +extern "C" +{ + IL_DECLSPEC bool openplugin_init( void ) + { + return true; + } + + IL_DECLSPEC bool openplugin_uninit( void ) + { + return true; + } + + IL_DECLSPEC bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + { + *plug = new il::jpg_plugin; + return true; + } + + IL_DECLSPEC void openplugin_destroy_plugin( pl::openplugin* plug ) + { delete static_cast<il::jpg_plugin*>( plug ); } +} + +#ifdef WIN32 +extern "C" BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) +{ + if( fdwReason == DLL_PROCESS_ATTACH ) + DisableThreadLibraryCalls( hInstDLL ); + + return TRUE; +} +#endif Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_plugin.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_plugin.hpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_plugin.hpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,27 +0,0 @@ - -// JPG - A JPG plugin to il. - -// Copyright (C) 2005-2007 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef JPG_PLUGIN_INC_ -#define JPG_PLUGIN_INC_ - -#include <boost/filesystem/path.hpp> - -#include <openimagelib/plugins/jpg/config.hpp> -#include <openimagelib/il/openimagelib_plugin.hpp> - -namespace olib { namespace openimagelib { namespace plugins { namespace JPG { - -class JPG_DECLSPEC JPG_plugin : public il::openimagelib_plugin -{ -public: - virtual il::image_type_ptr load( const boost::filesystem::path& path ); - virtual bool store( const boost::filesystem::path& path, const il::image_type_ptr& image ); -}; - -} } } } - -#endif Modified: trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_vc8.vcproj =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_vc8.vcproj 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_vc8.vcproj 2007-05-22 19:28:17 UTC (rev 137) @@ -41,7 +41,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\HDR\include"" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;JPG_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING;HAVE_JPEGHDR" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING;HAVE_JPEGHDR" MinimalRebuild="true" ExceptionHandling="2" BasicRuntimeChecks="3" @@ -131,7 +131,7 @@ Name="VCCLCompilerTool" Optimization="3" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\HDR\include"" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;JPG_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING;HAVE_JPEGHDR" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING;HAVE_JPEGHDR" ExceptionHandling="2" RuntimeLibrary="0" BufferSecurityCheck="false" @@ -205,10 +205,6 @@ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > <File - RelativePath=".\jpg.cpp" - > - </File> - <File RelativePath=".\jpg_plugin.cpp" > </File> @@ -218,14 +214,6 @@ Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > - <File - RelativePath=".\config.hpp" - > - </File> - <File - RelativePath=".\jpg_plugin.hpp" - > - </File> </Filter> <Filter Name="Resource Files" Modified: trunk/lib/openlibraries/src/openimagelib/plugins/png/Makefile.am =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/png/Makefile.am 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/png/Makefile.am 2007-05-22 19:28:17 UTC (rev 137) @@ -9,9 +9,6 @@ lib_LTLIBRARIES = libopenimagelib_png.la libopenimagelib_png_la_SOURCES = \ - config.hpp \ - png.cpp \ - png_plugin.hpp \ png_plugin.cpp libopenimagelib_png_la_CXXFLAGS = \ Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/png/config.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/png/config.hpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/png/config.hpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,25 +0,0 @@ - -// PNG - A PNG plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef PNG_CONFIG_INC_ -#define PNG_CONFIG_INC_ - -#ifdef WIN32 - #ifdef PNG_EXPORTS - #define PNG_DECLSPEC __declspec( dllexport ) - #else - #define PNG_DECLSPEC __declspec( dllimport ) - #endif // PNG_EXPORTS -#else - #ifdef PNG_EXPORTS - #define PNG_DECLSPEC extern - #else - #define PNG_DECLSPEC - #endif // PNG_EXPORTS -#endif // WIN32 - -#endif // PNG_CONFIG_INC_ Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/png/png.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/png/png.cpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/png/png.cpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,33 +0,0 @@ - -// PNG - An PNG plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#include <openimagelib/plugins/png/png_plugin.hpp> - -namespace opl = olib::openpluginlib; -namespace PNG = olib::openimagelib::plugins::PNG; - -extern "C" -{ - PNG_DECLSPEC bool openplugin_init( void ) - { - return true; - } - - PNG_DECLSPEC bool openplugin_uninit( void ) - { - return true; - } - - PNG_DECLSPEC bool openplugin_create_plugin( const char*, opl::openplugin** plug ) - { - *plug = new PNG::PNG_plugin; - return true; - } - - PNG_DECLSPEC void openplugin_destroy_plugin( opl::openplugin* plug ) - { delete static_cast<PNG::PNG_plugin*>( plug ); } -} Modified: trunk/lib/openlibraries/src/openimagelib/plugins/png/png_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/png/png_plugin.cpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/png/png_plugin.cpp 2007-05-22 19:28:17 UTC (rev 137) @@ -12,33 +12,29 @@ #include <png.h> -#include <openimagelib/plugins/png/png_plugin.hpp> +#include <openimagelib/il/openimagelib_plugin.hpp> +namespace pl = olib::openpluginlib; namespace il = olib::openimagelib::il; namespace fs = boost::filesystem; -namespace olib { namespace openimagelib { namespace plugins { namespace PNG { +namespace olib { namespace openimagelib { namespace il { -typedef il::image<unsigned char, il::surface_format> image_type; - namespace { - void destroy( image_type* im ) + void destroy( il::image_type* im ) { delete im; } - boost::shared_ptr<image_type> png_pixelformat_to_image_type( int channels, int width, int height ) + il::image_type_ptr png_pixelformat_to_image_type( int channels, int width, int height ) { - typedef il::image<unsigned char, il::r8g8b8> r8g8b8_image_type; - typedef il::image<unsigned char, il::r8g8b8a8> r8g8b8a8_image_type; - switch( channels ) { case 4: - return il::image_type_ptr( new image_type( r8g8b8a8_image_type( width, height, 1 ) ), destroy ); + return il::allocate( L"r8g8b8a8", width, height ); case 3: - return il::image_type_ptr( new image_type( r8g8b8_image_type( width, height, 1 ) ), destroy ); - + return il::allocate( L"r8g8b8", width, height ); + default: return il::image_type_ptr( ); } @@ -102,10 +98,45 @@ } } -il::image_type_ptr PNG_plugin::load( const fs::path& path ) -{ return il::image_type_ptr( load_png( path ) ); } +struct png_plugin : public il::openimagelib_plugin +{ + virtual il::image_type_ptr load( const fs::path& path ) + { return load_png( path ); } + + virtual bool store( const fs::path&, const il::image_type_ptr& ) + { return false; } +}; -bool PNG_plugin::store( const fs::path& /*path*/, const il::image_type_ptr& /*image*/ ) -{ return false; } +} } } -} } } } +extern "C" +{ + IL_DECLSPEC bool openplugin_init( void ) + { + return true; + } + + IL_DECLSPEC bool openplugin_uninit( void ) + { + return true; + } + + IL_DECLSPEC bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + { + *plug = new il::png_plugin; + return true; + } + + IL_DECLSPEC void openplugin_destroy_plugin( pl::openplugin* plug ) + { delete static_cast<il::png_plugin*>( plug ); } +} + +#ifdef WIN32 +extern "C" BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) +{ + if( fdwReason == DLL_PROCESS_ATTACH ) + DisableThreadLibraryCalls( hInstDLL ); + + return TRUE; +} +#endif Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/png/png_plugin.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/png/png_plugin.hpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/png/png_plugin.hpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,27 +0,0 @@ - -// PNG - A PNG plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef PNG_PLUGIN_INC_ -#define PNG_PLUGIN_INC_ - -#include <boost/filesystem/path.hpp> - -#include <openimagelib/il/openimagelib_plugin.hpp> - -#include <openimagelib/plugins/png/config.hpp> - -namespace olib { namespace openimagelib { namespace plugins { namespace PNG { - -struct PNG_DECLSPEC PNG_plugin : public olib::openimagelib::il::openimagelib_plugin -{ - virtual il::image_type_ptr load( const boost::filesystem::path& path ); - virtual bool store( const boost::filesystem::path& path, const il::image_type_ptr& image ); -}; - -} } } } - -#endif Modified: trunk/lib/openlibraries/src/openimagelib/plugins/png/png_vc8.vcproj =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/png/png_vc8.vcproj 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/png/png_vc8.vcproj 2007-05-22 19:28:17 UTC (rev 137) @@ -41,7 +41,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";C:\libpng\include;C:\zlib\include" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PNG_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" BasicRuntimeChecks="3" @@ -126,7 +126,7 @@ Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";C:\libpng\include;C:\zlib\include" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PNG_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" BufferSecurityCheck="false" @@ -197,10 +197,6 @@ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > <File - RelativePath=".\png.cpp" - > - </File> - <File RelativePath=".\png_plugin.cpp" > </File> @@ -210,14 +206,6 @@ Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > - <File - RelativePath=".\config.hpp" - > - </File> - <File - RelativePath=".\png_plugin.hpp" - > - </File> </Filter> <Filter Name="Resource Files" Modified: trunk/lib/openlibraries/src/openimagelib/plugins/psd/Makefile.am =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/psd/Makefile.am 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/psd/Makefile.am 2007-05-22 19:28:17 UTC (rev 137) @@ -8,15 +8,11 @@ lib_LTLIBRARIES = libopenimagelib_psd.la libopenimagelib_psd_la_SOURCES = \ - config.hpp \ - psd.cpp \ - psd_plugin.hpp \ psd_plugin.cpp libopenimagelib_psd_la_CXXFLAGS = \ $(OLIB_CXXFLAGS) \ - $(BOOST_INCLUDE_PATH) \ - # end + $(BOOST_INCLUDE_PATH) libopenimagelib_psd_la_LIBADD = \ $(BOOST_FILESYSTEM_LIBS) Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/psd/config.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/psd/config.hpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/psd/config.hpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,25 +0,0 @@ - -// PSD - An PSD plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef PSD_CONFIG_INC_ -#define PSD_CONFIG_INC_ - -#ifdef WIN32 - #ifdef PSD_EXPORTS - #define PSD_DECLSPEC __declspec( dllexport ) - #else - #define PSD_DECLSPEC __declspec( dllimport ) - #endif // PSD_EXPORTS -#else - #ifdef PSD_EXPORTS - #define PSD_DECLSPEC extern - #else - #define PSD_DECLSPEC - #endif // PSD_EXPORTS -#endif // WIN32 - -#endif // PSD_CONFIG_INC_ Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd.cpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd.cpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,34 +0,0 @@ - -// PSD - An PSD plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#include <openimagelib/plugins/psd/psd_plugin.hpp> - -namespace opl = olib::openpluginlib; -namespace PSD = olib::openimagelib::plugins::PSD; - -extern "C" -{ - PSD_DECLSPEC bool openplugin_init( void ) - { - return true; - } - - PSD_DECLSPEC bool openplugin_uninit( void ) - { - return true; - } - - PSD_DECLSPEC bool openplugin_create_plugin( const char*, opl::openplugin** plug ) - { - *plug = new PSD::PSD_plugin; - - return true; - } - - PSD_DECLSPEC void openplugin_destroy_plugin( opl::openplugin* plug ) - { delete static_cast<PSD::PSD_plugin*>( plug ); } -} Modified: trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_plugin.cpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_plugin.cpp 2007-05-22 19:28:17 UTC (rev 137) @@ -11,12 +11,13 @@ #include <boost/filesystem/fstream.hpp> -#include <openimagelib/plugins/psd/psd_plugin.hpp> +#include <openimagelib/il/openimagelib_plugin.hpp> +namespace pl = olib::openpluginlib; namespace il = olib::openimagelib::il; namespace fs = boost::filesystem; -namespace olib { namespace openimagelib { namespace plugins { namespace PSD { +namespace olib { namespace openimagelib { namespace il { namespace { @@ -36,21 +37,6 @@ assert( !file.fail( ) && L"PSD_image_loader::Read_s" ); } - - std::wstring to_wstring( const std::string& str ) - { - std::vector<wchar_t> ws; - ws.resize( str.size( ) + 1 ); - -#if _MSC_VER >= 1400 - size_t size; - mbstowcs_s( &size, &ws[ 0 ], ws.size( ), str.c_str( ), str.size( ) ); -#else - mbstowcs( &ws[ 0 ], str.c_str( ), str.size( ) ); -#endif // _MSC_VER >= 0x1400 - - return std::wstring( ws.begin( ), ws.end( ) ); - } } template<typename T> @@ -99,10 +85,46 @@ return il::image_type_ptr( ); } -il::image_type_ptr PSD_plugin::load( const fs::path& path ) -{ return il::image_type_ptr( load_psd( path ) ); } +class psd_plugin : public il::openimagelib_plugin +{ +public: + virtual il::image_type_ptr load( const fs::path& path ) + { return load_psd( path ); } + + virtual bool store( const fs::path&, const il::image_type_ptr& ) + { return false; } +}; -bool PSD_plugin::store( const fs::path& path, const il::image_type_ptr& ) -{ return false; } +} } } -} } } } +extern "C" +{ + IL_DECLSPEC bool openplugin_init( void ) + { + return true; + } + + IL_DECLSPEC bool openplugin_uninit( void ) + { + return true; + } + + IL_DECLSPEC bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + { + *plug = new il::psd_plugin; + return true; + } + + IL_DECLSPEC void openplugin_destroy_plugin( pl::openplugin* plug ) + { delete static_cast<il::psd_plugin*>( plug ); } +} + +#ifdef WIN32 +extern "C" BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) +{ + if( fdwReason == DLL_PROCESS_ATTACH ) + DisableThreadLibraryCalls( hInstDLL ); + + return TRUE; +} +#endif Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_plugin.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_plugin.hpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_plugin.hpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,27 +0,0 @@ - -// PSD - A PSD plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef PSD_PLUGIN_INC_ -#define PSD_PLUGIN_INC_ - -#include <boost/filesystem/path.hpp> - -#include <openimagelib/plugins/psd/config.hpp> -#include <openimagelib/il/openimagelib_plugin.hpp> - -namespace olib { namespace openimagelib { namespace plugins { namespace PSD { - -class PSD_DECLSPEC PSD_plugin : public olib::openimagelib::il::openimagelib_plugin -{ -public: - virtual il::image_type_ptr load( const boost::filesystem::path& path ); - virtual bool store( const boost::filesystem::path& path, const il::image_type_ptr& image ); -}; - -} } } } - -#endif Modified: trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_vc8.vcproj =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_vc8.vcproj 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_vc8.vcproj 2007-05-22 19:28:17 UTC (rev 137) @@ -41,7 +41,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PSD_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -125,7 +125,7 @@ Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PSD_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" RuntimeLibrary="2" BufferSecurityCheck="false" EnableEnhancedInstructionSet="0" @@ -194,10 +194,6 @@ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > <File - RelativePath=".\psd.cpp" - > - </File> - <File RelativePath=".\psd_plugin.cpp" > </File> @@ -207,14 +203,6 @@ Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > - <File - RelativePath=".\config.hpp" - > - </File> - <File - RelativePath=".\psd_plugin.hpp" - > - </File> </Filter> <Filter Name="Resource Files" Modified: trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/Makefile.am =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/Makefile.am 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/Makefile.am 2007-05-22 19:28:17 UTC (rev 137) @@ -10,9 +10,6 @@ lib_LTLIBRARIES = libopenimagelib_quicktime.la libopenimagelib_quicktime_la_SOURCES = \ - config.hpp \ - quicktime.cpp \ - quicktime_plugin.hpp \ quicktime_plugin.cpp libopenimagelib_quicktime_la_CXXFLAGS = \ Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/config.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/config.hpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/config.hpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,25 +0,0 @@ - -// QuickTime - An QuickTime plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef QUICKTIME_CONFIG_INC_ -#define QUICKTIME_CONFIG_INC_ - -#ifdef WIN32 - #ifdef QUICKTIME_EXPORTS - #define QUICKTIME_DECLSPEC __declspec( dllexport ) - #else - #define QUICKTIME_DECLSPEC __declspec( dllimport ) - #endif -#else - #ifdef QUICKTIME_EXPORTS - #define QUICKTIME_DECLSPEC extern - #else - #define QUICKTIME_DECLSPEC - #endif -#endif - -#endif Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime.cpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime.cpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,77 +0,0 @@ - -// QuickTime - An QuickTime plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifdef WIN32 -#include <QTML.h> - -#include <boost/thread/recursive_mutex.hpp> -#endif - -#include <openimagelib/plugins/quicktime/quicktime_plugin.hpp> - -namespace opl = olib::openpluginlib; -namespace QT = olib::openimagelib::plugins::QT; - -#ifdef WIN32 -namespace -{ - bool reflib( int init ) - { - static long refs = 0; - - assert( refs >= 0 && L" QuickTime_plugin::refinit: refs is negative." ); - - if( init > 0 && ++refs == 1 ) - { - OSStatus err = InitializeQTML( 0L ); - if( err != noErr ) - return false; - } - else if( init < 0 && --refs == 0 ) - { - } - - return true; - } - - boost::recursive_mutex mutex; -} -#endif - -extern "C" -{ - QUICKTIME_DECLSPEC bool openplugin_init( void ) - { -#ifdef WIN32 - boost::recursive_mutex::scoped_lock lock( mutex ); - - return reflib( 1 ); -#else - return true; -#endif - } - - QUICKTIME_DECLSPEC bool openplugin_uninit( void ) - { -#ifdef WIN32 - boost::recursive_mutex::scoped_lock lock( mutex ); - - return reflib( -1 ); -#else - return true; -#endif - } - - QUICKTIME_DECLSPEC bool openplugin_create_plugin( const char*, opl::openplugin** plug ) - { - *plug = new QT::QT_plugin; - return true; - } - - QUICKTIME_DECLSPEC void openplugin_destroy_plugin( opl::openplugin* plug ) - { delete static_cast<QT::QT_plugin*>( plug ); } -} Modified: trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_plugin.cpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_plugin.cpp 2007-05-22 19:28:17 UTC (rev 137) @@ -15,28 +15,21 @@ #endif #include <boost/filesystem/fstream.hpp> +#include <boost/thread/recursive_mutex.hpp> #include <openpluginlib/pl/utf8_utils.hpp> +#include <openimagelib/il/openimagelib_plugin.hpp> -#include <openimagelib/plugins/quicktime/quicktime_plugin.hpp> - namespace il = olib::openimagelib::il; namespace fs = boost::filesystem; namespace pl = olib::openpluginlib; -namespace olib { namespace openimagelib { namespace plugins { namespace QT { +namespace olib { namespace openimagelib { namespace il { namespace { void destroy( il::image_type* im ) { delete im; } - - il::image_type_ptr quicktime_image_type_to_image_type( int width, int height ) - { - typedef il::image<unsigned char, il::a8r8g8b8> a8r8g8b8_image_type; - - return il::image_type_ptr( new il::image_type( a8r8g8b8_image_type( width, height, 1 ) ), destroy ); - } il::image_type_ptr load_quicktime( const fs::path& path ) { @@ -78,7 +71,7 @@ int width = rect.right - rect.left; int height = rect.bottom - rect.top; - il::image_type_ptr im = quicktime_image_type_to_image_type( width, height ); + il::image_type_ptr im = il::allocate( L"a8r8g8b8", width, height ); if( !im ) return il::image_type_ptr( ); @@ -122,10 +115,83 @@ } } -il::image_type_ptr QT_plugin::load( const fs::path& path ) -{ return load_quicktime( path ); } +struct qt_plugin : public il::openimagelib_plugin +{ + virtual il::image_type_ptr load( const fs::path& path ) + { return load_quicktime( path ); } + + virtual bool store( const fs::path&, const il::image_type_ptr& ) + { return false; } +}; -bool QT_plugin::store( const fs::path& /*path*/, const il::image_type_ptr& ) -{ return false; } +} } } -} } } } +#ifdef WIN32 +namespace +{ + bool reflib( int init ) + { + static long refs = 0; + + assert( refs >= 0 && L" QuickTime_plugin::refinit: refs is negative." ); + + if( init > 0 && ++refs == 1 ) + { + OSStatus err = InitializeQTML( 0L ); + if( err != noErr ) + return false; + } + else if( init < 0 && --refs == 0 ) + { + } + + return true; + } + + boost::recursive_mutex mutex; +} +#endif + +extern "C" +{ + IL_DECLSPEC bool openplugin_init( void ) + { +#ifdef WIN32 + boost::recursive_mutex::scoped_lock lock( mutex ); + + return reflib( 1 ); +#else + return true; +#endif + } + + IL_DECLSPEC bool openplugin_uninit( void ) + { +#ifdef WIN32 + boost::recursive_mutex::scoped_lock lock( mutex ); + + return reflib( -1 ); +#else + return true; +#endif + } + + IL_DECLSPEC bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + { + *plug = new il::qt_plugin; + return true; + } + + IL_DECLSPEC void openplugin_destroy_plugin( pl::openplugin* plug ) + { delete static_cast<il::qt_plugin*>( plug ); } +} + +#ifdef WIN32 +extern "C" BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) +{ + if( fdwReason == DLL_PROCESS_ATTACH ) + DisableThreadLibraryCalls( hInstDLL ); + + return TRUE; +} +#endif Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_plugin.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_plugin.hpp 2007-05-21 22:04:39 UTC (rev 136) +++ trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_plugin.hpp 2007-05-22 19:28:17 UTC (rev 137) @@ -1,26 +0,0 @@ - -// QuickTime - An QuickTime plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef QUICKTIME_PLUGIN_INC_ -#de... [truncated message content] |
From: <gl...@us...> - 2007-05-21 22:04:43
|
Revision: 136 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=136&view=rev Author: glslang Date: 2007-05-21 15:04:39 -0700 (Mon, 21 May 2007) Log Message: ----------- + __declspec magic Modified Paths: -------------- trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_vc8.vcproj Modified: trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.cpp 2007-05-21 21:24:22 UTC (rev 135) +++ trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.cpp 2007-05-21 22:04:39 UTC (rev 136) @@ -97,23 +97,23 @@ extern "C" { - bool openplugin_init( void ) + IL_DECLSPEC bool openplugin_init( void ) { return true; } - bool openplugin_uninit( void ) + IL_DECLSPEC bool openplugin_uninit( void ) { return true; } - bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + IL_DECLSPEC bool openplugin_create_plugin( const char*, pl::openplugin** plug ) { *plug = new il::lightmap3D_plugin; return true; } - void openplugin_destroy_plugin( pl::openplugin* plug ) + IL_DECLSPEC void openplugin_destroy_plugin( pl::openplugin* plug ) { delete static_cast<il::lightmap3D_plugin*>( plug ); } } Modified: trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_vc8.vcproj =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_vc8.vcproj 2007-05-21 21:24:22 UTC (rev 135) +++ trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_vc8.vcproj 2007-05-21 22:04:39 UTC (rev 136) @@ -41,7 +41,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIGHTMAP3D_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" BasicRuntimeChecks="3" @@ -125,7 +125,7 @@ Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIGHTMAP3D_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" BufferSecurityCheck="false" Modified: trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_plugin.cpp 2007-05-21 21:24:22 UTC (rev 135) +++ trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_plugin.cpp 2007-05-21 22:04:39 UTC (rev 136) @@ -30,23 +30,23 @@ extern "C" { - bool openplugin_init( void ) + IL_DECLSPEC bool openplugin_init( void ) { return true; } - bool openplugin_uninit( void ) + IL_DECLSPEC bool openplugin_uninit( void ) { return true; } - bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + IL_DECLSPEC bool openplugin_create_plugin( const char*, pl::openplugin** plug ) { *plug = new il::bmp_plugin; return true; } - void openplugin_destroy_plugin( pl::openplugin* plug ) + IL_DECLSPEC void openplugin_destroy_plugin( pl::openplugin* plug ) { delete static_cast<il::bmp_plugin*>( plug ); } } Modified: trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_vc8.vcproj =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_vc8.vcproj 2007-05-21 21:24:22 UTC (rev 135) +++ trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_vc8.vcproj 2007-05-21 22:04:39 UTC (rev 136) @@ -41,7 +41,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;BMP_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" BasicRuntimeChecks="3" @@ -130,7 +130,7 @@ Name="VCCLCompilerTool" Optimization="3" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;BMP_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" BufferSecurityCheck="false" Modified: trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_plugin.cpp 2007-05-21 21:24:22 UTC (rev 135) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_plugin.cpp 2007-05-21 22:04:39 UTC (rev 136) @@ -228,23 +228,23 @@ extern "C" { - bool openplugin_init( void ) + IL_DECLSPEC bool openplugin_init( void ) { return true; } - bool openplugin_uninit( void ) + IL_DECLSPEC bool openplugin_uninit( void ) { return true; } - bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + IL_DECLSPEC bool openplugin_create_plugin( const char*, pl::openplugin** plug ) { *plug = new il::dds_plugin; return true; } - void openplugin_destroy_plugin( pl::openplugin* plug ) + IL_DECLSPEC void openplugin_destroy_plugin( pl::openplugin* plug ) { delete static_cast<il::dds_plugin*>( plug ); } } Modified: trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_vc8.vcproj =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_vc8.vcproj 2007-05-21 21:24:22 UTC (rev 135) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_vc8.vcproj 2007-05-21 22:04:39 UTC (rev 136) @@ -41,7 +41,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\Microsoft DirectX 9.0 SDK (Summer 2004)\Include"" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DDS_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" BasicRuntimeChecks="3" @@ -126,7 +126,7 @@ Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories=""$(SolutionDir)\src";C:\Boost\include\boost-1_34;"C:\Program Files\Microsoft DirectX 9.0 SDK (Summer 2004)\Include"" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DDS_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" BufferSecurityCheck="false" Modified: trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_plugin.cpp 2007-05-21 21:24:22 UTC (rev 135) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_plugin.cpp 2007-05-21 22:04:39 UTC (rev 136) @@ -868,23 +868,23 @@ extern "C" { - bool openplugin_init( void ) + IL_DECLSPEC bool openplugin_init( void ) { return true; } - bool openplugin_uninit( void ) + IL_DECLSPEC bool openplugin_uninit( void ) { return true; } - bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + IL_DECLSPEC bool openplugin_create_plugin( const char*, pl::openplugin** plug ) { *plug = new il::dpx_plugin; return true; } - void openplugin_destroy_plugin( pl::openplugin* plug ) + IL_DECLSPEC void openplugin_destroy_plugin( pl::openplugin* plug ) { delete static_cast<il::dpx_plugin*>( plug ); } } Modified: trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_vc8.vcproj =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_vc8.vcproj 2007-05-21 21:24:22 UTC (rev 135) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_vc8.vcproj 2007-05-21 22:04:39 UTC (rev 136) @@ -41,7 +41,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DPX_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" BasicRuntimeChecks="3" @@ -123,7 +123,7 @@ Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DPX_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" BufferSecurityCheck="false" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-21 21:24:25
|
Revision: 135 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=135&view=rev Author: glslang Date: 2007-05-21 14:24:22 -0700 (Mon, 21 May 2007) Log Message: ----------- + remove unused plugins Modified Paths: -------------- trunk/lib/openlibraries/installer/openlibraries_runtime.nsi trunk/lib/openlibraries/installer/openlibraries_sdk.nsi Modified: trunk/lib/openlibraries/installer/openlibraries_runtime.nsi =================================================================== --- trunk/lib/openlibraries/installer/openlibraries_runtime.nsi 2007-05-21 20:02:43 UTC (rev 134) +++ trunk/lib/openlibraries/installer/openlibraries_runtime.nsi 2007-05-21 21:24:22 UTC (rev 135) @@ -125,16 +125,8 @@ File "..\src\openimagelib\plugins\sgi\Multi-threaded Release DLL\openimagelib_sgi-vc80-r-0_4_0.dll" File "..\src\openimagelib\plugins\tga\tga_plugin.opl" File "..\src\openimagelib\plugins\tga\Multi-threaded Release DLL\openimagelib_tga-vc80-r-0_4_0.dll" - File "..\src\openmedialib\plugins\avformat\avformat_plugin.opl" - File "..\src\openmedialib\plugins\avformat\Multi-threaded Release DLL\openmedialib_avformat-vc80-r-0_4_0.dll" - File "..\src\openmedialib\plugins\glew\glew_plugin.opl" - File "..\src\openmedialib\plugins\glew\Multi-threaded Release DLL\openmedialib_glew-vc80-r-0_4_0.dll" File "..\src\openmedialib\plugins\oil\oil_plugin.opl" File "..\src\openmedialib\plugins\oil\Multi-threaded Release DLL\openmedialib_oil-vc80-r-0_4_0.dll" - File "..\src\openmedialib\plugins\openal\openal_plugin.opl" - File "..\src\openmedialib\plugins\openal\Multi-threaded Release DLL\openmedialib_openal-vc80-r-0_4_0.dll" - File "..\src\openmedialib\plugins\template\template_plugin.opl" - File "..\src\openmedialib\plugins\template\Multi-threaded Release DLL\openmedialib_template-vc80-r-0_4_0.dll" File "..\src\openmedialib\plugins\gensys\gensys_plugin.opl" File "..\src\openmedialib\plugins\gensys\Multi-threaded Release DLL\openmedialib_gensys-vc80-r-0_4_0.dll" File "..\src\openmedialib\plugins\quicktime\quicktime_plugin.opl" Modified: trunk/lib/openlibraries/installer/openlibraries_sdk.nsi =================================================================== --- trunk/lib/openlibraries/installer/openlibraries_sdk.nsi 2007-05-21 20:02:43 UTC (rev 134) +++ trunk/lib/openlibraries/installer/openlibraries_sdk.nsi 2007-05-21 21:24:22 UTC (rev 135) @@ -237,16 +237,8 @@ File "..\src\openimagelib\plugins\sgi\Multi-threaded Debug DLL\openimagelib_sgi-vc80-d-0_4_0.dll" File "..\src\openimagelib\plugins\tga\tga_plugin.opl" File "..\src\openimagelib\plugins\tga\Multi-threaded Debug DLL\openimagelib_tga-vc80-d-0_4_0.dll" - File "..\src\openmedialib\plugins\avformat\avformat_plugin.opl" - File "..\src\openmedialib\plugins\avformat\Multi-threaded Debug DLL\openmedialib_avformat-vc80-d-0_4_0.dll" - File "..\src\openmedialib\plugins\glew\glew_plugin.opl" - File "..\src\openmedialib\plugins\glew\Multi-threaded Debug DLL\openmedialib_glew-vc80-d-0_4_0.dll" File "..\src\openmedialib\plugins\oil\oil_plugin.opl" File "..\src\openmedialib\plugins\oil\Multi-threaded Debug DLL\openmedialib_oil-vc80-d-0_4_0.dll" - File "..\src\openmedialib\plugins\openal\openal_plugin.opl" - File "..\src\openmedialib\plugins\openal\Multi-threaded Debug DLL\openmedialib_openal-vc80-d-0_4_0.dll" - File "..\src\openmedialib\plugins\template\template_plugin.opl" - File "..\src\openmedialib\plugins\template\Multi-threaded Debug DLL\openmedialib_template-vc80-d-0_4_0.dll" File "..\src\openmedialib\plugins\gensys\gensys_plugin.opl" File "..\src\openmedialib\plugins\gensys\Multi-threaded Debug DLL\openmedialib_gensys-vc80-d-0_4_0.dll" File "..\src\openmedialib\plugins\quicktime\quicktime_plugin.opl" @@ -283,16 +275,8 @@ File "..\src\openimagelib\plugins\sgi\Multi-threaded Release DLL\openimagelib_sgi-vc80-r-0_4_0.dll" File "..\src\openimagelib\plugins\tga\tga_plugin.opl" File "..\src\openimagelib\plugins\tga\Multi-threaded Release DLL\openimagelib_tga-vc80-r-0_4_0.dll" - File "..\src\openmedialib\plugins\avformat\avformat_plugin.opl" - File "..\src\openmedialib\plugins\avformat\Multi-threaded Release DLL\openmedialib_avformat-vc80-r-0_4_0.dll" - File "..\src\openmedialib\plugins\glew\glew_plugin.opl" - File "..\src\openmedialib\plugins\glew\Multi-threaded Release DLL\openmedialib_glew-vc80-r-0_4_0.dll" File "..\src\openmedialib\plugins\oil\oil_plugin.opl" File "..\src\openmedialib\plugins\oil\Multi-threaded Release DLL\openmedialib_oil-vc80-r-0_4_0.dll" - File "..\src\openmedialib\plugins\openal\openal_plugin.opl" - File "..\src\openmedialib\plugins\openal\Multi-threaded Release DLL\openmedialib_openal-vc80-r-0_4_0.dll" - File "..\src\openmedialib\plugins\template\template_plugin.opl" - File "..\src\openmedialib\plugins\template\Multi-threaded Release DLL\openmedialib_template-vc80-r-0_4_0.dll" File "..\src\openmedialib\plugins\gensys\gensys_plugin.opl" File "..\src\openmedialib\plugins\gensys\Multi-threaded Release DLL\openmedialib_gensys-vc80-r-0_4_0.dll" File "..\src\openmedialib\plugins\quicktime\quicktime_plugin.opl" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-21 20:02:51
|
Revision: 134 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=134&view=rev Author: glslang Date: 2007-05-21 13:02:43 -0700 (Mon, 21 May 2007) Log Message: ----------- + tidy ups Modified Paths: -------------- trunk/lib/openlibraries/openlibraries_vc8.sln trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/bmp/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/dds/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/dpx/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_vc8.vcproj trunk/lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp Removed Paths: ------------- trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap.cpp trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp.cpp trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/bmp/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/dds/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds.cpp trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/dpx/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx.cpp trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_plugin.hpp Modified: trunk/lib/openlibraries/openlibraries_vc8.sln =================================================================== --- trunk/lib/openlibraries/openlibraries_vc8.sln 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/openlibraries_vc8.sln 2007-05-21 20:02:43 UTC (rev 134) @@ -188,13 +188,6 @@ {84DAF5D6-05DE-4B4B-AB54-4CD2039EE5DC} = {84DAF5D6-05DE-4B4B-AB54-4CD2039EE5DC} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "avformat", "src\openmedialib\plugins\avformat\avformat_vc8.vcproj", "{0C4F7499-83C6-4143-A392-56F299345E8A}" - ProjectSection(ProjectDependencies) = postProject - {84DAF5D6-05DE-4B4B-AB54-4CD2039EE5DC} = {84DAF5D6-05DE-4B4B-AB54-4CD2039EE5DC} - {3D424B92-233E-4BA0-AFD3-0FD1D80F5DD0} = {3D424B92-233E-4BA0-AFD3-0FD1D80F5DD0} - {C9BA7656-B238-4882-A30A-EC2BDB2843B4} = {C9BA7656-B238-4882-A30A-EC2BDB2843B4} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gensys", "src\openmedialib\plugins\gensys\gensys_vc8.vcproj", "{88BCD57E-044F-4427-A407-541BA8A938E6}" ProjectSection(ProjectDependencies) = postProject {C9BA7656-B238-4882-A30A-EC2BDB2843B4} = {C9BA7656-B238-4882-A30A-EC2BDB2843B4} @@ -202,13 +195,6 @@ {84DAF5D6-05DE-4B4B-AB54-4CD2039EE5DC} = {84DAF5D6-05DE-4B4B-AB54-4CD2039EE5DC} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glew", "src\openmedialib\plugins\glew\glew_vc8.vcproj", "{649D053D-1768-40BB-8FA7-8CD91A765F32}" - ProjectSection(ProjectDependencies) = postProject - {84DAF5D6-05DE-4B4B-AB54-4CD2039EE5DC} = {84DAF5D6-05DE-4B4B-AB54-4CD2039EE5DC} - {3D424B92-233E-4BA0-AFD3-0FD1D80F5DD0} = {3D424B92-233E-4BA0-AFD3-0FD1D80F5DD0} - {C9BA7656-B238-4882-A30A-EC2BDB2843B4} = {C9BA7656-B238-4882-A30A-EC2BDB2843B4} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ofx", "src\openmedialib\plugins\ofx\ofx_vc8.vcproj", "{A60E2710-2DA9-4641-AEF6-6488A6264723}" ProjectSection(ProjectDependencies) = postProject {C9BA7656-B238-4882-A30A-EC2BDB2843B4} = {C9BA7656-B238-4882-A30A-EC2BDB2843B4} @@ -223,13 +209,6 @@ {C9BA7656-B238-4882-A30A-EC2BDB2843B4} = {C9BA7656-B238-4882-A30A-EC2BDB2843B4} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openal", "src\openmedialib\plugins\openal\openal_vc8.vcproj", "{68B4BE77-E59E-4A24-9AF5-D4CEFF132B51}" - ProjectSection(ProjectDependencies) = postProject - {C9BA7656-B238-4882-A30A-EC2BDB2843B4} = {C9BA7656-B238-4882-A30A-EC2BDB2843B4} - {3D424B92-233E-4BA0-AFD3-0FD1D80F5DD0} = {3D424B92-233E-4BA0-AFD3-0FD1D80F5DD0} - {84DAF5D6-05DE-4B4B-AB54-4CD2039EE5DC} = {84DAF5D6-05DE-4B4B-AB54-4CD2039EE5DC} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "quicktime", "src\openmedialib\plugins\quicktime\quicktime_vc8.vcproj", "{1AC3D22B-175B-4169-B74A-276F9D5BA7AB}" ProjectSection(ProjectDependencies) = postProject {84DAF5D6-05DE-4B4B-AB54-4CD2039EE5DC} = {84DAF5D6-05DE-4B4B-AB54-4CD2039EE5DC} @@ -237,13 +216,6 @@ {C9BA7656-B238-4882-A30A-EC2BDB2843B4} = {C9BA7656-B238-4882-A30A-EC2BDB2843B4} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "template", "src\openmedialib\plugins\template\template_vc8.vcproj", "{18271104-A6E4-4293-A6F1-70B15AE311E5}" - ProjectSection(ProjectDependencies) = postProject - {C9BA7656-B238-4882-A30A-EC2BDB2843B4} = {C9BA7656-B238-4882-A30A-EC2BDB2843B4} - {3D424B92-233E-4BA0-AFD3-0FD1D80F5DD0} = {3D424B92-233E-4BA0-AFD3-0FD1D80F5DD0} - {84DAF5D6-05DE-4B4B-AB54-4CD2039EE5DC} = {84DAF5D6-05DE-4B4B-AB54-4CD2039EE5DC} - EndProjectSection -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SG", "SG", "{BD86F550-C573-4A68-955B-6CEDCC8F595D}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "plugins", "plugins", "{9483FC7B-E396-43E6-84ED-EB021AC54252}" @@ -528,18 +500,10 @@ {1C648B54-C3DC-49B5-AFC9-B205F3151F81}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 {1C648B54-C3DC-49B5-AFC9-B205F3151F81}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 {1C648B54-C3DC-49B5-AFC9-B205F3151F81}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 - {0C4F7499-83C6-4143-A392-56F299345E8A}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 - {0C4F7499-83C6-4143-A392-56F299345E8A}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 - {0C4F7499-83C6-4143-A392-56F299345E8A}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 - {0C4F7499-83C6-4143-A392-56F299345E8A}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 {88BCD57E-044F-4427-A407-541BA8A938E6}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 {88BCD57E-044F-4427-A407-541BA8A938E6}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 {88BCD57E-044F-4427-A407-541BA8A938E6}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 {88BCD57E-044F-4427-A407-541BA8A938E6}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 - {649D053D-1768-40BB-8FA7-8CD91A765F32}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 - {649D053D-1768-40BB-8FA7-8CD91A765F32}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 - {649D053D-1768-40BB-8FA7-8CD91A765F32}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 - {649D053D-1768-40BB-8FA7-8CD91A765F32}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 {A60E2710-2DA9-4641-AEF6-6488A6264723}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 {A60E2710-2DA9-4641-AEF6-6488A6264723}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 {A60E2710-2DA9-4641-AEF6-6488A6264723}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 @@ -548,18 +512,10 @@ {C29BD9EC-EC1B-4D7F-8985-F85698CE66ED}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 {C29BD9EC-EC1B-4D7F-8985-F85698CE66ED}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 {C29BD9EC-EC1B-4D7F-8985-F85698CE66ED}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 - {68B4BE77-E59E-4A24-9AF5-D4CEFF132B51}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 - {68B4BE77-E59E-4A24-9AF5-D4CEFF132B51}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 - {68B4BE77-E59E-4A24-9AF5-D4CEFF132B51}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 - {68B4BE77-E59E-4A24-9AF5-D4CEFF132B51}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 {1AC3D22B-175B-4169-B74A-276F9D5BA7AB}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 {1AC3D22B-175B-4169-B74A-276F9D5BA7AB}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 {1AC3D22B-175B-4169-B74A-276F9D5BA7AB}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 {1AC3D22B-175B-4169-B74A-276F9D5BA7AB}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 - {18271104-A6E4-4293-A6F1-70B15AE311E5}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 - {18271104-A6E4-4293-A6F1-70B15AE311E5}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 - {18271104-A6E4-4293-A6F1-70B15AE311E5}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 - {18271104-A6E4-4293-A6F1-70B15AE311E5}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 {DCCDFFF5-23EB-4E4B-BE38-9E5F8D42151E}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 {DCCDFFF5-23EB-4E4B-BE38-9E5F8D42151E}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 {DCCDFFF5-23EB-4E4B-BE38-9E5F8D42151E}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 @@ -723,14 +679,10 @@ {DB59A3DD-CC08-4FFD-ADFA-F659B2FC78B1} = {D9066C6C-E143-472F-860E-004E481F3E0A} {84DAF5D6-05DE-4B4B-AB54-4CD2039EE5DC} = {F76943CD-19F1-469A-B725-38C44C2DD27F} {1C648B54-C3DC-49B5-AFC9-B205F3151F81} = {F76943CD-19F1-469A-B725-38C44C2DD27F} - {0C4F7499-83C6-4143-A392-56F299345E8A} = {C039BC12-D0D0-4BAC-B8E4-445EEA6678B8} {88BCD57E-044F-4427-A407-541BA8A938E6} = {C039BC12-D0D0-4BAC-B8E4-445EEA6678B8} - {649D053D-1768-40BB-8FA7-8CD91A765F32} = {C039BC12-D0D0-4BAC-B8E4-445EEA6678B8} {A60E2710-2DA9-4641-AEF6-6488A6264723} = {C039BC12-D0D0-4BAC-B8E4-445EEA6678B8} {C29BD9EC-EC1B-4D7F-8985-F85698CE66ED} = {C039BC12-D0D0-4BAC-B8E4-445EEA6678B8} - {68B4BE77-E59E-4A24-9AF5-D4CEFF132B51} = {C039BC12-D0D0-4BAC-B8E4-445EEA6678B8} {1AC3D22B-175B-4169-B74A-276F9D5BA7AB} = {C039BC12-D0D0-4BAC-B8E4-445EEA6678B8} - {18271104-A6E4-4293-A6F1-70B15AE311E5} = {C039BC12-D0D0-4BAC-B8E4-445EEA6678B8} {DCCDFFF5-23EB-4E4B-BE38-9E5F8D42151E} = {BD86F550-C573-4A68-955B-6CEDCC8F595D} {AE1793B8-18EA-4277-BFDD-8C9F2AFA0096} = {9483FC7B-E396-43E6-84ED-EB021AC54252} {7A98C731-F651-4427-BD02-25133DEA7171} = {9483FC7B-E396-43E6-84ED-EB021AC54252} Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap.cpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap.cpp 2007-05-21 20:02:43 UTC (rev 134) @@ -1,33 +0,0 @@ - -// lightmap3D - An lightmap3D plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#include <openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.hpp> - -namespace opl = olib::openpluginlib; -namespace lightmap = olib::openimagelib::plugins::lightmap; - -extern "C" -{ - LIGHTMAP3D_DECLSPEC bool openplugin_init( void ) - { - return true; - } - - LIGHTMAP3D_DECLSPEC bool openplugin_uninit( void ) - { - return true; - } - - LIGHTMAP3D_DECLSPEC bool openplugin_create_plugin( const char*, opl::openplugin** plug ) - { - *plug = new lightmap::lightmap3D_plugin; - return true; - } - - LIGHTMAP3D_DECLSPEC void openplugin_destroy_plugin( opl::openplugin* plug ) - { delete static_cast<lightmap::lightmap3D_plugin*>( plug ); } -} Modified: trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.cpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.cpp 2007-05-21 20:02:43 UTC (rev 134) @@ -6,21 +6,19 @@ // For more information, see http://www.openlibraries.org. #include <cstdlib> - #include <boost/tokenizer.hpp> -#include <openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.hpp> +#include <openimagelib/il/openimagelib_plugin.hpp> namespace fs = boost::filesystem; namespace il = olib::openimagelib::il; +namespace pl = olib::openpluginlib; -namespace olib { namespace openimagelib { namespace plugins { namespace lightmap { +namespace olib { namespace openimagelib { namespace il { -typedef il::image<unsigned char, il::surface_format> image_type; - namespace { - void destroy( image_type* im ) + void destroy( il::image_type* im ) { delete im; } bool discover_lightmap_size( const boost::filesystem::path& path, int& radius ) @@ -85,10 +83,46 @@ } } -il::image_type_ptr lightmap3D_plugin::load( const fs::path& path ) -{ return il::image_type_ptr( generate_lightmap( path ) ); } +class lightmap3D_plugin : public il::openimagelib_plugin +{ +public: + virtual il::image_type_ptr load( const boost::filesystem::path& path ) + { return generate_lightmap( path ); } + + virtual bool store( const boost::filesystem::path&, const il::image_type_ptr& ) + { return false; } +}; -bool lightmap3D_plugin::store( const fs::path& path, const il::image_type_ptr& ) -{ return false; } +} } } -} } } } +extern "C" +{ + bool openplugin_init( void ) + { + return true; + } + + bool openplugin_uninit( void ) + { + return true; + } + + bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + { + *plug = new il::lightmap3D_plugin; + return true; + } + + void openplugin_destroy_plugin( pl::openplugin* plug ) + { delete static_cast<il::lightmap3D_plugin*>( plug ); } +} + +#ifdef WIN32 +extern "C" BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) +{ + if( fdwReason == DLL_PROCESS_ATTACH ) + DisableThreadLibraryCalls( hInstDLL ); + + return TRUE; +} +#endif Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.hpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.hpp 2007-05-21 20:02:43 UTC (rev 134) @@ -1,25 +0,0 @@ - -// 3D_lightmap - A lightmap generator plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef LIGHTMAP3D_PLUGIN_INC_ -#define LIGHTMAP3D_PLUGIN_INC_ - -#include <openimagelib/plugins/3D_lightmap/config.hpp> -#include <openimagelib/il/openimagelib_plugin.hpp> - -namespace olib { namespace openimagelib { namespace plugins { namespace lightmap { - -class LIGHTMAP3D_DECLSPEC lightmap3D_plugin : public olib::openimagelib::il::openimagelib_plugin -{ -public: - virtual il::image_type_ptr load( const boost::filesystem::path& path ); - virtual bool store( const boost::filesystem::path& path, const il::image_type_ptr& image ); -}; - -} } } } - -#endif Modified: trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_vc8.vcproj =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_vc8.vcproj 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_vc8.vcproj 2007-05-21 20:02:43 UTC (rev 134) @@ -194,10 +194,6 @@ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > <File - RelativePath=".\3D_lightmap.cpp" - > - </File> - <File RelativePath=".\3D_lightmap_plugin.cpp" > </File> @@ -207,14 +203,6 @@ Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > - <File - RelativePath=".\3D_lightmap_plugin.hpp" - > - </File> - <File - RelativePath=".\config.hpp" - > - </File> </Filter> <Filter Name="Resource Files" Modified: trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/Makefile.am =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/Makefile.am 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/Makefile.am 2007-05-21 20:02:43 UTC (rev 134) @@ -8,15 +8,11 @@ lib_LTLIBRARIES = libopenimagelib_3D_lightmap.la libopenimagelib_3D_lightmap_la_SOURCES = \ - config.hpp \ - 3D_lightmap.cpp \ - 3D_lightmap_plugin.hpp \ 3D_lightmap_plugin.cpp libopenimagelib_3D_lightmap_la_CXXFLAGS = \ $(OLIB_CXXFLAGS) \ - $(BOOST_INCLUDE_PATH) \ - # end + $(BOOST_INCLUDE_PATH) libopenimagelib_3D_lightmap_la_LIBADD = \ $(BOOST_FILESYSTEM_LIBS) Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/config.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/config.hpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/config.hpp 2007-05-21 20:02:43 UTC (rev 134) @@ -1,25 +0,0 @@ - -// 3D_lightmap - A lightmap generator plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef LIGHTMAP3D_CONFIG_INC_ -#define LIGHTMAP3D_CONFIG_INC_ - -#ifdef WIN32 - #ifdef LIGHTMAP3D_EXPORTS - #define LIGHTMAP3D_DECLSPEC __declspec( dllexport ) - #else - #define LIGHTMAP3D_DECLSPEC __declspec( dllimport ) - #endif // LIGHTMAP3D_EXPORTS -#else - #ifdef LIGHTMAP3D_EXPORTS - #define LIGHTMAP3D_DECLSPEC - #else - #define LIGHTMAP3D_DECLSPEC - #endif // LIGHTMAP3D_EXPORTS -#endif // WIN32 - -#endif Modified: trunk/lib/openlibraries/src/openimagelib/plugins/bmp/Makefile.am =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/bmp/Makefile.am 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/bmp/Makefile.am 2007-05-21 20:02:43 UTC (rev 134) @@ -8,15 +8,11 @@ lib_LTLIBRARIES = libopenimagelib_bmp.la libopenimagelib_bmp_la_SOURCES = \ - config.hpp \ - bmp.cpp \ - bmp_plugin.hpp \ bmp_plugin.cpp libopenimagelib_bmp_la_CXXFLAGS = \ $(OLIB_CXXFLAGS) \ - $(BOOST_INCLUDE_PATH) \ - # end + $(BOOST_INCLUDE_PATH) libopenimagelib_bmp_la_LIBADD = \ $(BOOST_FILESYSTEM_LIBS) Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp.cpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp.cpp 2007-05-21 20:02:43 UTC (rev 134) @@ -1,33 +0,0 @@ - -// BMP - An BMP plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#include <openimagelib/plugins/bmp/bmp_plugin.hpp> - -namespace opl = olib::openpluginlib; -namespace BMP = olib::openimagelib::plugins::BMP; - -extern "C" -{ - BMP_DECLSPEC bool openplugin_init( void ) - { - return true; - } - - BMP_DECLSPEC bool openplugin_uninit( void ) - { - return true; - } - - BMP_DECLSPEC bool openplugin_create_plugin( const char*, opl::openplugin** plug ) - { - *plug = new BMP::BMP_plugin; - return true; - } - - BMP_DECLSPEC void openplugin_destroy_plugin( opl::openplugin* plug ) - { delete static_cast<BMP::BMP_plugin*>( plug ); } -} Modified: trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_plugin.cpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_plugin.cpp 2007-05-21 20:02:43 UTC (rev 134) @@ -5,34 +5,57 @@ // Released under the LGPL. // For more information, see http://www.openlibraries.org. -#include <openimagelib/plugins/bmp/bmp_plugin.hpp> +#include <openimagelib/il/openimagelib_plugin.hpp> namespace il = olib::openimagelib::il; namespace fs = boost::filesystem; +namespace pl = olib::openpluginlib; -namespace olib { namespace openimagelib { namespace plugins { namespace BMP { +namespace olib { namespace openimagelib { namespace il { namespace { - typedef struct tagBITMAPINFOHEADER - { - } BITMAPINFOHEADER, *PBITMAPINFOHEADER; +} + +struct bmp_plugin : public il::openimagelib_plugin +{ + virtual il::image_type_ptr load( const boost::filesystem::path& ) + { return il::image_type_ptr( ); } - void destroy( il::image_type* im ) - { delete im; } - - il::image_type_ptr load_bmp( const fs::path& path ) + virtual bool store( const boost::filesystem::path&, const il::image_type_ptr& ) + { return false; } +}; + +} } } + +extern "C" +{ + bool openplugin_init( void ) { - return il::image_type_ptr( ); + return true; } + + bool openplugin_uninit( void ) + { + return true; + } + + bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + { + *plug = new il::bmp_plugin; + return true; + } + + void openplugin_destroy_plugin( pl::openplugin* plug ) + { delete static_cast<il::bmp_plugin*>( plug ); } } -il::image_type_ptr BMP_plugin::load( const fs::path& path ) +#ifdef WIN32 +extern "C" BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) { - return il::image_type_ptr( ); + if( fdwReason == DLL_PROCESS_ATTACH ) + DisableThreadLibraryCalls( hInstDLL ); + + return TRUE; } - -bool BMP_plugin::store( const fs::path& /*path*/, const il::image_type_ptr& ) -{ return false; } - -} } } } +#endif Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_plugin.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_plugin.hpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_plugin.hpp 2007-05-21 20:02:43 UTC (rev 134) @@ -1,26 +0,0 @@ - -// BMP - A BMP plugin to il. - -// Copyright (C) 2005 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef BMP_PLUGIN_INC_ -#define BMP_PLUGIN_INC_ - -#include <boost/filesystem/path.hpp> - -#include <openimagelib/plugins/bmp/config.hpp> -#include <openimagelib/il/openimagelib_plugin.hpp> - -namespace olib { namespace openimagelib { namespace plugins { namespace BMP { - -struct BMP_DECLSPEC BMP_plugin : public il::openimagelib_plugin -{ - virtual il::image_type_ptr load( const boost::filesystem::path& path ); - virtual bool store( const boost::filesystem::path& path, const il::image_type_ptr& image ); -}; - -} } } } - -#endif Modified: trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_vc8.vcproj =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_vc8.vcproj 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_vc8.vcproj 2007-05-21 20:02:43 UTC (rev 134) @@ -203,10 +203,6 @@ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > <File - RelativePath=".\bmp.cpp" - > - </File> - <File RelativePath=".\bmp_plugin.cpp" > </File> @@ -216,14 +212,6 @@ Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > - <File - RelativePath=".\bmp_plugin.hpp" - > - </File> - <File - RelativePath=".\config.hpp" - > - </File> </Filter> <Filter Name="Resource Files" Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/bmp/config.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/bmp/config.hpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/bmp/config.hpp 2007-05-21 20:02:43 UTC (rev 134) @@ -1,25 +0,0 @@ - -// BMP - An BMP plugin to il. - -// Copyright (C) 2005 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef BMP_CONFIG_INC_ -#define BMP_CONFIG_INC_ - -#ifdef WIN32 - #ifdef BMP_EXPORTS - #define BMP_DECLSPEC __declspec( dllexport ) - #else - #define BMP_DECLSPEC __declspec( dllimport ) - #endif // BMP_EXPORTS -#else - #ifdef BMP_EXPORTS - #define BMP_DECLSPEC extern - #else - #define BMP_DECLSPEC - #endif // BMP_EXPORTS -#endif // WIN32 - -#endif // BMP_CONFIG_INC_ Modified: trunk/lib/openlibraries/src/openimagelib/plugins/dds/Makefile.am =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dds/Makefile.am 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dds/Makefile.am 2007-05-21 20:02:43 UTC (rev 134) @@ -8,9 +8,6 @@ lib_LTLIBRARIES = libopenimagelib_dds.la libopenimagelib_dds_la_SOURCES = \ - config.hpp \ - dds.cpp \ - dds_plugin.hpp \ dds_plugin.cpp libopenimagelib_dds_la_CXXFLAGS = \ Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/dds/config.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dds/config.hpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dds/config.hpp 2007-05-21 20:02:43 UTC (rev 134) @@ -1,25 +0,0 @@ - -// DDS - An DDS plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef DDS_CONFIG_INC_ -#define DDS_CONFIG_INC_ - -#ifdef WIN32 - #ifdef DDS_EXPORTS - #define DDS_DECLSPEC __declspec( dllexport ) - #else - #define DDS_DECLSPEC __declspec( dllimport ) - #endif // DDS_EXPORTS -#else - #ifdef DDS_EXPORTS - #define DDS_DECLSPEC __attribute__( ( visibility( "default" ) ) ) - #else - #define DDS_DECLSPEC - #endif // DDS_EXPORTS -#endif // WIN32 - -#endif // DDS_CONFIG_INC_ Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds.cpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds.cpp 2007-05-21 20:02:43 UTC (rev 134) @@ -1,33 +0,0 @@ - -// DDS - An DDS plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#include <openimagelib/plugins/dds/dds_plugin.hpp> - -namespace opl = olib::openpluginlib; -namespace DDS = olib::openimagelib::plugins::DDS; - -extern "C" -{ - DDS_DECLSPEC bool openplugin_init( void ) - { - return true; - } - - DDS_DECLSPEC bool openplugin_uninit( void ) - { - return true; - } - - DDS_DECLSPEC bool openplugin_create_plugin( const char*, opl::openplugin** plug ) - { - *plug = new DDS::DDS_plugin; - return true; - } - - DDS_DECLSPEC void openplugin_destroy_plugin( opl::openplugin* plug ) - { delete static_cast<DDS::DDS_plugin*>( plug ); } -} Modified: trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_plugin.cpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_plugin.cpp 2007-05-21 20:02:43 UTC (rev 134) @@ -12,12 +12,13 @@ #include <boost/filesystem/fstream.hpp> -#include <openimagelib/plugins/dds/dds_plugin.hpp> +#include <openimagelib/il/openimagelib_plugin.hpp> namespace il = olib::openimagelib::il; namespace fs = boost::filesystem; +namespace pl = olib::openpluginlib; -namespace olib { namespace openimagelib { namespace plugins { namespace DDS { +namespace olib { namespace openimagelib { namespace il { namespace { @@ -214,10 +215,45 @@ } } -il::image_type_ptr DDS_plugin::load( const fs::path& path ) -{ return load_dds( path ); } +struct dds_plugin : public il::openimagelib_plugin +{ + virtual il::image_type_ptr load( const boost::filesystem::path& path ) + { return load_dds( path ); } + + virtual bool store( const boost::filesystem::path&, const il::image_type_ptr& ) + { return false; } +}; -bool DDS_plugin::store( const fs::path& path, const il::image_type_ptr& ) -{ return false; } +} } } -} } } } +extern "C" +{ + bool openplugin_init( void ) + { + return true; + } + + bool openplugin_uninit( void ) + { + return true; + } + + bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + { + *plug = new il::dds_plugin; + return true; + } + + void openplugin_destroy_plugin( pl::openplugin* plug ) + { delete static_cast<il::dds_plugin*>( plug ); } +} + +#ifdef WIN32 +extern "C" BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) +{ + if( fdwReason == DLL_PROCESS_ATTACH ) + DisableThreadLibraryCalls( hInstDLL ); + + return TRUE; +} +#endif Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_plugin.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_plugin.hpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_plugin.hpp 2007-05-21 20:02:43 UTC (rev 134) @@ -1,26 +0,0 @@ - -// DDS - A DDS plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef DDS_PLUGIN_INC_ -#define DDS_PLUGIN_INC_ - -#include <boost/filesystem/path.hpp> - -#include <openimagelib/plugins/dds/config.hpp> -#include <openimagelib/il/openimagelib_plugin.hpp> - -namespace olib { namespace openimagelib { namespace plugins { namespace DDS { - -struct DDS_DECLSPEC DDS_plugin : public olib::openimagelib::il::openimagelib_plugin -{ - virtual il::image_type_ptr load( const boost::filesystem::path& path ); - virtual bool store( const boost::filesystem::path& path, const il::image_type_ptr& image ); -}; - -} } } } - -#endif Modified: trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_vc8.vcproj =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_vc8.vcproj 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_vc8.vcproj 2007-05-21 20:02:43 UTC (rev 134) @@ -196,10 +196,6 @@ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > <File - RelativePath=".\dds.cpp" - > - </File> - <File RelativePath=".\dds_plugin.cpp" > </File> @@ -209,14 +205,6 @@ Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > - <File - RelativePath=".\config.hpp" - > - </File> - <File - RelativePath=".\dds_plugin.hpp" - > - </File> </Filter> <Filter Name="Resource Files" Modified: trunk/lib/openlibraries/src/openimagelib/plugins/dpx/Makefile.am =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dpx/Makefile.am 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dpx/Makefile.am 2007-05-21 20:02:43 UTC (rev 134) @@ -8,9 +8,6 @@ lib_LTLIBRARIES = libopenimagelib_dpx.la libopenimagelib_dpx_la_SOURCES = \ - config.hpp \ - dpx.cpp \ - dpx_plugin.hpp \ dpx_plugin.cpp libopenimagelib_dpx_la_CXXFLAGS = \ Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/dpx/config.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dpx/config.hpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dpx/config.hpp 2007-05-21 20:02:43 UTC (rev 134) @@ -1,25 +0,0 @@ - -// dpx - A dpx plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef DPX_CONFIG_INC_ -#define DPX_CONFIG_INC_ - -#ifdef WIN32 - #ifdef DPX_EXPORTS - #define DPX_DECLSPEC __declspec( dllexport ) - #else - #define DPX_DECLSPEC __declspec( dllimport ) - #endif // DPX_EXPORTS -#else - #ifdef DPX_EXPORTS - #define DPX_DECLSPEC - #else - #define DPX_DECLSPEC - #endif // DPX_EXPORTS -#endif // WIN32 - -#endif Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx.cpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx.cpp 2007-05-21 20:02:43 UTC (rev 134) @@ -1,34 +0,0 @@ - -// DPX - A DPX plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#include <openimagelib/plugins/dpx/dpx_plugin.hpp> - -namespace opl = olib::openpluginlib; -namespace DPX = olib::openimagelib::plugins::DPX; - -extern "C" -{ - DPX_DECLSPEC bool openplugin_init( void ) - { - return true; - } - - DPX_DECLSPEC bool openplugin_uninit( void ) - { - return true; - } - - DPX_DECLSPEC bool openplugin_create_plugin( const char*, opl::openplugin** plug ) - { - *plug = new DPX::DPX_plugin; - - return true; - } - - DPX_DECLSPEC void openplugin_destroy_plugin( opl::openplugin* plug ) - { delete static_cast<DPX::DPX_plugin*>( plug ); } -} Modified: trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_plugin.cpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_plugin.cpp 2007-05-21 20:02:43 UTC (rev 134) @@ -9,12 +9,13 @@ #include <boost/filesystem/fstream.hpp> -#include <openimagelib/plugins/dpx/dpx_plugin.hpp> +#include <openimagelib/il/openimagelib_plugin.hpp> namespace il = olib::openimagelib::il; namespace fs = boost::filesystem; +namespace pl = olib::openpluginlib; -namespace olib { namespace openimagelib { namespace plugins { namespace DPX { +namespace olib { namespace openimagelib { namespace il { namespace { @@ -854,10 +855,45 @@ } } -il::image_type_ptr DPX_plugin::load( const fs::path& path ) -{ return load_dpx( path ); } +struct dpx_plugin : public il::openimagelib_plugin +{ + virtual il::image_type_ptr load( const boost::filesystem::path& path ) + { return load_dpx( path ); } + + virtual bool store( const boost::filesystem::path& path, const il::image_type_ptr& im ) + { return store_dpx( path, im ); } +}; -bool DPX_plugin::store( const fs::path& path, const il::image_type_ptr& im ) -{ return store_dpx( path, im ); } +} } } -} } } } +extern "C" +{ + bool openplugin_init( void ) + { + return true; + } + + bool openplugin_uninit( void ) + { + return true; + } + + bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + { + *plug = new il::dpx_plugin; + return true; + } + + void openplugin_destroy_plugin( pl::openplugin* plug ) + { delete static_cast<il::dpx_plugin*>( plug ); } +} + +#ifdef WIN32 +extern "C" BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) +{ + if( fdwReason == DLL_PROCESS_ATTACH ) + DisableThreadLibraryCalls( hInstDLL ); + + return TRUE; +} +#endif Deleted: trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_plugin.hpp =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_plugin.hpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_plugin.hpp 2007-05-21 20:02:43 UTC (rev 134) @@ -1,26 +0,0 @@ - -// DPX - A DPX plugin to il. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef DPX_PLUGIN_INC_ -#define DPX_PLUGIN_INC_ - -#include <boost/filesystem/path.hpp> - -#include <openimagelib/plugins/dpx/config.hpp> -#include <openimagelib/il/openimagelib_plugin.hpp> - -namespace olib { namespace openimagelib { namespace plugins { namespace DPX { - -struct DPX_DECLSPEC DPX_plugin : public olib::openimagelib::il::openimagelib_plugin -{ - virtual il::image_type_ptr load( const boost::filesystem::path& path ); - virtual bool store( const boost::filesystem::path& path, const il::image_type_ptr& image ); -}; - -} } } } - -#endif Modified: trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_vc8.vcproj =================================================================== --- trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_vc8.vcproj 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_vc8.vcproj 2007-05-21 20:02:43 UTC (rev 134) @@ -190,10 +190,6 @@ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > <File - RelativePath=".\dpx.cpp" - > - </File> - <File RelativePath=".\dpx_plugin.cpp" > </File> @@ -203,14 +199,6 @@ Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > - <File - RelativePath=".\config.hpp" - > - </File> - <File - RelativePath=".\dpx_plugin.hpp" - > - </File> </Filter> <Filter Name="Resource Files" Modified: trunk/lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp =================================================================== --- trunk/lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-20 22:48:57 UTC (rev 133) +++ trunk/lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-21 20:02:43 UTC (rev 134) @@ -3364,24 +3364,24 @@ extern "C" { - ML_PLUGIN_DECLSPEC bool openplugin_init( void ) + bool openplugin_init( void ) { return true; } - ML_PLUGIN_DECLSPEC bool openplugin_uninit( void ) + bool openplugin_uninit( void ) { return true; } - ML_PLUGIN_DECLSPEC bool openplugin_create_plugin( const char* options, pl::openplugin** plug ) + bool openplugin_create_plugin( const char* options, pl::openplugin** plug ) { *plug = new ml::ofx_plugin; return true; } - ML_PLUGIN_DECLSPEC void openplugin_destroy_plugin( pl::openplugin* plug ) + void openplugin_destroy_plugin( pl::openplugin* plug ) { delete static_cast<ml::ofx_plugin*>( plug ); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-20 22:48:59
|
Revision: 133 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=133&view=rev Author: glslang Date: 2007-05-20 15:48:57 -0700 (Sun, 20 May 2007) Log Message: ----------- + proper SVN repo checkin Added Paths: ----------- trunk/lib/ trunk/lib/extras/ trunk/lib/extras/AUTHORS trunk/lib/extras/COPYING trunk/lib/extras/ChangeLog trunk/lib/extras/INSTALL trunk/lib/extras/Makefile.am trunk/lib/extras/NEWS trunk/lib/extras/README trunk/lib/extras/bootstrap trunk/lib/extras/configure.ac trunk/lib/extras/extras_vc8.sln trunk/lib/extras/m4/ trunk/lib/extras/m4/aclocal.m4 trunk/lib/extras/m4/boost.m4 trunk/lib/extras/m4/cg.m4 trunk/lib/extras/m4/fast_math.m4 trunk/lib/extras/m4/glew.m4 trunk/lib/extras/m4/ofx.m4 trunk/lib/extras/m4/opengl.m4 trunk/lib/extras/m4/quicktime.m4 trunk/lib/extras/m4/universal_binary.m4 trunk/lib/extras/src/ trunk/lib/extras/src/Makefile.am trunk/lib/extras/src/noise/ trunk/lib/extras/src/panoramic/ trunk/lib/extras/src/panoramic/Makefile.am trunk/lib/extras/src/panoramic/panoramic.cpp trunk/lib/extras/src/panoramic/panoramic_vc8.vcproj trunk/lib/extras/src/raw/ trunk/lib/extras/src/raw/Makefile.am trunk/lib/extras/src/raw/dcraw.c trunk/lib/extras/src/raw/dcraw_vc8.vcproj trunk/lib/extras/src/raw/raw.cpp trunk/lib/extras/src/raw/raw_vc8.vcproj trunk/lib/openlibraries/ trunk/lib/openlibraries/AUTHORS trunk/lib/openlibraries/COPYING trunk/lib/openlibraries/ChangeLog trunk/lib/openlibraries/INSTALL trunk/lib/openlibraries/Makefile.am trunk/lib/openlibraries/NEWS trunk/lib/openlibraries/README trunk/lib/openlibraries/bootstrap trunk/lib/openlibraries/configure.ac trunk/lib/openlibraries/effects/ trunk/lib/openlibraries/effects/Makefile.am trunk/lib/openlibraries/effects/shaders/ trunk/lib/openlibraries/effects/shaders/channel_selector.cg trunk/lib/openlibraries/effects/shaders/channel_selector.frag trunk/lib/openlibraries/effects/shaders/fixed_function.vert trunk/lib/openlibraries/effects/shaders/histogram.cg trunk/lib/openlibraries/effects/shaders/histogram.frag trunk/lib/openlibraries/effects/shaders/passthrough.cg trunk/lib/openlibraries/effects/shaders/passthrough.vert trunk/lib/openlibraries/effects/shaders/rgb_to_yuv444.frag trunk/lib/openlibraries/effects/shaders/sepia.cg trunk/lib/openlibraries/effects/shaders/sepia.frag trunk/lib/openlibraries/effects/shaders/yuv444_to_rgb.cg trunk/lib/openlibraries/effects/shaders/yuv444_to_rgb.frag trunk/lib/openlibraries/effects/shaders/yuv444_to_rgb_deinterlace.cg trunk/lib/openlibraries/effects/shaders/yuv444_to_rgb_deinterlace.frag trunk/lib/openlibraries/installer/ trunk/lib/openlibraries/installer/add_to_path.nsh trunk/lib/openlibraries/installer/openlibraries.bmp trunk/lib/openlibraries/installer/openlibraries_lib32.spec trunk/lib/openlibraries/installer/openlibraries_runtime.nsi trunk/lib/openlibraries/installer/openlibraries_sdk.nsi trunk/lib/openlibraries/installer/write_env_str.nsh trunk/lib/openlibraries/m4/ trunk/lib/openlibraries/m4/boost.m4 trunk/lib/openlibraries/m4/bzip2.m4 trunk/lib/openlibraries/m4/cg.m4 trunk/lib/openlibraries/m4/fast_math.m4 trunk/lib/openlibraries/m4/gelato.m4 trunk/lib/openlibraries/m4/glew.m4 trunk/lib/openlibraries/m4/gpl.m4 trunk/lib/openlibraries/m4/ofx.m4 trunk/lib/openlibraries/m4/openal.m4 trunk/lib/openlibraries/m4/opengl.m4 trunk/lib/openlibraries/m4/openimagelib.m4 trunk/lib/openlibraries/m4/pkg.m4 trunk/lib/openlibraries/m4/python.m4 trunk/lib/openlibraries/m4/qt.m4 trunk/lib/openlibraries/m4/quicktime.m4 trunk/lib/openlibraries/m4/sqlite.m4 trunk/lib/openlibraries/m4/universal_binary.m4 trunk/lib/openlibraries/m4/zlib.m4 trunk/lib/openlibraries/media/ trunk/lib/openlibraries/media/Makefile.am trunk/lib/openlibraries/media/models/ trunk/lib/openlibraries/media/models/complex_glass.x3d trunk/lib/openlibraries/media/models/disco_lighting.x3d trunk/lib/openlibraries/media/models/glittering.x3d trunk/lib/openlibraries/media/models/plastic.x3d trunk/lib/openlibraries/media/models/ptm.x3d trunk/lib/openlibraries/media/models/reflections_refractions.x3d trunk/lib/openlibraries/media/models/shl_per_pixel.x3d trunk/lib/openlibraries/media/shaders/ trunk/lib/openlibraries/media/shaders/complex_glass_0.frag trunk/lib/openlibraries/media/shaders/complex_glass_0.vert trunk/lib/openlibraries/media/shaders/complex_glass_1.frag trunk/lib/openlibraries/media/shaders/complex_glass_1.vert trunk/lib/openlibraries/media/shaders/disco_lighting_0.frag trunk/lib/openlibraries/media/shaders/disco_lighting_0.vert trunk/lib/openlibraries/media/shaders/disco_lighting_1.frag trunk/lib/openlibraries/media/shaders/disco_lighting_1.vert trunk/lib/openlibraries/media/shaders/disco_lighting_2.frag trunk/lib/openlibraries/media/shaders/disco_lighting_2.vert trunk/lib/openlibraries/media/shaders/glittering_0.frag trunk/lib/openlibraries/media/shaders/glittering_0.vert trunk/lib/openlibraries/media/shaders/plastic_0.frag trunk/lib/openlibraries/media/shaders/plastic_0.vert trunk/lib/openlibraries/media/shaders/ptm_0.frag trunk/lib/openlibraries/media/shaders/ptm_0.vert trunk/lib/openlibraries/media/shaders/reflections_refractions_0.frag trunk/lib/openlibraries/media/shaders/reflections_refractions_0.vert trunk/lib/openlibraries/media/shaders/reflections_refractions_1.frag trunk/lib/openlibraries/media/shaders/reflections_refractions_1.vert trunk/lib/openlibraries/media/shaders/shl_per_pixel_0.frag trunk/lib/openlibraries/media/shaders/shl_per_pixel_0.vert trunk/lib/openlibraries/media/textures/ trunk/lib/openlibraries/media/textures/Bonita.exr trunk/lib/openlibraries/media/textures/Fieldstone.tga trunk/lib/openlibraries/media/textures/FieldstoneBumpDOT3.tga trunk/lib/openlibraries/media/textures/LightCube.dds trunk/lib/openlibraries/media/textures/NoiseVolume.dds trunk/lib/openlibraries/media/textures/Rainbow.tga trunk/lib/openlibraries/media/textures/Snow.dds trunk/lib/openlibraries/media/textures/Tiles.dds trunk/lib/openlibraries/media/textures/TilesDOT3.tga trunk/lib/openlibraries/media/textures/tablet_a012.tga trunk/lib/openlibraries/media/textures/tablet_a345.tga trunk/lib/openlibraries/media/textures/tablet_rgb.tga trunk/lib/openlibraries/openlibraries.pc.in trunk/lib/openlibraries/openlibraries_vc8.sln trunk/lib/openlibraries/src/ trunk/lib/openlibraries/src/Makefile.am trunk/lib/openlibraries/src/openassetlib/ trunk/lib/openlibraries/src/openassetlib/Makefile.am trunk/lib/openlibraries/src/openassetlib/al/ trunk/lib/openlibraries/src/openassetlib/al/Makefile.am trunk/lib/openlibraries/src/openassetlib/al/al.cpp trunk/lib/openlibraries/src/openassetlib/al/al.hpp trunk/lib/openlibraries/src/openassetlib/al/al_plugin.cpp trunk/lib/openlibraries/src/openassetlib/al/al_plugin.hpp trunk/lib/openlibraries/src/openassetlib/al/al_vc8.vcproj trunk/lib/openlibraries/src/openassetlib/al/asset.cpp trunk/lib/openlibraries/src/openassetlib/al/asset.hpp trunk/lib/openlibraries/src/openassetlib/al/base64_codec.cpp trunk/lib/openlibraries/src/openassetlib/al/base64_codec.hpp trunk/lib/openlibraries/src/openassetlib/al/config.hpp trunk/lib/openlibraries/src/openassetlib/al/guid.cpp trunk/lib/openlibraries/src/openassetlib/al/guid.hpp trunk/lib/openlibraries/src/openassetlib/al/set.cpp trunk/lib/openlibraries/src/openassetlib/al/set.hpp trunk/lib/openlibraries/src/openassetlib/plugins/ trunk/lib/openlibraries/src/openassetlib/plugins/Makefile.am trunk/lib/openlibraries/src/openassetlib/plugins/sqlite/ trunk/lib/openlibraries/src/openassetlib/plugins/sqlite/Makefile.am trunk/lib/openlibraries/src/openassetlib/plugins/sqlite/config.hpp trunk/lib/openlibraries/src/openassetlib/plugins/sqlite/database.cpp trunk/lib/openlibraries/src/openassetlib/plugins/sqlite/database.hpp trunk/lib/openlibraries/src/openassetlib/plugins/sqlite/sqlite-vc71-d-3_2_7.lib trunk/lib/openlibraries/src/openassetlib/plugins/sqlite/sqlite-vc71-r-3_2_7.lib trunk/lib/openlibraries/src/openassetlib/plugins/sqlite/sqlite3.h trunk/lib/openlibraries/src/openassetlib/plugins/sqlite/sqlite3_metadata.cpp trunk/lib/openlibraries/src/openassetlib/plugins/sqlite/sqlite3_metadata_plugin.cpp trunk/lib/openlibraries/src/openassetlib/plugins/sqlite/sqlite3_metadata_plugin.hpp trunk/lib/openlibraries/src/openassetlib/plugins/sqlite/sqlite3_metadata_plugin.opl trunk/lib/openlibraries/src/openassetlib/plugins/sqlite/sqlite_vc8.vcproj trunk/lib/openlibraries/src/openassetlib/py/ trunk/lib/openlibraries/src/openassetlib/py/Makefile.am trunk/lib/openlibraries/src/openassetlib/py/asset.cpp trunk/lib/openlibraries/src/openassetlib/py/guid.cpp trunk/lib/openlibraries/src/openassetlib/py/openassetlib.cpp trunk/lib/openlibraries/src/openassetlib/py/plugin.cpp trunk/lib/openlibraries/src/openassetlib/py/py.cpp trunk/lib/openlibraries/src/openassetlib/py/py.hpp trunk/lib/openlibraries/src/openassetlib/py/py_vc8.vcproj trunk/lib/openlibraries/src/openassetlib/py/python.hpp trunk/lib/openlibraries/src/openassetlib/py/set.cpp trunk/lib/openlibraries/src/openeffectslib/ trunk/lib/openlibraries/src/openeffectslib/Makefile.am trunk/lib/openlibraries/src/openeffectslib/plugins/ trunk/lib/openlibraries/src/openeffectslib/plugins/Makefile.am trunk/lib/openlibraries/src/openeffectslib/plugins/tonemap/ trunk/lib/openlibraries/src/openeffectslib/plugins/tonemap/Makefile.am trunk/lib/openlibraries/src/openeffectslib/plugins/tonemap/tonemap_plugin.cpp trunk/lib/openlibraries/src/openeffectslib/plugins/tonemap/tonemap_plugin.opl trunk/lib/openlibraries/src/openeffectslib/plugins/tonemap/tonemap_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/ trunk/lib/openlibraries/src/openimagelib/Makefile.am trunk/lib/openlibraries/src/openimagelib/il/ trunk/lib/openlibraries/src/openimagelib/il/Makefile.am trunk/lib/openlibraries/src/openimagelib/il/basic_image.hpp trunk/lib/openlibraries/src/openimagelib/il/compression_traits.hpp trunk/lib/openlibraries/src/openimagelib/il/config.hpp trunk/lib/openlibraries/src/openimagelib/il/float_traits.hpp trunk/lib/openlibraries/src/openimagelib/il/il.cpp trunk/lib/openlibraries/src/openimagelib/il/il.hpp trunk/lib/openlibraries/src/openimagelib/il/il_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/il/openimagelib_plugin.hpp trunk/lib/openlibraries/src/openimagelib/il/rgb_traits.hpp trunk/lib/openlibraries/src/openimagelib/il/traits.hpp trunk/lib/openlibraries/src/openimagelib/il/utility.cpp trunk/lib/openlibraries/src/openimagelib/il/utility.hpp trunk/lib/openlibraries/src/openimagelib/il/yuv_traits.hpp trunk/lib/openlibraries/src/openimagelib/plugins/ trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/ trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap.cpp trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_plugin.opl trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/3D_lightmap/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/bmp/ trunk/lib/openlibraries/src/openimagelib/plugins/bmp/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp.cpp trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_plugin.opl trunk/lib/openlibraries/src/openimagelib/plugins/bmp/bmp_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/bmp/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/dds/ trunk/lib/openlibraries/src/openimagelib/plugins/dds/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/dds/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds.cpp trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_plugin.opl trunk/lib/openlibraries/src/openimagelib/plugins/dds/dds_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/dpx/ trunk/lib/openlibraries/src/openimagelib/plugins/dpx/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/dpx/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx.cpp trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_plugin.opl trunk/lib/openlibraries/src/openimagelib/plugins/dpx/dpx_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/exr/ trunk/lib/openlibraries/src/openimagelib/plugins/exr/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/exr/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr.cpp trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_plugin.opl trunk/lib/openlibraries/src/openimagelib/plugins/exr/exr_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/ trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+.cpp trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/gdi+/gdi_plugin.opl trunk/lib/openlibraries/src/openimagelib/plugins/hdr/ trunk/lib/openlibraries/src/openimagelib/plugins/hdr/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/hdr/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr.cpp trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_plugin.opl trunk/lib/openlibraries/src/openimagelib/plugins/hdr/hdr_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/jpg/ trunk/lib/openlibraries/src/openimagelib/plugins/jpg/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/jpg/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg.cpp trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_plugin.opl trunk/lib/openlibraries/src/openimagelib/plugins/jpg/jpg_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/png/ trunk/lib/openlibraries/src/openimagelib/plugins/png/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/png/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/png/png.cpp trunk/lib/openlibraries/src/openimagelib/plugins/png/png_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/png/png_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/png/png_plugin.opl trunk/lib/openlibraries/src/openimagelib/plugins/png/png_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/psd/ trunk/lib/openlibraries/src/openimagelib/plugins/psd/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/psd/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd.cpp trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_plugin.opl trunk/lib/openlibraries/src/openimagelib/plugins/psd/psd_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/ trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime.cpp trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_plugin.opl trunk/lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/sgi/ trunk/lib/openlibraries/src/openimagelib/plugins/sgi/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/sgi/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/sgi/sgi.cpp trunk/lib/openlibraries/src/openimagelib/plugins/sgi/sgi_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/sgi/sgi_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/sgi/sgi_plugin.opl trunk/lib/openlibraries/src/openimagelib/plugins/sgi/sgi_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/tga/ trunk/lib/openlibraries/src/openimagelib/plugins/tga/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/tga/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/tga/tga.cpp trunk/lib/openlibraries/src/openimagelib/plugins/tga/tga_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/tga/tga_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/tga/tga_plugin.opl trunk/lib/openlibraries/src/openimagelib/plugins/tga/tga_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/plugins/tiff/ trunk/lib/openlibraries/src/openimagelib/plugins/tiff/Makefile.am trunk/lib/openlibraries/src/openimagelib/plugins/tiff/config.hpp trunk/lib/openlibraries/src/openimagelib/plugins/tiff/tiff.cpp trunk/lib/openlibraries/src/openimagelib/plugins/tiff/tiff_plugin.cpp trunk/lib/openlibraries/src/openimagelib/plugins/tiff/tiff_plugin.hpp trunk/lib/openlibraries/src/openimagelib/plugins/tiff/tiff_plugin.opl trunk/lib/openlibraries/src/openimagelib/plugins/tiff/tiff_vc8.vcproj trunk/lib/openlibraries/src/openimagelib/py/ trunk/lib/openlibraries/src/openimagelib/py/Makefile.am trunk/lib/openlibraries/src/openimagelib/py/il.cpp trunk/lib/openlibraries/src/openimagelib/py/py.cpp trunk/lib/openlibraries/src/openimagelib/py/py.hpp trunk/lib/openlibraries/src/openimagelib/py/py_vc8.vcproj trunk/lib/openlibraries/src/openmedialib/ trunk/lib/openlibraries/src/openmedialib/Makefile.am trunk/lib/openlibraries/src/openmedialib/ml/ trunk/lib/openlibraries/src/openmedialib/ml/Makefile.am trunk/lib/openlibraries/src/openmedialib/ml/audio.hpp trunk/lib/openlibraries/src/openmedialib/ml/config.hpp trunk/lib/openlibraries/src/openmedialib/ml/filter.hpp trunk/lib/openlibraries/src/openmedialib/ml/frame.hpp trunk/lib/openlibraries/src/openmedialib/ml/input.hpp trunk/lib/openlibraries/src/openmedialib/ml/ml.cpp trunk/lib/openlibraries/src/openmedialib/ml/ml.hpp trunk/lib/openlibraries/src/openmedialib/ml/ml_vc8.vcproj trunk/lib/openlibraries/src/openmedialib/ml/openmedialib_plugin.cpp trunk/lib/openlibraries/src/openmedialib/ml/openmedialib_plugin.hpp trunk/lib/openlibraries/src/openmedialib/ml/store.hpp trunk/lib/openlibraries/src/openmedialib/ml/utilities.cpp trunk/lib/openlibraries/src/openmedialib/ml/utilities.hpp trunk/lib/openlibraries/src/openmedialib/plugins/ trunk/lib/openlibraries/src/openmedialib/plugins/Makefile.am trunk/lib/openlibraries/src/openmedialib/plugins/avformat/ trunk/lib/openlibraries/src/openmedialib/plugins/avformat/Makefile.am trunk/lib/openlibraries/src/openmedialib/plugins/avformat/avformat_plugin.cpp trunk/lib/openlibraries/src/openmedialib/plugins/avformat/avformat_plugin.opl trunk/lib/openlibraries/src/openmedialib/plugins/avformat/avformat_vc8.vcproj trunk/lib/openlibraries/src/openmedialib/plugins/caca/ trunk/lib/openlibraries/src/openmedialib/plugins/caca/Makefile.am trunk/lib/openlibraries/src/openmedialib/plugins/caca/caca_plugin.cpp trunk/lib/openlibraries/src/openmedialib/plugins/caca/caca_plugin.opl trunk/lib/openlibraries/src/openmedialib/plugins/gensys/ trunk/lib/openlibraries/src/openmedialib/plugins/gensys/Makefile.am trunk/lib/openlibraries/src/openmedialib/plugins/gensys/gensys_plugin.cpp trunk/lib/openlibraries/src/openmedialib/plugins/gensys/gensys_plugin.opl trunk/lib/openlibraries/src/openmedialib/plugins/gensys/gensys_vc8.vcproj trunk/lib/openlibraries/src/openmedialib/plugins/glew/ trunk/lib/openlibraries/src/openmedialib/plugins/glew/Makefile.am trunk/lib/openlibraries/src/openmedialib/plugins/glew/glew_plugin.cpp trunk/lib/openlibraries/src/openmedialib/plugins/glew/glew_plugin.opl trunk/lib/openlibraries/src/openmedialib/plugins/glew/glew_vc8.vcproj trunk/lib/openlibraries/src/openmedialib/plugins/ofx/ trunk/lib/openlibraries/src/openmedialib/plugins/ofx/Makefile.am trunk/lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp trunk/lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.opl trunk/lib/openlibraries/src/openmedialib/plugins/ofx/ofx_vc8.vcproj trunk/lib/openlibraries/src/openmedialib/plugins/oil/ trunk/lib/openlibraries/src/openmedialib/plugins/oil/Makefile.am trunk/lib/openlibraries/src/openmedialib/plugins/oil/oil_plugin.cpp trunk/lib/openlibraries/src/openmedialib/plugins/oil/oil_plugin.opl trunk/lib/openlibraries/src/openmedialib/plugins/oil/oil_vc8.vcproj trunk/lib/openlibraries/src/openmedialib/plugins/openal/ trunk/lib/openlibraries/src/openmedialib/plugins/openal/Makefile.am trunk/lib/openlibraries/src/openmedialib/plugins/openal/openal_plugin.cpp trunk/lib/openlibraries/src/openmedialib/plugins/openal/openal_plugin.opl trunk/lib/openlibraries/src/openmedialib/plugins/openal/openal_vc8.vcproj trunk/lib/openlibraries/src/openmedialib/plugins/quicktime/ trunk/lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_audiotrack.cpp trunk/lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_audiotrack.h trunk/lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_input.cpp trunk/lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_input.h trunk/lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_plugin.cpp trunk/lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_plugin.opl trunk/lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_store.cpp trunk/lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_store.h trunk/lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_track.cpp trunk/lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_track.h trunk/lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_vc8.vcproj trunk/lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_videotrack.cpp trunk/lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_videotrack.h trunk/lib/openlibraries/src/openmedialib/plugins/template/ trunk/lib/openlibraries/src/openmedialib/plugins/template/Makefile.am trunk/lib/openlibraries/src/openmedialib/plugins/template/template_plugin.cpp trunk/lib/openlibraries/src/openmedialib/plugins/template/template_plugin.opl trunk/lib/openlibraries/src/openmedialib/plugins/template/template_vc8.vcproj trunk/lib/openlibraries/src/openmedialib/py/ trunk/lib/openlibraries/src/openmedialib/py/Makefile.am trunk/lib/openlibraries/src/openmedialib/py/ml.cpp trunk/lib/openlibraries/src/openmedialib/py/py.cpp trunk/lib/openlibraries/src/openmedialib/py/py.hpp trunk/lib/openlibraries/src/openmedialib/py/py_vc8.vcproj trunk/lib/openlibraries/src/openobjectlib/ trunk/lib/openlibraries/src/openobjectlib/Makefile.am trunk/lib/openlibraries/src/openobjectlib/plugins/ trunk/lib/openlibraries/src/openobjectlib/plugins/3ds/ trunk/lib/openlibraries/src/openobjectlib/plugins/3ds/3ds.cpp trunk/lib/openlibraries/src/openobjectlib/plugins/3ds/3ds_plugin.cpp trunk/lib/openlibraries/src/openobjectlib/plugins/3ds/3ds_plugin.hpp trunk/lib/openlibraries/src/openobjectlib/plugins/3ds/3ds_plugin.opl trunk/lib/openlibraries/src/openobjectlib/plugins/3ds/Makefile.am trunk/lib/openlibraries/src/openobjectlib/plugins/3ds/config.hpp trunk/lib/openlibraries/src/openobjectlib/plugins/Makefile.am trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/ trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/Makefile.am trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/X3D_vc8.vcproj trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/actions/ trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/actions/x3d_parser_action.cpp trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/actions/x3d_parser_action.hpp trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/config.hpp trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/x3d.cpp trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/x3d_content_handler_libxml.cpp trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/x3d_content_handler_libxml.hpp trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/x3d_content_handler_msxml.cpp trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/x3d_content_handler_msxml.hpp trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/x3d_plugin.cpp trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/x3d_plugin.hpp trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/x3d_plugin.opl trunk/lib/openlibraries/src/openobjectlib/plugins/X3D/xml_value_tokenizer.hpp trunk/lib/openlibraries/src/openobjectlib/plugins/obj/ trunk/lib/openlibraries/src/openobjectlib/plugins/obj/Makefile.am trunk/lib/openlibraries/src/openobjectlib/plugins/obj/config.hpp trunk/lib/openlibraries/src/openobjectlib/plugins/obj/obj.cpp trunk/lib/openlibraries/src/openobjectlib/plugins/obj/obj_plugin.cpp trunk/lib/openlibraries/src/openobjectlib/plugins/obj/obj_plugin.hpp trunk/lib/openlibraries/src/openobjectlib/plugins/obj/obj_plugin.opl trunk/lib/openlibraries/src/openobjectlib/plugins/obj/obj_vc8.vcproj trunk/lib/openlibraries/src/openobjectlib/plugins/obj/spirit.hpp trunk/lib/openlibraries/src/openobjectlib/sg/ trunk/lib/openlibraries/src/openobjectlib/sg/Makefile.am trunk/lib/openlibraries/src/openobjectlib/sg/appearance.cpp trunk/lib/openlibraries/src/openobjectlib/sg/appearance.hpp trunk/lib/openlibraries/src/openobjectlib/sg/bbox_volume.cpp trunk/lib/openlibraries/src/openobjectlib/sg/bbox_volume.hpp trunk/lib/openlibraries/src/openobjectlib/sg/calculate_tangent_space.cpp trunk/lib/openlibraries/src/openobjectlib/sg/calculate_tangent_space.hpp trunk/lib/openlibraries/src/openobjectlib/sg/config.hpp trunk/lib/openlibraries/src/openobjectlib/sg/constant_time_dispatcher.hpp trunk/lib/openlibraries/src/openobjectlib/sg/core.hpp trunk/lib/openlibraries/src/openobjectlib/sg/graph_updater.cpp trunk/lib/openlibraries/src/openobjectlib/sg/graph_updater.hpp trunk/lib/openlibraries/src/openobjectlib/sg/hw_GL_renderer.cpp trunk/lib/openlibraries/src/openobjectlib/sg/hw_GL_renderer.hpp trunk/lib/openlibraries/src/openobjectlib/sg/lexical_cast.hpp trunk/lib/openlibraries/src/openobjectlib/sg/meshes.cpp trunk/lib/openlibraries/src/openobjectlib/sg/meshes.hpp trunk/lib/openlibraries/src/openobjectlib/sg/openobjectlib_plugin.cpp trunk/lib/openlibraries/src/openobjectlib/sg/openobjectlib_plugin.hpp trunk/lib/openlibraries/src/openobjectlib/sg/render_buffer.cpp trunk/lib/openlibraries/src/openobjectlib/sg/render_buffer.hpp trunk/lib/openlibraries/src/openobjectlib/sg/scene.cpp trunk/lib/openlibraries/src/openobjectlib/sg/scene.hpp trunk/lib/openlibraries/src/openobjectlib/sg/sg.cpp trunk/lib/openlibraries/src/openobjectlib/sg/sg.hpp trunk/lib/openlibraries/src/openobjectlib/sg/sg_vc8.vcproj trunk/lib/openlibraries/src/openobjectlib/sg/shaders.cpp trunk/lib/openlibraries/src/openobjectlib/sg/shaders.hpp trunk/lib/openlibraries/src/openobjectlib/sg/spatial.cpp trunk/lib/openlibraries/src/openobjectlib/sg/spatial.hpp trunk/lib/openlibraries/src/openobjectlib/sg/spirit.hpp trunk/lib/openlibraries/src/openpluginlib/ trunk/lib/openlibraries/src/openpluginlib/Makefile.am trunk/lib/openlibraries/src/openpluginlib/pl/ trunk/lib/openlibraries/src/openpluginlib/pl/GL_utility.cpp trunk/lib/openlibraries/src/openpluginlib/pl/GL_utility.hpp trunk/lib/openlibraries/src/openpluginlib/pl/Makefile.am trunk/lib/openlibraries/src/openpluginlib/pl/allocatorstringstorage.h trunk/lib/openlibraries/src/openpluginlib/pl/bind_info.cpp trunk/lib/openlibraries/src/openpluginlib/pl/bind_info.hpp trunk/lib/openlibraries/src/openpluginlib/pl/cg.cpp trunk/lib/openlibraries/src/openpluginlib/pl/cg.hpp trunk/lib/openlibraries/src/openpluginlib/pl/config.hpp trunk/lib/openlibraries/src/openpluginlib/pl/content_handler_libxml.cpp trunk/lib/openlibraries/src/openpluginlib/pl/content_handler_libxml.hpp trunk/lib/openlibraries/src/openpluginlib/pl/content_handler_msxml.cpp trunk/lib/openlibraries/src/openpluginlib/pl/content_handler_msxml.hpp trunk/lib/openlibraries/src/openpluginlib/pl/cowstringopt.h trunk/lib/openlibraries/src/openpluginlib/pl/discovery_traits.hpp trunk/lib/openlibraries/src/openpluginlib/pl/fast_math.cpp trunk/lib/openlibraries/src/openpluginlib/pl/fast_math.hpp trunk/lib/openlibraries/src/openpluginlib/pl/flex_string.h trunk/lib/openlibraries/src/openpluginlib/pl/flex_string_details.h trunk/lib/openlibraries/src/openpluginlib/pl/flex_string_shell.h trunk/lib/openlibraries/src/openpluginlib/pl/geometry.hpp trunk/lib/openlibraries/src/openpluginlib/pl/openplugin.cpp trunk/lib/openlibraries/src/openpluginlib/pl/openplugin.hpp trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.cpp trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.hpp trunk/lib/openlibraries/src/openpluginlib/pl/opl_importer.cpp trunk/lib/openlibraries/src/openpluginlib/pl/opl_importer.hpp trunk/lib/openlibraries/src/openpluginlib/pl/opl_parser_action.cpp trunk/lib/openlibraries/src/openpluginlib/pl/opl_parser_action.hpp trunk/lib/openlibraries/src/openpluginlib/pl/pcos/ trunk/lib/openlibraries/src/openpluginlib/pl/pcos/iclonable.hpp trunk/lib/openlibraries/src/openpluginlib/pl/pcos/iproperty_container.hpp trunk/lib/openlibraries/src/openpluginlib/pl/pcos/isubject.hpp trunk/lib/openlibraries/src/openpluginlib/pl/pcos/key.cpp trunk/lib/openlibraries/src/openpluginlib/pl/pcos/key.hpp trunk/lib/openlibraries/src/openpluginlib/pl/pcos/observer.hpp trunk/lib/openlibraries/src/openpluginlib/pl/pcos/property.cpp trunk/lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp trunk/lib/openlibraries/src/openpluginlib/pl/pcos/property_container.cpp trunk/lib/openlibraries/src/openpluginlib/pl/pcos/property_container.hpp trunk/lib/openlibraries/src/openpluginlib/pl/pcos/subject.cpp trunk/lib/openlibraries/src/openpluginlib/pl/pcos/subject.hpp trunk/lib/openlibraries/src/openpluginlib/pl/pcos/visitor.hpp trunk/lib/openlibraries/src/openpluginlib/pl/pl_vc8.vcproj trunk/lib/openlibraries/src/openpluginlib/pl/pool.cpp trunk/lib/openlibraries/src/openpluginlib/pl/pool.hpp trunk/lib/openlibraries/src/openpluginlib/pl/property.hpp trunk/lib/openlibraries/src/openpluginlib/pl/registry.cpp trunk/lib/openlibraries/src/openpluginlib/pl/registry.hpp trunk/lib/openlibraries/src/openpluginlib/pl/shader_manager.cpp trunk/lib/openlibraries/src/openpluginlib/pl/shader_manager.hpp trunk/lib/openlibraries/src/openpluginlib/pl/simplestringstorage.h trunk/lib/openlibraries/src/openpluginlib/pl/smallstringopt.h trunk/lib/openlibraries/src/openpluginlib/pl/string.hpp trunk/lib/openlibraries/src/openpluginlib/pl/timer.cpp trunk/lib/openlibraries/src/openpluginlib/pl/timer.hpp trunk/lib/openlibraries/src/openpluginlib/pl/utf8_utils.cpp trunk/lib/openlibraries/src/openpluginlib/pl/utf8_utils.hpp trunk/lib/openlibraries/src/openpluginlib/pl/vectorstringstorage.h trunk/lib/openlibraries/src/openpluginlib/py/ trunk/lib/openlibraries/src/openpluginlib/py/Makefile.am trunk/lib/openlibraries/src/openpluginlib/py/geometry.cpp trunk/lib/openlibraries/src/openpluginlib/py/multi_property.cpp trunk/lib/openlibraries/src/openpluginlib/py/openpluginlib.cpp trunk/lib/openlibraries/src/openpluginlib/py/pcos/ trunk/lib/openlibraries/src/openpluginlib/py/pcos/any.cpp trunk/lib/openlibraries/src/openpluginlib/py/pcos/key.cpp trunk/lib/openlibraries/src/openpluginlib/py/pcos/observer.cpp trunk/lib/openlibraries/src/openpluginlib/py/pcos/property.cpp trunk/lib/openlibraries/src/openpluginlib/py/pcos/property_container.cpp trunk/lib/openlibraries/src/openpluginlib/py/pcos/subject.cpp trunk/lib/openlibraries/src/openpluginlib/py/pcos/visitor.cpp trunk/lib/openlibraries/src/openpluginlib/py/py.cpp trunk/lib/openlibraries/src/openpluginlib/py/py.hpp trunk/lib/openlibraries/src/openpluginlib/py/py_vc8.vcproj trunk/lib/openlibraries/src/openpluginlib/py/python.hpp trunk/lib/openlibraries/src/openpluginlib/py/single_property.cpp trunk/lib/openlibraries/src/openpluginlib/py/string.cpp trunk/lib/openlibraries/test/ trunk/lib/openlibraries/test/Makefile.am trunk/lib/openlibraries/test/openassetlib/ trunk/lib/openlibraries/test/openassetlib/Makefile.am trunk/lib/openlibraries/test/openassetlib/python_bindings_unittest/ trunk/lib/openlibraries/test/openassetlib/python_bindings_unittest/python_binding_unittest.py trunk/lib/openlibraries/test/openassetlib/python_bindings_unittest/uuid.py trunk/lib/openlibraries/test/openassetlib/unittest_filesystem_storage_plugin/ trunk/lib/openlibraries/test/openassetlib/unittest_filesystem_storage_plugin/filesystem_plugin_test.py trunk/lib/openlibraries/test/openassetlib/unittest_filesystem_storage_plugin/main.cpp trunk/lib/openlibraries/test/openassetlib/unittest_filesystem_storage_plugin/unittest_filesystem_storage_plugin.vcproj trunk/lib/openlibraries/test/openassetlib/unittest_filesystem_storage_plugin/uuid.py trunk/lib/openlibraries/test/openassetlib/unittest_sqlite3_metadata_plugin/ trunk/lib/openlibraries/test/openassetlib/unittest_sqlite3_metadata_plugin/main.cpp trunk/lib/openlibraries/test/openassetlib/unittest_sqlite3_metadata_plugin/unittest_sqlite3_metadata_plugin.vcproj trunk/lib/openlibraries/test/openeffectslib/ trunk/lib/openlibraries/test/openeffectslib/Makefile.am trunk/lib/openlibraries/test/openeffectslib/rescaler_bench/ trunk/lib/openlibraries/test/openeffectslib/rescaler_bench/rescaler_bench.cpp trunk/lib/openlibraries/test/openeffectslib/rescaler_bench/rescaler_bench_vc8.vcproj trunk/lib/openlibraries/test/openeffectslib/tm_bench/ trunk/lib/openlibraries/test/openeffectslib/tm_bench/Makefile.am trunk/lib/openlibraries/test/openeffectslib/tm_bench/tm_bench.cpp trunk/lib/openlibraries/test/openeffectslib/tm_bench/tm_bench_vc8.vcproj trunk/lib/openlibraries/test/openimagelib/ trunk/lib/openlibraries/test/openimagelib/GL/ trunk/lib/openlibraries/test/openimagelib/GL/Makefile.am trunk/lib/openlibraries/test/openimagelib/GL/_2D/ trunk/lib/openlibraries/test/openimagelib/GL/_2D/Makefile.am trunk/lib/openlibraries/test/openimagelib/GL/_2D/_2D.cpp trunk/lib/openlibraries/test/openimagelib/GL/_2D/_2D_vc8.vcproj trunk/lib/openlibraries/test/openimagelib/GL/_2D/test.bmp trunk/lib/openlibraries/test/openimagelib/GL/_2D/test.jpg trunk/lib/openlibraries/test/openimagelib/GL/_2D/test.png trunk/lib/openlibraries/test/openimagelib/GL/_2D/test.tga trunk/lib/openlibraries/test/openimagelib/GL/_2D_compressed/ trunk/lib/openlibraries/test/openimagelib/GL/_2D_compressed/Makefile.am trunk/lib/openlibraries/test/openimagelib/GL/_2D_compressed/_2D_compressed.cpp trunk/lib/openlibraries/test/openimagelib/GL/_2D_compressed/_2D_compressed_vc8.vcproj trunk/lib/openlibraries/test/openimagelib/GL/_2D_compressed/test.dds trunk/lib/openlibraries/test/openimagelib/GL/_2D_compressed_cubemap/ trunk/lib/openlibraries/test/openimagelib/GL/_2D_compressed_cubemap/Makefile.am trunk/lib/openlibraries/test/openimagelib/GL/_2D_compressed_cubemap/_2D_compressed_cubemap.cpp trunk/lib/openlibraries/test/openimagelib/GL/_2D_compressed_cubemap/_2D_compressed_cubemap_vc8.vcproj trunk/lib/openlibraries/test/openimagelib/GL/_2D_compressed_cubemap/test.dds trunk/lib/openlibraries/test/openimagelib/GL/_2D_crop/ trunk/lib/openlibraries/test/openimagelib/GL/_2D_crop/Makefile.am trunk/lib/openlibraries/test/openimagelib/GL/_2D_crop/_2D_crop.cpp trunk/lib/openlibraries/test/openimagelib/GL/_2D_crop/_2D_crop_vc8.vcproj trunk/lib/openlibraries/test/openimagelib/GL/_2D_crop/test.jpg trunk/lib/openlibraries/test/openimagelib/GL/_2D_crop2/ trunk/lib/openlibraries/test/openimagelib/GL/_2D_crop2/Makefile.am trunk/lib/openlibraries/test/openimagelib/GL/_2D_crop2/_2D_crop2.cpp trunk/lib/openlibraries/test/openimagelib/GL/_2D_crop2/_2D_crop2_vc8.vcproj trunk/lib/openlibraries/test/openimagelib/GL/_2D_crop2/test.jpg trunk/lib/openlibraries/test/openimagelib/GL/_2D_exr/ trunk/lib/openlibraries/test/openimagelib/GL/_2D_exr/Makefile.am trunk/lib/openlibraries/test/openimagelib/GL/_2D_exr/_2D_exr.cpp trunk/lib/openlibraries/test/openimagelib/GL/_2D_exr/_2D_exr_vc8.vcproj trunk/lib/openlibraries/test/openimagelib/GL/_2D_scale/ trunk/lib/openlibraries/test/openimagelib/GL/_2D_scale/Makefile.am trunk/lib/openlibraries/test/openimagelib/GL/_2D_scale/_2D_scale.cpp trunk/lib/openlibraries/test/openimagelib/GL/_2D_sgi/ trunk/lib/openlibraries/test/openimagelib/GL/_2D_sgi/Makefile.am trunk/lib/openlibraries/test/openimagelib/GL/_2D_sgi/_2D_sgi.cpp trunk/lib/openlibraries/test/openimagelib/GL/_2D_sgi/_2D_sgi_vc8.vcproj trunk/lib/openlibraries/test/openimagelib/GL/_2D_sgi/test.bw trunk/lib/openlibraries/test/openimagelib/GL/_2D_sgi/test.rgb trunk/lib/openlibraries/test/openimagelib/GL/_2D_sgi/test.rgba trunk/lib/openlibraries/test/openimagelib/GL/_3D_lightmap/ trunk/lib/openlibraries/test/openimagelib/GL/_3D_lightmap/_3D_lightmap.cpp trunk/lib/openlibraries/test/openimagelib/GL/_3D_lightmap/_3D_lightmap_vc8.vcproj trunk/lib/openlibraries/test/openimagelib/Makefile.am trunk/lib/openlibraries/test/openmedialib/ trunk/lib/openlibraries/test/openmedialib/Makefile.am trunk/lib/openlibraries/test/openmedialib/player/ trunk/lib/openlibraries/test/openmedialib/player/Makefile.am trunk/lib/openlibraries/test/openmedialib/player/player.cpp trunk/lib/openlibraries/test/openmedialib/player/player_vc8.vcproj trunk/lib/openlibraries/test/openmedialib/python/ trunk/lib/openlibraries/test/openmedialib/python/balance.py trunk/lib/openlibraries/test/openmedialib/python/bootstrap.py trunk/lib/openlibraries/test/openmedialib/python/common.py trunk/lib/openlibraries/test/openmedialib/python/filter.py trunk/lib/openlibraries/test/openmedialib/python/mix.py trunk/lib/openlibraries/test/openmedialib/python/ntsc.oml trunk/lib/openlibraries/test/openmedialib/python/pal.oml trunk/lib/openlibraries/test/openmedialib/python/play.py trunk/lib/openlibraries/test/openmedialib/python/reseat.py trunk/lib/openlibraries/test/openmedialib/python/resize.py trunk/lib/openlibraries/test/openmedialib/python/reverse.py trunk/lib/openlibraries/test/openmedialib/python/rpn.oml trunk/lib/openlibraries/test/openmedialib/python/rpn.py trunk/lib/openlibraries/test/openmedialib/python/stacks.py trunk/lib/openlibraries/test/openmedialib/python/store.py trunk/lib/openlibraries/test/openmedialib/qtplayer/ trunk/lib/openlibraries/test/openmedialib/qtplayer/README trunk/lib/openlibraries/test/openmedialib/qtplayer/jahlogo.jpg trunk/lib/openlibraries/test/openmedialib/qtplayer/main.cpp trunk/lib/openlibraries/test/openmedialib/qtplayer/qtplayer.h trunk/lib/openlibraries/test/openmedialib/qtplayer/qtplayer.pro trunk/lib/openlibraries/test/openmedialib/store/ trunk/lib/openlibraries/test/openmedialib/store/Makefile.am trunk/lib/openlibraries/test/openmedialib/store/store.cpp trunk/lib/openlibraries/test/openmedialib/store/store_vc8.vcproj trunk/lib/openlibraries/test/openobjectlib/ trunk/lib/openlibraries/test/openobjectlib/GL/ trunk/lib/openlibraries/test/openobjectlib/GL/Makefile.am trunk/lib/openlibraries/test/openobjectlib/GL/multipass_draw/ trunk/lib/openlibraries/test/openobjectlib/GL/multipass_draw/Makefile.am trunk/lib/openlibraries/test/openobjectlib/GL/multipass_draw/multipass_draw.cpp trunk/lib/openlibraries/test/openobjectlib/GL/multipass_draw/multipass_draw_vc8.vcproj trunk/lib/openlibraries/test/openobjectlib/GL/noise_volume/ trunk/lib/openlibraries/test/openobjectlib/GL/noise_volume/Makefile.am trunk/lib/openlibraries/test/openobjectlib/GL/noise_volume/noise_volume.cpp trunk/lib/openlibraries/test/openobjectlib/GL/noise_volume/noise_volume_vc8.vcproj trunk/lib/openlibraries/test/openobjectlib/GL/obj_draw/ trunk/lib/openlibraries/test/openobjectlib/GL/obj_draw/Makefile.am trunk/lib/openlibraries/test/openobjectlib/GL/obj_draw/f-16.mtl trunk/lib/openlibraries/test/openobjectlib/GL/obj_draw/f-16.obj trunk/lib/openlibraries/test/openobjectlib/GL/obj_draw/obj_draw.cpp trunk/lib/openlibraries/test/openobjectlib/GL/obj_draw/obj_draw_vc8.vcproj trunk/lib/openlibraries/test/openobjectlib/GL/texture_draw/ trunk/lib/openlibraries/test/openobjectlib/GL/texture_draw/Makefile.am trunk/lib/openlibraries/test/openobjectlib/GL/texture_draw/texture_draw.cpp trunk/lib/openlibraries/test/openobjectlib/GL/texture_draw/texture_draw_vc8.vcproj trunk/lib/openlibraries/test/openobjectlib/Makefile.am trunk/lib/openlibraries/test/openpluginlib/ trunk/lib/openlibraries/test/openpluginlib/Makefile.am trunk/lib/openlibraries/test/openpluginlib/discovery/ trunk/lib/openlibraries/test/openpluginlib/discovery/Makefile.am trunk/lib/openlibraries/test/openpluginlib/discovery/discovery.cpp trunk/lib/openlibraries/test/openpluginlib/discovery/discovery_vc8.vcproj trunk/lib/openlibraries/test/openpluginlib/enumerate/ trunk/lib/openlibraries/test/openpluginlib/enumerate/Makefile.am trunk/lib/openlibraries/test/openpluginlib/enumerate/enumerate.cpp trunk/lib/openlibraries/test/openpluginlib/enumerate/enumerate.py trunk/lib/openlibraries/test/openpluginlib/enumerate/enumerate_vc8.vcproj trunk/lib/openlibraries/test/openpluginlib/gettimeofday/ trunk/lib/openlibraries/test/openpluginlib/gettimeofday/Makefile.am trunk/lib/openlibraries/test/openpluginlib/gettimeofday/gettimeofday.cpp trunk/lib/openlibraries/test/openpluginlib/gpu_timer_query/ trunk/lib/openlibraries/test/openpluginlib/gpu_timer_query/Makefile.am trunk/lib/openlibraries/test/openpluginlib/gpu_timer_query/gpu_timer_query.cpp trunk/lib/openlibraries/test/openpluginlib/gpu_timer_query/gpu_timer_query_vc8.vcproj trunk/lib/openlibraries/test/openpluginlib/initialization/ trunk/lib/openlibraries/test/openpluginlib/initialization/Makefile.am trunk/lib/openlibraries/test/openpluginlib/initialization/initialization.cpp trunk/lib/openlibraries/test/openpluginlib/initialization/initialization_vc8.vcproj trunk/lib/openlibraries/test/openpluginlib/pcos/ trunk/lib/openlibraries/test/openpluginlib/pcos/Makefile.am trunk/lib/openlibraries/test/openpluginlib/pcos/key/ trunk/lib/openlibraries/test/openpluginlib/pcos/key/Makefile.am trunk/lib/openlibraries/test/openpluginlib/pcos/key/key.cpp trunk/lib/openlibraries/test/openpluginlib/pcos/key/key_vc8.vcproj trunk/lib/openlibraries/test/openpluginlib/pcos/property/ trunk/lib/openlibraries/test/openpluginlib/pcos/property/Makefile.am trunk/lib/openlibraries/test/openpluginlib/pcos/property/property.cpp trunk/lib/openlibraries/test/openpluginlib/pcos/property/property.py trunk/lib/openlibraries/test/openpluginlib/pcos/property/property_vc8.vcproj trunk/lib/openlibraries/test/openpluginlib/pcos/property_container/ trunk/lib/openlibraries/test/openpluginlib/pcos/property_container/Makefile.am trunk/lib/openlibraries/test/openpluginlib/pcos/property_container/property_container.cpp trunk/lib/openlibraries/test/openpluginlib/pcos/property_container/property_container.py trunk/lib/openlibraries/test/openpluginlib/pcos/property_container/property_container_vc8.vcproj trunk/lib/openlibraries/test/openpluginlib/pcos/subject-observer/ trunk/lib/openlibraries/test/openpluginlib/pcos/subject-observer/Makefile.am trunk/lib/openlibraries/test/openpluginlib/pcos/subject-observer/subject-observer.cpp trunk/lib/openlibraries/test/openpluginlib/pcos/subject-observer/subject-observer.py trunk/lib/openlibraries/test/openpluginlib/pcos/subject-observer/subject-observer_vc8.vcproj trunk/lib/openlibraries/test/openpluginlib/rdtsc/ trunk/lib/openlibraries/test/openpluginlib/rdtsc/Makefile.am trunk/lib/openlibraries/test/openpluginlib/rdtsc/rdtsc.cpp trunk/lib/openlibraries/test/openpluginlib/rdtsc/rdtsc_vc8.vcproj trunk/lib/openlibraries/test/openpluginlib/sleep/ trunk/lib/openlibraries/test/openpluginlib/sleep/sleep.cpp trunk/lib/openlibraries/test/openpluginlib/sleep/sleep_vc8.vcproj trunk/lib/openlibraries/winbuild.py Added: trunk/lib/extras/AUTHORS =================================================================== Property changes on: trunk/lib/extras/AUTHORS ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/lib/extras/COPYING =================================================================== --- trunk/lib/extras/COPYING (rev 0) +++ trunk/lib/extras/COPYING 2007-05-20 22:48:57 UTC (rev 133) @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the G... [truncated message content] |
From: <gl...@us...> - 2007-05-20 22:06:31
|
Revision: 132 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=132&view=rev Author: glslang Date: 2007-05-20 15:06:27 -0700 (Sun, 20 May 2007) Log Message: ----------- + proper svn repo Added Paths: ----------- trunk/app/ trunk/unity.sh Removed Paths: ------------- app/ lib/ unity.sh Added: trunk/unity.sh =================================================================== --- trunk/unity.sh (rev 0) +++ trunk/unity.sh 2007-05-20 22:06:27 UTC (rev 132) @@ -0,0 +1,37 @@ +#!/bin/sh -x +# Unification of build and distribution: +# recurses into lib and app directories, building each in turn. +# updates Boost version in VC8 project files. + +if [ $# -eq "0" ] +then + echo "usage: `basename $0` options (-evb)" + exit 1 +fi + +update_boost_version=0 +boost_old_version=1_33_1 +boost_new_version=1_34 + +while getopts "v:b:e" option +do + case $option in + e ) update_boost_version=1;; + v ) boost_old_version="$OPTARG";; + b ) boost_new_version="$OPTARG";; + esac +done + +shift $(($OPTIND - 1)) + +if [ "$update_boost_version" -eq 1 ] +then + find . -type f -name '*.vcproj' -print | while read i + do cp $i $i.unity.bak && + sed -e "s|boost-$boost_old_version|boost-$boost_new_version|g" -e "s|$boost_old_version.lib|$boost_new_version.lib|g" $i.unity.bak > $i && + rm $i.unity.bak + done +fi + +exit 0 + Property changes on: trunk/unity.sh ___________________________________________________________________ Name: svn:eol-style + native Deleted: unity.sh =================================================================== --- unity.sh 2007-05-20 21:16:23 UTC (rev 131) +++ unity.sh 2007-05-20 22:06:27 UTC (rev 132) @@ -1,37 +0,0 @@ -#!/bin/sh -x -# Unification of build and distribution: -# recurses into lib and app directories, building each in turn. -# updates Boost version in VC8 project files. - -if [ $# -eq "0" ] -then - echo "usage: `basename $0` options (-evb)" - exit 1 -fi - -update_boost_version=0 -boost_old_version=1_33_1 -boost_new_version=1_34 - -while getopts "v:b:e" option -do - case $option in - e ) update_boost_version=1;; - v ) boost_old_version="$OPTARG";; - b ) boost_new_version="$OPTARG";; - esac -done - -shift $(($OPTIND - 1)) - -if [ "$update_boost_version" -eq 1 ] -then - find . -type f -name '*.vcproj' -print | while read i - do cp $i $i.unity.bak && - sed -e "s|boost-$boost_old_version|boost-$boost_new_version|g" -e "s|$boost_old_version.lib|$boost_new_version.lib|g" $i.unity.bak > $i && - rm $i.unity.bak - done -fi - -exit 0 - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-20 21:16:28
|
Revision: 131 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=131&view=rev Author: glslang Date: 2007-05-20 14:16:23 -0700 (Sun, 20 May 2007) Log Message: ----------- + initial proper SVN repo Added Paths: ----------- branches/ tags/ trunk/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-20 17:19:42
|
Revision: 130 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=130&view=rev Author: glslang Date: 2007-05-20 10:19:35 -0700 (Sun, 20 May 2007) Log Message: ----------- + remove qim plugin Modified Paths: -------------- lib/openlibraries/configure.ac lib/openlibraries/installer/openlibraries_runtime.nsi lib/openlibraries/installer/openlibraries_sdk.nsi lib/openlibraries/openlibraries_vc8.sln lib/openlibraries/src/openimagelib/plugins/Makefile.am Removed Paths: ------------- lib/openlibraries/src/openimagelib/plugins/qim/ Modified: lib/openlibraries/configure.ac =================================================================== --- lib/openlibraries/configure.ac 2007-05-19 23:40:54 UTC (rev 129) +++ lib/openlibraries/configure.ac 2007-05-20 17:19:35 UTC (rev 130) @@ -362,7 +362,6 @@ src/openimagelib/plugins/hdr/Makefile src/openimagelib/plugins/jpg/Makefile src/openimagelib/plugins/png/Makefile -src/openimagelib/plugins/qim/Makefile src/openimagelib/plugins/quicktime/Makefile src/openimagelib/plugins/sgi/Makefile src/openimagelib/plugins/tga/Makefile Modified: lib/openlibraries/installer/openlibraries_runtime.nsi =================================================================== --- lib/openlibraries/installer/openlibraries_runtime.nsi 2007-05-19 23:40:54 UTC (rev 129) +++ lib/openlibraries/installer/openlibraries_runtime.nsi 2007-05-20 17:19:35 UTC (rev 130) @@ -125,8 +125,6 @@ File "..\src\openimagelib\plugins\sgi\Multi-threaded Release DLL\openimagelib_sgi-vc80-r-0_4_0.dll" File "..\src\openimagelib\plugins\tga\tga_plugin.opl" File "..\src\openimagelib\plugins\tga\Multi-threaded Release DLL\openimagelib_tga-vc80-r-0_4_0.dll" - File "..\src\openimagelib\plugins\qim\qim_plugin.opl" - File "..\src\openimagelib\plugins\qim\Multi-threaded Release DLL\openimagelib_qim-vc80-r-0_4_0.dll" File "..\src\openmedialib\plugins\avformat\avformat_plugin.opl" File "..\src\openmedialib\plugins\avformat\Multi-threaded Release DLL\openmedialib_avformat-vc80-r-0_4_0.dll" File "..\src\openmedialib\plugins\glew\glew_plugin.opl" Modified: lib/openlibraries/installer/openlibraries_sdk.nsi =================================================================== --- lib/openlibraries/installer/openlibraries_sdk.nsi 2007-05-19 23:40:54 UTC (rev 129) +++ lib/openlibraries/installer/openlibraries_sdk.nsi 2007-05-20 17:19:35 UTC (rev 130) @@ -237,8 +237,6 @@ File "..\src\openimagelib\plugins\sgi\Multi-threaded Debug DLL\openimagelib_sgi-vc80-d-0_4_0.dll" File "..\src\openimagelib\plugins\tga\tga_plugin.opl" File "..\src\openimagelib\plugins\tga\Multi-threaded Debug DLL\openimagelib_tga-vc80-d-0_4_0.dll" - File "..\src\openimagelib\plugins\qim\qim_plugin.opl" - File "..\src\openimagelib\plugins\qim\Multi-threaded Debug DLL\openimagelib_qim-vc80-d-0_4_0.dll" File "..\src\openmedialib\plugins\avformat\avformat_plugin.opl" File "..\src\openmedialib\plugins\avformat\Multi-threaded Debug DLL\openmedialib_avformat-vc80-d-0_4_0.dll" File "..\src\openmedialib\plugins\glew\glew_plugin.opl" @@ -285,8 +283,6 @@ File "..\src\openimagelib\plugins\sgi\Multi-threaded Release DLL\openimagelib_sgi-vc80-r-0_4_0.dll" File "..\src\openimagelib\plugins\tga\tga_plugin.opl" File "..\src\openimagelib\plugins\tga\Multi-threaded Release DLL\openimagelib_tga-vc80-r-0_4_0.dll" - File "..\src\openimagelib\plugins\qim\qim_plugin.opl" - File "..\src\openimagelib\plugins\qim\Multi-threaded Release DLL\openimagelib_qim-vc80-r-0_4_0.dll" File "..\src\openmedialib\plugins\avformat\avformat_plugin.opl" File "..\src\openmedialib\plugins\avformat\Multi-threaded Release DLL\openmedialib_avformat-vc80-r-0_4_0.dll" File "..\src\openmedialib\plugins\glew\glew_plugin.opl" Modified: lib/openlibraries/openlibraries_vc8.sln =================================================================== --- lib/openlibraries/openlibraries_vc8.sln 2007-05-19 23:40:54 UTC (rev 129) +++ lib/openlibraries/openlibraries_vc8.sln 2007-05-20 17:19:35 UTC (rev 130) @@ -155,12 +155,6 @@ {C9BA7656-B238-4882-A30A-EC2BDB2843B4} = {C9BA7656-B238-4882-A30A-EC2BDB2843B4} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qim", "src\openimagelib\plugins\qim\qim_vc8.vcproj", "{A2C21D3B-0948-4724-8028-C3824213912A}" - ProjectSection(ProjectDependencies) = postProject - {C9BA7656-B238-4882-A30A-EC2BDB2843B4} = {C9BA7656-B238-4882-A30A-EC2BDB2843B4} - {3D424B92-233E-4BA0-AFD3-0FD1D80F5DD0} = {3D424B92-233E-4BA0-AFD3-0FD1D80F5DD0} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "quicktime", "src\openimagelib\plugins\quicktime\quicktime_vc8.vcproj", "{AB23E1B4-55D4-4846-99BE-6EF3848ABCF3}" ProjectSection(ProjectDependencies) = postProject {3D424B92-233E-4BA0-AFD3-0FD1D80F5DD0} = {3D424B92-233E-4BA0-AFD3-0FD1D80F5DD0} @@ -514,10 +508,6 @@ {FF23E252-5FD9-4642-9563-1111B12D8EE7}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 {FF23E252-5FD9-4642-9563-1111B12D8EE7}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 {FF23E252-5FD9-4642-9563-1111B12D8EE7}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 - {A2C21D3B-0948-4724-8028-C3824213912A}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 - {A2C21D3B-0948-4724-8028-C3824213912A}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 - {A2C21D3B-0948-4724-8028-C3824213912A}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 - {A2C21D3B-0948-4724-8028-C3824213912A}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 {AB23E1B4-55D4-4846-99BE-6EF3848ABCF3}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 {AB23E1B4-55D4-4846-99BE-6EF3848ABCF3}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 {AB23E1B4-55D4-4846-99BE-6EF3848ABCF3}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 @@ -726,7 +716,6 @@ {972FF7FA-BDBE-400E-BDF6-59C13A6AE74D} = {D9066C6C-E143-472F-860E-004E481F3E0A} {4A6B0F4F-676E-4A96-A990-62464D923ED2} = {D9066C6C-E143-472F-860E-004E481F3E0A} {FF23E252-5FD9-4642-9563-1111B12D8EE7} = {D9066C6C-E143-472F-860E-004E481F3E0A} - {A2C21D3B-0948-4724-8028-C3824213912A} = {D9066C6C-E143-472F-860E-004E481F3E0A} {AB23E1B4-55D4-4846-99BE-6EF3848ABCF3} = {D9066C6C-E143-472F-860E-004E481F3E0A} {291BFF23-61D3-4355-8AA5-C8BF0FE30CB0} = {D9066C6C-E143-472F-860E-004E481F3E0A} {227A0088-F3AE-4CA7-941C-0283D44F1678} = {D9066C6C-E143-472F-860E-004E481F3E0A} Modified: lib/openlibraries/src/openimagelib/plugins/Makefile.am =================================================================== --- lib/openlibraries/src/openimagelib/plugins/Makefile.am 2007-05-19 23:40:54 UTC (rev 129) +++ lib/openlibraries/src/openimagelib/plugins/Makefile.am 2007-05-20 17:19:35 UTC (rev 130) @@ -11,9 +11,7 @@ hdr \ jpg \ png \ - qim \ sgi \ tga \ - tiff \ + tiff \ quicktime - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-19 23:40:56
|
Revision: 129 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=129&view=rev Author: glslang Date: 2007-05-19 16:40:54 -0700 (Sat, 19 May 2007) Log Message: ----------- + revert back pcos changes Modified Paths: -------------- lib/openlibraries/src/openpluginlib/pl/pcos/property.cpp lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp lib/openlibraries/src/openpluginlib/pl/pcos/property_container.cpp lib/openlibraries/src/openpluginlib/pl/pcos/subject.hpp lib/openlibraries/src/openpluginlib/py/pcos/property.cpp lib/openlibraries/src/openpluginlib/py/pcos/subject.cpp Modified: lib/openlibraries/src/openpluginlib/pl/pcos/property.cpp =================================================================== --- lib/openlibraries/src/openpluginlib/pl/pcos/property.cpp 2007-05-19 18:42:13 UTC (rev 128) +++ lib/openlibraries/src/openpluginlib/pl/pcos/property.cpp 2007-05-19 23:40:54 UTC (rev 129) @@ -12,6 +12,7 @@ #include <openpluginlib/pl/utf8_utils.hpp> #include <openpluginlib/pl/pcos/property.hpp> #include <openpluginlib/pl/pcos/subject.hpp> +#include <openpluginlib/pl/pcos/property_container.hpp> namespace opl = olib::openpluginlib; @@ -563,6 +564,7 @@ property_impl* result = new property_impl( key_ ); result->value = value; result->always_notify = always_notify; + result->container_ = container_; return result; } @@ -571,6 +573,7 @@ any value; bool always_notify; subject subject_; + property_container container_; }; property property::NULL_PROPERTY; @@ -612,6 +615,21 @@ impl_->subject_.unblock( obs ); } +property property::get_property_with_string( const char* k ) const +{ + return impl_->container_.get_property_with_string( k ); +} + +property property::get_property_with_key( const key& k ) const +{ + return impl_->container_.get_property_with_key( k ); +} + +key_vector property::get_keys() const +{ + return impl_->container_.get_keys(); +} + property* property::clone() const { property* result = new property( get_key() ); @@ -693,6 +711,7 @@ void property::accept( visitor& v ) { v.visit_property( *this ); + v.visit_property_container( impl_->container_ ); } bool property::valid() const Modified: lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp =================================================================== --- lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp 2007-05-19 18:42:13 UTC (rev 128) +++ lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp 2007-05-19 23:40:54 UTC (rev 129) @@ -57,6 +57,11 @@ void block( boost::shared_ptr< observer > ); void unblock( boost::shared_ptr< observer > ); + // iproperty_container interface + property get_property_with_string( const char* k ) const; + property get_property_with_key( const key& k ) const; + key_vector get_keys( ) const; + // clonable interface property* clone( ) const; Modified: lib/openlibraries/src/openpluginlib/pl/pcos/property_container.cpp =================================================================== --- lib/openlibraries/src/openpluginlib/pl/pcos/property_container.cpp 2007-05-19 18:42:13 UTC (rev 128) +++ lib/openlibraries/src/openpluginlib/pl/pcos/property_container.cpp 2007-05-19 23:40:54 UTC (rev 129) @@ -20,17 +20,17 @@ class forwarding_observer : public observer { public: - forwarding_observer( subject* forwardTo ) + forwarding_observer( isubject* forwardTo ) : forwardTo_( forwardTo ) - { } + {} - virtual void updated(isubject* ) + virtual void updated( isubject* ) { forwardTo_->update(); } private: - subject* forwardTo_; + isubject* forwardTo_; }; /// inner class Modified: lib/openlibraries/src/openpluginlib/pl/pcos/subject.hpp =================================================================== --- lib/openlibraries/src/openpluginlib/pl/pcos/subject.hpp 2007-05-19 18:42:13 UTC (rev 128) +++ lib/openlibraries/src/openpluginlib/pl/pcos/subject.hpp 2007-05-19 23:40:54 UTC (rev 129) @@ -17,30 +17,30 @@ /// A standard subject to be part of the observer pattern. /// The observer pointers are held by shared references. -class OPENPLUGINLIB_DECLSPEC subject// : public isubject +class OPENPLUGINLIB_DECLSPEC subject : public isubject { public: - explicit subject(); + subject(); virtual ~subject(); //// attach an observer to this subject - virtual void attach( boost::shared_ptr< observer > ); + void attach( boost::shared_ptr< observer > ); /// detach an observer from this subject - virtual void detach( boost::shared_ptr< observer > ); + void detach( boost::shared_ptr< observer > ); /// notify all observers - virtual void update(); + void update(); /// block notification for an observer; this is /// a counted block operation i.e. if you call /// block n times on the same observer, no /// notification will be given until unblock() /// has been called a matching number of times. - virtual void block( boost::shared_ptr< observer > ); + void block( boost::shared_ptr< observer > ); /// unblock notification for an observer - virtual void unblock( boost::shared_ptr< observer > ); + void unblock( boost::shared_ptr< observer > ); private: subject& operator=( const subject& ); Modified: lib/openlibraries/src/openpluginlib/py/pcos/property.cpp =================================================================== --- lib/openlibraries/src/openpluginlib/py/pcos/property.cpp 2007-05-19 18:42:13 UTC (rev 128) +++ lib/openlibraries/src/openpluginlib/py/pcos/property.cpp 2007-05-19 23:40:54 UTC (rev 129) @@ -164,6 +164,11 @@ .def( "is_a_uint_list", is_a_uint_list ) .def( "is_a_double_list", is_a_double_list ) .def( "is_a_bool", is_a_bool ) + .def( "get_property", &pcos::property::get_property_with_string, py::return_value_policy< py::return_by_value >() ) + .def( "get_property", &pcos::property::get_property_with_key, py::return_value_policy< py::return_by_value >() ) + .def( "get_keys", &pcos::property::get_keys ) +// .def( "append", &pcos::property::append ) +// .def( "remove", &pcos::property::remove ) .def( "accept", &pcos::property::accept ) .def( "clone", &pcos::property::clone, py::return_value_policy< py::manage_new_object >() ); } Modified: lib/openlibraries/src/openpluginlib/py/pcos/subject.cpp =================================================================== --- lib/openlibraries/src/openpluginlib/py/pcos/subject.cpp 2007-05-19 18:42:13 UTC (rev 128) +++ lib/openlibraries/src/openpluginlib/py/pcos/subject.cpp 2007-05-19 23:40:54 UTC (rev 129) @@ -20,11 +20,11 @@ class isubject_wrap : public pcos::isubject, public py::wrapper< pcos::isubject > { public: - void attach( boost::shared_ptr< pcos::observer > o ) { py::call<void>(this->get_override("attach").ptr(), o ); } - void detach( boost::shared_ptr< pcos::observer > o ) { py::call<void>(this->get_override("detach").ptr(), o ); } - void update() { py::call<void>(this->get_override("update").ptr()); } - void block( boost::shared_ptr< pcos::observer > o ) { py::call<void>(this->get_override("block").ptr(), o ); } - void unblock( boost::shared_ptr< pcos::observer > o ) { py::call<void>(this->get_override("unblock").ptr(), o ); } + void attach( boost::shared_ptr< pcos::observer > o ) { py::call<void>(this->get_override("attach").ptr(), o ); } + void detach( boost::shared_ptr< pcos::observer > o ) { py::call<void>(this->get_override("detach").ptr(), o ); } + void update() { py::call<void>(this->get_override("update").ptr()); } + void block( boost::shared_ptr< pcos::observer > o ) { py::call<void>(this->get_override("block").ptr(), o ); } + void unblock( boost::shared_ptr< pcos::observer > o ) { py::call<void>(this->get_override("unblock").ptr(), o ); } }; void py_pcos_subject() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-19 18:42:15
|
Revision: 128 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=128&view=rev Author: glslang Date: 2007-05-19 11:42:13 -0700 (Sat, 19 May 2007) Log Message: ----------- + proper VM olibs merge Modified Paths: -------------- lib/openlibraries/src/openimagelib/il/utility.cpp Modified: lib/openlibraries/src/openimagelib/il/utility.cpp =================================================================== --- lib/openlibraries/src/openimagelib/il/utility.cpp 2007-05-19 17:38:22 UTC (rev 127) +++ lib/openlibraries/src/openimagelib/il/utility.cpp 2007-05-19 18:42:13 UTC (rev 128) @@ -73,6 +73,44 @@ lut[ i ] = static_cast<unsigned short>( floorf( val + 0.5f ) ); } } + + void float2rgbe( float red, float green, float blue, unsigned char rgbe[ 4 ] ) + { + float v = red; + if( v < green ) v = green; + if( v < blue ) v = blue; + + if( v < ( std::numeric_limits<float>::min )( ) ) + { + rgbe[ 0 ] = rgbe[ 1 ] = rgbe[ 2 ] = rgbe[ 3 ] = 0; + } + else + { + int exponent; + v = frexp( v, &exponent ) * 256.0f / v; + + rgbe[ 0 ] = static_cast<unsigned char>( red * v ); + rgbe[ 1 ] = static_cast<unsigned char>( green * v ); + rgbe[ 2 ] = static_cast<unsigned char>( blue * v ); + rgbe[ 3 ] = static_cast<unsigned char>( exponent + 128 ); + } + } + + void rgbe2float( unsigned char rgbe[ 4 ], float& red, float& green, float& blue ) + { + if( rgbe[ 3 ] ) + { + float f = ldexp( 1.0f, rgbe[ 3 ] - ( 128 + 8 ) ); + + red = rgbe[ 0 ] * f; + green = rgbe[ 1 ] * f; + blue = rgbe[ 2 ] * f; + } + else + { + red = green = blue = 0.0f; + } + } } // The following private functions are a bit rough and shouldn't be exposed publicly @@ -115,6 +153,7 @@ typedef image< unsigned char, r16g16b16a16log > r16g16b16a16log_image_type; typedef image< unsigned char, r32g32b32f > r32g32b32f_image_type; typedef image< unsigned char, r32g32b32a32f > r32g32b32a32f_image_type; +typedef image< unsigned char, rgbe > rgbe_image_type; typedef image< unsigned char, yuv444p > yuv444p_image_type; typedef image< unsigned char, yuv444 > yuv444_image_type; typedef image< unsigned char, yuv422 > yuv422_image_type; @@ -195,6 +234,8 @@ dst_img = image_type_ptr( new image_type( r32g32b32f_image_type( width, height, 1 ) ) ); else if( pf == L"r32g32b32a32f" ) dst_img = image_type_ptr( new image_type( r32g32b32a32f_image_type( width, height, 1 ) ) ); + else if( pf == L"rgbe" ) + dst_img = image_type_ptr( new image_type( rgbe_image_type( width, height, 1 ) ) ); else if ( pf == L"yuv444p" ) dst_img = image_type_ptr( new image_type( yuv444p_image_type( width, height, 1 ) ) ); else if ( pf == L"yuv444" ) @@ -1509,7 +1550,6 @@ *( dst + 2 ) = static_cast<unsigned char>( opl::fast_floorf( *src++ ) ); *( dst + 1 ) = static_cast<unsigned char>( opl::fast_floorf( *src++ ) ); *( dst + 0 ) = static_cast<unsigned char>( opl::fast_floorf( *src++ ) ); - *( dst + 3 ) = 255; dst += 4; @@ -1524,6 +1564,80 @@ return dst_img; } +static image_type_ptr rgbe_to_r32g32b32f( image_type_ptr src_img, const std::wstring &format ) +{ + size_type width = src_img->width( ); + size_type height = src_img->height( ); + + image_type_ptr dst_img = allocate( src_img, format ); + if( dst_img != 0 ) + { + pointer src = src_img->data( ); + size_type src_pitch = src_img->pitch( ); + float* dst = ( float* ) dst_img->data( ); + size_type dst_pitch = dst_img->pitch( ); + + pointer sptr = src; + float* dptr = dst; + + size_type orig_width = width; + + while( height-- ) + { + while( width-- ) + { + rgbe2float( src, *( dst + 0 ), *( dst + 1 ), *( dst + 2 ) ); + + dst += 3; + src += 4; + } + + dst = dptr += dst_pitch; + src = sptr += src_pitch; + width = orig_width; + } + } + + return dst_img; +} + +static image_type_ptr r32g32b32f_to_rgbe( image_type_ptr src_img, const std::wstring &format ) +{ + size_type width = src_img->width( ); + size_type height = src_img->height( ); + + image_type_ptr dst_img = allocate( src_img, format ); + if( dst_img != 0 ) + { + float* src = ( float* )src_img->data( ); + size_type src_pitch = src_img->pitch( ); + pointer dst = dst_img->data( ); + size_type dst_pitch = dst_img->pitch( ); + + float* sptr = src; + pointer dptr = dst; + + size_type orig_width = width; + + while( height-- ) + { + while( width-- ) + { + float2rgbe( *( src + 0 ), *( src + 1 ), *( src + 2 ), dst ); + + dst += 4; + src += 3; + } + + dst = dptr += dst_pitch; + src = sptr += src_pitch; + width = orig_width; + } + } + + return dst_img; +} + inline bool is_rgb_packed( const std::wstring &pf ) { return pf == L"a8b8g8r8" || pf == L"a8r8g8b8" || pf == L"b8g8r8" || pf == L"b8g8r8a8" || pf == L"r8g8b8" || pf == L"r8g8b8a8"; @@ -1798,6 +1912,13 @@ else if( dst_pf == L"ldr8" ) // stub colour space for straight truncation to LDR data. return r32g32b32f_to_b8g8r8a8( src, L"b8g8r8a8" ); } + else if( src_pf == L"rgbe" ) + { + if( dst_pf == L"b8g8r8a8" ) + return tm_linear( rgbe_to_r32g32b32f( src, L"r32g32b32f" ) ); + else if( dst_pf == L"r32g32b32f" ) + return rgbe_to_r32g32b32f( src, L"r32g32b32f" ); + } else if ( src_pf == L"yuv444" ) { if ( dst_pf == L"r8g8b8" ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-19 17:38:24
|
Revision: 127 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=127&view=rev Author: glslang Date: 2007-05-19 10:38:22 -0700 (Sat, 19 May 2007) Log Message: ----------- + installer updates + merge (partial) with VM olibs Modified Paths: -------------- lib/openlibraries/installer/openlibraries_runtime.nsi lib/openlibraries/installer/openlibraries_sdk.nsi lib/openlibraries/src/openimagelib/il/utility.cpp lib/openlibraries/src/openimagelib/il/utility.hpp lib/openlibraries/src/openimagelib/il/yuv_traits.hpp lib/openlibraries/src/openmedialib/ml/utilities.hpp Removed Paths: ------------- lib/openlibraries/installer/msxml4.msi Deleted: lib/openlibraries/installer/msxml4.msi =================================================================== (Binary files differ) Modified: lib/openlibraries/installer/openlibraries_runtime.nsi =================================================================== --- lib/openlibraries/installer/openlibraries_runtime.nsi 2007-05-19 16:37:10 UTC (rev 126) +++ lib/openlibraries/installer/openlibraries_runtime.nsi 2007-05-19 17:38:22 UTC (rev 127) @@ -79,9 +79,6 @@ SetOverwrite on - SetOutPath $INSTDIR - File "msxml4.msi" - SetOutPath $INSTDIR\bin File "..\src\openpluginlib\pl\Multi-threaded Release DLL\openpluginlib_pl-vc80-r-0_4_0.dll" File "..\src\openimagelib\il\Multi-threaded Release DLL\openimagelib_il-vc80-r-0_4_0.dll" @@ -198,14 +195,6 @@ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenLibraries" "DisplayName" "OpenLibraries" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenLibraries" "UninstallString" "$INSTDIR\uninst-openlibraries.exe" - SetDetailsPrint textonly - DetailPrint "Installing MSXML4..." - SetDetailsPrint listonly - - ExecWait 'MsiExec.exe /qn /x{2AEBE10C-D819-4EBF-BC60-03BF2327D340}' ; uninstall MSXML4 if it's there - ExecWait 'MsiExec.exe /qn /x{35343FF7-939B-401A-87B3-FF90A5123D88}' ; uninstall MSXML4 SP1 if it's there - ExecWait 'MsiExec.exe /qn /i "$INSTDIR\msxml4.msi"' - SectionEnd Section -post Modified: lib/openlibraries/installer/openlibraries_sdk.nsi =================================================================== --- lib/openlibraries/installer/openlibraries_sdk.nsi 2007-05-19 16:37:10 UTC (rev 126) +++ lib/openlibraries/installer/openlibraries_sdk.nsi 2007-05-19 17:38:22 UTC (rev 127) @@ -79,9 +79,6 @@ SetOverwrite on - SetOutPath $INSTDIR - File "msxml4.msi" - SetOutPath $INSTDIR\include\openlibraries-${VERSION}\openpluginlib\pl File ..\src\openpluginlib\pl\allocatorstringstorage.h File ..\src\openpluginlib\pl\bind_info.hpp @@ -368,15 +365,7 @@ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenLibraries" "DisplayName" "OpenLibraries" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenLibraries" "UninstallString" "$INSTDIR\uninst-openlibraries.exe" - - SetDetailsPrint textonly - DetailPrint "Installing MSXML4..." - SetDetailsPrint listonly - ExecWait 'MsiExec.exe /qn /x{2AEBE10C-D819-4EBF-BC60-03BF2327D340}' ; uninstall MSXML4 if it's there - ExecWait 'MsiExec.exe /qn /x{35343FF7-939B-401A-87B3-FF90A5123D88}' ; uninstall MSXML4 SP1 if it's there - ExecWait 'MsiExec.exe /qn /i "$INSTDIR\msxml4.msi"' - SectionEnd Section -post Modified: lib/openlibraries/src/openimagelib/il/utility.cpp =================================================================== --- lib/openlibraries/src/openimagelib/il/utility.cpp 2007-05-19 16:37:10 UTC (rev 126) +++ lib/openlibraries/src/openimagelib/il/utility.cpp 2007-05-19 17:38:22 UTC (rev 127) @@ -73,44 +73,6 @@ lut[ i ] = static_cast<unsigned short>( floorf( val + 0.5f ) ); } } - - void float2rgbe( float red, float green, float blue, unsigned char rgbe[ 4 ] ) - { - float v = red; - if( v < green ) v = green; - if( v < blue ) v = blue; - - if( v < ( std::numeric_limits<float>::min )( ) ) - { - rgbe[ 0 ] = rgbe[ 1 ] = rgbe[ 2 ] = rgbe[ 3 ] = 0; - } - else - { - int exponent; - v = frexp( v, &exponent ) * 256.0f / v; - - rgbe[ 0 ] = static_cast<unsigned char>( red * v ); - rgbe[ 1 ] = static_cast<unsigned char>( green * v ); - rgbe[ 2 ] = static_cast<unsigned char>( blue * v ); - rgbe[ 3 ] = static_cast<unsigned char>( exponent + 128 ); - } - } - - void rgbe2float( unsigned char rgbe[ 4 ], float& red, float& green, float& blue ) - { - if( rgbe[ 3 ] ) - { - float f = ldexp( 1.0f, rgbe[ 3 ] - ( 128 + 8 ) ); - - red = rgbe[ 0 ] * f; - green = rgbe[ 1 ] * f; - blue = rgbe[ 2 ] * f; - } - else - { - red = green = blue = 0.0f; - } - } } // The following private functions are a bit rough and shouldn't be exposed publicly @@ -153,7 +115,7 @@ typedef image< unsigned char, r16g16b16a16log > r16g16b16a16log_image_type; typedef image< unsigned char, r32g32b32f > r32g32b32f_image_type; typedef image< unsigned char, r32g32b32a32f > r32g32b32a32f_image_type; -typedef image< unsigned char, rgbe > rgbe_image_type; +typedef image< unsigned char, yuv444p > yuv444p_image_type; typedef image< unsigned char, yuv444 > yuv444_image_type; typedef image< unsigned char, yuv422 > yuv422_image_type; typedef image< unsigned char, yuv422p > yuv422p_image_type; @@ -233,8 +195,8 @@ dst_img = image_type_ptr( new image_type( r32g32b32f_image_type( width, height, 1 ) ) ); else if( pf == L"r32g32b32a32f" ) dst_img = image_type_ptr( new image_type( r32g32b32a32f_image_type( width, height, 1 ) ) ); - else if( pf == L"rgbe" ) - dst_img = image_type_ptr( new image_type( rgbe_image_type( width, height, 1 ) ) ); + else if ( pf == L"yuv444p" ) + dst_img = image_type_ptr( new image_type( yuv444p_image_type( width, height, 1 ) ) ); else if ( pf == L"yuv444" ) dst_img = image_type_ptr( new image_type( yuv444_image_type( width, height, 1 ) ) ); else if ( pf == L"yuv422" ) @@ -398,234 +360,263 @@ return result; } -static image_type_ptr rgb_to_yuv444( const image_type_ptr &src_img, const std::wstring &format, int bytes, int r, int g, int b ) +static image_type_ptr yuvp_to_yuvp( const image_type_ptr &src_img, const std::wstring &format ) { - size_type width = src_img->width( ); - size_type height = src_img->height( ); - image_type_ptr dst_img = allocate( src_img, format ); if ( dst_img != 0 ) { - int y, u, v; + for ( int plane = 0; plane < 3; plane ++ ) + { + size_type src_width = src_img->width( plane ); + size_type src_height = src_img->height( plane ); - const_pointer src = src_img->data( ); - size_type src_pitch = src_img->pitch( ) - src_img->linesize( ); - pointer dst = dst_img->data( ); - size_type dst_pitch = dst_img->pitch( ) - dst_img->linesize( ); + size_type dst_width = dst_img->width( plane ); + size_type dst_height = dst_img->height( plane ); - size_type orig_width = width; + const_pointer src = src_img->data( plane ); + pointer dst = dst_img->data( plane ); - while( height -- ) - { - width = orig_width; + size_type src_pitch = src_img->pitch( plane ); + size_type dst_pitch = dst_img->pitch( plane ); + size_type dst_rem = dst_pitch - dst_width; - while( width -- ) + if ( dst_width == src_width && dst_height == src_height ) { - rgb24_to_yuv444( y, u, v, *( src + r ), *( src + g ), *( src + b ) ); - src += bytes; - *dst ++ = ( unsigned char )y; - *dst ++ = ( unsigned char )u; - *dst ++ = ( unsigned char )v; + while( dst_height -- ) + { + memcpy( dst, src, dst_width ); + dst += dst_pitch; + src += src_pitch; + } } + else + { + size_type x_factor = ( src_width << 8 ) / dst_width; + size_type y_factor = ( src_height << 8 ) / dst_height; - dst += dst_pitch; - src += src_pitch; + for ( size_type y = 0; y < dst_height; y ++ ) + { + const_pointer line = src + ( ( y * y_factor ) >> 8 ) * src_pitch; + + for ( size_type x = 0; x < dst_width; x ++ ) + *dst ++ = line[ ( x * x_factor ) >> 8 ]; + + dst += dst_rem; + } + } } } return dst_img; } -static image_type_ptr yuv444_to_rgb( const image_type_ptr &src_img, const std::wstring &format, int r, int g, int b, int a ) +static image_type_ptr yuvp_to_rgb( const image_type_ptr &src_img, const std::wstring &format, int r, int g, int b, int a ) { - size_type width = src_img->width( ); - size_type height = src_img->height( ); - image_type_ptr dst_img = allocate( src_img, format ); if ( dst_img != 0 ) { - int rgb[ 4 ] = { 255, 255, 255, 255 }; + size_type dst_width = dst_img->width( ); + size_type dst_height = dst_img->height( ); + + size_type chroma_width = src_img->width( 1 ); + size_type chroma_height = src_img->height( 1 ); - const_pointer src = src_img->data( ); - size_type src_pitch = src_img->pitch( ) - src_img->linesize( ); + size_type x_factor = ( chroma_width << 8 ) / dst_width; + size_type y_factor = ( chroma_height << 8 ) / dst_height; + pointer dst = dst_img->data( ); - size_type dst_pitch = dst_img->pitch( ) - dst_img->linesize( ); + size_type dst_rem = dst_img->pitch( ) - dst_img->linesize( ); - size_type orig_width = width; + int rgb[ 4 ] = { 255, 255, 255, 255 }; + int uv_offset; - while( height -- ) + for ( int y = 0; y < dst_height; y ++ ) { - while( width -- ) + const_pointer Y = src_img->data( 0 ) + ( y * src_img->pitch( 0 ) ); + const_pointer U = src_img->data( 1 ) + ( ( y * y_factor ) >> 8 ) * src_img->pitch( 1 ); + const_pointer V = src_img->data( 2 ) + ( ( y * y_factor ) >> 8 ) * src_img->pitch( 2 ); + + if ( a == -1 ) { - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src, *( src + 1 ), *( src + 2 ) ); - src += 3; - *dst ++ = ( unsigned char )rgb[ r ]; - *dst ++ = ( unsigned char )rgb[ g ]; - *dst ++ = ( unsigned char )rgb[ b ]; - if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; + for ( int x = 0; x < dst_width; x ++ ) + { + uv_offset = ( x * x_factor ) >> 8; + yuv444_to_rgb24( rgb[ r ], rgb[ g ], rgb[ b ], *Y ++, U[ uv_offset ], V[ uv_offset ] ); + *dst ++ = ( unsigned char )( rgb[ 0 ] ); + *dst ++ = ( unsigned char )( rgb[ 1 ] ); + *dst ++ = ( unsigned char )( rgb[ 2 ] ); + } } + else + { + for ( int x = 0; x < dst_width; x ++ ) + { + uv_offset = ( x * x_factor ) >> 8; + yuv444_to_rgb24( rgb[ r ], rgb[ g ], rgb[ b ], *Y ++, U[ uv_offset ], V[ uv_offset ] ); + *dst ++ = ( unsigned char )( rgb[ 0 ] ); + *dst ++ = ( unsigned char )( rgb[ 1 ] ); + *dst ++ = ( unsigned char )( rgb[ 2 ] ); + *dst ++ = ( unsigned char )( rgb[ 3 ] ); + } + } - dst += dst_pitch; - src += src_pitch; - width = orig_width; + dst += dst_rem; } } return dst_img; } -static image_type_ptr rgb_to_yuv422( const image_type_ptr &src_img, const std::wstring &format, int bytes, int r, int g, int b ) +static image_type_ptr rgb_to_yuvp( const image_type_ptr &src_img, const std::wstring &format, int r, int g, int b, int a ) { - size_type width = src_img->width( ); - size_type height = src_img->height( ); - image_type_ptr dst_img = allocate( src_img, format ); if ( dst_img != 0 ) { - int y[ 2 ], u[ 2 ], v[ 2 ]; + size_type dst_width = dst_img->width( ); + size_type dst_height = dst_img->height( ); + + size_type chroma_width = dst_img->width( 1 ); + size_type chroma_height = dst_img->height( 1 ); + size_type src_width = src_img->width( ); + size_type src_height = src_img->height( ); + + size_type x_factor = ( chroma_width << 8 ) / src_width; + size_type y_factor = ( chroma_height << 8 ) / src_height; + const_pointer src = src_img->data( ); - size_type src_pitch = src_img->pitch( ) - src_img->linesize( ); - pointer dst = dst_img->data( ); - size_type dst_pitch = dst_img->pitch( ) - dst_img->linesize( ); + size_type src_rem = src_img->pitch( ) - src_img->linesize( ); - size_type orig_width = width; + int uv_offset; - while( height -- ) + int yuv[ 3 ]; + int components = a == -1 ? 3 : 4; + + for ( int y = 0; y < dst_height; y ++ ) { - width = orig_width; + pointer Y = dst_img->data( 0 ) + ( y * dst_img->pitch( 0 ) ); + pointer U = dst_img->data( 1 ) + ( ( y * y_factor ) >> 8 ) * dst_img->pitch( 1 ); + pointer V = dst_img->data( 2 ) + ( ( y * y_factor ) >> 8 ) * dst_img->pitch( 2 ); - while( width > 1 ) + for ( int x = 0; x < dst_width; x ++ ) { - rgb24_to_yuv444( y[ 0 ], u[ 0 ], v[ 0 ], *( src + r ), *( src + g ), *( src + b ) ); - src += bytes; - rgb24_to_yuv444( y[ 1 ], u[ 1 ], v[ 1 ], *( src + r ), *( src + g ), *( src + b ) ); - src += bytes; - *dst ++ = ( unsigned char )y[ 0 ]; - *dst ++ = ( unsigned char )( ( u[ 0 ] + u[ 1 ] ) >> 1 ); - *dst ++ = ( unsigned char )y[ 1 ]; - *dst ++ = ( unsigned char )( ( v[ 0 ] + v[ 1 ] ) >> 1 ); - width -= 2; + uv_offset = ( x * x_factor ) >> 8; + rgb24_to_yuv444( yuv[ 0 ], yuv[ 1 ], yuv[ 2 ], src[ r ], src[ g ], src[ b ] ); + *Y ++ = ( unsigned char )yuv[ 0 ]; + U[ uv_offset ] = ( unsigned char )yuv[ 1 ]; + V[ uv_offset ] = ( unsigned char )yuv[ 2 ]; + src += components; } - dst += dst_pitch; - src += src_pitch; + src += src_rem; } } return dst_img; } -static image_type_ptr yuv422_to_rgb( const image_type_ptr &src_img, const std::wstring &format, int r, int g, int b, int a ) +static image_type_ptr yuvp_to_yuv422( const image_type_ptr &src_img, const std::wstring &format ) { - size_type width = src_img->width( ); - size_type height = src_img->height( ); - image_type_ptr dst_img = allocate( src_img, format ); if ( dst_img != 0 ) { - int rgb[ 4 ] = { 255, 255, 255, 255 }; + size_type dst_width = dst_img->width( ) / 2; + size_type dst_height = dst_img->height( ); + + size_type chroma_width = src_img->width( 1 ); + size_type chroma_height = src_img->height( 1 ); - const_pointer src = src_img->data( ); - size_type src_pitch = src_img->pitch( ) - src_img->linesize( ); + size_type x_factor = ( chroma_width << 8 ) / dst_width; + size_type y_factor = ( chroma_height << 8 ) / dst_height; + pointer dst = dst_img->data( ); - size_type dst_pitch = dst_img->pitch( ) - dst_img->linesize( ); + size_type dst_rem = dst_img->pitch( ) - dst_img->linesize( ); - size_type orig_width = width; + int uv_offset; - while( height -- ) + for ( int y = 0; y < dst_height; y ++ ) { - while( width > 1 ) + const_pointer Y = src_img->data( 0 ) + ( y * src_img->pitch( 0 ) ); + const_pointer U = src_img->data( 1 ) + ( ( y * y_factor ) >> 8 ) * src_img->pitch( 1 ); + const_pointer V = src_img->data( 2 ) + ( ( y * y_factor ) >> 8 ) * src_img->pitch( 2 ); + + for ( int x = 0; x < dst_width; x ++ ) { - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src, *( src + 1 ), *( src + 3 ) ); - *dst ++ = ( unsigned char )rgb[ r ]; - *dst ++ = ( unsigned char )rgb[ g ]; - *dst ++ = ( unsigned char )rgb[ b ]; - if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; - src += 2; - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src, *( src - 1 ), *( src + 1 ) ); - *dst ++ = ( unsigned char )rgb[ r ]; - *dst ++ = ( unsigned char )rgb[ g ]; - *dst ++ = ( unsigned char )rgb[ b ]; - if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; - src += 2; - width -= 2; + uv_offset = ( x * x_factor ) >> 8; + *dst ++ = ( unsigned char )( *Y ++ ); + *dst ++ = ( unsigned char )( U[ uv_offset ] ); + *dst ++ = ( unsigned char )( *Y ++ ); + *dst ++ = ( unsigned char )( V[ uv_offset ] ); } - dst += dst_pitch; - src += src_pitch; - width = orig_width; + dst += dst_rem; } } return dst_img; } -static image_type_ptr yuv444_to_yuv420p( const image_type_ptr &src_img, const std::wstring &format ) +static image_type_ptr yuv422_to_yuvp( const image_type_ptr &src_img, const std::wstring &format ) { - size_type width = src_img->width( ); - size_type height = src_img->height( ); - image_type_ptr dst_img = allocate( src_img, format ); if ( dst_img != 0 ) { - const_pointer src = src_img->data( ); - size_type src_pitch = src_img->pitch( ) - src_img->linesize( ); - size_type pitch = src_img->pitch( ); + for ( int p = 0; p < 3; p ++ ) + { + size_type dst_width = dst_img->width( p ); + size_type dst_height = dst_img->height( p ); - pointer dst[ 3 ]; - size_type rem_pitch[ 3 ]; + pointer dst = dst_img->data( p ); + size_type dst_rem = dst_img->pitch( p ) - dst_img->linesize( p ); - dst[ 0 ] = dst_img->data( 0 ); - dst[ 1 ] = dst_img->data( 1 ); - dst[ 2 ] = dst_img->data( 2 ); + size_type src_height = src_img->height( ); - rem_pitch[ 0 ] = dst_img->pitch( 0 ) - dst_img->linesize( 0 ); - rem_pitch[ 1 ] = dst_img->pitch( 1 ) - dst_img->linesize( 1 ); - rem_pitch[ 2 ] = dst_img->pitch( 2 ) - dst_img->linesize( 2 ); + size_type y_factor = ( src_height << 8 ) / dst_height; - size_type orig_width = width / 2; - - while( height -- ) - { - width = orig_width; - - while( width -- ) + if ( p == 0 ) { - if ( height % 2 == 1 ) + for ( int y = 0; y < dst_height; y ++ ) { - ( *dst[ 0 ] ++ ) = *src ++; - ( *dst[ 1 ] ++ ) = ( src[ 0 ] + src[ 3 ] + src[ pitch ] + src[ pitch + 3 ] ) >> 2; - ( *dst[ 2 ] ++ ) = ( src[ 1 ] + src[ 4 ] + src[ pitch + 1 ] + src[ pitch + 4 ] ) >> 2; - src += 2; - ( *dst[ 0 ] ++ ) = *src ++; - src += 2; + const_pointer line = src_img->data( ) + ( y * src_img->pitch( ) ); + + for ( int x = 0; x < dst_width; x ++ ) + { + *dst ++ = ( unsigned char )( *line ); + line += 2; + } + + dst += dst_rem; } - else + } + else + { + int uv_offset = 1 + ( p - 1 ) * 2; + + size_type src_width = src_img->width( ); + size_type x_factor = ( src_width << 8 ) / dst_width; + + for ( int y = 0; y < dst_height; y ++ ) { - ( *dst[ 0 ] ++ ) = *src; - src += 3; - ( *dst[ 0 ] ++ ) = *src; - src += 3; + const_pointer line = src_img->data( ) + ( ( ( y * y_factor ) >> 8 ) * src_img->pitch( ) ); + + for ( int x = 0; x < dst_width; x ++ ) + *dst ++ = ( unsigned char )( line[ 4 * ( ( x * x_factor ) >> 9 ) + uv_offset ] ); + + dst += dst_rem; } } - - dst[ 0 ] += rem_pitch[ 0 ]; - dst[ 1 ] += rem_pitch[ 1 ]; - dst[ 2 ] += rem_pitch[ 2 ]; - src += src_pitch; } } return dst_img; } -static image_type_ptr yuv444_to_yuv422( const image_type_ptr &src_img, const std::wstring &format ) +static image_type_ptr yuv422_to_rgb( const image_type_ptr &src_img, const std::wstring &format, int r, int g, int b, int a ) { size_type width = src_img->width( ); size_type height = src_img->height( ); @@ -634,111 +625,44 @@ if ( dst_img != 0 ) { + int rgb[ 4 ] = { 255, 255, 255, 255 }; + const_pointer src = src_img->data( ); size_type src_pitch = src_img->pitch( ) - src_img->linesize( ); - pointer dst = dst_img->data( ); size_type dst_pitch = dst_img->pitch( ) - dst_img->linesize( ); - size_type orig_width = width / 2; + size_type orig_width = width; while( height -- ) { - width = orig_width; - - while( width -- ) + while( width > 1 ) { - *dst ++ = src[ 0 ]; - *dst ++ = ( src[ 1 ] + src[ 4 ] ) >> 1; - *dst ++ = src[ 3 ]; - *dst ++ = ( src[ 2 ] + src[ 5 ] ) >> 1; - src += 6; + yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src, *( src + 1 ), *( src + 3 ) ); + *dst ++ = ( unsigned char )rgb[ r ]; + *dst ++ = ( unsigned char )rgb[ g ]; + *dst ++ = ( unsigned char )rgb[ b ]; + if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; + src += 2; + yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src, *( src - 1 ), *( src + 1 ) ); + *dst ++ = ( unsigned char )rgb[ r ]; + *dst ++ = ( unsigned char )rgb[ g ]; + *dst ++ = ( unsigned char )rgb[ b ]; + if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; + src += 2; + width -= 2; } dst += dst_pitch; src += src_pitch; - } - } - - return dst_img; -} - -static image_type_ptr yuv422_to_yuv420p( const image_type_ptr &src_img, const std::wstring &format ) -{ - size_type width = src_img->width( ); - size_type height = src_img->height( ); - - image_type_ptr dst_img = allocate( src_img, format ); - - if ( dst_img != 0 ) - { - size_type src_pitch = src_img->pitch( ); - const_pointer src[ 2 ]; - src[ 0 ] = src_img->data( ); - src[ 1 ] = src_img->data( ) + src_pitch; - - const_pointer sptr[ 2 ]; - sptr[ 0 ] = src[ 0 ]; - sptr[ 1 ] = src[ 1 ]; - - pointer dst[ 4 ]; - dst[ 0 ] = dst_img->data( 0 ); - dst[ 1 ] = dst_img->data( 0 ) + dst_img->pitch( 0 ); - dst[ 2 ] = dst_img->data( 1 ); - dst[ 3 ] = dst_img->data( 2 ); - - size_type dst_pitch[ 4 ]; - dst_pitch[ 0 ] = 2 * dst_img->pitch( 0 ); - dst_pitch[ 1 ] = 2 * dst_img->pitch( 0 ); - dst_pitch[ 2 ] = dst_img->pitch( 1 ); - dst_pitch[ 3 ] = dst_img->pitch( 2 ); - - pointer dptr[ 4 ]; - dptr[ 0 ] = dst[ 0 ]; - dptr[ 1 ] = dst[ 1 ]; - dptr[ 2 ] = dst[ 2 ]; - dptr[ 3 ] = dst[ 3 ]; - - // TODO: Fix this for uneven width and/or height - size_type orig_width = width / 2; - height /= 2; - - while( height -- ) - { width = orig_width; - - src[ 0 ] = sptr[ 0 ]; - src[ 1 ] = sptr[ 1 ]; - - dst[ 0 ] = dptr[ 0 ]; - dst[ 1 ] = dptr[ 1 ]; - dst[ 2 ] = dptr[ 2 ]; - dst[ 3 ] = dptr[ 3 ]; - - while( width -- ) - { - *( dst[ 0 ] ++ ) = *( src[ 0 ] ++ ); - *( dst[ 1 ] ++ ) = *( src[ 1 ] ++ ); - *( dst[ 2 ] ++ ) = ( *( src[ 0 ] ++ ) + *( src[ 1 ] ++ ) ) >> 1; - *( dst[ 0 ] ++ ) = *( src[ 0 ] ++ ); - *( dst[ 1 ] ++ ) = *( src[ 1 ] ++ ); - *( dst[ 3 ] ++ ) = ( *( src[ 0 ] ++ ) + *( src[ 1 ] ++ ) ) >> 1; - } - - sptr[ 0 ] += src_pitch << 1; - sptr[ 1 ] += src_pitch << 1; - - dptr[ 0 ] += dst_pitch[ 0 ]; - dptr[ 1 ] += dst_pitch[ 1 ]; - dptr[ 2 ] += dst_pitch[ 2 ]; - dptr[ 3 ] += dst_pitch[ 3 ]; } } return dst_img; } -static image_type_ptr rgb_to_yuv422p( const image_type_ptr &src_img, const std::wstring &format, int bytes, int r, int g, int b ) +static image_type_ptr rgb_to_yuv422( const image_type_ptr &src_img, const std::wstring &format, int bytes, int r, int g, int b ) { size_type width = src_img->width( ); size_type height = src_img->height( ); @@ -751,20 +675,12 @@ const_pointer src = src_img->data( ); size_type src_pitch = src_img->pitch( ) - src_img->linesize( ); + pointer dst = dst_img->data( ); + size_type dst_pitch = dst_img->pitch( ) - dst_img->linesize( ); - pointer dst[ 3 ]; - dst[ 0 ] = dst_img->data( 0 ); - dst[ 1 ] = dst_img->data( 1 ); - dst[ 2 ] = dst_img->data( 2 ); - - size_type dst_pitch[ 3 ]; - dst_pitch[ 0 ] = dst_img->pitch( 0 ) - dst_img->linesize( 0 ); - dst_pitch[ 1 ] = dst_img->pitch( 1 ) - dst_img->linesize( 1 ); - dst_pitch[ 2 ] = dst_img->pitch( 2 ) - dst_img->linesize( 2 ); - size_type orig_width = width; - while( height > 1 ) + while( height -- ) { width = orig_width; @@ -774,169 +690,117 @@ src += bytes; rgb24_to_yuv444( y[ 1 ], u[ 1 ], v[ 1 ], *( src + r ), *( src + g ), *( src + b ) ); src += bytes; - - *dst[ 0 ] ++ = ( unsigned char )y[ 0 ]; - *dst[ 0 ] ++ = ( unsigned char )y[ 1 ]; - - *dst[ 1 ] ++ = ( unsigned char )( ( u[ 0 ] + u[ 1 ] ) >> 1 ); - *dst[ 2 ] ++ = ( unsigned char )( ( v[ 0 ] + v[ 1 ] ) >> 1 ); - + *dst ++ = ( unsigned char )y[ 0 ]; + *dst ++ = ( unsigned char )( ( u[ 0 ] + u[ 1 ] ) >> 1 ); + *dst ++ = ( unsigned char )y[ 1 ]; + *dst ++ = ( unsigned char )( ( v[ 0 ] + v[ 1 ] ) >> 1 ); width -= 2; } + dst += dst_pitch; src += src_pitch; - - dst[ 0 ] += dst_pitch[ 0 ]; - dst[ 1 ] += dst_pitch[ 1 ]; - dst[ 2 ] += dst_pitch[ 2 ]; - - height --; } } return dst_img; } -static image_type_ptr yuv422p_to_rgb( const image_type_ptr &src_img, const std::wstring &format, int r, int g, int b, int a ) +static image_type_ptr yuvp_to_yuv444( const image_type_ptr &src_img, const std::wstring &format ) { - size_type width = src_img->width( ); - size_type height = src_img->height( ); - image_type_ptr dst_img = allocate( src_img, format ); if ( dst_img != 0 ) { - int rgb[ 4 ] = { 255, 255, 255, 255 }; + size_type dst_width = dst_img->width( ); + size_type dst_height = dst_img->height( ); + + size_type chroma_width = src_img->width( 1 ); + size_type chroma_height = src_img->height( 1 ); - const_pointer src[ 3 ]; - src[ 0 ] = src_img->data( 0 ); - src[ 1 ] = src_img->data( 1 ); - src[ 2 ] = src_img->data( 2 ); + size_type x_factor = ( chroma_width << 8 ) / dst_width; + size_type y_factor = ( chroma_height << 8 ) / dst_height; - size_type src_pitch[ 3 ]; - src_pitch[ 0 ] = src_img->pitch( 0 ) - src_img->linesize( 0 ); - src_pitch[ 1 ] = src_img->pitch( 1 ) - src_img->linesize( 1 ); - src_pitch[ 2 ] = src_img->pitch( 2 ) - src_img->linesize( 2 ); - - size_type dst_pitch = dst_img->pitch( ) - dst_img->linesize( ); - pointer dst = dst_img->data( ); + size_type dst_rem = dst_img->pitch( ) - dst_img->linesize( ); - size_type orig_width = width; + int uv_offset; - while( height > 1 ) + for ( int y = 0; y < dst_height; y ++ ) { - while( width > 1 ) - { - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *( src[ 0 ] ), *( src[ 1 ] ), *( src[ 2 ] ) ); - *dst ++ = ( unsigned char )rgb[ r ]; - *dst ++ = ( unsigned char )rgb[ g ]; - *dst ++ = ( unsigned char )rgb[ b ]; - if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; - src[ 0 ] += 1; + const_pointer Y = src_img->data( 0 ) + ( y * src_img->pitch( 0 ) ); + const_pointer U = src_img->data( 1 ) + ( ( y * y_factor ) >> 8 ) * src_img->pitch( 1 ); + const_pointer V = src_img->data( 2 ) + ( ( y * y_factor ) >> 8 ) * src_img->pitch( 2 ); - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *( src[ 0 ] ), *( src[ 1 ] ), *( src[ 2 ] ) ); - *dst ++ = ( unsigned char )rgb[ r ]; - *dst ++ = ( unsigned char )rgb[ g ]; - *dst ++ = ( unsigned char )rgb[ b ]; - if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; - src[ 0 ] += 1; - - src[ 1 ] += 1; - src[ 2 ] += 1; - - width -= 2; + for ( int x = 0; x < dst_width; x ++ ) + { + uv_offset = ( x * x_factor ) >> 8; + *dst ++ = ( unsigned char )( *Y ++ ); + *dst ++ = ( unsigned char )( U[ uv_offset ] ); + *dst ++ = ( unsigned char )( V[ uv_offset ] ); } - src[ 0 ] += src_pitch[ 0 ]; - src[ 1 ] += src_pitch[ 1 ]; - src[ 2 ] += src_pitch[ 2 ]; - - dst += dst_pitch; - - width = orig_width; - height --; + dst += dst_rem; } } return dst_img; } -static image_type_ptr rgb_to_yuv420p( const image_type_ptr &src_img, const std::wstring &format, int bytes, int r, int g, int b ) +static image_type_ptr yuv444_to_yuvp( const image_type_ptr &src_img, const std::wstring &format ) { - size_type width = src_img->width( ); - size_type height = src_img->height( ); - image_type_ptr dst_img = allocate( src_img, format ); if ( dst_img != 0 ) { - int y[ 4 ], u[ 4 ], v[ 4 ]; + for ( int p = 0; p < 3; p ++ ) + { + size_type dst_width = dst_img->width( p ); + size_type dst_height = dst_img->height( p ); - const_pointer src[ 2 ]; - src[ 0 ] = src_img->data( ); - src[ 1 ] = src_img->data( ) + src_img->pitch( ); - size_type src_pitch = 2 * src_img->pitch( ) - src_img->linesize( ); + pointer dst = dst_img->data( p ); + size_type dst_rem = dst_img->pitch( p ) - dst_img->linesize( p ); - pointer dst[ 4 ]; - dst[ 0 ] = dst_img->data( 0 ); - dst[ 1 ] = dst_img->data( 0 ) + dst_img->pitch( 0 ); - dst[ 2 ] = dst_img->data( 1 ); - dst[ 3 ] = dst_img->data( 2 ); + size_type src_height = src_img->height( ); - size_type dst_pitch[ 3 ]; - dst_pitch[ 0 ] = 2 * dst_img->pitch( 0 ) - dst_img->linesize( 0 ); - dst_pitch[ 1 ] = dst_img->pitch( 1 ) - dst_img->linesize( 1 ); - dst_pitch[ 2 ] = dst_img->pitch( 2 ) - dst_img->linesize( 2 ); + size_type y_factor = ( src_height << 8 ) / dst_height; - size_type orig_width = width; - - while( height > 1 ) - { - width = orig_width; - - while( width > 1 ) + if ( p == 0 ) { - rgb24_to_yuv444( y[ 0 ], u[ 0 ], v[ 0 ], *( src[ 0 ] + r ), *( src[ 0 ] + g ), *( src[ 0 ] + b ) ); - src[ 0 ] += bytes; - rgb24_to_yuv444( y[ 1 ], u[ 1 ], v[ 1 ], *( src[ 0 ] + r ), *( src[ 0 ] + g ), *( src[ 0 ] + b ) ); - src[ 0 ] += bytes; - rgb24_to_yuv444( y[ 2 ], u[ 2 ], v[ 2 ], *( src[ 1 ] + r ), *( src[ 1 ] + g ), *( src[ 1 ] + b ) ); - src[ 1 ] += bytes; - rgb24_to_yuv444( y[ 3 ], u[ 3 ], v[ 3 ], *( src[ 1 ] + r ), *( src[ 1 ] + g ), *( src[ 1 ] + b ) ); - src[ 1 ] += bytes; + for ( int y = 0; y < dst_height; y ++ ) + { + const_pointer line = src_img->data( ) + ( y * src_img->pitch( ) ); + + for ( int x = 0; x < dst_width; x ++ ) + { + *dst ++ = ( unsigned char )( *line ); + line += 3; + } - *dst[ 0 ] ++ = ( unsigned char )y[ 0 ]; - *dst[ 0 ] ++ = ( unsigned char )y[ 1 ]; - *dst[ 1 ] ++ = ( unsigned char )y[ 2 ]; - *dst[ 1 ] ++ = ( unsigned char )y[ 3 ]; - - *dst[ 2 ] ++ = ( unsigned char )( ( u[ 0 ] + u[ 1 ] + u[ 2 ] + u[ 3 ] ) >> 2 ); - *dst[ 3 ] ++ = ( unsigned char )( ( v[ 0 ] + v[ 1 ] + v[ 2 ] + v[ 3 ] ) >> 2 ); - - width -= 2; + dst += dst_rem; + } } + else + { + size_type src_width = src_img->width( ); + size_type x_factor = ( src_width << 8 ) / dst_width; - src[ 0 ] += src_pitch; - src[ 1 ] += src_pitch; + for ( int y = 0; y < dst_height; y ++ ) + { + const_pointer line = src_img->data( ) + ( ( ( y * y_factor ) >> 8 ) * src_img->pitch( ) ); - dst[ 0 ] += dst_pitch[ 0 ]; - dst[ 1 ] += dst_pitch[ 0 ]; - dst[ 2 ] += dst_pitch[ 1 ]; - dst[ 3 ] += dst_pitch[ 2 ]; + for ( int x = 0; x < dst_width; x ++ ) + *dst ++ = ( unsigned char )( line[ 3 * ( ( x * x_factor ) >> 8 ) + p ] ); - height -= 2; + dst += dst_rem; + } + } } } return dst_img; } -typedef unsigned char uchar; -#define assign3( dst, v1, v2, v3 ) *dst ++ = uchar( v1 ); *dst ++ = uchar( v2 ); *dst ++ = uchar( v3 ); -#define assign4( dst, v1, v2, v3, v4 ) *dst ++ = uchar( v1 ); *dst ++ = uchar( v2 ); *dst ++ = uchar( v3 ); *dst ++ = uchar( v4 ); - -static image_type_ptr yuv420p_to_rgb( const image_type_ptr &src_img, const std::wstring &format, int r, int g, int b, int a ) +static image_type_ptr rgb_to_yuv444( const image_type_ptr &src_img, const std::wstring &format, int bytes, int r, int g, int b ) { size_type width = src_img->width( ); size_type height = src_img->height( ); @@ -945,139 +809,37 @@ if ( dst_img != 0 ) { - int rgb[ 4 ] = { 255, 255, 255, 255 }; + int y, u, v; - const_pointer src0 = src_img->data( 0 ); - const_pointer src1 = src_img->data( 0 ) + src_img->pitch( 0 ); - const_pointer src2 = src_img->data( 1 ); - const_pointer src3 = src_img->data( 2 ); + const_pointer src = src_img->data( ); + size_type src_pitch = src_img->pitch( ) - src_img->linesize( ); + pointer dst = dst_img->data( ); + size_type dst_pitch = dst_img->pitch( ) - dst_img->linesize( ); - size_type src_pitch0 = 2 * src_img->pitch( 0 ) - src_img->linesize( 0 ); - size_type src_pitch1 = src_img->pitch( 1 ) - src_img->linesize( 1 ); - size_type src_pitch2 = src_img->pitch( 2 ) - src_img->linesize( 2 ); - - pointer dst0 = dst_img->data( ); - pointer dst1 = dst_img->data( ) + dst_img->pitch( ); - - size_type dst_pitch = 2 * dst_img->pitch( ) - dst_img->linesize( ); - size_type orig_width = width; - unsigned char u, v; - - // TODO: Fix the chroma subsampling logic here - while( height > 1 ) + while( height -- ) { - if ( a == -1 ) - { - while( width > 1 ) - { - //u = ( *src2 + *( src2 + chroma_pitch ) ) >> 1; - //v = ( *src3 + *( src3 + chroma_pitch ) ) >> 1; - u = ( *src2 ); - v = ( *src3 ); + width = orig_width; - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src0 ++, *src2, *src3 ); - assign3( dst0, rgb[ r ], rgb[ g ], rgb[ b ] ); - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src1 ++, u, v ); - assign3( dst1, rgb[ r ], rgb[ g ], rgb[ b ] ); - - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src0 ++, *src2 ++, *src3 ++ ); - assign3( dst0, rgb[ r ], rgb[ g ], rgb[ b ] ); - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src1 ++, u, v ); - assign3( dst1, rgb[ r ], rgb[ g ], rgb[ b ] ); - - width -= 2; - } - - if ( width ) - { - //u = ( *src2 + *( src2 + chroma_pitch ) ) >> 1; - //v = ( *src3 + *( src3 + chroma_pitch ) ) >> 1; - u = ( *src2 ); - v = ( *src3 ); - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src0 ++, *src2 ++, *src3 ++ ); - assign3( dst0, rgb[ r ], rgb[ g ], rgb[ b ] ); - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src1 ++, u, v ); - assign3( dst1, rgb[ r ], rgb[ g ], rgb[ b ] ); - } - } - else + while( width -- ) { - while( width > 1 ) - { - //u = ( *src2 + *( src2 + chroma_pitch ) ) >> 1; - //v = ( *src3 + *( src3 + chroma_pitch ) ) >> 1; - u = ( *src2 ); - v = ( *src3 ); - - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src0 ++, *src2, *src3 ); - assign4( dst0, rgb[ r ], rgb[ g ], rgb[ b ], rgb[ a ] ); - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src1 ++, u, v ); - assign4( dst1, rgb[ r ], rgb[ g ], rgb[ b ], rgb[ a ] ); - - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src0 ++, *src2 ++, *src3 ++ ); - assign4( dst0, rgb[ r ], rgb[ g ], rgb[ b ], rgb[ a ] ); - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src1 ++, u, v ); - assign4( dst1, rgb[ r ], rgb[ g ], rgb[ b ], rgb[ a ] ); - - width -= 2; - } - - if ( width ) - { - //u = ( *src2 + *( src2 + chroma_pitch ) ) >> 1; - //v = ( *src3 + *( src3 + chroma_pitch ) ) >> 1; - u = ( *src2 ); - v = ( *src3 ); - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src0 ++, *src2 ++, *src3 ++ ); - assign4( dst0, rgb[ r ], rgb[ g ], rgb[ b ], rgb[ a ] ); - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src1 ++, u, v ); - assign4( dst1, rgb[ r ], rgb[ g ], rgb[ b ], rgb[ a ] ); - } + rgb24_to_yuv444( y, u, v, *( src + r ), *( src + g ), *( src + b ) ); + src += bytes; + *dst ++ = ( unsigned char )y; + *dst ++ = ( unsigned char )u; + *dst ++ = ( unsigned char )v; } - src0 += src_pitch0; - src1 += src_pitch0; - src2 += src_pitch1; - src3 += src_pitch2; - - dst0 += dst_pitch; - dst1 += dst_pitch; - - width = orig_width; - height -= 2; + dst += dst_pitch; + src += src_pitch; } - - if ( height ) - { - if ( a != -1 ) - { - while( width -- ) - { - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src0 ++, *src2, *src3 ); - assign3( dst0, rgb[ r ], rgb[ g ], rgb[ b ] ); - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src0 ++, *src2 ++, *src3 ++ ); - assign3( dst0, rgb[ r ], rgb[ g ], rgb[ b ] ); - } - } - else - { - while( width -- ) - { - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src0 ++, *src2, *src3 ); - assign4( dst0, rgb[ r ], rgb[ g ], rgb[ b ], rgb[ a ] ); - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src0 ++, *src2 ++, *src3 ++ ); - assign4( dst0, rgb[ r ], rgb[ g ], rgb[ b ], rgb[ a ] ); - } - } - } } return dst_img; } -static image_type_ptr rgb_to_yuv411( const image_type_ptr &src_img, const std::wstring &format, int bytes, int r, int g, int b ) +static image_type_ptr yuv444_to_rgb( const image_type_ptr &src_img, const std::wstring &format, int r, int g, int b, int a ) { size_type width = src_img->width( ); size_type height = src_img->height( ); @@ -1086,7 +848,7 @@ if ( dst_img != 0 ) { - int y[ 4 ], u[ 4 ], v[ 4 ]; + int rgb[ 4 ] = { 255, 255, 255, 255 }; const_pointer src = src_img->data( ); size_type src_pitch = src_img->pitch( ) - src_img->linesize( ); @@ -1097,36 +859,26 @@ while( height -- ) { - width = orig_width; - - while( width > 3 ) + while( width -- ) { - rgb24_to_yuv444( y[ 0 ], u[ 0 ], v[ 0 ], *( src + r ), *( src + g ), *( src + b ) ); - src += bytes; - rgb24_to_yuv444( y[ 1 ], u[ 1 ], v[ 1 ], *( src + r ), *( src + g ), *( src + b ) ); - src += bytes; - rgb24_to_yuv444( y[ 2 ], u[ 2 ], v[ 2 ], *( src + r ), *( src + g ), *( src + b ) ); - src += bytes; - rgb24_to_yuv444( y[ 3 ], u[ 3 ], v[ 3 ], *( src + r ), *( src + g ), *( src + b ) ); - src += bytes; - *dst ++ = ( unsigned char )y[ 0 ]; - *dst ++ = ( unsigned char )y[ 1 ]; - *dst ++ = ( unsigned char )( ( u[ 0 ] + u[ 1 ] + u[ 2 ] + u[ 3 ] ) >> 2 ); - *dst ++ = ( unsigned char )y[ 2 ]; - *dst ++ = ( unsigned char )y[ 3 ]; - *dst ++ = ( unsigned char )( ( v[ 0 ] + v[ 1 ] + v[ 2 ] + v[ 3 ] ) >> 2 ); - width -= 4; + yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src, *( src + 1 ), *( src + 2 ) ); + src += 3; + *dst ++ = ( unsigned char )rgb[ r ]; + *dst ++ = ( unsigned char )rgb[ g ]; + *dst ++ = ( unsigned char )rgb[ b ]; + if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; } dst += dst_pitch; src += src_pitch; + width = orig_width; } } return dst_img; } -static image_type_ptr yuv411_to_rgb( const image_type_ptr &src_img, const std::wstring &format, int r, int g, int b, int a ) +static image_type_ptr yuv444_to_yuv422( const image_type_ptr &src_img, const std::wstring &format ) { size_type width = src_img->width( ); size_type height = src_img->height( ); @@ -1135,53 +887,36 @@ if ( dst_img != 0 ) { - int rgb[ 4 ] = { 255, 255, 255, 255 }; - const_pointer src = src_img->data( ); size_type src_pitch = src_img->pitch( ) - src_img->linesize( ); + pointer dst = dst_img->data( ); size_type dst_pitch = dst_img->pitch( ) - dst_img->linesize( ); - size_type orig_width = width; + size_type orig_width = width / 2; while( height -- ) { - while( width > 3 ) + width = orig_width; + + while( width -- ) { - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src, *( src + 2 ), *( src + 5 ) ); - *dst ++ = ( unsigned char )rgb[ r ]; - *dst ++ = ( unsigned char )rgb[ g ]; - *dst ++ = ( unsigned char )rgb[ b ]; - if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *( src + 1 ), *( src + 2 ), *( src + 5 ) ); - *dst ++ = ( unsigned char )rgb[ r ]; - *dst ++ = ( unsigned char )rgb[ g ]; - *dst ++ = ( unsigned char )rgb[ b ]; - if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *( src + 3 ), *( src + 2 ), *( src + 5 ) ); - *dst ++ = ( unsigned char )rgb[ r ]; - *dst ++ = ( unsigned char )rgb[ g ]; - *dst ++ = ( unsigned char )rgb[ b ]; - if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *( src + 4 ), *( src + 2 ), *( src + 5 ) ); - *dst ++ = ( unsigned char )rgb[ r ]; - *dst ++ = ( unsigned char )rgb[ g ]; - *dst ++ = ( unsigned char )rgb[ b ]; - if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; + *dst ++ = src[ 0 ]; + *dst ++ = ( src[ 1 ] + src[ 4 ] ) >> 1; + *dst ++ = src[ 3 ]; + *dst ++ = ( src[ 2 ] + src[ 5 ] ) >> 1; src += 6; - width -= 4; } dst += dst_pitch; src += src_pitch; - width = orig_width; } } return dst_img; } -static image_type_ptr rgb_to_yuv411p( const image_type_ptr &src_img, const std::wstring &format, int bytes, int r, int g, int b ) +static image_type_ptr rgb_to_yuv411( const image_type_ptr &src_img, const std::wstring &format, int bytes, int r, int g, int b ) { size_type width = src_img->width( ); size_type height = src_img->height( ); @@ -1193,21 +928,13 @@ int y[ 4 ], u[ 4 ], v[ 4 ]; const_pointer src = src_img->data( ); - size_type src_pitch = src_img->pitch( ) - src_img->linesize( 0 ); + size_type src_pitch = src_img->pitch( ) - src_img->linesize( ); + pointer dst = dst_img->data( ); + size_type dst_pitch = dst_img->pitch( ) - dst_img->linesize( ); - pointer dst[ 3 ]; - dst[ 0 ] = dst_img->data( 0 ); - dst[ 1 ] = dst_img->data( 1 ); - dst[ 2 ] = dst_img->data( 2 ); - - size_type dst_pitch[ 3 ]; - dst_pitch[ 0 ] = dst_img->pitch( 0 ) - dst_img->linesize( 0 ); - dst_pitch[ 1 ] = dst_img->pitch( 1 ) - dst_img->linesize( 1 ); - dst_pitch[ 2 ] = dst_img->pitch( 2 ) - dst_img->linesize( 2 ); - size_type orig_width = width; - while( height ) + while( height -- ) { width = orig_width; @@ -1221,32 +948,24 @@ src += bytes; rgb24_to_yuv444( y[ 3 ], u[ 3 ], v[ 3 ], *( src + r ), *( src + g ), *( src + b ) ); src += bytes; - - *( dst[ 0 ] ++ ) = ( unsigned char )y[ 0 ]; - *( dst[ 0 ] ++ ) = ( unsigned char )y[ 1 ]; - *( dst[ 0 ] ++ ) = ( unsigned char )y[ 2 ]; - *( dst[ 0 ] ++ ) = ( unsigned char )y[ 3 ]; - - *dst[ 1 ] ++ = ( unsigned char )( ( u[ 0 ] + u[ 1 ] + u[ 2 ] + u[ 3 ] ) >> 2 ); - *dst[ 2 ] ++ = ( unsigned char )( ( v[ 0 ] + v[ 1 ] + v[ 2 ] + v[ 3 ] ) >> 2 ); - + *dst ++ = ( unsigned char )y[ 0 ]; + *dst ++ = ( unsigned char )y[ 1 ]; + *dst ++ = ( unsigned char )( ( u[ 0 ] + u[ 1 ] + u[ 2 ] + u[ 3 ] ) >> 2 ); + *dst ++ = ( unsigned char )y[ 2 ]; + *dst ++ = ( unsigned char )y[ 3 ]; + *dst ++ = ( unsigned char )( ( v[ 0 ] + v[ 1 ] + v[ 2 ] + v[ 3 ] ) >> 2 ); width -= 4; } + dst += dst_pitch; src += src_pitch; - - dst[ 0 ] += dst_pitch[ 0 ]; - dst[ 1 ] += dst_pitch[ 1 ]; - dst[ 2 ] += dst_pitch[ 2 ]; - - height --; } } return dst_img; } -static image_type_ptr yuv411p_to_rgb( const image_type_ptr &src_img, const std::wstring &format, int r, int g, int b, int a ) +static image_type_ptr yuv411_to_rgb( const image_type_ptr &src_img, const std::wstring &format, int r, int g, int b, int a ) { size_type width = src_img->width( ); size_type height = src_img->height( ); @@ -1257,60 +976,43 @@ { int rgb[ 4 ] = { 255, 255, 255, 255 }; - register const_pointer src0 = src_img->data( 0 ); - register const_pointer src1 = src_img->data( 1 ); - register const_pointer src2 = src_img->data( 2 ); - - register size_type src_pitch0 = src_img->pitch( 0 ) - src_img->linesize( 0 ); - register size_type src_pitch1 = src_img->pitch( 1 ) - src_img->linesize( 1 ); - register size_type src_pitch2 = src_img->pitch( 2 ) - src_img->linesize( 2 ); - + const_pointer src = src_img->data( ); + size_type src_pitch = src_img->pitch( ) - src_img->linesize( ); + pointer dst = dst_img->data( ); size_type dst_pitch = dst_img->pitch( ) - dst_img->linesize( ); - register pointer dst = dst_img->data( ); - size_type orig_width = width; while( height -- ) { while( width > 3 ) { - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src0 ++, *src1, *src2 ); + yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src, *( src + 2 ), *( src + 5 ) ); *dst ++ = ( unsigned char )rgb[ r ]; *dst ++ = ( unsigned char )rgb[ g ]; *dst ++ = ( unsigned char )rgb[ b ]; if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; - - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src0 ++, *src1, *src2 ); + yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *( src + 1 ), *( src + 2 ), *( src + 5 ) ); *dst ++ = ( unsigned char )rgb[ r ]; *dst ++ = ( unsigned char )rgb[ g ]; *dst ++ = ( unsigned char )rgb[ b ]; if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; - - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src0 ++, *src1, *src2 ); + yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *( src + 3 ), *( src + 2 ), *( src + 5 ) ); *dst ++ = ( unsigned char )rgb[ r ]; *dst ++ = ( unsigned char )rgb[ g ]; *dst ++ = ( unsigned char )rgb[ b ]; if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; - - yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *src0 ++, *src1, *src2 ); + yuv444_to_rgb24( rgb[ 0 ], rgb[ 1 ], rgb[ 2 ], *( src + 4 ), *( src + 2 ), *( src + 5 ) ); *dst ++ = ( unsigned char )rgb[ r ]; *dst ++ = ( unsigned char )rgb[ g ]; *dst ++ = ( unsigned char )rgb[ b ]; if ( a != -1 ) *dst ++ = ( unsigned char )rgb[ a ]; - - src1 += 1; - src2 += 1; - + src += 6; width -= 4; } - src0 += src_pitch0; - src1 += src_pitch1; - src2 += src_pitch2; - dst += dst_pitch; - + src += src_pitch; width = orig_width; } } @@ -1318,129 +1020,6 @@ return dst_img; } -static image_type_ptr yuv411p_to_yuv444( const image_type_ptr &src_img, const std::wstring &format ) -{ - size_type width = src_img->width( ); - size_type height = src_img->height( ); - - image_type_ptr dst_img = allocate( src_img, format ); - - if ( dst_img != 0 ) - { - register const_pointer src0 = src_img->data( 0 ); - register const_pointer src1 = src_img->data( 1 ); - register const_pointer src2 = src_img->data( 2 ); - - register size_type src_pitch0 = src_img->pitch( 0 ) - src_img->linesize( 0 ); - register size_type src_pitch1 = src_img->pitch( 1 ) - src_img->linesize( 1 ); - register size_type src_pitch2 = src_img->pitch( 2 ) - src_img->linesize( 2 ); - - size_type dst_pitch = dst_img->pitch( ) - dst_img->linesize( ); - - register pointer dst = dst_img->data( ); - - size_type orig_width = width; - - while( height -- ) - { - while( width > 3 ) - { - *dst ++ = *src0 ++; - *dst ++ = *src1; - *dst ++ = *src2; - - *dst ++ = *src0 ++; - *dst ++ = *src1; - *dst ++ = *src2; - - *dst ++ = *src0 ++; - *dst ++ = *src1; - *dst ++ = *src2; - - *dst ++ = *src0 ++; - *dst ++ = *src1; - *dst ++ = *src2; - - src1 += 1; - src2 += 1; - - width -= 4; - } - - src0 += src_pitch0; - src1 += src_pitch1; - src2 += src_pitch2; - - dst += dst_pitch; - - width = orig_width; - } - } - - return dst_img; -} - -static image_type_ptr yuv411p_to_yuv420p( const image_type_ptr &src_img, const std::wstring &format ) -{ - size_type width = src_img->width( ); - size_type height = src_img->height( ); - - image_type_ptr dst_img = allocate( src_img, format ); - - if ( dst_img != 0 ) - { - register const_pointer src0 = src_img->data( 0 ); - register const_pointer src1 = src_img->data( 1 ); - register const_pointer src2 = src_img->data( 2 ); - - register size_type src_pitch0 = src_img->pitch( 0 ) - src_img->linesize( 0 ); - register size_type src_pitch1 = ( src_img->pitch( 1 ) - src_img->linesize( 1 ) ) + src_img->pitch( 1 ); - register size_type src_pitch2 = ( src_img->pitch( 2 ) - src_img->linesize( 2 ) ) + src_img->pitch( 2 ); - - size_type dst_pitch0 = dst_img->pitch( 0 ) - dst_img->linesize( 0 ); - size_type dst_pitch1 = dst_img->pitch( 1 ) - dst_img->linesize( 1 ); - - register pointer dst0 = dst_img->data( 0 ); - register pointer dst1 = dst_img->data( 1 ); - register pointer dst2 = dst_img->data( 2 ); - - size_type orig_width = width / 4; - - while( height -- ) - { - while( width -- ) - { - *dst0 ++ = *src0 ++; - *dst0 ++ = *src0 ++; - *dst0 ++ = *src0 ++; - *dst0 ++ = *src0 ++; - if ( height % 2 == 0 ) - { - *dst1 ++ = *src1; - *dst1 ++ = *src1 ++; - *dst2 ++ = *src2; - *dst2 ++ = *src2 ++; - } - } - - src0 += src_pitch0; - if ( height % 2 == 0 ) - { - src1 += src_pitch1; - src2 += src_pitch2; - } - - dst0 += dst_pitch0; - dst1 += dst_pitch1; - dst2 += dst_pitch1; - - width = orig_width; - } - } - - return dst_img; -} - struct rgb_map { std::wstring from; @@ -1930,6 +1509,7 @@ *( dst + 2 ) = static_cast<unsigned char>( opl::fast_floorf( *src++ ) ); *( dst + 1 ) = static_cast<unsigned char>( opl::fast_floorf( *src++ ) ); *( dst + 0 ) = static_cast<unsigned char>( opl::fast_floorf( *src++ ) ); + *( dst + 3 ) = 255; dst += 4; @@ -1944,425 +1524,75 @@ return dst_img; } -static image_type_ptr rgbe_to_r32g32b32f( image_type_ptr src_img, const std::wstring &format ) +inline bool is_rgb_packed( const std::wstring &pf ) { - size_type width = src_img->width( ); - size_type height = src_img->height( ); - - image_type_ptr dst_img = allocate( src_img, format ); - if( dst_img != 0 ) - { - pointer src = src_img->data( ); - size_type src_pitch = src_img->pitch( ); - float* dst = ( float* ) dst_img->data( ); - size_type dst_pitch = dst_img->pitch( ); - - pointer sptr = src; - float* dptr = dst; - - size_type orig_width = width; - - while( height-- ) - { - while( width-- ) - { - rgbe2float( src, *( dst + 0 ), *( dst + 1 ), *( dst + 2 ) ); - - dst += 3; - src += 4; - } - - dst = dptr += dst_pitch; - src = sptr += src_pitch; - width = orig_width; - } - } - - return dst_img; + return pf == L"a8b8g8r8" || pf == L"a8r8g8b8" || pf == L"b8g8r8" || pf == L"b8g8r8a8" || pf == L"r8g8b8" || pf == L"r8g8b8a8"; } -static image_type_ptr r32g32b32f_to_rgbe( image_type_ptr src_img, const std::wstring &format ) +IL_DECLSPEC image_type_ptr convert( const image_type_ptr &src, const std::wstring &dst_pf, int ) { - size_type width = src_img->width( ); - size_type height = src_img->height( ); + // Sanity check + if ( src == 0 ) + return src; - image_type_ptr dst_img = allocate( src_img, format ); - if( dst_img != 0 ) - { - float* src = ( float* )src_img->data( ); - size_type src_pitch = src_img->pitch( ); - pointer dst = dst_img->data( ); - size_type dst_pitch = dst_img->pitch( ); + // Get the format of the source + std::wstring src_pf = src->pf( ); - float* sptr = src; - pointer dptr = dst; - - size_type orig_width = width; - - while( height-- ) - { - while( width-- ) - { - float2rgbe( *( src + 0 ), *( src + 1 ), *( src + 2 ), dst ); - - dst += 4; - src += 3; - } - - dst = dptr += dst_pitch; - src = sptr += src_pitch; - width = orig_width; - } + // Convert + if ( dst_pf == src_pf ) + { + return src; } - - return dst_img; -} - -static image_type_ptr yuv420p_to_yuv411p( const image_type_ptr &src_img, const std::wstring &format ) -{ - size_type width = src_img->width( ); - size_type height = src_img->height( ); - - image_type_ptr dst_img = allocate( src_img, format ); - - if ( dst_img != 0 ) + else if ( is_yuv_planar( src ) && is_yuv_planar( dst_pf ) ) { - const_pointer src[ 3 ]; - src[ 0 ] = src_img->data( 0 ); - src[ 1 ] = src_img->data( 1 ); - src[ 2 ] = src_img->data( 2 ); - - size_type src_rem[ 3 ]; - src_rem[ 0 ] = src_img->pitch( 0 ) - src_img->linesize( 0 ); - src_rem[ 1 ] = ( src_img->pitch( 1 ) - src_img->linesize( 1 ) ); - src_rem[ 2 ] = ( src_img->pitch( 2 ) - src_img->linesize( 2 ) ); - - pointer dst[ 3 ]; - dst[ 0 ] = dst_img->data( 0 ); - dst[ 1 ] = dst_img->data( 1 ); - dst[ 2 ] = dst_img->data( 2 ); - - memset( dst[ 0 ], 128, ( int )dst_img->size( ) ); - - size_type dst_rem[ 3 ]; - dst_rem[ 0 ] = dst_img->pitch( 0 ) - dst_img->linesize( 0 ); - dst_rem[ 1 ] = dst_img->pitch( 1 ) - dst_img->linesize( 1 ); - dst_rem[ 2 ] = dst_img->pitch( 2 ) - dst_img->linesize( 2 ); - - size_type orig_width = width / 4; - - while( height -- ) - { - width = orig_width; - - while( width -- ) - { - *( dst[ 0 ] ++ ) = *( src[ 0 ] ++ ); - *( dst[ 0 ] ++ ) = *( src[ 0 ] ++ ); - *( dst[ 0 ] ++ ) = *( src[ 0 ] ++ ); - *( dst[ 0 ] ++ ) = *( src[ 0 ] ++ ); - *( dst[ 1 ] ++ ) = *( src[ 1 ] ++ ); - src[ 1 ] ++; - *( dst[ 2 ] ++ ) = *( src[ 2 ] ++ ); - src[ 2 ] ++; - } - - dst[ 0 ] += dst_rem[ 0 ]; - src[ 0 ] += src_rem[ 0 ]; - dst[ 1 ] += dst_rem[ 1 ]; - dst[ 2 ] += dst_rem[ 2 ]; - if ( height % 2 ) - { - src[ 1 ] += src_rem[ 1 ]; - src[ 2 ] += src_rem[ 2 ]; - } - else - { - src[ 1 ] -= src_img->linesize( 1 ); - src[ 2 ] -= src_img->linesize( 2 ); - } - } + return yuvp_to_yuvp( src, dst_pf ); } - - return dst_img; -} - -static image_type_ptr yuv420p_to_yuv422( const image_type_ptr &src_img, const std::wstring &format ) -{ - size_type width = src_img->width( ); - size_type height = src_img->height( ); - - image_type_ptr dst_img = allocate( src_img, format ); - - if ( dst_img != 0 ) + else if ( is_yuv_planar( src ) && dst_pf == L"yuv422" ) { - const_pointer src[ 3 ]; - src[ 0 ] = src_img->data( 0 ); - src[ 1 ] = src_img->data( 1 ); - src[ 2 ] = src_img->data( 2 ); - - size_type src_pitch[ 3 ]; - src_pitch[ 0 ] = src_img->pitch( 0 ); - src_pitch[ 1 ] = src_img->pitch( 1 ); - src_pitch[ 2 ] = src_img->pitch( 2 ); - - pointer dst = dst_img->data( ); - size_type dst_pitch = dst_img->pitch( ); - - const_pointer sptr[ 3 ]; - sptr[ 0 ] = src[ 0 ]; - sptr[ 1 ] = src[ 1 ]; - sptr[ 2 ] = src[ 2 ]; - - pointer dptr = dst; - - size_type orig_width = width / 2; - - while( height ) - { - width = orig_width; - dst = dptr; - src[ 0 ] = sptr[ 0 ]; - src[ 1 ] = sptr[ 1 ]; - src[ 2 ] = sptr[ 2 ]; - - while( width > 1 ) - { - *dst ++ = *( src[ 0 ] ++ ); - *dst ++ = *( src[ 1 ] ++ ); - *dst ++ = *( src[ 0 ] ++ ); - *dst ++ = *( src[ 2 ] ++ ); - - *dst ++ = *( src[ 0 ] ++ ); - *dst ++ = *( src[ 1 ] ++ ); - *dst ++ = *( src[ 0 ] ++ ); - *dst ++ = *( src[ 2 ] ++ ); - - width -= 2; - } - - dptr += dst_pitch; - sptr[ 0 ] += src_pitch[ 0 ]; - if ( height % 2 ) - { - sptr[ 1 ] += src_pitch[ 1 ]; - sptr[ 2 ] += src_pitch[ 2 ]; - } - - height --; - } + return yuvp_to_yuv422( src, dst_pf ); } - - return dst_img; -} - -static image_type_ptr yuv420p_to_yuv422p( const image_type_ptr &src_img, const std::wstring &format ) -{ - size_type width = src_img->width( ); - size_type height = src_img->height( ); - - image_type_ptr dst_img = allocate( src_img, format ); - - if ( dst_img != 0 ) + else if ( is_yuv_planar( src ) && dst_pf == L"yuv444" ) { - const_pointer src[ 3 ]; - src[ 0 ] = src_img->data( 0 ); - src[ 1 ] = src_img->data( 1 ); - src[ 2 ] = src_img->data( 2 ); - - size_type src_rem[ 3 ]; - src_rem[ 0 ] = src_img->pitch( 0 ) - src_img->linesize( 0 ); - src_rem[ 1 ] = src_img->pitch( 1 ) - src_img->linesize( 1 ); - src_rem[ 2 ] = src_img->pitch( 2 ) - src_img->linesize( 2 ); - - pointer dst[ 5 ]; - dst[ 0 ] = dst_img->data( 0 ); - dst[ 1 ] = dst_img->data( 1 ); - dst[ 2 ] = dst_img->data( 1 ) + dst_img->pitch( 1 ); - dst[ 3 ] = dst_img->data( 2 ); - dst[ 4 ] = dst_img->data( 2 ) + dst_img->pitch( 2 ); - - size_type dst_rem[ 5 ]; - dst_rem[ 0 ] = dst_img->pitch( 0 ) - dst_img->linesize( 0 ); - dst_rem[ 1 ] = 2 * dst_img->pitch( 1 ) - dst_img->linesize( 1 ); - dst_rem[ 2 ] = 2 * dst_img->pitch( 2 ) - dst_img->linesize( 2 ); - - size_type orig_width = width / 2; - - while( height -- ) - { - width = orig_width; - - while( width -- ) - { - *( dst[ 0 ] ++ ) = *( src[ 0 ] ++ ); - *( dst[ 0 ] ++ ) = *( src[ 0 ] ++ ); - *( dst[ 1 ] ++ ) = *( src[ 1 ] ); - *( dst[ 2 ] ++ ) = *( src[ 1 ] ++ ); - *( dst[ 3 ] ++ ) = *( src[ 2 ] ); - *( dst[ 4 ] ++ ) = *( src[ 2 ] ++ ); - } - - dst[ 0 ] += dst_rem[ 0 ]; - dst[ 1 ] += dst_rem[ 1 ]; - dst[ 2 ] += dst_rem[ 1 ]; - dst[ 3 ] += dst_rem[ 2 ]; - dst[ 4 ] += dst_rem[ 2 ]; - src[ 0 ] += src_rem[ 0 ]; - src[ 1 ] += src_rem[ 1 ]; - src[ 2 ] += src_rem[ 2 ]; - } + return yuvp_to_yuv444( src, dst_pf ); } - - return dst_img; -} - -static image_type_ptr yuv422p_to_yuv420p( const image_type_ptr &src_img, const std::wstring &format ) -{ - size_type width = src_img->width( ); - size_type height = src_img->height( ); - - image_type_ptr dst_img = allocate( src_img, format ); - - if ( dst_img != 0 ) + else if ( is_yuv_planar( src ) && is_rgb_packed( dst_pf ) ) { - const_pointer src[ 3 ]; - src[ 0 ] = src_img->data( 0 ); - src[ 1 ] = src_img->data( 1 ); - src[ 2 ] = src_img->data( 1 ) + src_img->pitch( 1 ); - - size_type src_rem[ 2 ]; - src_rem[ 0 ] = src_img->pitch( 0 ) - src_img->linesize( 0 ); - src_rem[ 1 ] = 2 * src_img->pitch( 1 ) - src_img->linesize( 1 ); - - pointer dst[ 2 ]; - dst[ 0 ] = dst_img->data( 0 ); - dst[ 1 ] = dst_img->data( 1 ); - - size_type dst_rem[ 2 ]; - dst_rem[ 0 ] = dst_img->pitch( 0 ) - dst_img->linesize( 0 ); - dst_rem[ 1 ] = dst_img->pitch( 1 ) - dst_img->linesize( 1 ); - - size_type orig_width = width / 2; - - while( height -- ) - { - width = orig_width; - - while( width -- ) - { - *( dst[ 0 ] ++ ) = *( src[ 0 ] ++ ); - *( dst[ 0 ] ++ ) = *( src[ 0 ] ++ ); - *( dst[ 1 ] ++ ) = ( *( src[ 1 ] ++ ) + *( src[ 2 ] ++ ) ) >> 1; - } - - src[ 0 ] += src_rem[ 0 ]; - src[ 1 ] += src_rem[ 1 ]; - src[ 2 ] += src_rem[ 1 ]; - dst[ 0 ] += dst_rem[ 0 ]; - dst[ 1 ] += dst_rem[ 1 ]; - } + if ( dst_pf == L"a8b8g8r8" ) + return yuvp_to_rgb( src, dst_pf, 3, 2, 1, 0 ); + if ( dst_pf == L"a8r8g8b8" ) + return yuvp_to_rgb( src, dst_pf, 1, 2, 3, 0 ); + if ( dst_pf == L"b8g8r8" ) + return yuvp_to_rgb( src, dst_pf, 2, 1, 0, -1 ); + if ( dst_pf == L"b8g8r8a8" ) + return yuvp_to_rgb( src, dst_pf, 2, 1, 0, 3 ); + if ( dst_pf == L"r8g8b8" ) + return yuvp_to_rgb( src, dst_pf, 0, 1, 2, -1 ); + if ( dst_pf == L"r8g8b8a8" ) + return yuvp_to_rgb( src, dst_pf, 0, 1, 2, 3 ); } - - return dst_img; -} - -static image_type_ptr yuv420p_to_yuv444( const image_type_ptr &src_img, const std::wstring &format ) -{ - size_type width = src_img->width( ); - size_type height = src_img->height( ); - - image_type_ptr dst_img = allocate( src_img, format ); - - if ( dst_img != 0 ) + else if ( is_rgb_packed( src_pf ) && is_yuv_planar( dst_pf ) ) { - const_pointer src[ 4 ]; - src[ 0 ] = src_img->data( 0 ); - src[ 1 ] = src_img->data( 1 ); - src[ 2 ] = src_img->data( 2 ); - src[ 3 ] = src[ 0 ] + src_img->pitch( 0 ); - - size_type src_pitch[ 3 ]; - src_pitch[ 0 ] = src_img->pitch( 0 ) * 2; - src_pitch[ 1 ] = src_img->pitch( 1 ); - src_pitch[ 2 ] = src_img->pitch( 2 ); - - pointer dst[ 2 ]; - size_type dst_pitch = dst_img->pitch( ) * 2; - dst[ 0 ] = dst_img->data( ); - dst[ 1 ] = dst_img->data( ) + width * 3; - - const_pointer sptr[ 4 ]; - sptr[ 0 ] = src[ 0 ]; - sptr[ 1 ] = src[ 1 ]; - sptr[ 2 ] = src[ 2 ]; - sptr[ 3 ] = src[ 3 ]; - - pointer dptr[ 2 ]; - dptr[ 0 ] = dst[ 0 ]; - dptr[ 1 ] = dst[ 1 ]; - - size_type orig_width = width; - - while( height > 1 ) - { - width = orig_width; - dst[ 0 ] = dptr[ 0 ]; - dst[ 1 ] = dptr[ 1 ]; - src[ 0 ] = sptr[ 0 ]; - src[ 1 ] = sptr[ 1 ]; - src[ 2 ] = sptr[ 2 ]; - src[ 3 ] = sptr[ 3 ]; - - while( width > 1 ) - { - *( dst[ 0 ] ++ ) = *( src[ 0 ] ++ ); - *( dst[ 0 ] ++ ) = *( src[ 1 ] ); - *( dst[ 0 ] ++ ) = *( src[ 2 ] ); - - *( dst[ 0 ] ++ ) = *( src[ 0 ] ++ ); - *( dst[ 0 ] ++ ) = *( src[ 1 ] ); - *( dst[ 0 ] ++ ) = *( src[ 2 ] ); - - *( dst[ 1 ] ++ ) = *( src[ 3 ] ++ ); - *( dst[ 1 ] ++ ) = *( src[ 1 ] ); - *( dst[ 1 ] ++ ) = *( src[ 2 ] ); - - *( dst[ 1 ] ++ ) = *( src[ 3 ] ++ ); - *( dst[ 1 ] ++ ) = *( src[ 1 ] ++ ); - *( dst[ 1 ] ++ ) = *( src[ 2 ] ++ ); - - width -= 2; - } - - dptr[ 0 ] += dst_pitch; - dptr[ 1 ] += dst_pitch; - sptr[ 0 ] += src_pitch[ 0 ]; - sptr[ 1 ] += src_pitch[ 1 ]; - sptr[ 2 ] += src_pitch[ 2 ]; - sptr[ 3 ] += src_pitch[ 0 ]; - - height -= 2; - } + if ( src_pf == L"a8b8g8r8" ) + return rgb_to_yuvp( src, dst_pf, 3, 2, 1, 0 ); + if ( src_pf == L"a8r8g8b8" ) + return rgb_to_yuvp( src, dst_pf, 1, 2, 3, 0 ); + if ( src_pf == L"b8g8r8" ) + return rgb_to_yuvp( src, dst_pf, 2, 1, 0, -1 ); + if ( src_pf == L"b8g8r8a8" ) + return rgb_to_yuvp( src, dst_pf, 2, 1, 0, 3 ); + if ( src_pf == L"r8g8b8" ) + return rgb_to_yuvp( src, dst_pf, 0, 1, 2, -1 ); + if ( src_pf == L"r8g8b8a8" ) + return rgb_to_yuvp( src, dst_pf, 0, 1, 2, 3 ); } - - return dst_img; -} - -IL_DECLSPEC image_type_ptr convert( const image_type_ptr &src, const std::wstring &dst_pf, int ) -{ - // Sanity check - if ( src == 0 ) - return src; - - // Get the format of the source - std::wstring src_pf = src->pf( ); - - // Convert - if ( dst_pf == src_pf ) + else if ( src_pf == L"yuv422" && is_yuv_planar( dst_pf ) ) { - return src; + return yuv422_to_yuvp( src, dst_pf ); } + else if ( src_pf == L"yuv444" && is_yuv_planar( dst_pf ) ) + { + return yuv444_to_yuvp( src, dst_pf ); + } else if ( src_pf == L"r8g8b8" ) { if ( dst_pf == L"b8g8r8" ) @@ -2375,14 +1605,8 @@ return rgb_to_yuv444( src, dst_pf, 3, 0, 1, 2 ); else if ( dst_pf == L"yuv422" ) return rgb_to_yuv422( src, dst_pf, 3, 0, 1, 2 ); - else if ( dst_pf == L"yuv422p" ) - return rgb_to_yuv422p( src, dst_pf, 3, 0, 1, 2 ); - else if ( dst_pf == L"yuv420p" ) - return rgb_to_yuv420p( src, dst_pf, 3, 0, 1, 2 ); else if ( dst_pf == L"yuv411" ) return rgb_to_yuv411( src, dst_pf, 3, 0, 1, 2 ); - else if ( dst_pf == L"yuv411p" ) - return rgb_to_yuv411p( src, dst_pf, 3, 0, 1, 2 ); ... [truncated message content] |
From: <gl...@us...> - 2007-05-19 16:37:12
|
Revision: 126 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=126&view=rev Author: glslang Date: 2007-05-19 09:37:10 -0700 (Sat, 19 May 2007) Log Message: ----------- +initial unification build/distribute script Added Paths: ----------- unity.sh Added: unity.sh =================================================================== --- unity.sh (rev 0) +++ unity.sh 2007-05-19 16:37:10 UTC (rev 126) @@ -0,0 +1,37 @@ +#!/bin/sh -x +# Unification of build and distribution: +# recurses into lib and app directories, building each in turn. +# updates Boost version in VC8 project files. + +if [ $# -eq "0" ] +then + echo "usage: `basename $0` options (-evb)" + exit 1 +fi + +update_boost_version=0 +boost_old_version=1_33_1 +boost_new_version=1_34 + +while getopts "v:b:e" option +do + case $option in + e ) update_boost_version=1;; + v ) boost_old_version="$OPTARG";; + b ) boost_new_version="$OPTARG";; + esac +done + +shift $(($OPTIND - 1)) + +if [ "$update_boost_version" -eq 1 ] +then + find . -type f -name '*.vcproj' -print | while read i + do cp $i $i.unity.bak && + sed -e "s|boost-$boost_old_version|boost-$boost_new_version|g" -e "s|$boost_old_version.lib|$boost_new_version.lib|g" $i.unity.bak > $i && + rm $i.unity.bak + done +fi + +exit 0 + Property changes on: unity.sh ___________________________________________________________________ Name: svn:executable + * Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-19 16:34:54
|
Revision: 125 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=125&view=rev Author: glslang Date: 2007-05-19 09:34:45 -0700 (Sat, 19 May 2007) Log Message: ----------- +update VC8 solution files to use boost 1.34 Modified Paths: -------------- lib/openlibraries/src/openassetlib/py/py_vc8.vcproj lib/openlibraries/src/openimagelib/py/py_vc8.vcproj lib/openlibraries/src/openmedialib/py/py_vc8.vcproj lib/openlibraries/src/openpluginlib/py/py_vc8.vcproj Modified: lib/openlibraries/src/openassetlib/py/py_vc8.vcproj =================================================================== --- lib/openlibraries/src/openassetlib/py/py_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) +++ lib/openlibraries/src/openassetlib/py/py_vc8.vcproj 2007-05-19 16:34:45 UTC (rev 125) @@ -64,7 +64,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="boost_python-vc80-mt-gd-1_33_1.lib" + AdditionalDependencies="boost_python-vc80-mt-gd-1_34.lib" OutputFile="$(OutDir)\openassetlib.pyd" LinkIncremental="2" AdditionalLibraryDirectories="C:\Boost\lib;C:\Python25\Libs;$(SolutionDir)src\openpluginlib\pl\$(ConfigurationName);$(SolutionDir)src\openassetlib\al\$(ConfigurationName);$(SolutionDir)src\openimagelib\il\$(ConfigurationName);$(SolutionDir)src\openmedialib\ml\$(ConfigurationName);$(SolutionDir)src\openobjectlib\sg\$(ConfigurationName)" @@ -146,7 +146,7 @@ <Tool Name="VCLinkerTool" IgnoreImportLibrary="true" - AdditionalDependencies="boost_python-vc80-mt-1_33_1.lib" + AdditionalDependencies="boost_python-vc80-mt-1_34.lib" OutputFile="$(OutDir)\openassetlib.pyd" LinkIncremental="1" AdditionalLibraryDirectories="C:\Boost\lib;C:\Python25\Libs;$(SolutionDir)src\openpluginlib\pl\$(ConfigurationName);$(SolutionDir)src\openassetlib\al\$(ConfigurationName);$(SolutionDir)src\openimagelib\il\$(ConfigurationName);$(SolutionDir)src\openmedialib\ml\$(ConfigurationName);$(SolutionDir)src\openobjectlib\sg\$(ConfigurationName)" Modified: lib/openlibraries/src/openimagelib/py/py_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/py/py_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) +++ lib/openlibraries/src/openimagelib/py/py_vc8.vcproj 2007-05-19 16:34:45 UTC (rev 125) @@ -64,7 +64,7 @@ <Tool Name="VCLinkerTool" IgnoreImportLibrary="true" - AdditionalDependencies="boost_python-vc80-mt-gd-1_33_1.lib" + AdditionalDependencies="boost_python-vc80-mt-gd-1_34.lib" OutputFile="$(OutDir)\openimagelib.pyd" LinkIncremental="2" AdditionalLibraryDirectories="C:\Boost\lib;"$(SolutionDir)\src\openpluginlib\pl\$(ConfigurationName)";C:\Python25\Libs" @@ -146,7 +146,7 @@ <Tool Name="VCLinkerTool" IgnoreImportLibrary="true" - AdditionalDependencies="boost_python-vc80-mt-1_33_1.lib" + AdditionalDependencies="boost_python-vc80-mt-1_34.lib" OutputFile="$(OutDir)\openimagelib.pyd" LinkIncremental="1" AdditionalLibraryDirectories="C:\Boost\lib;"$(SolutionDir)\src\openpluginlib\pl\$(ConfigurationName)";C:\Python25\Libs" Modified: lib/openlibraries/src/openmedialib/py/py_vc8.vcproj =================================================================== --- lib/openlibraries/src/openmedialib/py/py_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) +++ lib/openlibraries/src/openmedialib/py/py_vc8.vcproj 2007-05-19 16:34:45 UTC (rev 125) @@ -66,7 +66,7 @@ <Tool Name="VCLinkerTool" IgnoreImportLibrary="true" - AdditionalDependencies="boost_python-vc80-mt-gd-1_33_1.lib" + AdditionalDependencies="boost_python-vc80-mt-gd-1_34.lib" OutputFile="$(OutDir)\openmedialib.pyd" LinkIncremental="2" AdditionalLibraryDirectories="C:\Boost\lib;C:\Python25\Libs;$(SolutionDir)\src\openpluginlib\pl\$(ConfigurationName);$(SolutionDir)\src\openimagelib\il\$(ConfigurationName)" @@ -149,7 +149,7 @@ <Tool Name="VCLinkerTool" IgnoreImportLibrary="true" - AdditionalDependencies="boost_python-vc80-mt-1_33_1.lib" + AdditionalDependencies="boost_python-vc80-mt-1_34.lib" OutputFile="$(OutDir)\openmedialib.pyd" LinkIncremental="1" AdditionalLibraryDirectories="C:\Boost\lib;C:\Python25\Libs;$(SolutionDir)\src\openpluginlib\pl\$(ConfigurationName);$(SolutionDir)\src\openimagelib\il\$(ConfigurationName)" Modified: lib/openlibraries/src/openpluginlib/py/py_vc8.vcproj =================================================================== --- lib/openlibraries/src/openpluginlib/py/py_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) +++ lib/openlibraries/src/openpluginlib/py/py_vc8.vcproj 2007-05-19 16:34:45 UTC (rev 125) @@ -67,7 +67,7 @@ <Tool Name="VCLinkerTool" IgnoreImportLibrary="true" - AdditionalDependencies="boost_python-vc80-mt-gd-1_33_1.lib" + AdditionalDependencies="boost_python-vc80-mt-gd-1_34.lib" OutputFile="$(OutDir)\openpluginlib.pyd" LinkIncremental="2" AdditionalLibraryDirectories="C:\Boost\lib;"C:\Program Files\NVIDIA Corporation\Cg\lib";C:\Python25\Libs" @@ -152,7 +152,7 @@ <Tool Name="VCLinkerTool" IgnoreImportLibrary="true" - AdditionalDependencies="boost_python-vc80-mt-1_33_1.lib" + AdditionalDependencies="boost_python-vc80-mt-1_34.lib" OutputFile="$(OutDir)\openpluginlib.pyd" LinkIncremental="1" AdditionalLibraryDirectories="C:\Boost\lib;"C:\Program Files\NVIDIA Corporation\Cg\lib";C:\Python25\Libs" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-19 15:28:14
|
Revision: 124 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=124&view=rev Author: glslang Date: 2007-05-19 08:28:12 -0700 (Sat, 19 May 2007) Log Message: ----------- +update VC8 solution files to use boost 1.34 Modified Paths: -------------- lib/extras/src/panoramic/panoramic_vc8.vcproj lib/extras/src/raw/raw_vc8.vcproj lib/openlibraries/src/openassetlib/al/al_vc8.vcproj lib/openlibraries/src/openassetlib/plugins/sqlite/sqlite_vc8.vcproj lib/openlibraries/src/openassetlib/py/py_vc8.vcproj lib/openlibraries/src/openeffectslib/plugins/tonemap/tonemap_vc8.vcproj lib/openlibraries/src/openimagelib/il/il_vc8.vcproj lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_vc8.vcproj lib/openlibraries/src/openimagelib/plugins/bmp/bmp_vc8.vcproj lib/openlibraries/src/openimagelib/plugins/dds/dds_vc8.vcproj lib/openlibraries/src/openimagelib/plugins/dpx/dpx_vc8.vcproj lib/openlibraries/src/openimagelib/plugins/exr/exr_vc8.vcproj lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_vc8.vcproj lib/openlibraries/src/openimagelib/plugins/hdr/hdr_vc8.vcproj lib/openlibraries/src/openimagelib/plugins/jpg/jpg_vc8.vcproj lib/openlibraries/src/openimagelib/plugins/png/png_vc8.vcproj lib/openlibraries/src/openimagelib/plugins/psd/psd_vc8.vcproj lib/openlibraries/src/openimagelib/plugins/qim/qim_vc8.vcproj lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_vc8.vcproj lib/openlibraries/src/openimagelib/plugins/sgi/sgi_vc8.vcproj lib/openlibraries/src/openimagelib/plugins/tga/tga_vc8.vcproj lib/openlibraries/src/openimagelib/plugins/tiff/tiff_vc8.vcproj lib/openlibraries/src/openimagelib/py/py_vc8.vcproj lib/openlibraries/src/openmedialib/ml/ml_vc8.vcproj lib/openlibraries/src/openmedialib/plugins/avformat/avformat_vc8.vcproj lib/openlibraries/src/openmedialib/plugins/gensys/gensys_vc8.vcproj lib/openlibraries/src/openmedialib/plugins/glew/glew_vc8.vcproj lib/openlibraries/src/openmedialib/plugins/ofx/ofx_vc8.vcproj lib/openlibraries/src/openmedialib/plugins/oil/oil_vc8.vcproj lib/openlibraries/src/openmedialib/plugins/openal/openal_vc8.vcproj lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_vc8.vcproj lib/openlibraries/src/openmedialib/plugins/template/template_vc8.vcproj lib/openlibraries/src/openmedialib/py/py_vc8.vcproj lib/openlibraries/src/openobjectlib/plugins/X3D/X3D_vc8.vcproj lib/openlibraries/src/openobjectlib/plugins/obj/obj_vc8.vcproj lib/openlibraries/src/openobjectlib/sg/sg_vc8.vcproj lib/openlibraries/src/openpluginlib/pl/pl_vc8.vcproj lib/openlibraries/src/openpluginlib/py/py_vc8.vcproj lib/openlibraries/test/openassetlib/unittest_filesystem_storage_plugin/unittest_filesystem_storage_plugin.vcproj lib/openlibraries/test/openassetlib/unittest_sqlite3_metadata_plugin/unittest_sqlite3_metadata_plugin.vcproj lib/openlibraries/test/openeffectslib/rescaler_bench/rescaler_bench_vc8.vcproj lib/openlibraries/test/openeffectslib/tm_bench/tm_bench_vc8.vcproj lib/openlibraries/test/openimagelib/GL/_2D/_2D_vc8.vcproj lib/openlibraries/test/openimagelib/GL/_2D_compressed/_2D_compressed_vc8.vcproj lib/openlibraries/test/openimagelib/GL/_2D_compressed_cubemap/_2D_compressed_cubemap_vc8.vcproj lib/openlibraries/test/openimagelib/GL/_2D_crop/_2D_crop_vc8.vcproj lib/openlibraries/test/openimagelib/GL/_2D_crop2/_2D_crop2_vc8.vcproj lib/openlibraries/test/openimagelib/GL/_2D_exr/_2D_exr_vc8.vcproj lib/openlibraries/test/openimagelib/GL/_2D_sgi/_2D_sgi_vc8.vcproj lib/openlibraries/test/openimagelib/GL/_3D_lightmap/_3D_lightmap_vc8.vcproj lib/openlibraries/test/openmedialib/player/player_vc8.vcproj lib/openlibraries/test/openmedialib/store/store_vc8.vcproj lib/openlibraries/test/openobjectlib/GL/multipass_draw/multipass_draw_vc8.vcproj lib/openlibraries/test/openobjectlib/GL/noise_volume/noise_volume_vc8.vcproj lib/openlibraries/test/openobjectlib/GL/obj_draw/obj_draw_vc8.vcproj lib/openlibraries/test/openobjectlib/GL/texture_draw/texture_draw_vc8.vcproj lib/openlibraries/test/openpluginlib/discovery/discovery_vc8.vcproj lib/openlibraries/test/openpluginlib/enumerate/enumerate_vc8.vcproj lib/openlibraries/test/openpluginlib/gpu_timer_query/gpu_timer_query_vc8.vcproj lib/openlibraries/test/openpluginlib/initialization/initialization_vc8.vcproj lib/openlibraries/test/openpluginlib/pcos/key/key_vc8.vcproj lib/openlibraries/test/openpluginlib/pcos/property/property_vc8.vcproj lib/openlibraries/test/openpluginlib/pcos/property_container/property_container_vc8.vcproj lib/openlibraries/test/openpluginlib/pcos/subject-observer/subject-observer_vc8.vcproj lib/openlibraries/test/openpluginlib/rdtsc/rdtsc_vc8.vcproj lib/openlibraries/test/openpluginlib/sleep/sleep_vc8.vcproj Modified: lib/extras/src/panoramic/panoramic_vc8.vcproj =================================================================== --- lib/extras/src/panoramic/panoramic_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/extras/src/panoramic/panoramic_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_33_1";C:\OFX" + AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_34";C:\OFX" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PANORAMIC_EXPORTS;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -121,7 +121,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_33_1";C:\OFX" + AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_34";C:\OFX" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PANORAMIC_EXPORTS;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/extras/src/raw/raw_vc8.vcproj =================================================================== --- lib/extras/src/raw/raw_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/extras/src/raw/raw_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;RAW_EXPORTS;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -121,7 +121,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;RAW_EXPORTS;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openassetlib/al/al_vc8.vcproj =================================================================== --- lib/openlibraries/src/openassetlib/al/al_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openassetlib/al/al_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories="C:\Boost\include\boost-1_33_1;$(SolutionDir)\src" + AdditionalIncludeDirectories="C:\Boost\include\boost-1_34;$(SolutionDir)\src" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;AL_EXPORTS;OPENASSETLIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -124,7 +124,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="C:\Boost\include\boost-1_33_1;$(SolutionDir)\src" + AdditionalIncludeDirectories="C:\Boost\include\boost-1_34;$(SolutionDir)\src" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;AL_EXPORTS;OPENASSETLIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openassetlib/plugins/sqlite/sqlite_vc8.vcproj =================================================================== --- lib/openlibraries/src/openassetlib/plugins/sqlite/sqlite_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openassetlib/plugins/sqlite/sqlite_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories="$(SolutionDir)src;C:\Boost\include\boost-1_33_1" + AdditionalIncludeDirectories="$(SolutionDir)src;C:\Boost\include\boost-1_34" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SQLITE_EXPORTS;HAVE_FLEX_STRING;OPENASSETLIB_BUILD" MinimalRebuild="true" ExceptionHandling="2" @@ -123,7 +123,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="$(SolutionDir)src;C:\Boost\include\boost-1_33_1" + AdditionalIncludeDirectories="$(SolutionDir)src;C:\Boost\include\boost-1_34" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SQLITE_EXPORTS;HAVE_FLEX_STRING;OPENASSETLIB_BUILD" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openassetlib/py/py_vc8.vcproj =================================================================== --- lib/openlibraries/src/openassetlib/py/py_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openassetlib/py/py_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";C:\Python25\include" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";C:\Python25\include" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PY_EXPORTS;AL_EXPORTS;OPENASSETLIB_BUILD;HAVE_FLEX_STRING;HAVE_BOOST_FILESYSTEM;PYTHON_BINDING" MinimalRebuild="true" ExceptionHandling="2" @@ -122,7 +122,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";C:\Python25\include" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";C:\Python25\include" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PY_EXPORTS;AL_EXPORTS;OPENASSETLIB_BUILD;HAVE_FLEX_STRING;HAVE_BOOST_FILESYSTEM;PYTHON_BINDING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openeffectslib/plugins/tonemap/tonemap_vc8.vcproj =================================================================== --- lib/openlibraries/src/openeffectslib/plugins/tonemap/tonemap_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openeffectslib/plugins/tonemap/tonemap_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";;"C:\openexr-1.4.0-vs2005\include\OpenEXR"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";;"C:\openexr-1.4.0-vs2005\include\OpenEXR"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;TONEMAP_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING;OPENEXR_DLL;HAVE_OPENEXR" MinimalRebuild="true" ExceptionHandling="2" @@ -123,7 +123,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";;"C:\openexr-1.4.0-vs2005\include\OpenEXR"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";;"C:\openexr-1.4.0-vs2005\include\OpenEXR"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;TONEMAP_EXPORTS;;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING;OPENEXR_DLL;HAVE_OPENEXR" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openimagelib/il/il_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/il/il_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/il/il_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""C:\Boost\include\boost-1_33_1";"$(SolutionDir)\src"" + AdditionalIncludeDirectories=""C:\Boost\include\boost-1_34";"$(SolutionDir)\src"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING;OPENEXR_DLL;HAVE_OPENEXR" MinimalRebuild="true" ExceptionHandling="2" @@ -131,7 +131,7 @@ <Tool Name="VCCLCompilerTool" Optimization="3" - AdditionalIncludeDirectories=""C:\Boost\include\boost-1_33_1";"$(SolutionDir)\src"" + AdditionalIncludeDirectories=""C:\Boost\include\boost-1_34";"$(SolutionDir)\src"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;IL_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING;OPENEXR_DLL;HAVE_OPENEXR;OPENEXR_DLL" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/plugins/3D_lightmap/3D_lightmap_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIGHTMAP3D_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -124,7 +124,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIGHTMAP3D_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openimagelib/plugins/bmp/bmp_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/plugins/bmp/bmp_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/plugins/bmp/bmp_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;BMP_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -129,7 +129,7 @@ <Tool Name="VCCLCompilerTool" Optimization="3" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;BMP_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openimagelib/plugins/dds/dds_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/plugins/dds/dds_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/plugins/dds/dds_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\Microsoft DirectX 9.0 SDK (Summer 2004)\Include"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\Microsoft DirectX 9.0 SDK (Summer 2004)\Include"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DDS_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -125,7 +125,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";C:\Boost\include\boost-1_33_1;"C:\Program Files\Microsoft DirectX 9.0 SDK (Summer 2004)\Include"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";C:\Boost\include\boost-1_34;"C:\Program Files\Microsoft DirectX 9.0 SDK (Summer 2004)\Include"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DDS_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openimagelib/plugins/dpx/dpx_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/plugins/dpx/dpx_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/plugins/dpx/dpx_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DPX_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -122,7 +122,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DPX_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openimagelib/plugins/exr/exr_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/plugins/exr/exr_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/plugins/exr/exr_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\openexr-1.4.0-vs2005\include\OpenEXR"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\openexr-1.4.0-vs2005\include\OpenEXR"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;EXR_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING;OPENEXR_DLL" MinimalRebuild="true" ExceptionHandling="2" @@ -124,7 +124,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\openexr-1.4.0-vs2005\include\OpenEXR"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\openexr-1.4.0-vs2005\include\OpenEXR"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;EXR_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING;OPENEXR_DLL" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/plugins/gdi+/gdi+_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GDI_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -124,7 +124,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GDI_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openimagelib/plugins/hdr/hdr_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/plugins/hdr/hdr_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/plugins/hdr/hdr_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;HDR_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -127,7 +127,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;HDR_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openimagelib/plugins/jpg/jpg_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/plugins/jpg/jpg_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/plugins/jpg/jpg_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\HDR\include"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\HDR\include"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;JPG_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING;HAVE_JPEGHDR" MinimalRebuild="true" ExceptionHandling="2" @@ -130,7 +130,7 @@ <Tool Name="VCCLCompilerTool" Optimization="3" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\HDR\include"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\HDR\include"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;JPG_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING;HAVE_JPEGHDR" ExceptionHandling="2" RuntimeLibrary="0" Modified: lib/openlibraries/src/openimagelib/plugins/png/png_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/plugins/png/png_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/plugins/png/png_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";C:\libpng\include;C:\zlib\include" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";C:\libpng\include;C:\zlib\include" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PNG_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -125,7 +125,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";C:\libpng\include;C:\zlib\include" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";C:\libpng\include;C:\zlib\include" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PNG_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openimagelib/plugins/psd/psd_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/plugins/psd/psd_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/plugins/psd/psd_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PSD_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -124,7 +124,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PSD_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" RuntimeLibrary="2" BufferSecurityCheck="false" Modified: lib/openlibraries/src/openimagelib/plugins/qim/qim_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/plugins/qim/qim_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/plugins/qim/qim_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"$(QTDIR)\include"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"$(QTDIR)\include"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;QIM_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -122,7 +122,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"$(QTDIR)\include"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"$(QTDIR)\include"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;QIM_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/plugins/quicktime/quicktime_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\QuickTime SDK\CIncludes"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\QuickTime SDK\CIncludes"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;QUICKTIME_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -125,7 +125,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\QuickTime SDK\CIncludes"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\QuickTime SDK\CIncludes"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;QUICKTIME_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openimagelib/plugins/sgi/sgi_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/plugins/sgi/sgi_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/plugins/sgi/sgi_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SGI_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -124,7 +124,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SGI_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" RuntimeLibrary="2" BufferSecurityCheck="false" Modified: lib/openlibraries/src/openimagelib/plugins/tga/tga_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/plugins/tga/tga_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/plugins/tga/tga_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;TGA_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -125,7 +125,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;TGA_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openimagelib/plugins/tiff/tiff_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/plugins/tiff/tiff_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/plugins/tiff/tiff_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";C:\libtiff\include" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";C:\libtiff\include" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;TIFF_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -123,7 +123,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";C:\libtiff\include" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";C:\libtiff\include" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;TIFF_EXPORTS;OPENIMAGELIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openimagelib/py/py_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/py/py_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openimagelib/py/py_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";C:\Python25\include" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";C:\Python25\include" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PY_EXPORTS;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -122,7 +122,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";C:\Python25\include" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";C:\Python25\include" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PY_EXPORTS;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openmedialib/ml/ml_vc8.vcproj =================================================================== --- lib/openlibraries/src/openmedialib/ml/ml_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openmedialib/ml/ml_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;ML_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -124,7 +124,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;ML_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openmedialib/plugins/avformat/avformat_vc8.vcproj =================================================================== --- lib/openlibraries/src/openmedialib/plugins/avformat/avformat_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openmedialib/plugins/avformat/avformat_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\FFmpeg\include\ffmpeg"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\FFmpeg\include\ffmpeg"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;AVFORMAT_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -125,7 +125,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\FFmpeg\include\\ffmpeg"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\FFmpeg\include\\ffmpeg"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;AVFORMAT_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="false" ExceptionHandling="2" Modified: lib/openlibraries/src/openmedialib/plugins/gensys/gensys_vc8.vcproj =================================================================== --- lib/openlibraries/src/openmedialib/plugins/gensys/gensys_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openmedialib/plugins/gensys/gensys_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GENSYS_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -123,7 +123,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GENSYS_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openmedialib/plugins/glew/glew_vc8.vcproj =================================================================== --- lib/openlibraries/src/openmedialib/plugins/glew/glew_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openmedialib/plugins/glew/glew_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GLEW_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -125,7 +125,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GLEW_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openmedialib/plugins/ofx/ofx_vc8.vcproj =================================================================== --- lib/openlibraries/src/openmedialib/plugins/ofx/ofx_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openmedialib/plugins/ofx/ofx_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";C:\OFX" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";C:\OFX" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;OFX_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -122,7 +122,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";C:\OFX" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";C:\OFX" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;OFX_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openmedialib/plugins/oil/oil_vc8.vcproj =================================================================== --- lib/openlibraries/src/openmedialib/plugins/oil/oil_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openmedialib/plugins/oil/oil_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;OIL_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -124,7 +124,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;OIL_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openmedialib/plugins/openal/openal_vc8.vcproj =================================================================== --- lib/openlibraries/src/openmedialib/plugins/openal/openal_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openmedialib/plugins/openal/openal_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\OpenAL 1.1 SDK\include"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\OpenAL 1.1 SDK\include"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;OPENAL_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -125,7 +125,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\OpenAL 1.1 SDK\include"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\OpenAL 1.1 SDK\include"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;OPENAL_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_vc8.vcproj =================================================================== --- lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openmedialib/plugins/quicktime/quicktime_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\QuickTime SDK\CIncludes"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\QuickTime SDK\CIncludes"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;QUICKTIME_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -124,7 +124,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\QuickTime SDK\CIncludes"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\QuickTime SDK\CIncludes"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;QUICKTIME_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openmedialib/plugins/template/template_vc8.vcproj =================================================================== --- lib/openlibraries/src/openmedialib/plugins/template/template_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openmedialib/plugins/template/template_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;TEMPLATE_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -124,7 +124,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;TEMPLATE_EXPORTS;ML_PLUGIN_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openmedialib/py/py_vc8.vcproj =================================================================== --- lib/openlibraries/src/openmedialib/py/py_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openmedialib/py/py_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";C:\Python25\include" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";C:\Python25\include" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PY_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" MinimalRebuild="true" ExceptionHandling="2" @@ -124,7 +124,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";C:\Python25\include" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";C:\Python25\include" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PY_EXPORTS;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openobjectlib/plugins/X3D/X3D_vc8.vcproj =================================================================== --- lib/openlibraries/src/openobjectlib/plugins/X3D/X3D_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openobjectlib/plugins/X3D/X3D_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\NVIDIA Corporation\Cg\include"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\NVIDIA Corporation\Cg\include"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;X3D_EXPORTS;HAVE_FLEX_STRING;HAVE_OPENIMAGELIB;HAVE_CG_RUNTIME;HAVE_BOOST_FILESYSTEM;OPENOBJECTLIB_BUILD" StringPooling="false" MinimalRebuild="true" @@ -130,7 +130,7 @@ <Tool Name="VCCLCompilerTool" Optimization="3" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\NVIDIA Corporation\Cg\include"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\NVIDIA Corporation\Cg\include"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;X3D_EXPORTS;HAVE_FLEX_STRING;HAVE_OPENIMAGELIB;HAVE_CG_RUNTIME;HAVE_BOOST_FILESYSTEM;OPENOBJECTLIB_BUILD" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openobjectlib/plugins/obj/obj_vc8.vcproj =================================================================== --- lib/openlibraries/src/openobjectlib/plugins/obj/obj_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openobjectlib/plugins/obj/obj_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""C:\Boost\include\boost-1_33_1";"$(SolutionDir)\src";"C:\Program Files\NVIDIA Corporation\Cg\include"" + AdditionalIncludeDirectories=""C:\Boost\include\boost-1_34";"$(SolutionDir)\src";"C:\Program Files\NVIDIA Corporation\Cg\include"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;OBJ_EXPORTS;HAVE_FLEX_STRING;HAVE_OPENIMAGELIB;HAVE_BOOST_FILESYSTEM;HAVE_CG_RUNTIME;OPENOBJECTLIB_BUILD" MinimalRebuild="true" ExceptionHandling="2" @@ -127,7 +127,7 @@ <Tool Name="VCCLCompilerTool" Optimization="3" - AdditionalIncludeDirectories=""C:\Boost\include\boost-1_33_1";"$(SolutionDir)\src";"C:\Program Files\NVIDIA Corporation\Cg\include"" + AdditionalIncludeDirectories=""C:\Boost\include\boost-1_34";"$(SolutionDir)\src";"C:\Program Files\NVIDIA Corporation\Cg\include"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;OBJ_EXPORTS;HAVE_FLEX_STRING;HAVE_OPENIMAGELIB;HAVE_BOOST_FILESYSTEM;HAVE_CG_RUNTIME;OPENOBJECTLIB_BUILD" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openobjectlib/sg/sg_vc8.vcproj =================================================================== --- lib/openlibraries/src/openobjectlib/sg/sg_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openobjectlib/sg/sg_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\NVIDIA Corporation\Cg\include"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\NVIDIA Corporation\Cg\include"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SG_EXPORTS;HAVE_FLEX_STRING;HAVE_OPENIMAGELIB;HAVE_CG_RUNTIME;HAVE_BOOST_FILESYSTEM;OPENOBJECTLIB_BUILD" StringPooling="false" MinimalRebuild="true" @@ -132,7 +132,7 @@ <Tool Name="VCCLCompilerTool" Optimization="3" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\NVIDIA Corporation\Cg\include"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\NVIDIA Corporation\Cg\include"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SG_EXPORTS;HAVE_FLEX_STRING;HAVE_CG_RUNTIME;HAVE_OPENIMAGELIB;HAVE_BOOST_FILESYSTEM;OPENOBJECTLIB_BUILD" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openpluginlib/pl/pl_vc8.vcproj =================================================================== --- lib/openlibraries/src/openpluginlib/pl/pl_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openpluginlib/pl/pl_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\NVIDIA Corporation\Cg\include"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\NVIDIA Corporation\Cg\include"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;OPENPLUGINLIB_EXPORTS;OPENPLUGINLIB_BUILD;HAVE_FLEX_STRING;HAVE_CG_RUNTIME;HAVE_BOOST_FILESYSTEM;HAVE_FAST_MATH" MinimalRebuild="true" ExceptionHandling="2" @@ -127,7 +127,7 @@ <Tool Name="VCCLCompilerTool" Optimization="2" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\NVIDIA Corporation\Cg\include"" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\NVIDIA Corporation\Cg\include"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;OPENPLUGINLIB_EXPORTS;OPENPLUGINLIB_BUILD;HAVE_FLEX_STRING;HAVE_CG_RUNTIME;HAVE_BOOST_FILESYSTEM;HAVE_FAST_MATH" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/src/openpluginlib/py/py_vc8.vcproj =================================================================== --- lib/openlibraries/src/openpluginlib/py/py_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/src/openpluginlib/py/py_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\NVIDIA Corporation\Cg\include";C:\Python25\include" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\NVIDIA Corporation\Cg\include";C:\Python25\include" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PY_EXPORTS;OPENPLUGINLIB_EXPORTS;OPENPLUGINLIB_BUILD;HAVE_FLEX_STRING;HAVE_CG_RUNTIME;HAVE_BOOST_FILESYSTEM;PYTHON_BINDING" MinimalRebuild="true" ExceptionHandling="2" @@ -127,7 +127,7 @@ <Tool Name="VCCLCompilerTool" WholeProgramOptimization="true" - AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_33_1";"C:\Program Files\NVIDIA Corporation\Cg\include";C:\Python25\include" + AdditionalIncludeDirectories=""$(SolutionDir)\src";"C:\Boost\include\boost-1_34";"C:\Program Files\NVIDIA Corporation\Cg\include";C:\Python25\include" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PY_EXPORTS;OPENPLUGINLIB_EXPORTS;OPENPLUGINLIB_BUILD;HAVE_FLEX_STRING;HAVE_CG_RUNTIME;HAVE_BOOST_FILESYSTEM;PYTHON_BINDING" ExceptionHandling="2" RuntimeLibrary="2" Modified: lib/openlibraries/test/openassetlib/unittest_filesystem_storage_plugin/unittest_filesystem_storage_plugin.vcproj =================================================================== --- lib/openlibraries/test/openassetlib/unittest_filesystem_storage_plugin/unittest_filesystem_storage_plugin.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/test/openassetlib/unittest_filesystem_storage_plugin/unittest_filesystem_storage_plugin.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -19,7 +19,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories="C:\Boost\include\boost-1_33_1;$(SolutionDir)\src" + AdditionalIncludeDirectories="C:\Boost\include\boost-1_34;$(SolutionDir)\src" PreprocessorDefinitions="FOR_INITIAL_JPLAYER_RELEASE;WIN32;_DEBUG;_CONSOLE;HAVE_FLEX_STRING" MinimalRebuild="TRUE" BasicRuntimeChecks="3" @@ -72,7 +72,7 @@ CharacterSet="1"> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="C:\Boost\include\boost-1_33_1;$(SolutionDir)\src" + AdditionalIncludeDirectories="C:\Boost\include\boost-1_34;$(SolutionDir)\src" PreprocessorDefinitions="FOR_INITIAL_JPLAYER_RELEASE;WIN32;NDEBUG;_CONSOLE;HAVE_FLEX_STRING" RuntimeLibrary="2" TreatWChar_tAsBuiltInType="TRUE" Modified: lib/openlibraries/test/openassetlib/unittest_sqlite3_metadata_plugin/unittest_sqlite3_metadata_plugin.vcproj =================================================================== --- lib/openlibraries/test/openassetlib/unittest_sqlite3_metadata_plugin/unittest_sqlite3_metadata_plugin.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/test/openassetlib/unittest_sqlite3_metadata_plugin/unittest_sqlite3_metadata_plugin.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -19,7 +19,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories="C:\Boost\include\boost-1_33_1;$(SolutionDir)\src" + AdditionalIncludeDirectories="C:\Boost\include\boost-1_34;$(SolutionDir)\src" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_FLEX_STRING;OPENASSETLIB_BUILD" MinimalRebuild="TRUE" BasicRuntimeChecks="3" @@ -72,7 +72,7 @@ CharacterSet="1"> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="C:\Boost\include\boost-1_33_1;$(SolutionDir)\src" + AdditionalIncludeDirectories="C:\Boost\include\boost-1_34;$(SolutionDir)\src" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_FLEX_STRING;OPENASSETLIB_BUILD" RuntimeLibrary="2" BufferSecurityCheck="TRUE" Modified: lib/openlibraries/test/openeffectslib/rescaler_bench/rescaler_bench_vc8.vcproj =================================================================== --- lib/openlibraries/test/openeffectslib/rescaler_bench/rescaler_bench_vc8.vcproj 2007-05-18 22:43:06 UTC (rev 123) +++ lib/openlibraries/test/openeffectslib/rescaler_bench/rescaler_bench_vc8.vcproj 2007-05-19 15:28:12 UTC (rev 124) @@ -40,7 +40,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories="$(SolutionDir)\src;"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories="$(SolutionDir)\src;"C:\Boost\include\boost-1_34"" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;OPENMEDIALIB_BUILD;HAVE_FLEX_STRING;HAVE_CG_RUNTIME;HAVE_BOOST_FILESYSTEM" MinimalRebuild="true" ExceptionHandling="2" @@ -120,7 +120,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="$(SolutionDir)\src;"C:\Boost\include\boost-1_33_1"" + AdditionalIncludeDirectories="$(SolutionDir)\src;... [truncated message content] |
From: <gl...@us...> - 2007-05-18 22:43:08
|
Revision: 123 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=123&view=rev Author: glslang Date: 2007-05-18 15:43:06 -0700 (Fri, 18 May 2007) Log Message: ----------- +initial pcos refactoring and raw filter Modified Paths: -------------- lib/extras/src/raw/raw.cpp lib/openlibraries/src/openpluginlib/pl/pcos/property.cpp lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp lib/openlibraries/src/openpluginlib/pl/pcos/property_container.cpp lib/openlibraries/src/openpluginlib/pl/pcos/subject.hpp lib/openlibraries/src/openpluginlib/py/pcos/property.cpp Modified: lib/extras/src/raw/raw.cpp =================================================================== --- lib/extras/src/raw/raw.cpp 2007-05-17 20:17:44 UTC (rev 122) +++ lib/extras/src/raw/raw.cpp 2007-05-18 22:43:06 UTC (rev 123) @@ -11,29 +11,76 @@ #include <windows.h> #endif -#include <openimagelib/il/openimagelib_plugin.hpp> +#include <openmedialib/ml/openmedialib_plugin.hpp> namespace pl = olib::openpluginlib; namespace il = olib::openimagelib::il; +namespace ml = olib::openmedialib::ml; namespace fs = boost::filesystem; +namespace pcos = olib::openpluginlib::pcos; namespace extras { namespace hdrflow { namespace raw { namespace { - il::image_type_ptr load( const fs::path& path ) - { - return il::image_type_ptr( ); - } } -class raw_plugin : public il::openimagelib_plugin +class raw_input : public ml::input_type { public: - virtual il::image_type_ptr load( const fs::path& path ) { return load( path ); } - virtual bool store( const fs::path&, const il::image_type_ptr& ) { return false; } + explicit raw_input( const pl::wstring& resource ) + : verbose_( pcos::key::from_string( "verbose" ) ) + , thumbnail_( pcos::key::from_string( "thumbnail" ) ) + , camera_white_balance_( pcos::key::from_string( "camera_white_balance" ) ) + , average_white_balance_( pcos::key::from_string( "average_white_balance" ) ) + , average_grey_box_white_balance_( pcos::key::from_string( "average_grey_box_white_balance" ) ) + , user_white_balance_( pcos::key::from_string( "user_white_balance" ) ) + , brightness_( pcos::key::from_string( "brightness" ) ) + , wavelet_denoising_threshold_( pcos::key::from_string( "wavelet_denoising_threshold" ) ) + , black_point_( pcos::key::from_string( "black_point" ) ) + , highlight_mode_( pcos::key::from_string( "highlight_mode" ) ) + , flip_image_( pcos::key::from_string( "flip_image" ) ) + , output_colorspace_( pcos::key::from_string( "output_colorspace" ) ) + , document_mode_( pcos::key::from_string( "document_mode" ) ) + , stretch_rotate_( pcos::key::from_string( "stretch_rotate" ) ) + , interpolation_quality_( pcos::key::from_string( "interpolation_quality" ) ) + , half_size_( pcos::key::from_string( "half_size" ) ) + , four_colour_interpolation_( pcos::key::from_string( "four_colour_interpolation" ) ) + , which_raw_( pcos::key::from_string( "which_raw" ) ) + , sRGB_output_( pcos::key::from_string( "sRGB_output" ) ) + , tiff_output_( pcos::key::from_string( "tiff_output" ) ) + { } + +private: + pcos::property verbose_; + pcos::property thumbnail_; + pcos::property camera_white_balance_; + pcos::property average_white_balance_; + pcos::property average_grey_box_white_balance_; + pcos::property user_white_balance_; + pcos::property brightness_; + pcos::property wavelet_denoising_threshold_; + pcos::property black_point_; + pcos::property highlight_mode_; + pcos::property flip_image_; + pcos::property output_colorspace_; + pcos::property document_mode_; + pcos::property stretch_rotate_; + pcos::property interpolation_quality_; + pcos::property half_size_; + pcos::property four_colour_interpolation_; + pcos::property which_raw_; + pcos::property sRGB_output_; + pcos::property tiff_output_; }; +class raw_plugin : public ml::openmedialib_plugin +{ +public: + explicit raw_plugin( ) + { } +}; + } } } extern "C" Modified: lib/openlibraries/src/openpluginlib/pl/pcos/property.cpp =================================================================== --- lib/openlibraries/src/openpluginlib/pl/pcos/property.cpp 2007-05-17 20:17:44 UTC (rev 122) +++ lib/openlibraries/src/openpluginlib/pl/pcos/property.cpp 2007-05-18 22:43:06 UTC (rev 123) @@ -12,7 +12,6 @@ #include <openpluginlib/pl/utf8_utils.hpp> #include <openpluginlib/pl/pcos/property.hpp> #include <openpluginlib/pl/pcos/subject.hpp> -#include <openpluginlib/pl/pcos/property_container.hpp> namespace opl = olib::openpluginlib; @@ -564,7 +563,6 @@ property_impl* result = new property_impl( key_ ); result->value = value; result->always_notify = always_notify; - result->container_ = container_; return result; } @@ -573,7 +571,6 @@ any value; bool always_notify; subject subject_; - property_container container_; }; property property::NULL_PROPERTY; @@ -615,21 +612,6 @@ impl_->subject_.unblock( obs ); } -property property::get_property_with_string( const char* k ) const -{ - return impl_->container_.get_property_with_string( k ); -} - -property property::get_property_with_key( const key& k ) const -{ - return impl_->container_.get_property_with_key( k ); -} - -key_vector property::get_keys() const -{ - return impl_->container_.get_keys(); -} - property* property::clone() const { property* result = new property( get_key() ); @@ -711,7 +693,6 @@ void property::accept( visitor& v ) { v.visit_property( *this ); - v.visit_property_container( impl_->container_ ); } bool property::valid() const Modified: lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp =================================================================== --- lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp 2007-05-17 20:17:44 UTC (rev 122) +++ lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp 2007-05-18 22:43:06 UTC (rev 123) @@ -57,11 +57,6 @@ void block( boost::shared_ptr< observer > ); void unblock( boost::shared_ptr< observer > ); - // iproperty_container interface - property get_property_with_string( const char* k ) const; - property get_property_with_key( const key& k ) const; - key_vector get_keys( ) const; - // clonable interface property* clone( ) const; Modified: lib/openlibraries/src/openpluginlib/pl/pcos/property_container.cpp =================================================================== --- lib/openlibraries/src/openpluginlib/pl/pcos/property_container.cpp 2007-05-17 20:17:44 UTC (rev 122) +++ lib/openlibraries/src/openpluginlib/pl/pcos/property_container.cpp 2007-05-18 22:43:06 UTC (rev 123) @@ -20,17 +20,17 @@ class forwarding_observer : public observer { public: - forwarding_observer( isubject* forwardTo ) + forwarding_observer( subject* forwardTo ) : forwardTo_( forwardTo ) - {} + { } - virtual void updated( isubject* ) + virtual void updated(isubject* ) { forwardTo_->update(); } private: - isubject* forwardTo_; + subject* forwardTo_; }; /// inner class Modified: lib/openlibraries/src/openpluginlib/pl/pcos/subject.hpp =================================================================== --- lib/openlibraries/src/openpluginlib/pl/pcos/subject.hpp 2007-05-17 20:17:44 UTC (rev 122) +++ lib/openlibraries/src/openpluginlib/pl/pcos/subject.hpp 2007-05-18 22:43:06 UTC (rev 123) @@ -17,30 +17,30 @@ /// A standard subject to be part of the observer pattern. /// The observer pointers are held by shared references. -class OPENPLUGINLIB_DECLSPEC subject : public isubject +class OPENPLUGINLIB_DECLSPEC subject// : public isubject { public: - subject(); + explicit subject(); virtual ~subject(); //// attach an observer to this subject - void attach( boost::shared_ptr< observer > ); + virtual void attach( boost::shared_ptr< observer > ); /// detach an observer from this subject - void detach( boost::shared_ptr< observer > ); + virtual void detach( boost::shared_ptr< observer > ); /// notify all observers - void update(); + virtual void update(); /// block notification for an observer; this is /// a counted block operation i.e. if you call /// block n times on the same observer, no /// notification will be given until unblock() /// has been called a matching number of times. - void block( boost::shared_ptr< observer > ); + virtual void block( boost::shared_ptr< observer > ); /// unblock notification for an observer - void unblock( boost::shared_ptr< observer > ); + virtual void unblock( boost::shared_ptr< observer > ); private: subject& operator=( const subject& ); Modified: lib/openlibraries/src/openpluginlib/py/pcos/property.cpp =================================================================== --- lib/openlibraries/src/openpluginlib/py/pcos/property.cpp 2007-05-17 20:17:44 UTC (rev 122) +++ lib/openlibraries/src/openpluginlib/py/pcos/property.cpp 2007-05-18 22:43:06 UTC (rev 123) @@ -164,11 +164,6 @@ .def( "is_a_uint_list", is_a_uint_list ) .def( "is_a_double_list", is_a_double_list ) .def( "is_a_bool", is_a_bool ) - .def( "get_property", &pcos::property::get_property_with_string, py::return_value_policy< py::return_by_value >() ) - .def( "get_property", &pcos::property::get_property_with_key, py::return_value_policy< py::return_by_value >() ) - .def( "get_keys", &pcos::property::get_keys ) -// .def( "append", &pcos::property::append ) -// .def( "remove", &pcos::property::remove ) .def( "accept", &pcos::property::accept ) .def( "clone", &pcos::property::clone, py::return_value_policy< py::manage_new_object >() ); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-17 20:18:15
|
Revision: 122 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=122&view=rev Author: glslang Date: 2007-05-17 13:17:44 -0700 (Thu, 17 May 2007) Log Message: ----------- +ensure consistent use of files properties to eol-native Modified Paths: -------------- lib/extras/extras_vc8.sln lib/extras/src/panoramic/panoramic.cpp lib/extras/src/panoramic/panoramic_vc8.vcproj lib/extras/src/raw/dcraw_vc8.vcproj lib/extras/src/raw/raw.cpp lib/extras/src/raw/raw_vc8.vcproj Property Changed: ---------------- lib/extras/AUTHORS lib/extras/COPYING lib/extras/ChangeLog lib/extras/INSTALL lib/extras/NEWS lib/extras/README lib/extras/extras_vc8.sln lib/extras/m4/aclocal.m4 lib/extras/m4/boost.m4 lib/extras/m4/cg.m4 lib/extras/m4/fast_math.m4 lib/extras/m4/glew.m4 lib/extras/m4/ofx.m4 lib/extras/m4/opengl.m4 lib/extras/m4/quicktime.m4 lib/extras/m4/universal_binary.m4 lib/extras/src/panoramic/panoramic.cpp lib/extras/src/panoramic/panoramic_vc8.vcproj lib/extras/src/raw/dcraw.c lib/extras/src/raw/dcraw_vc8.vcproj lib/extras/src/raw/raw.cpp lib/extras/src/raw/raw_vc8.vcproj Property changes on: lib/extras/AUTHORS ___________________________________________________________________ Name: svn:eol-style + native Property changes on: lib/extras/COPYING ___________________________________________________________________ Name: svn:eol-style + native Property changes on: lib/extras/ChangeLog ___________________________________________________________________ Name: svn:eol-style + native Property changes on: lib/extras/INSTALL ___________________________________________________________________ Name: svn:eol-style + native Property changes on: lib/extras/NEWS ___________________________________________________________________ Name: svn:eol-style + native Property changes on: lib/extras/README ___________________________________________________________________ Name: svn:eol-style + native Modified: lib/extras/extras_vc8.sln =================================================================== --- lib/extras/extras_vc8.sln 2007-05-17 20:07:49 UTC (rev 121) +++ lib/extras/extras_vc8.sln 2007-05-17 20:17:44 UTC (rev 122) @@ -1,63 +1,63 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{2644DB77-2096-4A50-A23F-C57D3C011FE2}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{5B7F6282-FA8B-4711-B403-2B3181DB5677}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "RAW", "RAW", "{675FBBBA-6681-49E3-AAC6-FE371310DA63}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NOISE", "NOISE", "{E0C3CF4A-5F43-4BBC-B7A9-6D4CDB225CD9}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "raw", "src\raw\raw_vc8.vcproj", "{B4CCC2D9-D505-4B08-B908-B2A38105ABC8}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dcraw", "src\raw\dcraw_vc8.vcproj", "{008BA3EE-35D6-432D-96B6-F65707CCCFBF}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PANORAMIC", "PANORAMIC", "{D133B05E-F174-4CDA-8FF4-C45C139CFACD}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "panoramic", "src\panoramic\panoramic_vc8.vcproj", "{C8F73831-1355-45C9-BD1B-C7AAB4CDE373}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Multi-threaded Debug DLL|Win32 = Multi-threaded Debug DLL|Win32 - Multi-threaded Release DLL|Win32 = Multi-threaded Release DLL|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Debug|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 - {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Debug|Win32.Build.0 = Multi-threaded Release DLL|Win32 - {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 - {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 - {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 - {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 - {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Release|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 - {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Release|Win32.Build.0 = Multi-threaded Release DLL|Win32 - {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Debug|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 - {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Debug|Win32.Build.0 = Multi-threaded Release DLL|Win32 - {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 - {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 - {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 - {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 - {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Release|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 - {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Release|Win32.Build.0 = Multi-threaded Release DLL|Win32 - {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Debug|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 - {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Debug|Win32.Build.0 = Multi-threaded Release DLL|Win32 - {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 - {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 - {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 - {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 - {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Release|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 - {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Release|Win32.Build.0 = Multi-threaded Release DLL|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {675FBBBA-6681-49E3-AAC6-FE371310DA63} = {2644DB77-2096-4A50-A23F-C57D3C011FE2} - {E0C3CF4A-5F43-4BBC-B7A9-6D4CDB225CD9} = {2644DB77-2096-4A50-A23F-C57D3C011FE2} - {D133B05E-F174-4CDA-8FF4-C45C139CFACD} = {2644DB77-2096-4A50-A23F-C57D3C011FE2} - {B4CCC2D9-D505-4B08-B908-B2A38105ABC8} = {675FBBBA-6681-49E3-AAC6-FE371310DA63} - {008BA3EE-35D6-432D-96B6-F65707CCCFBF} = {675FBBBA-6681-49E3-AAC6-FE371310DA63} - {C8F73831-1355-45C9-BD1B-C7AAB4CDE373} = {D133B05E-F174-4CDA-8FF4-C45C139CFACD} - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{2644DB77-2096-4A50-A23F-C57D3C011FE2}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{5B7F6282-FA8B-4711-B403-2B3181DB5677}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "RAW", "RAW", "{675FBBBA-6681-49E3-AAC6-FE371310DA63}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NOISE", "NOISE", "{E0C3CF4A-5F43-4BBC-B7A9-6D4CDB225CD9}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "raw", "src\raw\raw_vc8.vcproj", "{B4CCC2D9-D505-4B08-B908-B2A38105ABC8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dcraw", "src\raw\dcraw_vc8.vcproj", "{008BA3EE-35D6-432D-96B6-F65707CCCFBF}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PANORAMIC", "PANORAMIC", "{D133B05E-F174-4CDA-8FF4-C45C139CFACD}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "panoramic", "src\panoramic\panoramic_vc8.vcproj", "{C8F73831-1355-45C9-BD1B-C7AAB4CDE373}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Multi-threaded Debug DLL|Win32 = Multi-threaded Debug DLL|Win32 + Multi-threaded Release DLL|Win32 = Multi-threaded Release DLL|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Debug|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Debug|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Release|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Release|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Debug|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Debug|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Release|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Release|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Debug|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Debug|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Release|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Release|Win32.Build.0 = Multi-threaded Release DLL|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {675FBBBA-6681-49E3-AAC6-FE371310DA63} = {2644DB77-2096-4A50-A23F-C57D3C011FE2} + {E0C3CF4A-5F43-4BBC-B7A9-6D4CDB225CD9} = {2644DB77-2096-4A50-A23F-C57D3C011FE2} + {D133B05E-F174-4CDA-8FF4-C45C139CFACD} = {2644DB77-2096-4A50-A23F-C57D3C011FE2} + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8} = {675FBBBA-6681-49E3-AAC6-FE371310DA63} + {008BA3EE-35D6-432D-96B6-F65707CCCFBF} = {675FBBBA-6681-49E3-AAC6-FE371310DA63} + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373} = {D133B05E-F174-4CDA-8FF4-C45C139CFACD} + EndGlobalSection +EndGlobal Property changes on: lib/extras/extras_vc8.sln ___________________________________________________________________ Name: svn:eol-style + native Property changes on: lib/extras/m4/aclocal.m4 ___________________________________________________________________ Name: svn:eol-style + native Property changes on: lib/extras/m4/boost.m4 ___________________________________________________________________ Name: svn:eol-style + native Property changes on: lib/extras/m4/cg.m4 ___________________________________________________________________ Name: svn:eol-style + native Property changes on: lib/extras/m4/fast_math.m4 ___________________________________________________________________ Name: svn:eol-style + native Property changes on: lib/extras/m4/glew.m4 ___________________________________________________________________ Name: svn:eol-style + native Property changes on: lib/extras/m4/ofx.m4 ___________________________________________________________________ Name: svn:eol-style + native Property changes on: lib/extras/m4/opengl.m4 ___________________________________________________________________ Name: svn:eol-style + native Property changes on: lib/extras/m4/quicktime.m4 ___________________________________________________________________ Name: svn:eol-style + native Property changes on: lib/extras/m4/universal_binary.m4 ___________________________________________________________________ Name: svn:eol-style + native Modified: lib/extras/src/panoramic/panoramic.cpp =================================================================== --- lib/extras/src/panoramic/panoramic.cpp 2007-05-17 20:07:49 UTC (rev 121) +++ lib/extras/src/panoramic/panoramic.cpp 2007-05-17 20:17:44 UTC (rev 122) @@ -1,150 +1,150 @@ - -// panoramic - Panoramic transformations plugin. - -// Copyright (C) 2007 Goncalo N. M. de Carvalho -// Released under the LGPL. -// For more information, see http://www.cryogenicgraphics.com/hdrflow. - -#ifdef WIN32 -#define WIN32_LEAN_AND_MEAN -#define STRICT -#include <windows.h> -#endif - -#include <ofxImageEffect.h> - -#include <openmedialib/ml/openmedialib_plugin.hpp> - -namespace pl = olib::openpluginlib; -namespace il = olib::openimagelib::il; -namespace ml = olib::openmedialib::ml; -namespace fs = boost::filesystem; -namespace pcos = olib::openpluginlib::pcos; - -namespace extras { namespace hdrflow { namespace pan { - -namespace -{ - OfxHost* host; - OfxImageEffectSuiteV1* effect_suite; - OfxPropertySuiteV1* property_suite; - OfxParameterSuiteV1* parameter_suite; - OfxMemorySuiteV1* memory_suite; - OfxMultiThreadSuiteV1* multithread_suite; - OfxMessageSuiteV1* message_suite; - - il::image_type_ptr convert( il::image_type_ptr src, const pl::string& src_proj, const pl::string& dst_proj ) - { - return il::image_type_ptr( ); - } - - void set_host_func( OfxHost* host_struct ) - { - host = host_struct; - } - - OfxStatus plugin_main( const char* action, const void* handle, OfxPropertySetHandle in_args, OfxPropertySetHandle out_args ) - { - return kOfxStatOK; - } - - OfxPlugin panoramic_ofx_plugin = - { - kOfxImageEffectPluginApi, - 1, - "com.cryogenicgraphics:Panoramic", - 1, - 0, - set_host_func, - plugin_main - }; - - class panoramic_filter : public ml::filter_type - { - public: - explicit panoramic_filter( ) - : source_param_( pcos::key::from_string( "source_projection" ) ) - , dest_param_( pcos::key::from_string( "destination_projection" ) ) - { - properties( ).append( source_param_ = pl::string( "angular_map" ) ); - properties( ).append( dest_param_ = pl::string( "angular_map" ) ); - } - - public: - const pl::wstring get_uri( ) const { return L"panoramic:"; } - - ml::frame_type_ptr fetch( ) - { - acquire_values( ); - - pl::string source_map = source_param_.value<pl::string>( ); - pl::string dest_map = dest_param_.value<pl::string>( ); - ml::frame_type_ptr result = fetch_from_slot( ); - - if( source_map == dest_map ) - return result; - - if( result && result->get_image( ) ) - result->set_image( convert( result->get_image( ), source_map, dest_map ) ); - - return result; - } - - private: - pcos::property source_param_; - pcos::property dest_param_; - }; -} - -struct panoramic_plugin : public ml::openmedialib_plugin -{ - virtual ml::filter_type_ptr filter( const pl::wstring& ) { return ml::filter_type_ptr( new panoramic_filter ); } -}; - -} } } - -extern "C" -{ - bool openplugin_init( void ) - { - return true; - } - - bool openplugin_uninit( void ) - { - return true; - } - - bool openplugin_create_plugin( const char*, pl::openplugin** plug ) - { - *plug = new extras::hdrflow::pan::panoramic_plugin; - return true; - } - - void openplugin_destroy_plugin( pl::openplugin* plug ) - { - delete static_cast<extras::hdrflow::pan::panoramic_plugin*>( plug ); - } - - OfxPlugin* OfxGetPlugin( int nth ) - { - if( nth == 0 ) - return &extras::hdrflow::pan::panoramic_ofx_plugin; - - return 0; - } - - int OfxGetNumberOfPlugins( ) - { - return 1; - } - -#ifdef WIN32 - BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) - { - if( fdwReason == DLL_PROCESS_ATTACH ) - DisableThreadLibraryCalls( hInstDLL ); - return TRUE; - } -#endif -} + +// panoramic - Panoramic transformations plugin. + +// Copyright (C) 2007 Goncalo N. M. de Carvalho +// Released under the LGPL. +// For more information, see http://www.cryogenicgraphics.com/hdrflow. + +#ifdef WIN32 +#define WIN32_LEAN_AND_MEAN +#define STRICT +#include <windows.h> +#endif + +#include <ofxImageEffect.h> + +#include <openmedialib/ml/openmedialib_plugin.hpp> + +namespace pl = olib::openpluginlib; +namespace il = olib::openimagelib::il; +namespace ml = olib::openmedialib::ml; +namespace fs = boost::filesystem; +namespace pcos = olib::openpluginlib::pcos; + +namespace extras { namespace hdrflow { namespace pan { + +namespace +{ + OfxHost* host; + OfxImageEffectSuiteV1* effect_suite; + OfxPropertySuiteV1* property_suite; + OfxParameterSuiteV1* parameter_suite; + OfxMemorySuiteV1* memory_suite; + OfxMultiThreadSuiteV1* multithread_suite; + OfxMessageSuiteV1* message_suite; + + il::image_type_ptr convert( il::image_type_ptr src, const pl::string& src_proj, const pl::string& dst_proj ) + { + return il::image_type_ptr( ); + } + + void set_host_func( OfxHost* host_struct ) + { + host = host_struct; + } + + OfxStatus plugin_main( const char* action, const void* handle, OfxPropertySetHandle in_args, OfxPropertySetHandle out_args ) + { + return kOfxStatOK; + } + + OfxPlugin panoramic_ofx_plugin = + { + kOfxImageEffectPluginApi, + 1, + "com.cryogenicgraphics:Panoramic", + 1, + 0, + set_host_func, + plugin_main + }; + + class panoramic_filter : public ml::filter_type + { + public: + explicit panoramic_filter( ) + : source_param_( pcos::key::from_string( "source_projection" ) ) + , dest_param_( pcos::key::from_string( "destination_projection" ) ) + { + properties( ).append( source_param_ = pl::string( "angular_map" ) ); + properties( ).append( dest_param_ = pl::string( "angular_map" ) ); + } + + public: + const pl::wstring get_uri( ) const { return L"panoramic:"; } + + ml::frame_type_ptr fetch( ) + { + acquire_values( ); + + pl::string source_map = source_param_.value<pl::string>( ); + pl::string dest_map = dest_param_.value<pl::string>( ); + ml::frame_type_ptr result = fetch_from_slot( ); + + if( source_map == dest_map ) + return result; + + if( result && result->get_image( ) ) + result->set_image( convert( result->get_image( ), source_map, dest_map ) ); + + return result; + } + + private: + pcos::property source_param_; + pcos::property dest_param_; + }; +} + +struct panoramic_plugin : public ml::openmedialib_plugin +{ + virtual ml::filter_type_ptr filter( const pl::wstring& ) { return ml::filter_type_ptr( new panoramic_filter ); } +}; + +} } } + +extern "C" +{ + bool openplugin_init( void ) + { + return true; + } + + bool openplugin_uninit( void ) + { + return true; + } + + bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + { + *plug = new extras::hdrflow::pan::panoramic_plugin; + return true; + } + + void openplugin_destroy_plugin( pl::openplugin* plug ) + { + delete static_cast<extras::hdrflow::pan::panoramic_plugin*>( plug ); + } + + OfxPlugin* OfxGetPlugin( int nth ) + { + if( nth == 0 ) + return &extras::hdrflow::pan::panoramic_ofx_plugin; + + return 0; + } + + int OfxGetNumberOfPlugins( ) + { + return 1; + } + +#ifdef WIN32 + BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) + { + if( fdwReason == DLL_PROCESS_ATTACH ) + DisableThreadLibraryCalls( hInstDLL ); + return TRUE; + } +#endif +} Property changes on: lib/extras/src/panoramic/panoramic.cpp ___________________________________________________________________ Name: svn:eol-style + native Modified: lib/extras/src/panoramic/panoramic_vc8.vcproj =================================================================== --- lib/extras/src/panoramic/panoramic_vc8.vcproj 2007-05-17 20:07:49 UTC (rev 121) +++ lib/extras/src/panoramic/panoramic_vc8.vcproj 2007-05-17 20:17:44 UTC (rev 122) @@ -1,211 +1,211 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8.00" - Name="panoramic" - ProjectGUID="{C8F73831-1355-45C9-BD1B-C7AAB4CDE373}" - RootNamespace="panoramic" - Keyword="Win32Proj" - > - <Platforms> - <Platform - Name="Win32" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Multi-threaded Debug DLL|Win32" - OutputDirectory="$(ConfigurationName)" - IntermediateDirectory="$(ConfigurationName)" - ConfigurationType="2" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_33_1";C:\OFX" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PANORAMIC_EXPORTS;HAVE_FLEX_STRING" - MinimalRebuild="true" - ExceptionHandling="2" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - OpenMP="true" - UsePrecompiledHeader="0" - WarningLevel="4" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="4" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - IgnoreImportLibrary="true" - OutputFile="$(OutDir)\hdrflow_panoramic-vc80-d-0_1_0.dll" - LinkIncremental="2" - AdditionalLibraryDirectories="C:\Boost\lib;"$(SolutionDir)\..\openlibraries\src\openpluginlib\pl\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openimagelib\il\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openmedialib\ml\$(ConfigurationName)"" - GenerateDebugInformation="true" - SubSystem="2" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Multi-threaded Release DLL|Win32" - OutputDirectory="$(ConfigurationName)" - IntermediateDirectory="$(ConfigurationName)" - ConfigurationType="2" - CharacterSet="1" - WholeProgramOptimization="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_33_1";C:\OFX" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PANORAMIC_EXPORTS;HAVE_FLEX_STRING" - ExceptionHandling="2" - RuntimeLibrary="2" - BufferSecurityCheck="false" - FloatingPointModel="2" - OpenMP="true" - UsePrecompiledHeader="0" - WarningLevel="4" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - IgnoreImportLibrary="true" - OutputFile="$(OutDir)\hdrflow_panoramic-vc80-r-0_1_0.dll" - LinkIncremental="1" - AdditionalLibraryDirectories="C:\Boost\lib;"$(SolutionDir)\..\openlibraries\src\openpluginlib\pl\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openimagelib\il\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openmedialib\ml\$(ConfigurationName)"" - GenerateDebugInformation="true" - SubSystem="2" - OptimizeReferences="2" - EnableCOMDATFolding="2" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" - UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" - > - <File - RelativePath=".\panoramic.cpp" - > - </File> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl;inc;xsd" - UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" - > - </Filter> - <Filter - Name="Resource Files" - Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" - UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" - > - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="panoramic" + ProjectGUID="{C8F73831-1355-45C9-BD1B-C7AAB4CDE373}" + RootNamespace="panoramic" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Multi-threaded Debug DLL|Win32" + OutputDirectory="$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="2" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_33_1";C:\OFX" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PANORAMIC_EXPORTS;HAVE_FLEX_STRING" + MinimalRebuild="true" + ExceptionHandling="2" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + OpenMP="true" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + IgnoreImportLibrary="true" + OutputFile="$(OutDir)\hdrflow_panoramic-vc80-d-0_1_0.dll" + LinkIncremental="2" + AdditionalLibraryDirectories="C:\Boost\lib;"$(SolutionDir)\..\openlibraries\src\openpluginlib\pl\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openimagelib\il\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openmedialib\ml\$(ConfigurationName)"" + GenerateDebugInformation="true" + SubSystem="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Multi-threaded Release DLL|Win32" + OutputDirectory="$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="2" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_33_1";C:\OFX" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PANORAMIC_EXPORTS;HAVE_FLEX_STRING" + ExceptionHandling="2" + RuntimeLibrary="2" + BufferSecurityCheck="false" + FloatingPointModel="2" + OpenMP="true" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + IgnoreImportLibrary="true" + OutputFile="$(OutDir)\hdrflow_panoramic-vc80-r-0_1_0.dll" + LinkIncremental="1" + AdditionalLibraryDirectories="C:\Boost\lib;"$(SolutionDir)\..\openlibraries\src\openpluginlib\pl\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openimagelib\il\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openmedialib\ml\$(ConfigurationName)"" + GenerateDebugInformation="true" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\panoramic.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Property changes on: lib/extras/src/panoramic/panoramic_vc8.vcproj ___________________________________________________________________ Name: svn:eol-style + native Property changes on: lib/extras/src/raw/dcraw.c ___________________________________________________________________ Name: svn:eol-style + native Modified: lib/extras/src/raw/dcraw_vc8.vcproj =================================================================== --- lib/extras/src/raw/dcraw_vc8.vcproj 2007-05-17 20:07:49 UTC (rev 121) +++ lib/extras/src/raw/dcraw_vc8.vcproj 2007-05-17 20:17:44 UTC (rev 122) @@ -1,210 +1,210 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8.00" - Name="dcraw" - ProjectGUID="{008BA3EE-35D6-432D-96B6-F65707CCCFBF}" - RootNamespace="dcraw" - Keyword="Win32Proj" - > - <Platforms> - <Platform - Name="Win32" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Multi-threaded Debug DLL|Win32" - OutputDirectory="$(ConfigurationName)" - IntermediateDirectory="$(ConfigurationName)" - ConfigurationType="1" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories=""C:\Program Files\HDR\include"" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;NO_LCMS" - MinimalRebuild="true" - ExceptionHandling="2" - BasicRuntimeChecks="3" - RuntimeLibrary="1" - OpenMP="true" - UsePrecompiledHeader="0" - WarningLevel="4" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="4" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="libjpeg.lib" - LinkIncremental="2" - AdditionalLibraryDirectories=""C:\Program Files\HDR\lib"" - IgnoreDefaultLibraryNames="libc.lib" - GenerateDebugInformation="true" - SubSystem="1" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Multi-threaded Release DLL|Win32" - OutputDirectory="$(ConfigurationName)" - IntermediateDirectory="$(ConfigurationName)" - ConfigurationType="1" - CharacterSet="1" - WholeProgramOptimization="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""C:\Program Files\HDR\include"" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;NO_LCMS" - ExceptionHandling="2" - RuntimeLibrary="0" - BufferSecurityCheck="false" - OpenMP="true" - UsePrecompiledHeader="0" - WarningLevel="4" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="libjpeg.lib" - LinkIncremental="1" - AdditionalLibraryDirectories=""C:\Program Files\HDR\lib"" - IgnoreDefaultLibraryNames="libc.lib" - GenerateDebugInformation="true" - SubSystem="1" - OptimizeReferences="2" - EnableCOMDATFolding="2" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" - UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" - > - <File - RelativePath=".\dcraw.c" - > - </File> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl;inc;xsd" - UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" - > - </Filter> - <Filter - Name="Resource Files" - Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" - UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" - > - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="dcraw" + ProjectGUID="{008BA3EE-35D6-432D-96B6-F65707CCCFBF}" + RootNamespace="dcraw" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Multi-threaded Debug DLL|Win32" + OutputDirectory="$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories=""C:\Program Files\HDR\include"" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;NO_LCMS" + MinimalRebuild="true" + ExceptionHandling="2" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + OpenMP="true" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="libjpeg.lib" + LinkIncremental="2" + AdditionalLibraryDirectories=""C:\Program Files\HDR\lib"" + IgnoreDefaultLibraryNames="libc.lib" + GenerateDebugInformation="true" + SubSystem="1" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Multi-threaded Release DLL|Win32" + OutputDirectory="$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=""C:\Program Files\HDR\include"" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;NO_LCMS" + ExceptionHandling="2" + RuntimeLibrary="0" + BufferSecurityCheck="false" + OpenMP="true" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="libjpeg.lib" + LinkIncremental="1" + AdditionalLibraryDirectories=""C:\Program Files\HDR\lib"" + IgnoreDefaultLibraryNames="libc.lib" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\dcraw.c" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Property changes on: lib/extras/src/raw/dcraw_vc8.vcproj ___________________________________________________________________ Name: svn:eol-style + native Modified: lib/extras/src/raw/raw.cpp =================================================================== --- lib/extras/src/raw/raw.cpp 2007-05-17 20:07:49 UTC (rev 121) +++ lib/extras/src/raw/raw.cpp 2007-05-17 20:17:44 UTC (rev 122) @@ -1,70 +1,70 @@ - -// raw - A camera raw processing plugin. - -// Copyright (C) 2007 Goncalo N. M. de Carvalho -// Released under the LGPL. -// For more information, see http://www.cryogenicgraphics.com/hdrflow. - -#ifdef WIN32 -#define WIN32_LEAN_AND_MEAN -#define STRICT -#include <windows.h> -#endif - -#include <openimagelib/il/openimagelib_plugin.hpp> - -namespace pl = olib::openpluginlib; -namespace il = olib::openimagelib::il; -namespace fs = boost::filesystem; - -namespace extras { namespace hdrflow { namespace raw { - -namespace -{ - il::image_type_ptr load( const fs::path& path ) - { - return il::image_type_ptr( ); - } -} - -class raw_plugin : public il::openimagelib_plugin -{ -public: - virtual il::image_type_ptr load( const fs::path& path ) { return load( path ); } - virtual bool store( const fs::path&, const il::image_type_ptr& ) { return false; } -}; - -} } } - -extern "C" -{ - bool openplugin_init( void ) - { - return true; - } - - bool openplugin_uninit( void ) - { - return true; - } - - bool openplugin_create_plugin( const char*, pl::openplugin** plug ) - { - *plug = new extras::hdrflow::raw::raw_plugin; - return true; - } - - void openplugin_destroy_plugin( pl::openplugin* plug ) - { - delete static_cast<extras::hdrflow::raw::raw_plugin*>( plug ); - } - -#ifdef WIN32 - BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) - { - if( fdwReason == DLL_PROCESS_ATTACH ) - DisableThreadLibraryCalls( hInstDLL ); - return TRUE; - } -#endif -} + +// raw - A camera raw processing plugin. + +// Copyright (C) 2007 Goncalo N. M. de Carvalho +// Released under the LGPL. +// For more information, see http://www.cryogenicgraphics.com/hdrflow. + +#ifdef WIN32 +#define WIN32_LEAN_AND_MEAN +#define STRICT +#include <windows.h> +#endif + +#include <openimagelib/il/openimagelib_plugin.hpp> + +namespace pl = olib::openpluginlib; +namespace il = olib::openimagelib::il; +namespace fs = boost::filesystem; + +namespace extras { namespace hdrflow { namespace raw { + +namespace +{ + il::image_type_ptr load( const fs::path& path ) + { + return il::image_type_ptr( ); + } +} + +class raw_plugin : public il::openimagelib_plugin +{ +public: + virtual il::image_type_ptr load( const fs::path& path ) { return load( path ); } + virtual bool store( const fs::path&, const il::image_type_ptr& ) { return false; } +}; + +} } } + +extern "C" +{ + bool openplugin_init( void ) + { + return true; + } + + bool openplugin_uninit( void ) + { + return true; + } + + bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + { + *plug = new extras::hdrflow::raw::raw_plugin; + return true; + } + + void openplugin_destroy_plugin( pl::openplugin* plug ) + { + delete static_cast<extras::hdrflow::raw::raw_plugin*>( plug ); + } + +#ifdef WIN32 + BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) + { + if( fdwReason == DLL_PROCESS_ATTACH ) + DisableThreadLibraryCalls( hInstDLL ); + return TRUE; + } +#endif +} Property changes on: lib/extras/src/raw/raw.cpp ___________________________________________________________________ Name: svn:eol-style + native Modified: lib/extras/src/raw/raw_vc8.vcproj =================================================================== --- lib/extras/src/raw/raw_vc8.vcproj 2007-05-17 20:07:49 UTC (rev 121) +++ lib/extras/src/raw/raw_vc8.vcproj 2007-05-17 20:17:44 UTC (rev 122) @@ -1,211 +1,211 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8.00" - Name="raw" - ProjectGUID="{B4CCC2D9-D505-4B08-B908-B2A38105ABC8}" - RootNamespace="raw" - Keyword="Win32Proj" - > - <Platforms> - <Platform - Name="Win32" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Multi-threaded Debug DLL|Win32" - OutputDirectory="$(ConfigurationName)" - IntermediateDirectory="$(ConfigurationName)" - ConfigurationType="2" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_33_1"" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;RAW_EXPORTS;HAVE_FLEX_STRING" - MinimalRebuild="true" - ExceptionHandling="2" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - OpenMP="true" - UsePrecompiledHeader="0" - WarningLevel="4" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="4" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - IgnoreImportLibrary="true" - OutputFile="$(OutDir)\hdrflow_raw-vc80-d-0_1_0.dll" - LinkIncremental="2" - AdditionalLibraryDirectories="C:\Boost\lib;"$(SolutionDir)\..\openlibraries\src\openpluginlib\pl\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openimagelib\il\$(ConfigurationName)"" - GenerateDebugInformation="true" - SubSystem="2" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Multi-threaded Release DLL|Win32" - OutputDirectory="$(ConfigurationName)" - IntermediateDirectory="$(ConfigurationName)" - ConfigurationType="2" - CharacterSet="1" - WholeProgramOptimization="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_33_1"" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;RAW_EXPORTS;HAVE_FLEX_STRING" - ExceptionHandling="2" - RuntimeLibrary="2" - BufferSecurityCheck="false" - FloatingPointModel="2" - OpenMP="true" - UsePrecompiledHeader="0" - WarningLevel="4" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - IgnoreImportLibrary="true" - OutputFile="$(OutDir)\hdrflow_raw-vc80-r-0_1_0.dll" - LinkIncremental="1" - AdditionalLibraryDirectories="C:\Boost\lib;"$(SolutionDir)\..\openlibraries\src\openpluginlib\pl\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openimagelib\il\$(ConfigurationName)"" - GenerateDebugInformation="true" - SubSystem="2" - OptimizeReferences="2" - EnableCOMDATFolding="2" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" - UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" - > - <File - RelativePath=".\raw.cpp" - > - </File> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl;inc;xsd" - UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" - > - </Filter> - <Filter - Name="Resource Files" - Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" - UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" - > - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="raw" + ProjectGUID="{B4CCC2D9-D505-4B08-B908-B2A38105ABC8}" + RootNamespace="raw" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Multi-threaded Debug DLL|Win32" + OutputDirectory="$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="2" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_33_1"" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;RAW_EXPORTS;HAVE_FLEX_STRING" + MinimalRebuild="true" + ExceptionHandling="2" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + OpenMP="true" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + IgnoreImportLibrary="true" + OutputFile="$(OutDir)\hdrflow_raw-vc80-d-0_1_0.dll" + LinkIncremental="2" + AdditionalLibraryDirectories="C:\Boost\lib;"$(SolutionDir)\..\openlibraries\src\openpluginlib\pl\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openimagelib\il\$(ConfigurationName)"" + GenerateDebugInformation="true" + SubSystem="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Multi-threaded Release DLL|Win32" + OutputDirectory="$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="2" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_33_1"" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;RAW_EXPORTS;HAVE_FLEX_STRING" + ExceptionHandling="2" + RuntimeLibrary="2" + BufferSecurityCheck="false" + FloatingPointModel="2" + OpenMP="true" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + IgnoreImportLibrary="true" + OutputFile="$(OutDir)\hdrflow_raw-vc80-r-0_1_0.dll" + LinkIncremental="1" + AdditionalLibraryDirectories="C:\Boost\lib;"$(SolutionDir)\..\openlibraries\src\openpluginlib\pl\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openimagelib\il\$(ConfigurationName)"" + GenerateDebugInformation="true" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\raw.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Property changes on: lib/extras/src/raw/raw_vc8.vcproj ___________________________________________________________________ Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-17 20:07:52
|
Revision: 121 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=121&view=rev Author: glslang Date: 2007-05-17 13:07:49 -0700 (Thu, 17 May 2007) Log Message: ----------- +more *nix updates Modified Paths: -------------- lib/extras/configure.ac lib/extras/src/panoramic/panoramic.cpp lib/extras/src/raw/dcraw.c Added Paths: ----------- lib/extras/src/raw/Makefile.am Modified: lib/extras/configure.ac =================================================================== --- lib/extras/configure.ac 2007-05-16 22:43:19 UTC (rev 120) +++ lib/extras/configure.ac 2007-05-17 20:07:49 UTC (rev 121) @@ -158,7 +158,7 @@ dnl include, lib and plugin path EXTRAS_LIBPATH="$libdir/hdrflow_extras-$EX_MAJOR.$EX_MINOR.$EX_SUB" -EXTRAS_DATAPATH="$datadir/hdrflow-extras-$EX_MAJOR.$EX_MINOR.$EX_SUB" +EXTRAS_DATAPATH="$datadir/hdrflow_extras-$EX_MAJOR.$EX_MINOR.$EX_SUB" EXTRAS_PLUGINPATH="${EXTRAS_LIBPATH}/plugins" AC_SUBST(EXTRAS_LIBPATH) AC_SUBST(EXTRAS_PLUGINPATH) Modified: lib/extras/src/panoramic/panoramic.cpp =================================================================== --- lib/extras/src/panoramic/panoramic.cpp 2007-05-16 22:43:19 UTC (rev 120) +++ lib/extras/src/panoramic/panoramic.cpp 2007-05-17 20:07:49 UTC (rev 121) @@ -19,6 +19,7 @@ namespace il = olib::openimagelib::il; namespace ml = olib::openmedialib::ml; namespace fs = boost::filesystem; +namespace pcos = olib::openpluginlib::pcos; namespace extras { namespace hdrflow { namespace pan { @@ -61,12 +62,37 @@ class panoramic_filter : public ml::filter_type { public: + explicit panoramic_filter( ) + : source_param_( pcos::key::from_string( "source_projection" ) ) + , dest_param_( pcos::key::from_string( "destination_projection" ) ) + { + properties( ).append( source_param_ = pl::string( "angular_map" ) ); + properties( ).append( dest_param_ = pl::string( "angular_map" ) ); + } + + public: const pl::wstring get_uri( ) const { return L"panoramic:"; } ml::frame_type_ptr fetch( ) { - return ml::frame_type_ptr( ); + acquire_values( ); + + pl::string source_map = source_param_.value<pl::string>( ); + pl::string dest_map = dest_param_.value<pl::string>( ); + ml::frame_type_ptr result = fetch_from_slot( ); + + if( source_map == dest_map ) + return result; + + if( result && result->get_image( ) ) + result->set_image( convert( result->get_image( ), source_map, dest_map ) ); + + return result; } + + private: + pcos::property source_param_; + pcos::property dest_param_; }; } Added: lib/extras/src/raw/Makefile.am =================================================================== --- lib/extras/src/raw/Makefile.am (rev 0) +++ lib/extras/src/raw/Makefile.am 2007-05-17 20:07:49 UTC (rev 121) @@ -0,0 +1,22 @@ + +# +# +# + +libdir = $(EXTRAS_PLUGINPATH) + +lib_LTLIBRARIES = libhdrflow_extras_raw.la + +bin_PROGRAMS = dcraw + +libhdrflow_extras_raw_la_SOURCES = \ + raw.cpp + +libhdrflow_extras_raw_la_CXXFLAGS = \ + $(BOOST_INCLUDE_PATH) \ + -I$(top_builddir)/../openlibraries/src \ + $(OFX_INCLUDE_PATH) + +dcraw_CFLAGS = \ + -DNO_JPEG \ + -DNO_LCMS Property changes on: lib/extras/src/raw/Makefile.am ___________________________________________________________________ Name: svn:eol-style + native Modified: lib/extras/src/raw/dcraw.c =================================================================== --- lib/extras/src/raw/dcraw.c 2007-05-16 22:43:19 UTC (rev 120) +++ lib/extras/src/raw/dcraw.c 2007-05-17 20:07:49 UTC (rev 121) @@ -334,7 +334,7 @@ { if (fread (pixel, 2, count, ifp) < count) derror(); if ((order == 0x4949) == (ntohs(0x1234) == 0x1234)) - _swab (pixel, pixel, count*2); + swab (pixel, pixel, count*2); } void CLASS canon_600_fixed_wb (int temp) @@ -2060,7 +2060,7 @@ size_t nbytes; nbytes = fread (jpeg_buffer, 1, 4096, ifp); - _swab (jpeg_buffer, jpeg_buffer, nbytes); + swab (jpeg_buffer, jpeg_buffer, nbytes); cinfo->src->next_input_byte = jpeg_buffer; cinfo->src->bytes_in_buffer = nbytes; return TRUE; @@ -7389,7 +7389,7 @@ FORCC ppm [col*colors+c] = lut[image[soff][c]]; else FORCC ppm2[col*colors+c] = image[soff][c]; if (output_bps == 16 && !output_tiff && htons(0x55aa) != 0x55aa) - _swab (ppm2, ppm2, width*colors*2); + swab (ppm2, ppm2, width*colors*2); fwrite (ppm, colors*output_bps/8, width, ofp); } free (ppm); @@ -7528,8 +7528,8 @@ oprof = 0; meta_data = ofname = 0; if (setjmp (failure)) { - if (_fileno(ifp) > 2) fclose(ifp); - if (_fileno(ofp) > 2) fclose(ofp); + if (fileno(ifp) > 2) fclose(ifp); + if (fileno(ofp) > 2) fclose(ofp); status = 1; goto cleanup; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-16 22:43:26
|
Revision: 120 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=120&view=rev Author: glslang Date: 2007-05-16 15:43:19 -0700 (Wed, 16 May 2007) Log Message: ----------- +initial extras compilation for *nix and improvements to allow for floating point textures Modified Paths: -------------- lib/openlibraries/configure.ac lib/openlibraries/src/openimagelib/plugins/Makefile.am lib/openlibraries/src/openobjectlib/sg/appearance.cpp lib/openlibraries/src/openpluginlib/pl/GL_utility.cpp Added Paths: ----------- lib/extras/AUTHORS lib/extras/COPYING lib/extras/ChangeLog lib/extras/INSTALL lib/extras/Makefile.am lib/extras/NEWS lib/extras/README lib/extras/bootstrap lib/extras/configure.ac lib/extras/m4/ lib/extras/m4/aclocal.m4 lib/extras/m4/boost.m4 lib/extras/m4/cg.m4 lib/extras/m4/fast_math.m4 lib/extras/m4/glew.m4 lib/extras/m4/ofx.m4 lib/extras/m4/opengl.m4 lib/extras/m4/quicktime.m4 lib/extras/m4/universal_binary.m4 lib/extras/src/Makefile.am lib/extras/src/panoramic/Makefile.am lib/openlibraries/src/openimagelib/plugins/dpx/Makefile.am Added: lib/extras/AUTHORS =================================================================== Added: lib/extras/COPYING =================================================================== --- lib/extras/COPYING (rev 0) +++ lib/extras/COPYING 2007-05-16 22:43:19 UTC (rev 120) @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + 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 + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. Added: lib/extras/ChangeLog =================================================================== Added: lib/extras/INSTALL =================================================================== --- lib/extras/INSTALL (rev 0) +++ lib/extras/INSTALL 2007-05-16 22:43:19 UTC (rev 120) @@ -0,0 +1,229 @@ +Copyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software +Foundation, Inc. + + This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the `--target=TYPE' option to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +will cause the specified gcc to be used as the C compiler (unless it is +overridden in the site shell script). + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + Added: lib/extras/Makefile.am =================================================================== --- lib/extras/Makefile.am (rev 0) +++ lib/extras/Makefile.am 2007-05-16 22:43:19 UTC (rev 120) @@ -0,0 +1,7 @@ + +# +# +# + +SUBDIRS = src + Property changes on: lib/extras/Makefile.am ___________________________________________________________________ Name: svn:eol-style + native Added: lib/extras/NEWS =================================================================== Added: lib/extras/README =================================================================== Added: lib/extras/bootstrap =================================================================== --- lib/extras/bootstrap (rev 0) +++ lib/extras/bootstrap 2007-05-16 22:43:19 UTC (rev 120) @@ -0,0 +1,13 @@ +#! /bin/bash + +if test "`uname`" = "Darwin" ; then + libtoolize_=glibtoolize +else + libtoolize_=libtoolize +fi + +aclocal -I m4 +$libtoolize_ --force --copy +autoheader +automake --add-missing --copy +autoconf Property changes on: lib/extras/bootstrap ___________________________________________________________________ Name: svn:executable + * Name: svn:eol-style + native Added: lib/extras/configure.ac =================================================================== --- lib/extras/configure.ac (rev 0) +++ lib/extras/configure.ac 2007-05-16 22:43:19 UTC (rev 120) @@ -0,0 +1,176 @@ +dnl +dnl Configure.ac for extras +dnl + +AC_INIT +AC_CONFIG_SRCDIR([src/panoramic/panoramic.cpp]) +AM_CONFIG_HEADER([hdrflow_extras_global_config.hpp]) + +dnl +dnl Require autoconf version 2.56 +dnl +AC_PREREQ(2.56) + +dnl +dnl Versioning +dnl +EX_MAJOR=0 +EX_MINOR=1 +EX_SUB=0 + +EX_LT_CURRENT=0 +EX_LT_REVISION=1 +EX_LT_AGE=0 + +AC_SUBST(EX_MAJOR) +AC_SUBST(EX_MINOR) +AC_SUBST(EX_SUB) + +AC_SUBST(EX_LT_CURRENT) +AC_SUBST(EX_LT_REVISION) +AC_SUBST(EX_LT_AGE) + +dnl +AM_INIT_AUTOMAKE("extras", 0.1.0) + +dnl Check for programs +AC_PROG_CXX +AC_HEADER_STDC +AC_PROG_MAKE_SET +AC_PROG_INSTALL +AC_PROG_LN_S + +dnl libtool +AC_LIBTOOL_DLOPEN +AC_DISABLE_STATIC +AC_PROG_LIBTOOL +AC_SUBST(LIBTOOL_DEPS) + +dnl determine libdir name. tests for 64bit. (from xine-lib). +AC_MSG_CHECKING([if compiler is 64bit]) +case $host in + *-*-linux*) + # Test if the compiler is 64bit + echo 'int i;' > conftest.$ac_ext + ol_cv_cc_64bit_output=no + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *"ELF 64"*) + ol_cv_cc_64bit_output=yes + ;; + esac + fi + rm -rf conftest* + ;; +esac + +case $host_cpu:$ol_cv_cc_64bit_output in + powerpc64:yes | x86_64:yes) + EX_LIBNAME="lib64" + if test "$libdir" = '${exec_prefix}/lib'; then + libdir='${exec_prefix}/lib64' + fi + ;; + *:*) + EX_LIBNAME="lib" + ;; +esac +AC_MSG_RESULT([$EX_LIBNAME]) +AC_SUBST(EX_LIBNAME) + +dnl C math library. +AC_CHECK_LIB(m, sin) + +dnl check for X11 +AC_PATH_XTRA +if test x"$no_x" != "xyes"; then + AC_DEFINE(HAVE_X11,1,[Define this if you have X11R6 installed]) +fi +AM_CONDITIONAL(HAVE_X11, [test x"$no_x" != "xyes"]) + +dnl OpenGL, GLU, GLUT support +AC_MSG_CHECKING([the OpenGL environment]) +case $host in + *-*-linux*) + AC_CHECK_OPENGL( ) + ;; + *-apple-darwin*) + AC_MSG_RESULT([Apple Darwin build. OpenGL defaults on OSX...]) + AM_CONDITIONAL(HAVE_GL_GL_H, [test x"yes" = x"yes"] ) + AM_CONDITIONAL(HAVE_GL_GLUT_H, [test x"yes" = x"yes"] ) + OPENGL_LIBS="-Xlinker -framework -Xlinker OpenGL" + GLUT_LIBS="-Xlinker -framework -Xlinker GLUT" + AC_SUBST(OPENGL_LIBS) + AC_SUBST(GLUT_LIBS) + ;; + *) + AC_MSG_RESULT([OpenGL configuration not tested.]) + ;; +esac + +dnl GLEW support +AC_CHECK_GLEW( ) + +dnl NVIDIA Cg runtime support +AC_CHECK_CG_RUNTIME( ) + +dnl OFX support +AC_CHECK_OFX( ) + +dnl Boost support +AC_LANG([C++]) +AC_CHECK_BOOST( ) + +dnl libxml2 support +AC_PATH_PROG(LIBXML2_CONFIG, xml2-config, no) +if test "x$LIBXML2_CONFIG" = "xno" ; then + AC_MSG_RESULT([*** libxml2 support is not available ***]) +else + XML2_CXXFLAGS=`$LIBXML2_CONFIG --cflags` + XML2_LIBS=`$LIBXML2_CONFIG --libs` + have_libxml2="yes" + AC_DEFINE(HAVE_LIBXML2,1,[Define this for libxml2 support]) +fi + +AM_CONDITIONAL(HAVE_LIBXML2, test x"$have_libxml2" = "xyes") +AC_SUBST(XML2_CXXFLAGS) +AC_SUBST(XML2_LIBS) + +AC_CHECK_QUICKTIME( ) + +dnl include paths +INCLUDES='-I$(top_srcdir)/src' +AC_SUBST(INCLUDES) + +dnl Universal Binary Support (OS X only) +AC_CHECK_UNIVERSAL_BINARY_SUPPORT( ) + +dnl Fast Math support +AC_CHECK_FAST_MATH( ) + +SHARED_EXT="so" +case $host in + *-apple-darwin*) + SHARED_EXT="dylib" + ;; +esac +AC_SUBST(SHARED_EXT) + +dnl include, lib and plugin path +EXTRAS_LIBPATH="$libdir/hdrflow_extras-$EX_MAJOR.$EX_MINOR.$EX_SUB" +EXTRAS_DATAPATH="$datadir/hdrflow-extras-$EX_MAJOR.$EX_MINOR.$EX_SUB" +EXTRAS_PLUGINPATH="${EXTRAS_LIBPATH}/plugins" +AC_SUBST(EXTRAS_LIBPATH) +AC_SUBST(EXTRAS_PLUGINPATH) +AC_SUBST(EXTRAS_DATAPATH) + +dnl +dnl Output configuration files +dnl +AC_CONFIG_FILES([ +Makefile +src/Makefile +src/panoramic/Makefile +src/raw/Makefile +]) +AC_OUTPUT Property changes on: lib/extras/configure.ac ___________________________________________________________________ Name: svn:eol-style + native Added: lib/extras/m4/aclocal.m4 =================================================================== --- lib/extras/m4/aclocal.m4 (rev 0) +++ lib/extras/m4/aclocal.m4 2007-05-16 22:43:19 UTC (rev 120) @@ -0,0 +1,6716 @@ +# aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*- + +# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- + +# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. + +# 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, 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. + +AC_PREREQ([2.52]) + +# serial 6 + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. We must strip everything past the first ":", +# and everything past the last "/". + +# _AM_DIRNAME(PATH) +# ----------------- +# Like AS_DIRNAME, only do it during macro expansion +AC_DEFUN([_AM_DIRNAME], + [m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1, + m4_if(regexp([$1], [^//\([^/]\|$\)]), -1, + m4_if(regexp([$1], [^/.*]), -1, + [.], + patsubst([$1], [^\(/\).*], [\1])), + patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])), + patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl +])# _AM_DIRNAME + + +# The stamp files are numbered to have different names. +# We could number them on a directory basis, but that's additional +# complications, let's have a unique counter. +m4_define([_AM_STAMP_Count], [0]) + + +# _AM_STAMP(HEADER) +# ----------------- +# The name of the stamp file for HEADER. +AC_DEFUN([_AM_STAMP], +[m4_define([_AM_STAMP_Count], m4_incr(_AM_STAMP_Count))dnl +AS_ESCAPE(_AM_DIRNAME(patsubst([$1], + [:.*])))/stamp-h[]_AM_STAMP_Count]) + + +# _AM_CONFIG_HEADER(HEADER[:SOURCES], COMMANDS, INIT-COMMANDS) +# ------------------------------------------------------------ +# We used to try to get a real timestamp in stamp-h. But the fear is that +# that will cause unnecessary cvs conflicts. +AC_DEFUN([_AM_CONFIG_HEADER], +[# Add the stamp file to the list of files AC keeps track of, +# along with our hook. +AC_CONFIG_HEADERS([$1], + [# update the timestamp +echo 'timestamp for $1' >"_AM_STAMP([$1])" +$2], + [$3]) +])# _AM_CONFIG_HEADER + + +# AM_CONFIG_HEADER(HEADER[:SOURCES]..., COMMANDS, INIT-COMMANDS) +# -------------------------------------------------------------- +AC_DEFUN([AM_CONFIG_HEADER], +[AC_FOREACH([_AM_File], [$1], [_AM_CONFIG_HEADER(_AM_File, [$2], [$3])]) +])# AM_CONFIG_HEADER + +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Free Software Foundation, Inc. + +# 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, 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. + +# serial 8 + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +AC_PREREQ([2.52]) + +# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow +# the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl + AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG(AMTAR, tar) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl + +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_][CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_][CC], + defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_][CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_][CXX], + defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + +# Copyright 2002 Free Software Foundation, Inc. + +# 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, 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 + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.6"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.6.3])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright 2001, 2002 Free Software Foundation, Inc. + +# 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, 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. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# +# Check to make sure that the build environment is sane. +# + +# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. + +# 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, 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. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# -*- Autoconf -*- + + +# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc. + +# 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, 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. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# AM_AUX_DIR_EXPAND + +# Copyright 2001 Free Software Foundation, Inc. + +# 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, 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. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +# Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50]) + +AC_DEFUN([AM_AUX_DIR_EXPAND], [ +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright 2001 Free Software Foundation, Inc. + +# 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, 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. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# AM_PROG_INSTALL_STRIP + +# Copyright 2001 Free Software Foundation, Inc. + +# 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, 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. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# serial 4 -*- Autoconf -*- + +# Copyright 1999, 2000, 2001 Free Software Foundation, Inc. + +# 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, 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. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + echo '#include "conftest.h"' > conftest.c + echo 'int i;' > conftest.h + echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=conftest.c object=conftest.o \ + depfile=conftest.Po tmpdepfile=conftest.TPo \ + $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && + grep conftest.h conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[rm -f .deps 2>/dev/null +mkdir .deps 2>/dev/null +if test -d .deps; then + DEPDIR=.deps +else + # MS-DOS does not allow filenames that begin with a dot. + DEPDIR=_deps +fi +rmdir .deps 2>/dev/null +AC_SUBST([DEPDIR]) +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking Speeds up one-time builds + --enable-dependency-tracking Do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + +# 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, 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 co... [truncated message content] |
From: <gl...@us...> - 2007-05-15 21:04:17
|
Revision: 119 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=119&view=rev Author: glslang Date: 2007-05-15 14:04:04 -0700 (Tue, 15 May 2007) Log Message: ----------- + initial extras plugins Added Paths: ----------- lib/extras/ lib/extras/extras_vc8.sln lib/extras/src/ lib/extras/src/noise/ lib/extras/src/panoramic/ lib/extras/src/panoramic/panoramic.cpp lib/extras/src/panoramic/panoramic_vc8.vcproj lib/extras/src/raw/ lib/extras/src/raw/dcraw.c lib/extras/src/raw/dcraw_vc8.vcproj lib/extras/src/raw/raw.cpp lib/extras/src/raw/raw_vc8.vcproj Added: lib/extras/extras_vc8.sln =================================================================== --- lib/extras/extras_vc8.sln (rev 0) +++ lib/extras/extras_vc8.sln 2007-05-15 21:04:04 UTC (rev 119) @@ -0,0 +1,63 @@ +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{2644DB77-2096-4A50-A23F-C57D3C011FE2}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{5B7F6282-FA8B-4711-B403-2B3181DB5677}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "RAW", "RAW", "{675FBBBA-6681-49E3-AAC6-FE371310DA63}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NOISE", "NOISE", "{E0C3CF4A-5F43-4BBC-B7A9-6D4CDB225CD9}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "raw", "src\raw\raw_vc8.vcproj", "{B4CCC2D9-D505-4B08-B908-B2A38105ABC8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dcraw", "src\raw\dcraw_vc8.vcproj", "{008BA3EE-35D6-432D-96B6-F65707CCCFBF}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PANORAMIC", "PANORAMIC", "{D133B05E-F174-4CDA-8FF4-C45C139CFACD}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "panoramic", "src\panoramic\panoramic_vc8.vcproj", "{C8F73831-1355-45C9-BD1B-C7AAB4CDE373}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Multi-threaded Debug DLL|Win32 = Multi-threaded Debug DLL|Win32 + Multi-threaded Release DLL|Win32 = Multi-threaded Release DLL|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Debug|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Debug|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Release|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8}.Release|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Debug|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Debug|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Release|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {008BA3EE-35D6-432D-96B6-F65707CCCFBF}.Release|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Debug|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Debug|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Multi-threaded Debug DLL|Win32.ActiveCfg = Multi-threaded Debug DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Multi-threaded Debug DLL|Win32.Build.0 = Multi-threaded Debug DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Multi-threaded Release DLL|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Multi-threaded Release DLL|Win32.Build.0 = Multi-threaded Release DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Release|Win32.ActiveCfg = Multi-threaded Release DLL|Win32 + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373}.Release|Win32.Build.0 = Multi-threaded Release DLL|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {675FBBBA-6681-49E3-AAC6-FE371310DA63} = {2644DB77-2096-4A50-A23F-C57D3C011FE2} + {E0C3CF4A-5F43-4BBC-B7A9-6D4CDB225CD9} = {2644DB77-2096-4A50-A23F-C57D3C011FE2} + {D133B05E-F174-4CDA-8FF4-C45C139CFACD} = {2644DB77-2096-4A50-A23F-C57D3C011FE2} + {B4CCC2D9-D505-4B08-B908-B2A38105ABC8} = {675FBBBA-6681-49E3-AAC6-FE371310DA63} + {008BA3EE-35D6-432D-96B6-F65707CCCFBF} = {675FBBBA-6681-49E3-AAC6-FE371310DA63} + {C8F73831-1355-45C9-BD1B-C7AAB4CDE373} = {D133B05E-F174-4CDA-8FF4-C45C139CFACD} + EndGlobalSection +EndGlobal Added: lib/extras/src/panoramic/panoramic.cpp =================================================================== --- lib/extras/src/panoramic/panoramic.cpp (rev 0) +++ lib/extras/src/panoramic/panoramic.cpp 2007-05-15 21:04:04 UTC (rev 119) @@ -0,0 +1,124 @@ + +// panoramic - Panoramic transformations plugin. + +// Copyright (C) 2007 Goncalo N. M. de Carvalho +// Released under the LGPL. +// For more information, see http://www.cryogenicgraphics.com/hdrflow. + +#ifdef WIN32 +#define WIN32_LEAN_AND_MEAN +#define STRICT +#include <windows.h> +#endif + +#include <ofxImageEffect.h> + +#include <openmedialib/ml/openmedialib_plugin.hpp> + +namespace pl = olib::openpluginlib; +namespace il = olib::openimagelib::il; +namespace ml = olib::openmedialib::ml; +namespace fs = boost::filesystem; + +namespace extras { namespace hdrflow { namespace pan { + +namespace +{ + OfxHost* host; + OfxImageEffectSuiteV1* effect_suite; + OfxPropertySuiteV1* property_suite; + OfxParameterSuiteV1* parameter_suite; + OfxMemorySuiteV1* memory_suite; + OfxMultiThreadSuiteV1* multithread_suite; + OfxMessageSuiteV1* message_suite; + + il::image_type_ptr convert( il::image_type_ptr src, const pl::string& src_proj, const pl::string& dst_proj ) + { + return il::image_type_ptr( ); + } + + void set_host_func( OfxHost* host_struct ) + { + host = host_struct; + } + + OfxStatus plugin_main( const char* action, const void* handle, OfxPropertySetHandle in_args, OfxPropertySetHandle out_args ) + { + return kOfxStatOK; + } + + OfxPlugin panoramic_ofx_plugin = + { + kOfxImageEffectPluginApi, + 1, + "com.cryogenicgraphics:Panoramic", + 1, + 0, + set_host_func, + plugin_main + }; + + class panoramic_filter : public ml::filter_type + { + public: + const pl::wstring get_uri( ) const { return L"panoramic:"; } + + ml::frame_type_ptr fetch( ) + { + return ml::frame_type_ptr( ); + } + }; +} + +struct panoramic_plugin : public ml::openmedialib_plugin +{ + virtual ml::filter_type_ptr filter( const pl::wstring& ) { return ml::filter_type_ptr( new panoramic_filter ); } +}; + +} } } + +extern "C" +{ + bool openplugin_init( void ) + { + return true; + } + + bool openplugin_uninit( void ) + { + return true; + } + + bool openplugin_create_plugin( const char*, pl::openplugin** plug ) + { + *plug = new extras::hdrflow::pan::panoramic_plugin; + return true; + } + + void openplugin_destroy_plugin( pl::openplugin* plug ) + { + delete static_cast<extras::hdrflow::pan::panoramic_plugin*>( plug ); + } + + OfxPlugin* OfxGetPlugin( int nth ) + { + if( nth == 0 ) + return &extras::hdrflow::pan::panoramic_ofx_plugin; + + return 0; + } + + int OfxGetNumberOfPlugins( ) + { + return 1; + } + +#ifdef WIN32 + BOOL WINAPI DllMain( HINSTANCE hInstDLL, DWORD fdwReason, LPVOID ) + { + if( fdwReason == DLL_PROCESS_ATTACH ) + DisableThreadLibraryCalls( hInstDLL ); + return TRUE; + } +#endif +} Added: lib/extras/src/panoramic/panoramic_vc8.vcproj =================================================================== --- lib/extras/src/panoramic/panoramic_vc8.vcproj (rev 0) +++ lib/extras/src/panoramic/panoramic_vc8.vcproj 2007-05-15 21:04:04 UTC (rev 119) @@ -0,0 +1,211 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="panoramic" + ProjectGUID="{C8F73831-1355-45C9-BD1B-C7AAB4CDE373}" + RootNamespace="panoramic" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Multi-threaded Debug DLL|Win32" + OutputDirectory="$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="2" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_33_1";C:\OFX" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PANORAMIC_EXPORTS;HAVE_FLEX_STRING" + MinimalRebuild="true" + ExceptionHandling="2" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + OpenMP="true" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + IgnoreImportLibrary="true" + OutputFile="$(OutDir)\hdrflow_panoramic-vc80-d-0_1_0.dll" + LinkIncremental="2" + AdditionalLibraryDirectories="C:\Boost\lib;"$(SolutionDir)\..\openlibraries\src\openpluginlib\pl\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openimagelib\il\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openmedialib\ml\$(ConfigurationName)"" + GenerateDebugInformation="true" + SubSystem="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Multi-threaded Release DLL|Win32" + OutputDirectory="$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="2" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=""$(SolutionDir)\..\openlibraries\src";"C:\Boost\include\boost-1_33_1";C:\OFX" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PANORAMIC_EXPORTS;HAVE_FLEX_STRING" + ExceptionHandling="2" + RuntimeLibrary="2" + BufferSecurityCheck="false" + FloatingPointModel="2" + OpenMP="true" + UsePrecompiledHeader="0" + WarningLevel="4" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + IgnoreImportLibrary="true" + OutputFile="$(OutDir)\hdrflow_panoramic-vc80-r-0_1_0.dll" + LinkIncremental="1" + AdditionalLibraryDirectories="C:\Boost\lib;"$(SolutionDir)\..\openlibraries\src\openpluginlib\pl\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openimagelib\il\$(ConfigurationName)";"$(SolutionDir)\..\openlibraries\src\openmedialib\ml\$(ConfigurationName)"" + GenerateDebugInformation="true" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\panoramic.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Added: lib/extras/src/raw/dcraw.c =================================================================== --- lib/extras/src/raw/dcraw.c (rev 0) +++ lib/extras/src/raw/dcraw.c 2007-05-15 21:04:04 UTC (rev 119) @@ -0,0 +1,7726 @@ +/* + dcraw.c -- Dave Coffin's raw photo decoder + Copyright 1997-2007 by Dave Coffin, dcoffin a cybercom o net + + This is a command-line ANSI C program to convert raw photos from + any digital camera on any computer running any operating system. + + No license is required to download and use dcraw.c. However, + to lawfully redistribute this code, you must either (a) include + full source code* for all executable files containing RESTRICTED + functions, (b) remove all RESTRICTED functions, re-implement them, + or copy them from an earlier, unrestricted Revision of dcraw.c, + or (c) purchase a license from the author. + + The functions that process Foveon images have been RESTRICTED + since Revision 1.237. All other code remains free for all uses. + + *If you have not modified dcraw.c in any way, a link to my + homepage qualifies as "full source code". + + $Revision: 1.379 $ + $Date: 2007/05/03 06:15:16 $ + */ + +#define VERSION "8.71" + +#define _GNU_SOURCE +#define _USE_MATH_DEFINES +#include <ctype.h> +#include <errno.h> +#include <fcntl.h> +#include <float.h> +#include <limits.h> +#include <math.h> +#include <setjmp.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> +/* + NO_JPEG disables decoding of compressed Kodak DC120 files. + NO_LCMS disables the "-p" option. + */ +#ifndef NO_JPEG +#include <jpeglib.h> +#endif +#ifndef NO_LCMS +#include <lcms.h> +#endif +#ifdef LOCALEDIR +#include <libintl.h> +#define _(String) gettext(String) +#else +#define _(String) (String) +#endif +#ifndef DJGPP +#define fgetc getc_unlocked +#endif +#ifdef __CYGWIN__ +#include <io.h> +#endif +#ifdef WIN32 +#include <sys/utime.h> +#include <winsock2.h> +#pragma comment(lib, "ws2_32.lib") +#define strcasecmp _stricmp +#define strncasecmp _strnicmp +#define getc_unlocked getc +typedef __int64 INT64; +typedef unsigned __int64 UINT64; +#pragma warning( disable:4018 4244 4305 4389 4706 ) +#else +#include <unistd.h> +#include <utime.h> +#include <netinet/in.h> +typedef long long INT64; +typedef unsigned long long UINT64; +#endif + +#ifdef LJPEG_DECODE +#error Please compile dcraw.c by itself. +#error Do not link it with ljpeg_decode. +#endif + +#ifndef LONG_BIT +#define LONG_BIT (8 * sizeof (long)) +#endif + +#define ushort UshORt +typedef unsigned char uchar; +typedef unsigned short ushort; + +/* + All global variables are defined here, and all functions that + access them are prefixed with "CLASS". Note that a thread-safe + C++ class cannot have non-const static local variables. + */ +FILE *ifp; +short order; +char *ifname, make[64], model[64], model2[64], *meta_data, cdesc[5]; +float flash_used, canon_ev, iso_speed, shutter, aperture, focal_len; +time_t timestamp; +unsigned shot_order, kodak_cbpp, filters, exif_cfa, unique_id; +unsigned profile_offset, profile_length, *oprof; +unsigned thumb_offset, thumb_length, thumb_misc; +unsigned data_offset, strip_offset, curve_offset, meta_offset, meta_length; +unsigned tiff_nifds, tiff_samples, tiff_bps, tiff_compress, tile_length; +unsigned black, maximum, mix_green, raw_color, use_gamma, zero_is_bad; +unsigned zero_after_ff, is_raw, dng_version, is_foveon, data_error; +ushort raw_height, raw_width, height, width, top_margin, left_margin; +ushort shrink, iheight, iwidth, fuji_width, thumb_width, thumb_height; +int flip, tiff_flip, colors; +double pixel_aspect; +ushort (*image)[4], white[8][8], curve[0x1000], cr2_slice[3]; +float bright=1, user_mul[4]={0,0,0,0}, threshold=0; +int half_size=0, four_color_rgb=0, document_mode=0, highlight=0; +int verbose=0, use_auto_wb=0, use_camera_wb=0; +int output_color=1, output_bps=8, output_tiff=0; +int fuji_layout, fuji_secondary, shot_select=0; +unsigned greybox[4] = { 0, 0, UINT_MAX, UINT_MAX }; +float cam_mul[4], pre_mul[4], rgb_cam[3][4]; /* RGB from camera color */ +const double xyz_rgb[3][3] = { /* XYZ from RGB */ + { 0.412453, 0.357580, 0.180423 }, + { 0.212671, 0.715160, 0.072169 }, + { 0.019334, 0.119193, 0.950227 } }; +const float d65_white[3] = { 0.950456, 1, 1.088754 }; +int histogram[4][0x2000]; +void (*write_thumb)(FILE *), (*write_fun)(FILE *); +void (*load_raw)(), (*thumb_load_raw)(); +jmp_buf failure; + +struct decode { + struct decode *branch[2]; + int leaf; +} first_decode[2048], *second_decode, *free_decode; + +struct { + int width, height, bps, comp, phint, offset, flip, samples, bytes; +} tiff_ifd[10]; + +struct { + int format, key_off, black, black_off, split_col, tag_21a; + float tag_210; +} ph1; + +#define CLASS + +#define FORC3 for (c=0; c < 3; c++) +#define FORC4 for (c=0; c < 4; c++) +#define FORCC for (c=0; c < colors; c++) + +#define SQR(x) ((x)*(x)) +#define ABS(x) (((int)(x) ^ ((int)(x) >> 31)) - ((int)(x) >> 31)) +#define MIN(a,b) ((a) < (b) ? (a) : (b)) +#define MAX(a,b) ((a) > (b) ? (a) : (b)) +#define LIM(x,min,max) MAX(min,MIN(x,max)) +#define ULIM(x,y,z) ((y) < (z) ? LIM(x,y,z) : LIM(x,z,y)) +#define CLIP(x) LIM(x,0,65535) +#define SWAP(a,b) { a ^= b; a ^= (b ^= a); } + +/* + In order to inline this calculation, I make the risky + assumption that all filter patterns can be described + by a repeating pattern of eight rows and two columns + + Do not use the FC or BAYER macros with the Leaf CatchLight, + because its pattern is 16x16, not 2x8. + + Return values are either 0/1/2/3 = G/M/C/Y or 0/1/2/3 = R/G1/B/G2 + + PowerShot 600 PowerShot A50 PowerShot Pro70 Pro90 & G1 + 0xe1e4e1e4: 0x1b4e4b1e: 0x1e4b4e1b: 0xb4b4b4b4: + + 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 + 0 G M G M G M 0 C Y C Y C Y 0 Y C Y C Y C 0 G M G M G M + 1 C Y C Y C Y 1 M G M G M G 1 M G M G M G 1 Y C Y C Y C + 2 M G M G M G 2 Y C Y C Y C 2 C Y C Y C Y + 3 C Y C Y C Y 3 G M G M G M 3 G M G M G M + 4 C Y C Y C Y 4 Y C Y C Y C + PowerShot A5 5 G M G M G M 5 G M G M G M + 0x1e4e1e4e: 6 Y C Y C Y C 6 C Y C Y C Y + 7 M G M G M G 7 M G M G M G + 0 1 2 3 4 5 + 0 C Y C Y C Y + 1 G M G M G M + 2 C Y C Y C Y + 3 M G M G M G + + All RGB cameras use one of these Bayer grids: + + 0x16161616: 0x61616161: 0x49494949: 0x94949494: + + 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 + 0 B G B G B G 0 G R G R G R 0 G B G B G B 0 R G R G R G + 1 G R G R G R 1 B G B G B G 1 R G R G R G 1 G B G B G B + 2 B G B G B G 2 G R G R G R 2 G B G B G B 2 R G R G R G + 3 G R G R G R 3 B G B G B G 3 R G R G R G 3 G B G B G B + */ + +#define FC(row,col) \ + (filters >> ((((row) << 1 & 14) + ((col) & 1)) << 1) & 3) + +#define BAYER(row,col) \ + image[((row) >> shrink)*iwidth + ((col) >> shrink)][FC(row,col)] + +#define BAYER2(row,col) \ + image[((row) >> shrink)*iwidth + ((col) >> shrink)][fc(row,col)] + +int CLASS fc (int row, int col) +{ + static const char filter[16][16] = + { { 2,1,1,3,2,3,2,0,3,2,3,0,1,2,1,0 }, + { 0,3,0,2,0,1,3,1,0,1,1,2,0,3,3,2 }, + { 2,3,3,2,3,1,1,3,3,1,2,1,2,0,0,3 }, + { 0,1,0,1,0,2,0,2,2,0,3,0,1,3,2,1 }, + { 3,1,1,2,0,1,0,2,1,3,1,3,0,1,3,0 }, + { 2,0,0,3,3,2,3,1,2,0,2,0,3,2,2,1 }, + { 2,3,3,1,2,1,2,1,2,1,1,2,3,0,0,1 }, + { 1,0,0,2,3,0,0,3,0,3,0,3,2,1,2,3 }, + { 2,3,3,1,1,2,1,0,3,2,3,0,2,3,1,3 }, + { 1,0,2,0,3,0,3,2,0,1,1,2,0,1,0,2 }, + { 0,1,1,3,3,2,2,1,1,3,3,0,2,1,3,2 }, + { 2,3,2,0,0,1,3,0,2,0,1,2,3,0,1,0 }, + { 1,3,1,2,3,2,3,2,0,2,0,1,1,0,3,0 }, + { 0,2,0,3,1,0,0,1,1,3,3,2,3,2,2,1 }, + { 2,1,3,2,3,1,2,1,0,3,0,2,0,2,0,2 }, + { 0,3,1,0,0,2,0,3,2,1,3,1,1,3,1,3 } }; + + if (filters != 1) return FC(row,col); + return filter[(row+top_margin) & 15][(col+left_margin) & 15]; +} + +#ifndef __GLIBC__ +char *my_memmem (char *haystack, size_t haystacklen, + char *needle, size_t needlelen) +{ + char *c; + for (c = haystack; c <= haystack + haystacklen - needlelen; c++) + if (!memcmp (c, needle, needlelen)) + return c; + return 0; +} +#define memmem my_memmem +#endif + +void CLASS merror (void *ptr, char *where) +{ + if (ptr) return; + fprintf (stderr,_("%s: Out of memory in %s\n"), ifname, where); + longjmp (failure, 1); +} + +void CLASS derror() +{ + if (!data_error) { + fprintf (stderr, "%s: ", ifname); + if (feof(ifp)) + fprintf (stderr,_("Unexpected end of file\n")); + else + fprintf (stderr,_("Corrupt data near 0x%lx\n"), ftell(ifp)); + } + data_error = 1; +} + +ushort CLASS sget2 (uchar *s) +{ + if (order == 0x4949) /* "II" means little-endian */ + return s[0] | s[1] << 8; + else /* "MM" means big-endian */ + return s[0] << 8 | s[1]; +} + +ushort CLASS get2() +{ + uchar str[2] = { 0xff,0xff }; + fread (str, 1, 2, ifp); + return sget2(str); +} + +unsigned CLASS sget4 (uchar *s) +{ + if (order == 0x4949) + return s[0] | s[1] << 8 | s[2] << 16 | s[3] << 24; + else + return s[0] << 24 | s[1] << 16 | s[2] << 8 | s[3]; +} +#define sget4(s) sget4((uchar *)s) + +unsigned CLASS get4() +{ + uchar str[4] = { 0xff,0xff,0xff,0xff }; + fread (str, 1, 4, ifp); + return sget4(str); +} + +unsigned CLASS getint (int type) +{ + return type == 3 ? get2() : get4(); +} + +float CLASS int_to_float (int i) +{ + union { int i; float f; } u; + u.i = i; + return u.f; +} + +double CLASS getreal (int type) +{ + union { char c[8]; double d; } u; + int i, rev; + + switch (type) { + case 3: return (unsigned short) get2(); + case 4: return (unsigned int) get4(); + case 5: u.d = (unsigned int) get4(); + return u.d / (unsigned int) get4(); + case 8: return (signed short) get2(); + case 9: return (signed int) get4(); + case 10: u.d = (signed int) get4(); + return u.d / (signed int) get4(); + case 11: return int_to_float (get4()); + case 12: + rev = 7 * ((order == 0x4949) == (ntohs(0x1234) == 0x1234)); + for (i=0; i < 8; i++) + u.c[i ^ rev] = fgetc(ifp); + return u.d; + default: return fgetc(ifp); + } +} +#define getrat() getreal(10) + +void CLASS read_shorts (ushort *pixel, int count) +{ + if (fread (pixel, 2, count, ifp) < count) derror(); + if ((order == 0x4949) == (ntohs(0x1234) == 0x1234)) + _swab (pixel, pixel, count*2); +} + +void CLASS canon_600_fixed_wb (int temp) +{ + static const short mul[4][5] = { + { 667, 358,397,565,452 }, + { 731, 390,367,499,517 }, + { 1119, 396,348,448,537 }, + { 1399, 485,431,508,688 } }; + int lo, hi, i; + float frac=0; + + for (lo=4; --lo; ) + if (*mul[lo] <= temp) break; + for (hi=0; hi < 3; hi++) + if (*mul[hi] >= temp) break; + if (lo != hi) + frac = (float) (temp - *mul[lo]) / (*mul[hi] - *mul[lo]); + for (i=1; i < 5; i++) + pre_mul[i-1] = 1 / (frac * mul[hi][i] + (1-frac) * mul[lo][i]); +} + +/* Return values: 0 = white 1 = near white 2 = not white */ +int CLASS canon_600_color (int ratio[2], int mar) +{ + int clipped=0, target, miss; + + if (flash_used) { + if (ratio[1] < -104) + { ratio[1] = -104; clipped = 1; } + if (ratio[1] > 12) + { ratio[1] = 12; clipped = 1; } + } else { + if (ratio[1] < -264 || ratio[1] > 461) return 2; + if (ratio[1] < -50) + { ratio[1] = -50; clipped = 1; } + if (ratio[1] > 307) + { ratio[1] = 307; clipped = 1; } + } + target = flash_used || ratio[1] < 197 + ? -38 - (398 * ratio[1] >> 10) + : -123 + (48 * ratio[1] >> 10); + if (target - mar <= ratio[0] && + target + 20 >= ratio[0] && !clipped) return 0; + miss = target - ratio[0]; + if (abs(miss) >= mar*4) return 2; + if (miss < -20) miss = -20; + if (miss > mar) miss = mar; + ratio[0] = target - miss; + return 1; +} + +void CLASS canon_600_auto_wb() +{ + int mar, row, col, i, j, st, count[] = { 0,0 }; + int test[8], total[2][8], ratio[2][2], stat[2]; + + memset (&total, 0, sizeof total); + i = canon_ev + 0.5; + if (i < 10) mar = 150; + else if (i > 12) mar = 20; + else mar = 280 - 20 * i; + if (flash_used) mar = 80; + for (row=14; row < height-14; row+=4) + for (col=10; col < width; col+=2) { + for (i=0; i < 8; i++) + test[(i & 4) + FC(row+(i >> 1),col+(i & 1))] = + BAYER(row+(i >> 1),col+(i & 1)); + for (i=0; i < 8; i++) + if (test[i] < 150 || test[i] > 1500) goto next; + for (i=0; i < 4; i++) + if (abs(test[i] - test[i+4]) > 50) goto next; + for (i=0; i < 2; i++) { + for (j=0; j < 4; j+=2) + ratio[i][j >> 1] = ((test[i*4+j+1]-test[i*4+j]) << 10) / test[i*4+j]; + stat[i] = canon_600_color (ratio[i], mar); + } + if ((st = stat[0] | stat[1]) > 1) goto next; + for (i=0; i < 2; i++) + if (stat[i]) + for (j=0; j < 2; j++) + test[i*4+j*2+1] = test[i*4+j*2] * (0x400 + ratio[i][j]) >> 10; + for (i=0; i < 8; i++) + total[st][i] += test[i]; + count[st]++; +next: continue; + } + if (count[0] | count[1]) { + st = count[0]*200 < count[1]; + for (i=0; i < 4; i++) + pre_mul[i] = 1.0 / (total[st][i] + total[st][i+4]); + } +} + +void CLASS canon_600_coeff() +{ + static const short table[6][12] = { + { -190,702,-1878,2390, 1861,-1349,905,-393, -432,944,2617,-2105 }, + { -1203,1715,-1136,1648, 1388,-876,267,245, -1641,2153,3921,-3409 }, + { -615,1127,-1563,2075, 1437,-925,509,3, -756,1268,2519,-2007 }, + { -190,702,-1886,2398, 2153,-1641,763,-251, -452,964,3040,-2528 }, + { -190,702,-1878,2390, 1861,-1349,905,-393, -432,944,2617,-2105 }, + { -807,1319,-1785,2297, 1388,-876,769,-257, -230,742,2067,-1555 } }; + int t=0, i, c; + float mc, yc; + + mc = pre_mul[1] / pre_mul[2]; + yc = pre_mul[3] / pre_mul[2]; + if (mc > 1 && mc <= 1.28 && yc < 0.8789) t=1; + if (mc > 1.28 && mc <= 2) { + if (yc < 0.8789) t=3; + else if (yc <= 2) t=4; + } + if (flash_used) t=5; + for (raw_color = i=0; i < 3; i++) + FORCC rgb_cam[i][c] = table[t][i*4 + c] / 1024.0; +} + +void CLASS canon_600_load_raw() +{ + uchar data[1120], *dp; + ushort pixel[896], *pix; + int irow, row, col, val; + static const short mul[4][2] = + { { 1141,1145 }, { 1128,1109 }, { 1178,1149 }, { 1128,1109 } }; + + for (irow=row=0; irow < height; irow++) { + if (fread (data, 1, raw_width*5/4, ifp) < raw_width*5/4) derror(); + for (dp=data, pix=pixel; dp < data+1120; dp+=10, pix+=8) { + pix[0] = (dp[0] << 2) + (dp[1] >> 6 ); + pix[1] = (dp[2] << 2) + (dp[1] >> 4 & 3); + pix[2] = (dp[3] << 2) + (dp[1] >> 2 & 3); + pix[3] = (dp[4] << 2) + (dp[1] & 3); + pix[4] = (dp[5] << 2) + (dp[9] & 3); + pix[5] = (dp[6] << 2) + (dp[9] >> 2 & 3); + pix[6] = (dp[7] << 2) + (dp[9] >> 4 & 3); + pix[7] = (dp[8] << 2) + (dp[9] >> 6 ); + } + for (col=0; col < width; col++) + BAYER(row,col) = pixel[col]; + for (col=width; col < raw_width; col++) + black += pixel[col]; + if ((row+=2) > height) row = 1; + } + if (raw_width > width) + black = black / ((raw_width - width) * height) - 4; + for (row=0; row < height; row++) + for (col=0; col < width; col++) { + val = (BAYER(row,col) - black) * mul[row & 3][col & 1] >> 9; + if (val < 0) val = 0; + BAYER(row,col) = val; + } + canon_600_fixed_wb(1311); + canon_600_auto_wb(); + canon_600_coeff(); + maximum = (0x3ff - black) * 1109 >> 9; + black = 0; +} + +void CLASS remove_zeroes() +{ + unsigned row, col, tot, n, r, c; + + for (row=0; row < height; row++) + for (col=0; col < width; col++) + if (BAYER(row,col) == 0) { + tot = n = 0; + for (r = row-2; r <= row+2; r++) + for (c = col-2; c <= col+2; c++) + if (r < height && c < width && + FC(r,c) == FC(row,col) && BAYER(r,c)) + tot += (n++,BAYER(r,c)); + if (n) BAYER(row,col) = tot/n; + } +} + +int CLASS canon_s2is() +{ + unsigned row; + + for (row=0; row < 100; row++) { + fseek (ifp, row*3340 + 3284, SEEK_SET); + if (getc(ifp) > 15) return 1; + } + return 0; +} + +void CLASS canon_a5_load_raw() +{ + ushort data[2335], *dp, pixel; + int vbits=0, buf=0, row, col, bc=0; + + order = 0x4949; + for (row=-top_margin; row < raw_height-top_margin; row++) { + read_shorts (dp=data, raw_width * 10 / 16); + for (col=-left_margin; col < raw_width-left_margin; col++) { + if (vbits < 10) + buf = (vbits += 16, (buf << 16) + *dp++); + pixel = buf >> (vbits -= 10) & 0x3ff; + if ((unsigned) row < height && (unsigned) col < width) + BAYER(row,col) = pixel; + else if (col > 1-left_margin && col != width) + black += (bc++,pixel); + } + } + if (bc) black /= bc; + maximum = 0x3ff; + if (raw_width > 1600) remove_zeroes(); +} + +/* + getbits(-1) initializes the buffer + getbits(n) where 0 <= n <= 25 returns an n-bit integer + */ +unsigned CLASS getbits (int nbits) +{ + static unsigned bitbuf=0; + static int vbits=0, reset=0; + unsigned c; + + if (nbits == -1) + return bitbuf = vbits = reset = 0; + if (nbits == 0 || reset) return 0; + while (vbits < nbits) { + if ((c = fgetc(ifp)) == EOF) derror(); + if ((reset = zero_after_ff && c == 0xff && fgetc(ifp))) return 0; + bitbuf = (bitbuf << 8) + (uchar) c; + vbits += 8; + } + vbits -= nbits; + return bitbuf << (32-nbits-vbits) >> (32-nbits); +} + +void CLASS init_decoder() +{ + memset (first_decode, 0, sizeof first_decode); + free_decode = first_decode; +} + +/* + Construct a decode tree according the specification in *source. + The first 16 bytes specify how many codes should be 1-bit, 2-bit + 3-bit, etc. Bytes after that are the leaf values. + + For example, if the source is + + { 0,1,4,2,3,1,2,0,0,0,0,0,0,0,0,0, + 0x04,0x03,0x05,0x06,0x02,0x07,0x01,0x08,0x09,0x00,0x0a,0x0b,0xff }, + + then the code is + + 00 0x04 + 010 0x03 + 011 0x05 + 100 0x06 + 101 0x02 + 1100 0x07 + 1101 0x01 + 11100 0x08 + 11101 0x09 + 11110 0x00 + 111110 0x0a + 1111110 0x0b + 1111111 0xff + */ +uchar * CLASS make_decoder (const uchar *source, int level) +{ + struct decode *cur; + static int leaf; + int i, next; + + if (level==0) leaf=0; + cur = free_decode++; + if (free_decode > first_decode+2048) { + fprintf (stderr,_("%s: decoder table overflow\n"), ifname); + longjmp (failure, 2); + } + for (i=next=0; i <= leaf && next < 16; ) + i += source[next++]; + if (i > leaf) { + if (level < next) { + cur->branch[0] = free_decode; + make_decoder (source, level+1); + cur->branch[1] = free_decode; + make_decoder (source, level+1); + } else + cur->leaf = source[16 + leaf++]; + } + return (uchar *) source + 16 + leaf; +} + +void CLASS crw_init_tables (unsigned table) +{ + static const uchar first_tree[3][29] = { + { 0,1,4,2,3,1,2,0,0,0,0,0,0,0,0,0, + 0x04,0x03,0x05,0x06,0x02,0x07,0x01,0x08,0x09,0x00,0x0a,0x0b,0xff }, + { 0,2,2,3,1,1,1,1,2,0,0,0,0,0,0,0, + 0x03,0x02,0x04,0x01,0x05,0x00,0x06,0x07,0x09,0x08,0x0a,0x0b,0xff }, + { 0,0,6,3,1,1,2,0,0,0,0,0,0,0,0,0, + 0x06,0x05,0x07,0x04,0x08,0x03,0x09,0x02,0x00,0x0a,0x01,0x0b,0xff }, + }; + static const uchar second_tree[3][180] = { + { 0,2,2,2,1,4,2,1,2,5,1,1,0,0,0,139, + 0x03,0x04,0x02,0x05,0x01,0x06,0x07,0x08, + 0x12,0x13,0x11,0x14,0x09,0x15,0x22,0x00,0x21,0x16,0x0a,0xf0, + 0x23,0x17,0x24,0x31,0x32,0x18,0x19,0x33,0x25,0x41,0x34,0x42, + 0x35,0x51,0x36,0x37,0x38,0x29,0x79,0x26,0x1a,0x39,0x56,0x57, + 0x28,0x27,0x52,0x55,0x58,0x43,0x76,0x59,0x77,0x54,0x61,0xf9, + 0x71,0x78,0x75,0x96,0x97,0x49,0xb7,0x53,0xd7,0x74,0xb6,0x98, + 0x47,0x48,0x95,0x69,0x99,0x91,0xfa,0xb8,0x68,0xb5,0xb9,0xd6, + 0xf7,0xd8,0x67,0x46,0x45,0x94,0x89,0xf8,0x81,0xd5,0xf6,0xb4, + 0x88,0xb1,0x2a,0x44,0x72,0xd9,0x87,0x66,0xd4,0xf5,0x3a,0xa7, + 0x73,0xa9,0xa8,0x86,0x62,0xc7,0x65,0xc8,0xc9,0xa1,0xf4,0xd1, + 0xe9,0x5a,0x92,0x85,0xa6,0xe7,0x93,0xe8,0xc1,0xc6,0x7a,0x64, + 0xe1,0x4a,0x6a,0xe6,0xb3,0xf1,0xd3,0xa5,0x8a,0xb2,0x9a,0xba, + 0x84,0xa4,0x63,0xe5,0xc5,0xf3,0xd2,0xc4,0x82,0xaa,0xda,0xe4, + 0xf2,0xca,0x83,0xa3,0xa2,0xc3,0xea,0xc2,0xe2,0xe3,0xff,0xff }, + { 0,2,2,1,4,1,4,1,3,3,1,0,0,0,0,140, + 0x02,0x03,0x01,0x04,0x05,0x12,0x11,0x06, + 0x13,0x07,0x08,0x14,0x22,0x09,0x21,0x00,0x23,0x15,0x31,0x32, + 0x0a,0x16,0xf0,0x24,0x33,0x41,0x42,0x19,0x17,0x25,0x18,0x51, + 0x34,0x43,0x52,0x29,0x35,0x61,0x39,0x71,0x62,0x36,0x53,0x26, + 0x38,0x1a,0x37,0x81,0x27,0x91,0x79,0x55,0x45,0x28,0x72,0x59, + 0xa1,0xb1,0x44,0x69,0x54,0x58,0xd1,0xfa,0x57,0xe1,0xf1,0xb9, + 0x49,0x47,0x63,0x6a,0xf9,0x56,0x46,0xa8,0x2a,0x4a,0x78,0x99, + 0x3a,0x75,0x74,0x86,0x65,0xc1,0x76,0xb6,0x96,0xd6,0x89,0x85, + 0xc9,0xf5,0x95,0xb4,0xc7,0xf7,0x8a,0x97,0xb8,0x73,0xb7,0xd8, + 0xd9,0x87,0xa7,0x7a,0x48,0x82,0x84,0xea,0xf4,0xa6,0xc5,0x5a, + 0x94,0xa4,0xc6,0x92,0xc3,0x68,0xb5,0xc8,0xe4,0xe5,0xe6,0xe9, + 0xa2,0xa3,0xe3,0xc2,0x66,0x67,0x93,0xaa,0xd4,0xd5,0xe7,0xf8, + 0x88,0x9a,0xd7,0x77,0xc4,0x64,0xe2,0x98,0xa5,0xca,0xda,0xe8, + 0xf3,0xf6,0xa9,0xb2,0xb3,0xf2,0xd2,0x83,0xba,0xd3,0xff,0xff }, + { 0,0,6,2,1,3,3,2,5,1,2,2,8,10,0,117, + 0x04,0x05,0x03,0x06,0x02,0x07,0x01,0x08, + 0x09,0x12,0x13,0x14,0x11,0x15,0x0a,0x16,0x17,0xf0,0x00,0x22, + 0x21,0x18,0x23,0x19,0x24,0x32,0x31,0x25,0x33,0x38,0x37,0x34, + 0x35,0x36,0x39,0x79,0x57,0x58,0x59,0x28,0x56,0x78,0x27,0x41, + 0x29,0x77,0x26,0x42,0x76,0x99,0x1a,0x55,0x98,0x97,0xf9,0x48, + 0x54,0x96,0x89,0x47,0xb7,0x49,0xfa,0x75,0x68,0xb6,0x67,0x69, + 0xb9,0xb8,0xd8,0x52,0xd7,0x88,0xb5,0x74,0x51,0x46,0xd9,0xf8, + 0x3a,0xd6,0x87,0x45,0x7a,0x95,0xd5,0xf6,0x86,0xb4,0xa9,0x94, + 0x53,0x2a,0xa8,0x43,0xf5,0xf7,0xd4,0x66,0xa7,0x5a,0x44,0x8a, + 0xc9,0xe8,0xc8,0xe7,0x9a,0x6a,0x73,0x4a,0x61,0xc7,0xf4,0xc6, + 0x65,0xe9,0x72,0xe6,0x71,0x91,0x93,0xa6,0xda,0x92,0x85,0x62, + 0xf3,0xc5,0xb2,0xa4,0x84,0xba,0x64,0xa5,0xb3,0xd2,0x81,0xe5, + 0xd3,0xaa,0xc4,0xca,0xf2,0xb1,0xe4,0xd1,0x83,0x63,0xea,0xc3, + 0xe2,0x82,0xf1,0xa3,0xc2,0xa1,0xc1,0xe3,0xa2,0xe1,0xff,0xff } + }; + if (table > 2) table = 2; + init_decoder(); + make_decoder ( first_tree[table], 0); + second_decode = free_decode; + make_decoder (second_tree[table], 0); +} + +/* + Return 0 if the image starts with compressed data, + 1 if it starts with uncompressed low-order bits. + + In Canon compressed data, 0xff is always followed by 0x00. + */ +int CLASS canon_has_lowbits() +{ + uchar test[0x4000]; + int ret=1, i; + + fseek (ifp, 0, SEEK_SET); + fread (test, 1, sizeof test, ifp); + for (i=540; i < sizeof test - 1; i++) + if (test[i] == 0xff) { + if (test[i+1]) return 1; + ret=0; + } + return ret; +} + +void CLASS canon_compressed_load_raw() +{ + ushort *pixel, *prow; + int nblocks, lowbits, i, row, r, col, save, val; + unsigned irow, icol; + struct decode *decode, *dindex; + int block, diffbuf[64], leaf, len, diff, carry=0, pnum=0, base[2]; + uchar c; + + crw_init_tables (tiff_compress); + pixel = (ushort *) calloc (raw_width*8, sizeof *pixel); + merror (pixel, "canon_compressed_load_raw()"); + lowbits = canon_has_lowbits(); + if (!lowbits) maximum = 0x3ff; + fseek (ifp, 540 + lowbits*raw_height*raw_width/4, SEEK_SET); + zero_after_ff = 1; + getbits(-1); + for (row=0; row < raw_height; row+=8) { + nblocks = MIN (8, raw_height-row) * raw_width >> 6; + for (block=0; block < nblocks; block++) { + memset (diffbuf, 0, sizeof diffbuf); + decode = first_decode; + for (i=0; i < 64; i++ ) { + for (dindex=decode; dindex->branch[0]; ) + dindex = dindex->branch[getbits(1)]; + leaf = dindex->leaf; + decode = second_decode; + if (leaf == 0 && i) break; + if (leaf == 0xff) continue; + i += leaf >> 4; + len = leaf & 15; + if (len == 0) continue; + diff = getbits(len); + if ((diff & (1 << (len-1))) == 0) + diff -= (1 << len) - 1; + if (i < 64) diffbuf[i] = diff; + } + diffbuf[0] += carry; + carry = diffbuf[0]; + for (i=0; i < 64; i++ ) { + if (pnum++ % raw_width == 0) + base[0] = base[1] = 512; + if ((pixel[(block << 6) + i] = base[i & 1] += diffbuf[i]) >> 10) + derror(); + } + } + if (lowbits) { + save = ftell(ifp); + fseek (ifp, 26 + row*raw_width/4, SEEK_SET); + for (prow=pixel, i=0; i < raw_width*2; i++) { + c = fgetc(ifp); + for (r=0; r < 8; r+=2, prow++) { + val = (*prow << 2) + ((c >> r) & 3); + if (raw_width == 2672 && val < 512) val += 2; + *prow = val; + } + } + fseek (ifp, save, SEEK_SET); + } + for (r=0; r < 8; r++) { + irow = row - top_margin + r; + if (irow >= height) continue; + for (col=0; col < raw_width; col++) { + icol = col - left_margin; + if (icol < width) + BAYER(irow,icol) = pixel[r*raw_width+col]; + else + black += pixel[r*raw_width+col]; + } + } + } + free (pixel); + if (raw_width > width) + black /= (raw_width - width) * height; +} + +/* + Not a full implementation of Lossless JPEG, just + enough to decode Canon, Kodak and Adobe DNG images. + */ +struct jhead { + int bits, high, wide, clrs, restart, vpred[4]; + struct decode *huff[4]; + ushort *row; +}; + +int CLASS ljpeg_start (struct jhead *jh, int info_only) +{ + int i, tag, len; + uchar data[0x10000], *dp; + + init_decoder(); + memset (jh, 0, sizeof *jh); + for (i=0; i < 4; i++) + jh->huff[i] = free_decode; + jh->restart = INT_MAX; + fread (data, 2, 1, ifp); + if (data[1] != 0xd8) return 0; + do { + fread (data, 2, 2, ifp); + tag = data[0] << 8 | data[1]; + len = (data[2] << 8 | data[3]) - 2; + if (tag <= 0xff00) return 0; + fread (data, 1, len, ifp); + switch (tag) { + case 0xffc0: + case 0xffc3: + jh->bits = data[0]; + jh->high = data[1] << 8 | data[2]; + jh->wide = data[3] << 8 | data[4]; + jh->clrs = data[5]; + break; + case 0xffc4: + if (info_only) break; + for (dp = data; dp < data+len && *dp < 4; ) { + jh->huff[*dp] = free_decode; + dp = make_decoder (++dp, 0); + } + break; + case 0xffdd: + jh->restart = data[0] << 8 | data[1]; + } + } while (tag != 0xffda); + if (info_only) return 1; + jh->row = (ushort *) calloc (jh->wide*jh->clrs, 2); + merror (jh->row, " jpeg_start()"); + return zero_after_ff = 1; +} + +int CLASS ljpeg_diff (struct decode *dindex) +{ + int len, diff; + + while (dindex->branch[0]) + dindex = dindex->branch[getbits(1)]; + len = dindex->leaf; + if (len == 16 && (!dng_version || dng_version >= 0x1010000)) + return -32768; + diff = getbits(len); + if ((diff & (1 << (len-1))) == 0) + diff -= (1 << len) - 1; + return diff; +} + +void CLASS ljpeg_row (int jrow, struct jhead *jh) +{ + int col, c, diff; + ushort mark=0, *outp=jh->row; + + if (jrow * jh->wide % jh->restart == 0) { + FORC4 jh->vpred[c] = 1 << (jh->bits-1); + if (jrow) + do mark = (mark << 8) + (c = fgetc(ifp)); + while (c != EOF && mark >> 4 != 0xffd); + getbits(-1); + } + for (col=0; col < jh->wide; col++) + for (c=0; c < jh->clrs; c++) { + diff = ljpeg_diff (jh->huff[c]); + *outp = diff = col ? outp[-jh->clrs]+diff : (jh->vpred[c] += diff); + if (diff >> jh->bits) derror(); + outp++; + } +} + +void CLASS lossless_jpeg_load_raw() +{ + int jwide, jrow, jcol, val, jidx, i, j, row=0, col=0; + struct jhead jh; + int min=INT_MAX; + + if (!ljpeg_start (&jh, 0)) return; + jwide = jh.wide * jh.clrs; + + for (jrow=0; jrow < jh.high; jrow++) { + ljpeg_row (jrow, &jh); + for (jcol=0; jcol < jwide; jcol++) { + val = jh.row[jcol]; + if (jh.bits <= 12) + val = curve[val]; + if (cr2_slice[0]) { + jidx = jrow*jwide + jcol; + i = jidx / (cr2_slice[1]*jh.high); + if ((j = i >= cr2_slice[0])) + i = cr2_slice[0]; + jidx -= i * (cr2_slice[1]*jh.high); + row = jidx / cr2_slice[1+j]; + col = jidx % cr2_slice[1+j] + i*cr2_slice[1]; + } + if (raw_width == 3984 && (col -= 2) < 0) + col += (row--,raw_width); + if ((unsigned) (row-top_margin) < height) { + if ((unsigned) (col-left_margin) < width) { + BAYER(row-top_margin,col-left_margin) = val; + if (min > val) min = val; + } else black += val; + } + if (++col >= raw_width) + col = (row++,0); + } + } + free (jh.row); + if (raw_width > width) + black /= (raw_width - width) * height; + if (!strcasecmp(make,"KODAK")) + black = min; +} + +void CLASS adobe_copy_pixel (int row, int col, ushort **rp) +{ + unsigned r, c; + + r = row -= top_margin; + c = col -= left_margin; + if (fuji_secondary && shot_select) (*rp)++; + if (filters) { + if (fuji_width) { + r = row + fuji_width - 1 - (col >> 1); + c = row + ((col+1) >> 1); + } + if (r < height && c < width) + BAYER(r,c) = **rp < 0x1000 ? curve[**rp] : **rp; + *rp += 1 + fuji_secondary; + } else { + if (r < height && c < width) + for (c=0; c < tiff_samples; c++) + image[row*width+col][c] = (*rp)[c] < 0x1000 ? curve[(*rp)[c]]:(*rp)[c]; + *rp += tiff_samples; + } + if (fuji_secondary && shot_select) (*rp)--; +} + +void CLASS adobe_dng_load_raw_lj() +{ + int save, twide, trow=0, tcol=0, jrow, jcol; + struct jhead jh; + ushort *rp; + + while (1) { + save = ftell(ifp); + if (tile_length < INT_MAX) + fseek (ifp, get4(), SEEK_SET); + if (!ljpeg_start (&jh, 0)) break; + if (trow >= raw_height) break; + if (jh.high > raw_height-trow) + jh.high = raw_height-trow; + twide = jh.wide; + if (filters) twide *= jh.clrs; + else colors = jh.clrs; + if (fuji_secondary) twide /= 2; + if (twide > raw_width-tcol) + twide = raw_width-tcol; + + for (jrow=0; jrow < jh.high; jrow++) { + ljpeg_row (jrow, &jh); + for (rp=jh.row, jcol=0; jcol < twide; jcol++) + adobe_copy_pixel (trow+jrow, tcol+jcol, &rp); + } + fseek (ifp, save+4, SEEK_SET); + if ((tcol += twide) >= raw_width) { + tcol = 0; + trow += jh.high; + } + free (jh.row); + } +} + +void CLASS adobe_dng_load_raw_nc() +{ + ushort *pixel, *rp; + int row, col; + + pixel = (ushort *) calloc (raw_width * tiff_samples, sizeof *pixel); + merror (pixel, "adobe_dng_load_raw_nc()"); + for (row=0; row < raw_height; row++) { + if (tiff_bps == 16) + read_shorts (pixel, raw_width * tiff_samples); + else { + getbits(-1); + for (col=0; col < raw_width * tiff_samples; col++) + pixel[col] = getbits(tiff_bps); + } + for (rp=pixel, col=0; col < raw_width; col++) + adobe_copy_pixel (row, col, &rp); + } + free (pixel); +} + +void CLASS pentax_k10_load_raw() +{ + static const uchar pentax_tree[] = + { 0,2,3,1,1,1,1,1,1,2,0,0,0,0,0,0, + 3,4,2,5,1,6,0,7,8,9,10,11,12 }; + int row, col, diff; + ushort vpred[2][2] = {{0,0},{0,0}}, hpred[2]; + + init_decoder(); + make_decoder (pentax_tree, 0); + getbits(-1); + for (row=0; row < height; row++) + for (col=0; col < raw_width; col++) { + diff = ljpeg_diff (first_decode); + if (col < 2) + hpred[col] = vpred[row & 1][col] += diff; + else + hpred[col & 1] += diff; + if (col < width) + BAYER(row,col) = hpred[col & 1]; + if (hpred[col & 1] >> 12) derror(); + } +} + +void CLASS nikon_compressed_load_raw() +{ + static const uchar nikon_tree[] = + { 0,1,5,1,1,1,1,1,1,2,0,0,0,0,0,0, + 5,4,3,6,2,7,1,0,8,9,11,10,12 }; + int csize, row, col, diff; + ushort vpred[2][2], hpred[2], *curve; + + init_decoder(); + make_decoder (nikon_tree, 0); + + fseek (ifp, curve_offset, SEEK_SET); + read_shorts (vpred[0], 4); + csize = get2(); + curve = (ushort *) calloc (csize, sizeof *curve); + merror (curve, "nikon_compressed_load_raw()"); + read_shorts (curve, csize); + + fseek (ifp, data_offset, SEEK_SET); + getbits(-1); + for (row=0; row < height; row++) + for (col=0; col < raw_width; col++) { + diff = ljpeg_diff (first_decode); + if (col < 2) + hpred[col] = vpred[row & 1][col] += diff; + else + hpred[col & 1] += diff; + if ((unsigned) (col-left_margin) >= width) continue; + if (hpred[col & 1] >= csize) derror(); + else BAYER(row,col-left_margin) = curve[hpred[col & 1]]; + } + free (curve); +} + +void CLASS nikon_load_raw() +{ + int irow, row, col, i; + + getbits(-1); + for (irow=0; irow < height; irow++) { + row = irow; + if (make[0] == 'O' || model[0] == 'E') { + row = irow * 2 % height + irow / (height/2); + if (row == 1 && data_offset == 0) { + fseek (ifp, 0, SEEK_END); + fseek (ifp, ftell(ifp)/2, SEEK_SET); + getbits(-1); + } + } + for (col=0; col < raw_width; col++) { + i = getbits(12); + if ((unsigned) (col-left_margin) < width) + BAYER(row,col-left_margin) = i; + if (tiff_compress == 34713 && (col % 10) == 9) + if (getbits(8)) derror(); + } + } +} + +/* + Figure out if a NEF file is compressed. These fancy heuristics + are only needed for the D100, thanks to a bug in some cameras + that tags all images as "compressed". + */ +int CLASS nikon_is_compressed() +{ + uchar test[256]; + int i; + + if (tiff_compress != 34713) + return 0; + if (strcmp(model,"D100")) + return 1; + fseek (ifp, data_offset, SEEK_SET); + fread (test, 1, 256, ifp); + for (i=15; i < 256; i+=16) + if (test[i]) return 1; + return 0; +} + +/* + Returns 1 for a Coolpix 995, 0 for anything else. + */ +int CLASS nikon_e995() +{ + int i, histo[256]; + const uchar often[] = { 0x00, 0x55, 0xaa, 0xff }; + + memset (histo, 0, sizeof histo); + fseek (ifp, -2000, SEEK_END); + for (i=0; i < 2000; i++) + histo[fgetc(ifp)]++; + for (i=0; i < 4; i++) + if (histo[often[i]] < 200) + return 0; + return 1; +} + +/* + Returns 1 for a Coolpix 2100, 0 for anything else. + */ +int CLASS nikon_e2100() +{ + uchar t[12]; + int i; + + fseek (ifp, 0, SEEK_SET); + for (i=0; i < 1024; i++) { + fread (t, 1, 12, ifp); + if (((t[2] & t[4] & t[7] & t[9]) >> 4 + & t[1] & t[6] & t[8] & t[11] & 3) != 3) + return 0; + } + return 1; +} + +void CLASS nikon_3700() +{ + int bits, i; + uchar dp[24]; + static const struct { + int bits; + char make[12], model[15]; + } table[] = { + { 0x00, "PENTAX", "Optio 33WR" }, + { 0x03, "NIKON", "E3200" }, + { 0x32, "NIKON", "E3700" }, + { 0x33, "OLYMPUS", "C740UZ" } }; + + fseek (ifp, 3072, SEEK_SET); + fread (dp, 1, 24, ifp); + bits = (dp[8] & 3) << 4 | (dp[20] & 3); + for (i=0; i < sizeof table / sizeof *table; i++) + if (bits == table[i].bits) { + strcpy (make, table[i].make ); + strcpy (model, table[i].model); + } +} + +/* + Separates a Minolta DiMAGE Z2 from a Nikon E4300. + */ +int CLASS minolta_z2() +{ + int i; + char tail[424]; + + fseek (ifp, -sizeof tail, SEEK_END); + fread (tail, 1, sizeof tail, ifp); + for (i=0; i < sizeof tail; i++) + if (tail[i]) return 1; + return 0; +} + +/* Here raw_width is in bytes, not pixels. */ +void CLASS nikon_e900_load_raw() +{ + int offset=0, irow, row, col; + + for (irow=0; irow < height; irow++) { + row = irow * 2 % height; + if (row == 1) + offset = - (-offset & -4096); + fseek (ifp, offset, SEEK_SET); + offset += raw_width; + getbits(-1); + for (col=0; col < width; col++) + BAYER(row,col) = getbits(10); + } +} + +void CLASS nikon_e2100_load_raw() +{ + uchar data[4608], *dp; + ushort pixel[3072], *pix; + int row, col; + + for (row=0; row <= height; row+=2) { + if (row == height) { + fseek (ifp, 0, SEEK_END); + fseek (ifp, ftell(ifp)/2, SEEK_SET); + row = 1; + } + fread (data, 1, width*3/2, ifp); + for (dp=data, pix=pixel; pix < pixel+width; dp+=12, pix+=8) { + pix[0] = (dp[2] >> 4) + (dp[ 3] << 4); + pix[1] = (dp[2] << 8) + dp[ 1]; + pix[2] = (dp[7] >> 4) + (dp[ 0] << 4); + pix[3] = (dp[7] << 8) + dp[ 6]; + pix[4] = (dp[4] >> 4) + (dp[ 5] << 4); + pix[5] = (dp[4] << 8) + dp[11]; + pix[6] = (dp[9] >> 4) + (dp[10] << 4); + pix[7] = (dp[9] << 8) + dp[ 8]; + } + for (col=0; col < width; col++) + BAYER(row,col) = (pixel[col] & 0xfff); + } +} + +/* + The Fuji Super CCD is just a Bayer grid rotated 45 degrees. + */ +void CLASS fuji_load_raw() +{ + ushort *pixel; + int wide, row, col, r, c; + + fseek (ifp, (top_margin*raw_width + left_margin) * 2, SEEK_CUR); + wide = fuji_width << !fuji_layout; + pixel = (ushort *) calloc (wide, sizeof *pixel); + merror (pixel, "fuji_load_raw()"); + for (row=0; row < raw_height; row++) { + read_shorts (pixel, wide); + fseek (ifp, 2*(raw_width - wide), SEEK_CUR); + for (col=0; col < wide; col++) { + if (fuji_layout) { + r = fuji_width - 1 - col + (row >> 1); + c = col + ((row+1) >> 1); + } else { + r = fuji_width - 1 + row - (col >> 1); + c = row + ((col+1) >> 1); + } + BAYER(r,c) = pixel[col]; + } + } + free (pixel); +} + +void CLASS jpeg_thumb (FILE *tfp); + +void CLASS ppm_thumb (FILE *tfp) +{ + char *thumb; + thumb_length = thumb_width*thumb_height*3; + thumb = (char *) malloc (thumb_length); + merror (thumb, "ppm_thumb()"); + fprintf (tfp, "P6\n%d %d\n255\n", thumb_width, thumb_height); + fread (thumb, 1, thumb_length, ifp); + fwrite (thumb, 1, thumb_length, tfp); + free (thumb); +} + +void CLASS layer_thumb (FILE *tfp) +{ + int i, c; + char *thumb, map[][4] = { "012","102" }; + + colors = thumb_misc >> 5 & 7; + thumb_length = thumb_width*thumb_height; + thumb = (char *) calloc (colors, thumb_length); + merror (thumb, "layer_thumb()"); + fprintf (tfp, "P%d\n%d %d\n255\n", + 5 + (colors >> 1), thumb_width, thumb_height); + fread (thumb, thumb_length, colors, ifp); + for (i=0; i < thumb_length; i++) + FORCC putc (thumb[i+thumb_length*(map[thumb_misc >> 8][c]-'0')], tfp); + free (thumb); +} + +void CLASS rollei_thumb (FILE *tfp) +{ + unsigned i; + ushort *thumb; + + thumb_length = thumb_width * thumb_height; + thumb = (ushort *) calloc (thumb_length, 2); + merror (thumb, "rollei_thumb()"); + fprintf (tfp, "P6\n%d %d\n255\n", thumb_width, thumb_height); + read_shorts (thumb, thumb_length); + for (i=0; i < thumb_length; i++) { + putc (thumb[i] << 3, tfp); + putc (thumb[i] >> 5 << 2, tfp); + putc (thumb[i] >> 11 << 3, tfp); + } + free (thumb); +} + +void CLASS rollei_load_raw() +{ + uchar pixel[10]; + unsigned iten=0, isix, i, buffer=0, row, col, todo[16]; + + isix = raw_width * raw_height * 5 / 8; + while (fread (pixel, 1, 10, ifp) == 10) { + for (i=0; i < 10; i+=2) { + todo[i] = iten++; + todo[i+1] = pixel[i] << 8 | pixel[i+1]; + buffer = pixel[i] >> 2 | buffer << 6; + } + for ( ; i < 16; i+=2) { + todo[i] = isix++; + todo[i+1] = buffer >> (14-i)*5; + } + for (i=0; i < 16; i+=2) { + row = todo[i] / raw_width - top_margin; + col = todo[i] % raw_width - left_margin; + if (row < height && col < width) + BAYER(row,col) = (todo[i+1] & 0x3ff); + } + } + maximum = 0x3ff; +} + +int CLASS bayer (unsigned row, unsigned col) +{ + return (row < height && col < width) ? BAYER(row,col) : 0; +} + +void CLASS phase_one_flat_field (int is_float, int nc) +{ + ushort head[8]; + unsigned wide, y, x, c, rend, cend, row, col; + float *mrow, num, mult[4]; + + read_shorts (head, 8); + wide = head[2] / head[4]; + mrow = (float *) calloc (nc*wide, sizeof *mrow); + merror (mrow, "phase_one_flat_field()"); + for (y=0; y < head[3] / head[5]; y++) { + for (x=0; x < wide; x++) + for (c=0; c < nc; c+=2) { + num = is_float ? getreal(11) : get2()/32768.0; + if (y==0) mrow[c*wide+x] = num; + else mrow[(c+1)*wide+x] = (num - mrow[c*wide+x]) / head[5]; + } + if (y==0) continue; + rend = head[1]-top_margin + y*head[5]; + for (row = rend-head[5]; row < height && row < rend; row++) { + for (x=1; x < wide; x++) { + for (c=0; c < nc; c+=2) { + mult[c] = mrow[c*wide+x-1]; + mult[c+1] = (mrow[c*wide+x] - mult[c]) / head[4]; + } + cend = head[0]-left_margin + x*head[4]; + for (col = cend-head[4]; col < width && col < cend; col++) { + c = nc > 2 ? FC(row,col) : 0; + if (!(c & 1)) { + c = BAYER(row,col) * mult[c]; + BAYER(row,col) = LIM(c,0,65535); + } + for (c=0; c < nc; c+=2) + mult[c] += mult[c+1]; + } + } + for (x=0; x < wide; x++) + for (c=0; c < nc; c+=2) + mrow[c*wide+x] += mrow[(c+1)*wide+x]; + } + } + free (mrow); +} + +void CLASS phase_one_correct() +{ + unsigned entries, tag, data, save, col, row, type; + int len, i, j, k, cip, val[4], dev[4], sum, max; + int head[9], diff, mindiff=INT_MAX, off_412=0; + static const signed char dir[12][2] = + { {-1,-1}, {-1,1}, {1,-1}, {1,1}, {-2,0}, {0,-2}, {0,2}, {2,0}, + {-2,-2}, {-2,2}, {2,-2}, {2,2} }; + float poly[8], num, cfrac, frac, mult[2], *yval[2]; + ushort curve[0x10000], *xval[2]; + + if (half_size || !meta_length) return; + if (verbose) fprintf (stderr,_("Phase One correction...\n")); + fseek (ifp, meta_offset, SEEK_SET); + order = get2(); + fseek (ifp, 6, SEEK_CUR); + fseek (ifp, meta_offset+get4(), SEEK_SET); + entries = get4(); get4(); + while (entries--) { + tag = get4(); + len = get4(); + data = get4(); + save = ftell(ifp); + fseek (ifp, meta_offset+data, SEEK_SET); + if (tag == 0x419) { /* Polynomial curve */ + for (get4(), i=0; i < 8; i++) + poly[i] = getreal(11); + poly[3] += (ph1.tag_210 - poly[7]) * poly[6] + 1; + for (i=0; i < 0x10000; i++) { + num = (poly[5]*i + poly[3])*i + poly[1]; + curve[i] = LIM(num,0,65535); + } goto apply; /* apply to right half */ + } else if (tag == 0x41a) { /* Polynomial curve */ + for (i=0; i < 4; i++) + poly[i] = getreal(11); + for (i=0; i < 0x10000; i++) { + for (num=0, j=4; j--; ) + num = num * i + poly[j]; + curve[i] = LIM(num+i,0,65535); + } apply: /* apply to whole image */ + for (row=0; row < height; row++) + for (col = (tag & 1)*ph1.split_col; col < width; col++) + BAYER(row,col) = curve[BAYER(row,col)]; + } else if (tag == 0x400) { /* Sensor defects */ + while ((len -= 8) >= 0) { + col = get2() - left_margin; + row = get2() - top_margin; + type = get2(); get2(); + if (col >= width) continue; + if (type == 131) /* Bad column */ + for (row=0; row < height; row++) + if (FC(row,col) == 1) { + for (sum=i=0; i < 4; i++) + sum += val[i] = bayer (row+dir[i][0], col+dir[i][1]); + for (max=i=0; i < 4; i++) { + dev[i] = abs((val[i] << 2) - sum); + if (dev[max] < dev[i]) max = i; + } + BAYER(row,col) = (sum - val[max])/3.0 + 0.5; + } else { + for (sum=0, i=8; i < 12; i++) + sum += bayer (row+dir[i][0], col+dir[i][1]); + BAYER(row,col) = 0.5 + sum * 0.0732233 + + (bayer(row,col-2) + bayer(row,col+2)) * 0.3535534; + } + else if (type == 129) { /* Bad pixel */ + if (row >= height) continue; + j = (FC(row,col) != 1) * 4; + for (sum=0, i=j; i < j+8; i++) + sum += bayer (row+dir[i][0], col+dir[i][1]); + BAYER(row,col) = (sum + 4) >> 3; + } + } + } else if (tag == 0x401) { /* All-color flat fields */ + phase_one_flat_field (1, 2); + } else if (tag == 0x416 || tag == 0x410) { + phase_one_flat_field (0, 2); + } else if (tag == 0x40b) { /* Red+blue flat field */ + phase_one_flat_field (0, 4); + } else if (tag == 0x412) { + fseek (ifp, 36, SEEK_CUR); + diff = abs (get2() - ph1.tag_21a); + if (mindiff > diff) { + mindiff = diff; + off_412 = ftell(ifp) - 38; + } + } + fseek (ifp, save, SEEK_SET); + } + if (off_412) { + fseek (ifp, off_412, SEEK_SET); + for (i=0; i < 9; i++) head[i] = get4() & 0x7fff; + yval[0] = (float *) calloc (head[1]*head[3] + head[2]*head[4], 6); + merror (yval[0], "phase_one_correct()"); + yval[1] = (float *) (yval[0] + head[1]*head[3]); + xval[0] = (ushort *) (yval[1] + head[2]*head[4]); + xval[1] = (ushort *) (xval[0] + head[1]*head[3]); + get2(); + for (i=0; i < 2; i++) + for (j=0; j < head[i+1]*head[i+3]; j++) + yval[i][j] = getreal(11); + for (i=0; i < 2; i++) + for (j=0; j < head[i+1]*head[i+3]; j++) + xval[i][j] = get2(); + for (row=0; row < height; row++) + for (col=0; col < width; col++) { + cfrac = (float) col * head[3] / raw_width; + cfrac -= cip = cfrac; + num = BAYER(row,col) * 0.5; + for (i=cip; i < cip+2; i++) { + for (k=j=0; j < head[1]; j++) + if (num < xval[0][k = head[1]*i+j]) break; + frac = (j == 0 || j == head[1]) ? 0 : + (xval[0][k] - num) / (xval[0][k] - xval[0][k-1]); + mult[i-cip] = yval[0][k-1] * frac + yval[0][k] * (1-frac); + } + i = ((mult[0] * (1-cfrac) + mult[1] * cfrac) + * (row + top_margin) + num) * 2; + BAYER(row,col) = LIM(i,0,65535); + } + free (yval[0]); + } +} + +void CLASS phase_one_load_raw() +{ + int row, col, a, b; + ushort *pixel, akey, bkey, mask; + + fseek (ifp, ph1.key_off, SEEK_SET); + akey = get2(); + bkey = get2(); + mask = ph1.format == 1 ? 0x5555:0x1354; + fseek (ifp, data_offset + top_margin*raw_width*2, SEEK_SET); + pixel = (ushort *) calloc (raw_width, sizeof *pixel); + merror (pixel, "phase_one_load_raw()"); + for (row=0; row < height; row++) { + read_shorts (pixel, raw_width); + for (col=0; col < raw_width; col+=2) { + a = pixel[col+0] ^ akey; + b = pixel[col+1] ^ bkey; + pixel[col+0] = (a & mask) | (b & ~mask); + pixel[col+1] = (b & mask) | (a & ~mask); + } + for (col=0; col < width; col++) + BAYER(row,col) = pixel[col+left_margin]; + } + free (pixel); + phase_one_correct(); +} + +unsigned CLASS ph1_bits (int nbits) +{ + static UINT64 bitbuf=0; + static int vbits=0; + + if (nbits == 0) + return bitbuf = vbits = 0; + if (vbits < nbits) { + bitbuf = bitbuf << 32 | get4(); + vbits += 32; + } + vbits -= nbits; + return bitbuf << (64 - nbits - vbits) >> (64 - nbits); +} + +void CLASS phase_one_load_raw_c() +{ + static const int length[] = { 8,7,6,9,11,10,5,12,14,13 }; + int *offset, len[2], pred[2], row, col, i, j; + ushort *pixel; + short (*black)[2]; + + pixel = (ushort *) calloc (raw_width + raw_height*4, 2); + merror (pixel, "phase_one_load_raw_c()"); + offset = (int *) (pixel + raw_width); + fseek (ifp, strip_offset, SEEK_SET); + for (row=0; row < raw_height; row++) + offset[row] = get4(); + black = (short (*)[2]) offset + raw_height; + fseek (ifp, ph1.black_off, SEEK_SET); + if (ph1.black_off) + read_shorts ((ushort *) black[0], raw_height*2); + for (i=0; i < 256; i++) + curve[i] = i*i / 3.969 + 0.5; + for (row=0; row < raw_height; row++) { + fseek (ifp, data_offset + offset[row], SEEK_SET); + ph1_bits(0... [truncated message content] |
From: <gl...@us...> - 2007-05-12 16:33:36
|
Revision: 118 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=118&view=rev Author: glslang Date: 2007-05-12 09:33:26 -0700 (Sat, 12 May 2007) Log Message: ----------- + OFX bindings clip preferences action improvements Modified Paths: -------------- lib/openlibraries/installer/openlibraries_sdk.nsi lib/openlibraries/src/openimagelib/il/Makefile.am lib/openlibraries/src/openimagelib/il/basic_image.hpp lib/openlibraries/src/openimagelib/il/compression_traits.hpp lib/openlibraries/src/openimagelib/il/float_traits.hpp lib/openlibraries/src/openimagelib/il/il_vc8.vcproj lib/openlibraries/src/openimagelib/il/rgb_traits.hpp lib/openlibraries/src/openimagelib/il/traits.hpp lib/openlibraries/src/openimagelib/il/yuv_traits.hpp lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp lib/openlibraries/src/openpluginlib/pl/openpluginlib.hpp Removed Paths: ------------- lib/openlibraries/src/openimagelib/il/noise_traits.hpp Modified: lib/openlibraries/installer/openlibraries_sdk.nsi =================================================================== --- lib/openlibraries/installer/openlibraries_sdk.nsi 2007-05-10 20:38:14 UTC (rev 117) +++ lib/openlibraries/installer/openlibraries_sdk.nsi 2007-05-12 16:33:26 UTC (rev 118) @@ -126,7 +126,6 @@ File ..\src\openimagelib\il\config.hpp File ..\src\openimagelib\il\float_traits.hpp File ..\src\openimagelib\il\il.hpp - File ..\src\openimagelib\il\noise_traits.hpp File ..\src\openimagelib\il\openimagelib_plugin.hpp File ..\src\openimagelib\il\rgb_traits.hpp File ..\src\openimagelib\il\traits.hpp Modified: lib/openlibraries/src/openimagelib/il/Makefile.am =================================================================== --- lib/openlibraries/src/openimagelib/il/Makefile.am 2007-05-10 20:38:14 UTC (rev 117) +++ lib/openlibraries/src/openimagelib/il/Makefile.am 2007-05-12 16:33:26 UTC (rev 118) @@ -14,7 +14,6 @@ float_traits.hpp \ il.hpp \ il.cpp \ - noise_traits.hpp \ openimagelib_plugin.hpp \ rgb_traits.hpp \ traits.hpp \ @@ -39,7 +38,6 @@ config.hpp \ float_traits.hpp \ il.hpp \ - noise_traits.hpp \ openimagelib_plugin.hpp \ rgb_traits.hpp \ traits.hpp \ Modified: lib/openlibraries/src/openimagelib/il/basic_image.hpp =================================================================== --- lib/openlibraries/src/openimagelib/il/basic_image.hpp 2007-05-10 20:38:14 UTC (rev 117) +++ lib/openlibraries/src/openimagelib/il/basic_image.hpp 2007-05-12 16:33:26 UTC (rev 118) @@ -181,6 +181,7 @@ size_type depth( ) const { return depth_; } size_type count( ) const { return count_; } + size_type block_size( ) const { return block_size_; } iterator begin( ) { return planes_.begin( ); } const_iterator begin( ) const { return planes_.begin( ); } @@ -193,9 +194,12 @@ bool is_cubemap( ) const { return cubemap_; } bool is_volume( ) const { return volume_; } std::wstring pf( ) const { return pf_; } - + + virtual bool is_float( ) const { return false; } + public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const = 0; + virtual size_type bitdepth( ) const = 0; // Default method that works for most single plane images virtual void allocplanes( planes &planes ) @@ -446,6 +450,8 @@ size_type depth( ) const { return structure_->depth( ); } size_type count( ) const { return structure_->count( ); } + size_type block_size( ) const { return structure_->block_size( ); } + size_type bitdepth( ) const { return structure_->bitdepth( ); } bool is_flipped( ) const { return flipped_; } void set_flipped( bool flipped ) { flipped_ = flipped; crop_sync( ); } @@ -468,6 +474,7 @@ public: bool is_cubemap( ) const { return structure_->is_cubemap( ); } bool is_volume( ) const { return structure_->is_volume( ); } + bool is_float( ) const { return structure_->is_float( ); } std::wstring pf( ) const { return structure_->pf( ); } public: Modified: lib/openlibraries/src/openimagelib/il/compression_traits.hpp =================================================================== --- lib/openlibraries/src/openimagelib/il/compression_traits.hpp 2007-05-10 20:38:14 UTC (rev 117) +++ lib/openlibraries/src/openimagelib/il/compression_traits.hpp 2007-05-12 16:33:26 UTC (rev 118) @@ -41,6 +41,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return detail::dds_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } virtual dxt1* clone( size_type w, size_type h ) { return new dxt1( *this, w, h ); } @@ -77,6 +80,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return detail::dds_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } virtual dxt3* clone( size_type w, size_type h ) { return new dxt3( *this, w, h ); } @@ -113,6 +119,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return detail::dds_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } virtual dxt5* clone( size_type w, size_type h ) { return new dxt5( *this, w, h ); } Modified: lib/openlibraries/src/openimagelib/il/float_traits.hpp =================================================================== --- lib/openlibraries/src/openimagelib/il/float_traits.hpp 2007-05-10 20:38:14 UTC (rev 117) +++ lib/openlibraries/src/openimagelib/il/float_traits.hpp 2007-05-12 16:33:26 UTC (rev 118) @@ -43,6 +43,11 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } + + virtual bool is_float( ) const { return true; } virtual rgbe* clone( size_type w, size_type h ) { return new rgbe( *this, w, h ); } @@ -78,7 +83,12 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 16; } + virtual bool is_float( ) const { return true; } + virtual r16g16b16f* clone( size_type w, size_type h ) { return new r16g16b16f( *this, w, h ); } }; @@ -113,7 +123,12 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 16; } + virtual bool is_float( ) const { return true; } + virtual b16g16r16f* clone( size_type w, size_type h ) { return new b16g16r16f( *this, w, h ); } }; @@ -148,7 +163,12 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } - + + virtual size_type bitdepth( ) const + { return 16; } + + virtual bool is_float( ) const { return true; } + virtual r16g16b16a16f* clone( size_type w, size_type h ) { return new r16g16b16a16f( *this, w, h ); } }; @@ -183,7 +203,12 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( float ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 32; } + virtual bool is_float( ) const { return true; } + virtual r32g32b32f* clone( size_type w, size_type h ) { return new r32g32b32f( *this, w, h ); } }; @@ -218,6 +243,11 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( float ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 32; } + + virtual bool is_float( ) const { return true; } virtual r32g32b32a32f* clone( size_type w, size_type h ) { return new r32g32b32a32f( *this, w, h ); } Modified: lib/openlibraries/src/openimagelib/il/il_vc8.vcproj =================================================================== --- lib/openlibraries/src/openimagelib/il/il_vc8.vcproj 2007-05-10 20:38:14 UTC (rev 117) +++ lib/openlibraries/src/openimagelib/il/il_vc8.vcproj 2007-05-12 16:33:26 UTC (rev 118) @@ -239,10 +239,6 @@ > </File> <File - RelativePath=".\noise_traits.hpp" - > - </File> - <File RelativePath=".\openimagelib_plugin.hpp" > </File> Deleted: lib/openlibraries/src/openimagelib/il/noise_traits.hpp =================================================================== --- lib/openlibraries/src/openimagelib/il/noise_traits.hpp 2007-05-10 20:38:14 UTC (rev 117) +++ lib/openlibraries/src/openimagelib/il/noise_traits.hpp 2007-05-12 16:33:26 UTC (rev 118) @@ -1,15 +0,0 @@ - -// il - A image library representation. - -// Copyright (C) 2005-2006 VM Inc. -// Released under the LGPL. -// For more information, see http://www.openlibraries.org. - -#ifndef NOISE_TRAITS_INC_ -#define NOISE_TRAITS_INC_ - -namespace olib { namespace openimagelib { namespace il { - -} } } - -#endif Modified: lib/openlibraries/src/openimagelib/il/rgb_traits.hpp =================================================================== --- lib/openlibraries/src/openimagelib/il/rgb_traits.hpp 2007-05-10 20:38:14 UTC (rev 117) +++ lib/openlibraries/src/openimagelib/il/rgb_traits.hpp 2007-05-12 16:33:26 UTC (rev 118) @@ -42,6 +42,9 @@ virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + virtual size_type bitdepth( ) const + { return 8; } + virtual b8g8r8* clone( size_type w, size_type h ) { return new b8g8r8( *this, w, h ); } }; @@ -77,6 +80,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } virtual r8g8b8* clone( size_type w, size_type h ) { return new r8g8b8( *this, w, h ); } @@ -119,6 +125,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return bs * detail::rgb_Allocate_size<T>( )( 1, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } virtual r8g8b8p* clone( size_type w, size_type h ) { return new r8g8b8p( *this, w, h ); } @@ -182,6 +191,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return bs * detail::rgb_Allocate_size<T>( )( 1, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } virtual r8g8b8a8p* clone( size_type w, size_type h ) { return new r8g8b8a8p( *this, w, h ); } @@ -242,6 +254,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } virtual b8g8r8a8* clone( size_type w, size_type h ) { return new b8g8r8a8( *this, w, h ); } @@ -278,6 +293,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } virtual a8b8g8r8* clone( size_type w, size_type h ) { return new a8b8g8r8( *this, w, h ); } @@ -313,6 +331,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } virtual r8g8b8a8* clone( size_type w, size_type h ) { return new r8g8b8a8( *this, w, h ); } @@ -351,6 +372,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } virtual l8* clone( size_type w, size_type h ) { return new l8( *this, w, h ); } @@ -389,6 +413,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } virtual l8a8* clone( size_type w, size_type h ) { return new l8a8( *this, w, h ); } @@ -430,6 +457,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return bs * detail::rgb_Allocate_size<T>( )( 1, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } virtual l8a8p* clone( size_type w, size_type h ) { return new l8a8p( *this, w, h ); } @@ -489,6 +519,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return bs * sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( 1, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 12; } virtual l12a12p* clone( size_type w, size_type h ) { return new l12a12p( *this, w, h ); } @@ -548,6 +581,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return bs * sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( 1, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 16; } virtual l16a16p* clone( size_type w, size_type h ) { return new l16a16p( *this, w, h ); } @@ -602,6 +638,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } virtual a8r8g8b8* clone( size_type w, size_type h ) { return new a8r8g8b8( *this, w, h ); } @@ -644,6 +683,9 @@ virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + virtual size_type bitdepth( ) const + { return 10; } + virtual r10g10b10* clone( size_type w, size_type h ) { return new r10g10b10( *this, w, h ); } @@ -699,7 +741,10 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } - + + virtual size_type bitdepth( ) const + { return 10; } + virtual r10g10b10a10* clone( size_type w, size_type h ) { return new r10g10b10a10( *this, w, h ); } @@ -756,6 +801,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return bs * sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( 1, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 10; } virtual r10g10b10p* clone( size_type w, size_type h ) { return new r10g10b10p( *this, w, h ); } @@ -819,6 +867,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return bs * sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( 1, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 10; } virtual r10g10b10a10p* clone( size_type w, size_type h ) { return new r10g10b10a10p( *this, w, h ); } @@ -884,6 +935,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 12; } virtual r12g12b12* clone( size_type w, size_type h ) { return new r12g12b12( *this, w, h ); } @@ -940,6 +994,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 12; } virtual r12g12b12a12* clone( size_type w, size_type h ) { return new r12g12b12a12( *this, w, h ); } @@ -997,6 +1054,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return bs * sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( 1, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 12; } virtual r12g12b12p* clone( size_type w, size_type h ) { return new r12g12b12p( *this, w, h ); } @@ -1060,6 +1120,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return bs * sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( 1, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 12; } virtual r12g12b12a12p* clone( size_type w, size_type h ) { return new r12g12b12a12p( *this, w, h ); } @@ -1125,6 +1188,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 16; } virtual r16g16b16* clone( size_type w, size_type h ) { return new r16g16b16( *this, w, h ); } @@ -1181,6 +1247,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 16; } virtual r16g16b16a16* clone( size_type w, size_type h ) { return new r16g16b16a16( *this, w, h ); } @@ -1238,6 +1307,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return bs * sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( 1, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 16; } virtual r16g16b16p* clone( size_type w, size_type h ) { return new r16g16b16p( *this, w, h ); } @@ -1301,6 +1373,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return bs * sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( 1, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 16; } virtual r16g16b16a16p* clone( size_type w, size_type h ) { return new r16g16b16a16p( *this, w, h ); } @@ -1368,6 +1443,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } virtual r8g8b8log* clone( size_type w, size_type h ) { return new r8g8b8log( *this, w, h ); } @@ -1425,6 +1503,9 @@ virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + virtual size_type bitdepth( ) const + { return 10; } + virtual r10g10b10log* clone( size_type w, size_type h ) { return new r10g10b10log( *this, w, h ); } @@ -1480,6 +1561,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 12; } virtual r12g12b12log* clone( size_type w, size_type h ) { return new r12g12b12log( *this, w, h ); } @@ -1536,6 +1620,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 16; } virtual r16g16b16log* clone( size_type w, size_type h ) { return new r16g16b16log( *this, w, h ); } @@ -1592,6 +1679,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 8; } virtual r8g8b8a8log* clone( size_type w, size_type h ) { return new r8g8b8a8log( *this, w, h ); } @@ -1648,6 +1738,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 10; } virtual r10g10b10a10log* clone( size_type w, size_type h ) { return new r10g10b10a10log( *this, w, h ); } @@ -1704,6 +1797,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 12; } virtual r12g12b12a12log* clone( size_type w, size_type h ) { return new r12g12b12a12log( *this, w, h ); } @@ -1760,6 +1856,9 @@ public: virtual size_type allocsize( size_type width, size_type height, size_type depth ) const { return sizeof( unsigned short ) * detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + + virtual size_type bitdepth( ) const + { return 16; } virtual r16g16b16a16log* clone( size_type w, size_type h ) { return new r16g16b16a16log( *this, w, h ); } Modified: lib/openlibraries/src/openimagelib/il/traits.hpp =================================================================== --- lib/openlibraries/src/openimagelib/il/traits.hpp 2007-05-10 20:38:14 UTC (rev 117) +++ lib/openlibraries/src/openimagelib/il/traits.hpp 2007-05-12 16:33:26 UTC (rev 118) @@ -11,7 +11,6 @@ #include <openimagelib/il/rgb_traits.hpp> #include <openimagelib/il/compression_traits.hpp> #include <openimagelib/il/float_traits.hpp> -#include <openimagelib/il/noise_traits.hpp> #include <openimagelib/il/yuv_traits.hpp> #endif Modified: lib/openlibraries/src/openimagelib/il/yuv_traits.hpp =================================================================== --- lib/openlibraries/src/openimagelib/il/yuv_traits.hpp 2007-05-10 20:38:14 UTC (rev 117) +++ lib/openlibraries/src/openimagelib/il/yuv_traits.hpp 2007-05-12 16:33:26 UTC (rev 118) @@ -44,6 +44,9 @@ return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + virtual size_type bitdepth( ) const + { return 8; } + virtual yuv444* clone( size_type w, size_type h ) { return new yuv444( *this, w, h ); @@ -85,6 +88,9 @@ return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + virtual size_type bitdepth( ) const + { return 8; } + virtual yuv422* clone( size_type w, size_type h ) { return new yuv422( *this, w, h ); @@ -132,6 +138,9 @@ return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ); } + virtual size_type bitdepth( ) const + { return 8; } + virtual yuv422p* clone( size_type w, size_type h ) { return new yuv422p( *this, w, h ); @@ -244,6 +253,9 @@ return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ) / 2; } + virtual size_type bitdepth( ) const + { return 8; } + virtual yuv420p* clone( size_type w, size_type h ) { return new yuv420p( *this, w, h ); @@ -355,6 +367,9 @@ return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ) / 2; } + virtual size_type bitdepth( ) const + { return 8; } + virtual yuv411* clone( size_type w, size_type h ) { return new yuv411( *this, w, h ); @@ -455,6 +470,9 @@ return detail::rgb_Allocate_size<T>( )( bs, width, height, depth ) / 2; } + virtual size_type bitdepth( ) const + { return 8; } + virtual yuv411p* clone( size_type w, size_type h ) { return new yuv411p( *this, w, h ); Modified: lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp =================================================================== --- lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-10 20:38:14 UTC (rev 117) +++ lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-12 16:33:26 UTC (rev 118) @@ -1448,11 +1448,11 @@ virtual property_container_ptr get_property_set( ) { return &image_props_; } - bool set_image( il::image_type_ptr im ) + bool set_image( il::image_type_ptr im, const pl::string& depth ) { - pcos::int_vec bounds_and_rod( 4 ); - bounds_and_rod[ 0 ] = 0; - bounds_and_rod[ 1 ] = 0; + image_effect_prop_pixel_depth_ = depth; + + pcos::int_vec bounds_and_rod( 4, 0 ); bounds_and_rod[ 2 ] = im->width( ); bounds_and_rod[ 3 ] = im->height( ); @@ -1473,7 +1473,7 @@ image_props_.append( image_prop_type_ = pl::string( kOfxTypeImage ) ); image_props_.append( image_effect_prop_pixel_depth_ = pl::string( kOfxBitDepthNone ) ); - image_props_.append( image_effect_prop_components_ = pl::string( kOfxImageComponentNone ) ); + image_props_.append( image_effect_prop_components_ = pl::string( kOfxImageComponentRGBA ) ); image_props_.append( image_effect_prop_pre_multiplication_ = pl::string( kOfxImageUnPreMultiplied ) ); image_props_.append( image_effect_prop_render_scale_ = render_scale ); image_props_.append( image_prop_pixel_aspect_ratio_ = 1.0 ); @@ -1734,9 +1734,22 @@ virtual property_container_ptr get_property_set( ) { return &clip_instance_props_; } - void set_image( il::image_type_ptr im ) { im_.set_image( im ), img_ = im; } - property_container_ptr get_image_property_set( ) { return im_.get_property_set( ); } - il::image_type_ptr get_image( ) { return img_; } + void set_image( il::image_type_ptr im ) + { + pl::string depth; + + im->bitdepth( ) == 8 ? depth = pl::string( kOfxBitDepthByte ) : + im->bitdepth( ) == 32 ? depth = pl::string( kOfxBitDepthFloat ) : depth = pl::string( kOfxBitDepthShort ); + + clip_instance_prop_unmapped_pixel_depth_ = depth; + clip_instance_prop_pixel_depth_ = depth; + + im_.set_image( im, depth ); + img_ = im; + } + + property_container_ptr get_image_property_set( ) { return im_.get_property_set( ); } + il::image_type_ptr get_image( ) { return img_; } private: void set_clip_instance_properties( clip_descriptor& cd ) @@ -1755,7 +1768,7 @@ clip_instance_props_.append( clip_instance_prop_pixel_depth_ = pl::string( kOfxBitDepthNone ) ); clip_instance_props_.append( clip_instance_prop_components_ = pl::string( kOfxImageComponentNone ) ); clip_instance_props_.append( clip_instance_prop_unmapped_pixel_depth_ = pl::string( kOfxBitDepthNone ) ); - clip_instance_props_.append( clip_instance_prop_unmapped_components_ = pl::string( kOfxImageComponentNone ) ); + clip_instance_props_.append( clip_instance_prop_unmapped_components_ = pl::string( kOfxImageComponentRGBA ) ); clip_instance_props_.append( clip_instance_prop_premultiplication_ = pl::string( kOfxImageOpaque ) ); clip_instance_props_.append( clip_instance_prop_pixel_aspect_ratio_ = 1.0 ); clip_instance_props_.append( clip_instance_prop_frame_rate_ = 0.0 ); @@ -2107,7 +2120,7 @@ // create instance from descriptor. image_effect_instance_.init( image_effect_descriptor_ ); - // create any overlay instances if exist. + // create any overlay instances... if( ( interact_main_ = image_effect_descriptor_.overlay_interact( ) ) != 0 ) { interact_main_( kOfxActionDescribe, &overlay_interact_descriptor_, 0, 0 ); @@ -2146,10 +2159,8 @@ il::image_type_ptr src = result->get_image( ); il::image_type_ptr dst; - if( apply_clip_prefs_ ) - apply_clip_prefs_filter_ctx( src, dst ); - else - dst = il::allocate( src->pf( ), src->width( ), src->height( ) ); + if( context_ == FILTER ) + convert_to_filter_ctx( src, dst ); pcos::property_container render_in_args; pcos::property_container render_out_args; @@ -2333,26 +2344,43 @@ } private: - void apply_clip_prefs_filter_ctx( il::image_type_ptr& src, il::image_type_ptr& dst ) + void convert_to_filter_ctx( il::image_type_ptr& src, il::image_type_ptr& dst ) { - pl::string source_depth = clip_preferences_prop_depth_source_.value<pl::string>( ); - pl::string output_depth = clip_preferences_prop_depth_output_.value<pl::string>( ); - - if( !source_depth.empty( ) ) + if( apply_clip_prefs_ ) { - if( source_depth == kOfxBitDepthByte ) src = il::convert( src, L"r8g8b8a8" ); - else if( source_depth == kOfxBitDepthShort ) src = il::convert( src, L"r16g16b16a16" ); - else if( source_depth == kOfxBitDepthFloat ) src = il::convert( src, L"r32g32b32a32f" ); - } + pl::string source_depth = clip_preferences_prop_depth_source_.value<pl::string>( ); + pl::string output_depth = clip_preferences_prop_depth_output_.value<pl::string>( ); - if( !output_depth.empty( ) ) - { - if( output_depth == kOfxBitDepthByte ) dst = il::allocate( L"r8g8b8a8", src->width( ), src->height( ) ); - else if( output_depth == kOfxBitDepthShort ) dst = il::allocate( L"r16g16b16a16", src->width( ), src->height( ) ); - else if( output_depth == kOfxBitDepthFloat ) dst = il::allocate( L"r32g32b32a32f", src->width( ), src->height( ) ); + if( !source_depth.empty( ) ) + { + if( source_depth == kOfxBitDepthByte ) src = il::convert( src, L"r8g8b8a8" ); + else if( source_depth == kOfxBitDepthShort ) src = il::convert( src, L"r16g16b16a16" ); + else if( source_depth == kOfxBitDepthFloat ) src = il::convert( src, L"r32g32b32a32f" ); + } + + if( !output_depth.empty( ) ) + { + if( output_depth == kOfxBitDepthByte ) dst = il::allocate( L"r8g8b8a8", src->width( ), src->height( ) ); + else if( output_depth == kOfxBitDepthShort ) dst = il::allocate( L"r16g16b16a16", src->width( ), src->height( ) ); + else if( output_depth == kOfxBitDepthFloat ) dst = il::allocate( L"r32g32b32a32f", src->width( ), src->height( ) ); + } + else + { + dst = il::allocate( src->pf( ), src->width( ), src->height( ) ); + } } else { + if( src->is_float( ) ) + { + src = il::convert( src, L"r32g32b32a32f" ); + } + else + { + if( src->bitdepth( ) == 8 ) src = il::convert( src, L"r8g8b8a8" ); + else src = il::convert( src, L"r16g16b16a16" ); + } + dst = il::allocate( src->pf( ), src->width( ), src->height( ) ); } } Modified: lib/openlibraries/src/openpluginlib/pl/openpluginlib.hpp =================================================================== --- lib/openlibraries/src/openpluginlib/pl/openpluginlib.hpp 2007-05-10 20:38:14 UTC (rev 117) +++ lib/openlibraries/src/openpluginlib/pl/openpluginlib.hpp 2007-05-12 16:33:26 UTC (rev 118) @@ -10,7 +10,7 @@ #if _MSC_VER #pragma warning ( push ) -# pragma warning ( disable:4251 ) +#pragma warning ( disable:4251 ) #endif #include <algorithm> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-10 20:38:20
|
Revision: 117 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=117&view=rev Author: glslang Date: 2007-05-10 13:38:14 -0700 (Thu, 10 May 2007) Log Message: ----------- + OFX bug fixes. Modified Paths: -------------- lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp Modified: lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp =================================================================== --- lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-10 18:02:27 UTC (rev 116) +++ lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-10 20:38:14 UTC (rev 117) @@ -2309,12 +2309,17 @@ private: void set_clip_prefs_filter_ctx( ) { - clip_preferences_props_filter_.append( clip_preferences_prop_components_source_ ); - clip_preferences_props_filter_.append( clip_preferences_prop_components_output_ ); - clip_preferences_props_filter_.append( clip_preferences_prop_depth_source_ ); - clip_preferences_props_filter_.append( clip_preferences_prop_depth_output_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_components_source_ = pl::string( ) ); + clip_preferences_props_filter_.append( clip_preferences_prop_components_output_ = pl::string( ) ); + clip_preferences_props_filter_.append( clip_preferences_prop_depth_source_ = pl::string( ) ); + clip_preferences_props_filter_.append( clip_preferences_prop_depth_output_ = pl::string( ) ); clip_preferences_props_filter_.append( clip_preferences_prop_par_source_ ); clip_preferences_props_filter_.append( clip_preferences_prop_par_output_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_frame_rate_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_field_order_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_premultiplication_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_continuous_samples_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_frame_varying_ ); } void set_clip_prefs_generator_ctx( ) @@ -2323,12 +2328,6 @@ void set_clip_prefs_ctx( ) { - clip_preferences_props_filter_.append( clip_preferences_prop_frame_rate_ ); - clip_preferences_props_filter_.append( clip_preferences_prop_field_order_ ); - clip_preferences_props_filter_.append( clip_preferences_prop_premultiplication_ ); - clip_preferences_props_filter_.append( clip_preferences_prop_continuous_samples_ ); - clip_preferences_props_filter_.append( clip_preferences_prop_frame_varying_ ); - if( context_ == FILTER ) set_clip_prefs_filter_ctx( ); else if( context_ == GENERATOR ) set_clip_prefs_generator_ctx( ); } @@ -2336,24 +2335,28 @@ private: void apply_clip_prefs_filter_ctx( il::image_type_ptr& src, il::image_type_ptr& dst ) { - int source_depth = clip_preferences_prop_depth_source_.value<int>( ); - int output_depth = clip_preferences_prop_depth_output_.value<int>( ); + pl::string source_depth = clip_preferences_prop_depth_source_.value<pl::string>( ); + pl::string output_depth = clip_preferences_prop_depth_output_.value<pl::string>( ); - if( source_depth == 8 ) - src = il::convert( src, L"r8g8b8a8" ); - else if( source_depth == 16 ) - src = il::convert( src, L"r16g16b16a16" ); - else if( source_depth == 32 ) - src = il::convert( src, L"r32g32b32a32f" ); - - if( output_depth == 8 ) - dst = il::allocate( L"r8g8b8a8", src->width( ), src->height( ) ); - else if( output_depth == 16 ) - dst = il::allocate( L"r16g16b16a16", src->width( ), src->height( ) ); - else if( output_depth == 32 ) - dst = il::allocate( L"r32g32b32a32f", src->width( ), src->height( ) ); + if( !source_depth.empty( ) ) + { + if( source_depth == kOfxBitDepthByte ) src = il::convert( src, L"r8g8b8a8" ); + else if( source_depth == kOfxBitDepthShort ) src = il::convert( src, L"r16g16b16a16" ); + else if( source_depth == kOfxBitDepthFloat ) src = il::convert( src, L"r32g32b32a32f" ); + } + + if( !output_depth.empty( ) ) + { + if( output_depth == kOfxBitDepthByte ) dst = il::allocate( L"r8g8b8a8", src->width( ), src->height( ) ); + else if( output_depth == kOfxBitDepthShort ) dst = il::allocate( L"r16g16b16a16", src->width( ), src->height( ) ); + else if( output_depth == kOfxBitDepthFloat ) dst = il::allocate( L"r32g32b32a32f", src->width( ), src->height( ) ); + } + else + { + dst = il::allocate( src->pf( ), src->width( ), src->height( ) ); + } } - + private: OfxPlugin* plug_; ofx_context context_; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-10 18:02:30
|
Revision: 116 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=116&view=rev Author: glslang Date: 2007-05-10 11:02:27 -0700 (Thu, 10 May 2007) Log Message: ----------- + OFX bindings wrap-ups Modified Paths: -------------- lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp Modified: lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp =================================================================== --- lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-09 22:07:06 UTC (rev 115) +++ lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-10 18:02:27 UTC (rev 116) @@ -439,18 +439,46 @@ { public: explicit rgb_param_descriptor( ) - { } + : rgb_param_descriptor_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) ) + { + set_rgb_param_descriptor_properties( ); + } virtual param* create_instance( ); + + private: + void set_rgb_param_descriptor_properties( ) + { + property_container_ptr param_props_ = get_property_set( ); + + param_props_->append( rgb_param_descriptor_param_prop_default_ = pcos::double_vec( 3, 0.0 ) ); + } + + private: + pcos::property rgb_param_descriptor_param_prop_default_; }; class rgba_param_descriptor : public value_param_descriptor { public: explicit rgba_param_descriptor( ) - { } + : rgba_param_descriptor_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) ) + { + set_rgba_param_descriptor_properties( ); + } virtual param* create_instance( ); + + private: + void set_rgba_param_descriptor_properties( ) + { + property_container_ptr param_props_ = get_property_set( ); + + param_props_->append( rgba_param_descriptor_param_prop_default_ = pcos::double_vec( 4, 0.0 ) ); + } + + private: + pcos::property rgba_param_descriptor_param_prop_default_; }; class boolean_param_descriptor : public value_param_descriptor @@ -1150,14 +1178,33 @@ public: explicit rgb_param( rgb_param_descriptor& vpd ) : value_param( vpd ) - , rgb_param_value_( pcos::key::from_string( "value" ) ) - { } + , rgb_param_prop_value_( pcos::key::from_string( "value" ) ) + , rgb_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) ) + { + set_rgb_param_properties( vpd ); + } - virtual pcos::property get_value( ) { return rgb_param_value_; } + virtual pcos::property get_value( ) { return rgb_param_prop_value_; } virtual pl::string get_type( ) { return kOfxParamTypeRGB; } private: - pcos::property rgb_param_value_; + // assign the instance properties from the descriptor. do not assign properties since + // they have shallow copy semantics and clone will cause a leak. + // therefore extract all the values and assign those. descriptors and instances are + // meant to be separate entities and values should not be shared. + void set_rgb_param_properties( rgb_param_descriptor& vpd ) + { + property_container_ptr param_props_ = get_property_set( ); + property_container_ptr vpd_set = vpd.get_property_set( ); + + pcos::double_vec def = vpd_set->get_property_with_key( pcos::key::from_string( kOfxParamPropDefault ) ).value<pcos::double_vec>( ); + param_props_->append( rgb_param_prop_value_ = def ); + param_props_->append( rgb_param_prop_default_ = def ); + } + + private: + pcos::property rgb_param_prop_value_; + pcos::property rgb_param_prop_default_; }; class rgba_param : public value_param @@ -1165,14 +1212,33 @@ public: explicit rgba_param( rgba_param_descriptor& vpd ) : value_param( vpd ) - , rgba_param_value_( pcos::key::from_string( "value" ) ) - { } + , rgba_param_prop_value_( pcos::key::from_string( "value" ) ) + , rgba_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) ) + { + set_rgba_param_properties( vpd ); + } - virtual pcos::property get_value( ) { return rgba_param_value_; } + virtual pcos::property get_value( ) { return rgba_param_prop_value_; } virtual pl::string get_type( ) { return kOfxParamTypeRGBA; } + + private: + // assign the instance properties from the descriptor. do not assign properties since + // they have shallow copy semantics and clone will cause a leak. + // therefore extract all the values and assign those. descriptors and instances are + // meant to be separate entities and values should not be shared. + void set_rgba_param_properties( rgba_param_descriptor& vpd ) + { + property_container_ptr param_props_ = get_property_set( ); + property_container_ptr vpd_set = vpd.get_property_set( ); + + pcos::double_vec def = vpd_set->get_property_with_key( pcos::key::from_string( kOfxParamPropDefault ) ).value<pcos::double_vec>( ); + param_props_->append( rgba_param_prop_value_ = def ); + param_props_->append( rgba_param_prop_default_ = def ); + } private: - pcos::property rgba_param_value_; + pcos::property rgba_param_prop_value_; + pcos::property rgba_param_prop_default_; }; class boolean_param : public value_param @@ -2024,20 +2090,24 @@ , clip_preferences_prop_field_order_( pcos::key::from_string( kOfxImageClipPropFieldOrder ) ) , clip_preferences_prop_premultiplication_( pcos::key::from_string( kOfxImageEffectPropPreMultiplication ) ) , clip_preferences_prop_continuous_samples_( pcos::key::from_string( kOfxImageClipPropContinuousSamples ) ) - , clip_preferences_prop_frame_varying_( pcos::key::from_string( kOfxImageEffectPropFrameRate ) ) + , clip_preferences_prop_frame_varying_( pcos::key::from_string( kOfxImageEffectFrameVarying ) ) + , apply_clip_prefs_( false ) { + // set host properties and suite functions. set_host( ); set_suites( ); set_host_parameters( ); + // load and describe the plugin. plug_->mainEntry( kOfxActionLoad, 0, 0, 0 ); plug_->mainEntry( kOfxActionDescribe, &image_effect_descriptor_, 0, 0 ); describe_in_context( ); - // create instance from descriptor + // create instance from descriptor. image_effect_instance_.init( image_effect_descriptor_ ); + // create any overlay instances if exist. if( ( interact_main_ = image_effect_descriptor_.overlay_interact( ) ) != 0 ) { interact_main_( kOfxActionDescribe, &overlay_interact_descriptor_, 0, 0 ); @@ -2048,8 +2118,10 @@ if( interact_main_ ) interact_main_( kOfxActionCreateInstance, &overlay_interact_instance_, 0, 0 ); + // get plugin preferences. set_clip_prefs_ctx( ); - plug_->mainEntry( kOfxImageEffectActionGetClipPreferences, &image_effect_instance_, 0, ( OfxPropertySetHandle ) &clip_preferences_props_filter_ ); + if( plug_->mainEntry( kOfxImageEffectActionGetClipPreferences, &image_effect_instance_, 0, ( OfxPropertySetHandle ) &clip_preferences_props_filter_ ) == kOfxStatOK ) + apply_clip_prefs_ = true; } virtual ~ofx_filter( ) @@ -2071,8 +2143,14 @@ frame_type_ptr result = fetch_from_slot( ); if( result && result->get_image( ) ) { - il::image_type_ptr src = il::convert( result->get_image( ), L"r8g8b8a8" ); + il::image_type_ptr src = result->get_image( ); + il::image_type_ptr dst; + if( apply_clip_prefs_ ) + apply_clip_prefs_filter_ctx( src, dst ); + else + dst = il::allocate( src->pf( ), src->width( ), src->height( ) ); + pcos::property_container render_in_args; pcos::property_container render_out_args; @@ -2080,32 +2158,26 @@ render_win[ 2 ] = src->width( ); render_win[ 3 ] = src->height( ); - pcos::int_vec render_scale( 2, 1 ); - render_in_args.append( render_prop_time_ = 0.0 ); render_in_args.append( render_prop_field_to_render_ = pl::string( kOfxImageFieldNone ) ); render_in_args.append( render_prop_render_window_ = render_win ); - render_in_args.append( render_prop_render_scale_ = render_scale ); + render_in_args.append( render_prop_render_scale_ = pcos::int_vec( 2, 1 ) ); render_out_args.append( render_prop_name_ ); render_out_args.append( render_prop_time_ = 0.0 ); - src = il::convert( result->get_image( ), L"r8g8b8a8" ); image_effect_instance_.set_source( src ); + image_effect_instance_.set_output( dst ); OfxStatus is_identity = plug_->mainEntry( kOfxImageEffectActionIsIdentity, &image_effect_instance_, ( OfxPropertySetHandle ) &render_in_args, ( OfxPropertySetHandle ) &render_out_args ); if( is_identity == kOfxStatReplyDefault ) { - il::image_type_ptr dst = il::allocate( src->pf( ), src->width( ), src->height( ) ); - - image_effect_instance_.set_output( dst ); - pcos::property_container sequence_in_args; - sequence_in_args.append( sequence_prop_frame_range_ = pcos::double_vec( 2 ) ); + sequence_in_args.append( sequence_prop_frame_range_ = pcos::double_vec( 2, 1.0 ) ); sequence_in_args.append( sequence_prop_frame_step_ = 1.0 ); sequence_in_args.append( sequence_prop_is_interactive_ = 0 ); - sequence_in_args.append( sequence_prop_render_scale_ = pcos::double_vec( 2 ) ); + sequence_in_args.append( sequence_prop_render_scale_ = pcos::double_vec( 2, 1.0 ) ); plug_->mainEntry( kOfxImageEffectActionBeginSequenceRender, &image_effect_instance_, ( OfxPropertySetHandle ) &sequence_in_args, 0 ); plug_->mainEntry( kOfxImageEffectActionRender, &image_effect_instance_, ( OfxPropertySetHandle ) &render_in_args, 0 ); @@ -2234,6 +2306,7 @@ return plug_->mainEntry( kOfxImageEffectActionDescribeInContext, &image_effect_descriptor_, ( OfxPropertySetHandle ) &in_args, 0 ) == kOfxStatOK; } +private: void set_clip_prefs_filter_ctx( ) { clip_preferences_props_filter_.append( clip_preferences_prop_components_source_ ); @@ -2242,11 +2315,6 @@ clip_preferences_props_filter_.append( clip_preferences_prop_depth_output_ ); clip_preferences_props_filter_.append( clip_preferences_prop_par_source_ ); clip_preferences_props_filter_.append( clip_preferences_prop_par_output_ ); - clip_preferences_props_filter_.append( clip_preferences_prop_frame_rate_ ); - clip_preferences_props_filter_.append( clip_preferences_prop_field_order_ ); - clip_preferences_props_filter_.append( clip_preferences_prop_premultiplication_ ); - clip_preferences_props_filter_.append( clip_preferences_prop_continuous_samples_ ); - clip_preferences_props_filter_.append( clip_preferences_prop_frame_varying_ ); } void set_clip_prefs_generator_ctx( ) @@ -2255,11 +2323,38 @@ void set_clip_prefs_ctx( ) { + clip_preferences_props_filter_.append( clip_preferences_prop_frame_rate_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_field_order_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_premultiplication_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_continuous_samples_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_frame_varying_ ); + if( context_ == FILTER ) set_clip_prefs_filter_ctx( ); else if( context_ == GENERATOR ) set_clip_prefs_generator_ctx( ); } private: + void apply_clip_prefs_filter_ctx( il::image_type_ptr& src, il::image_type_ptr& dst ) + { + int source_depth = clip_preferences_prop_depth_source_.value<int>( ); + int output_depth = clip_preferences_prop_depth_output_.value<int>( ); + + if( source_depth == 8 ) + src = il::convert( src, L"r8g8b8a8" ); + else if( source_depth == 16 ) + src = il::convert( src, L"r16g16b16a16" ); + else if( source_depth == 32 ) + src = il::convert( src, L"r32g32b32a32f" ); + + if( output_depth == 8 ) + dst = il::allocate( L"r8g8b8a8", src->width( ), src->height( ) ); + else if( output_depth == 16 ) + dst = il::allocate( L"r16g16b16a16", src->width( ), src->height( ) ); + else if( output_depth == 32 ) + dst = il::allocate( L"r32g32b32a32f", src->width( ), src->height( ) ); + } + +private: OfxPlugin* plug_; ofx_context context_; @@ -2340,6 +2435,7 @@ pcos::property clip_preferences_prop_premultiplication_; pcos::property clip_preferences_prop_continuous_samples_; pcos::property clip_preferences_prop_frame_varying_; + bool apply_clip_prefs_; }; namespace @@ -2497,9 +2593,9 @@ pcos::property src = prop_set->get_property_with_string( property ); if( src.is_a<pl::string_vec>( ) ) { - pl::string_vec val = src.value<pl::string_vec>( ); + pl::string_vec* val = src.pointer<pl::string_vec>( ); for( int i = 0; i < count; ++i ) - value[ i ] = const_cast<char*>( src.value<opl::string>( ).c_str( ) ); + value[ i ] = const_cast<char*>( ( *val )[ i ].c_str( ) ); } return kOfxStatOK; @@ -2544,6 +2640,11 @@ return kOfxStatOK; } + OfxStatus prop_reset( OfxPropertySetHandle properties, const char* property ) + { + return kOfxStatOK; + } + // Memory Suite. OfxStatus memory_alloc( void* handle, size_t nbytes, void** allocated_data ) { @@ -3113,7 +3214,7 @@ property_suite.propGetStringN = prop_get_stringN; property_suite.propGetDoubleN = prop_get_doubleN; property_suite.propGetIntN = prop_get_intN; - //property_suite.propReset = prop_reset; + property_suite.propReset = prop_reset; property_suite.propGetDimension = prop_get_dimension; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-09 22:07:08
|
Revision: 115 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=115&view=rev Author: glslang Date: 2007-05-09 15:07:06 -0700 (Wed, 09 May 2007) Log Message: ----------- + OFX bindings M3 Modified Paths: -------------- lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp Modified: lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp =================================================================== --- lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-09 00:29:07 UTC (rev 114) +++ lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-09 22:07:06 UTC (rev 115) @@ -38,6 +38,8 @@ namespace { + enum ofx_context { FILTER, TRANSITION, GENERATOR, GENERAL }; + void set_property_suite( OfxPropertySuiteV1& ); void set_image_effect_suite( OfxImageEffectSuiteV1& ); void set_parameter_suite( OfxParameterSuiteV1& ); @@ -49,7 +51,7 @@ // typedefs typedef pcos::property_container* property_container_ptr; - // forward declaration + // forward declarations class param; class param_set; class clip_instance; @@ -372,7 +374,9 @@ , double2D_param_descriptor_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) ) , double2D_param_descriptor_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) ) , double2D_param_descriptor_param_prop_dimension_label_( pcos::key::from_string( kOfxParamPropDimensionLabel ) ) - { } + { + set_double2D_param_descriptor_properties( ); + } private: void set_double2D_param_descriptor_properties( ) @@ -1053,7 +1057,7 @@ // they have shallow copy semantics and clone will cause a leak. // therefore extract all the values and assign those. descriptors and instances are // meant to be separate entities and values should not be shared. - void set_double2D_param_properties( base_double_param_descriptor& vpd ) + void set_double2D_param_properties( double2D_param_descriptor& vpd ) { property_container_ptr param_props_ = get_property_set( ); @@ -1064,7 +1068,7 @@ pcos::double_vec max = vpd_set->get_property_with_key( pcos::key::from_string( kOfxParamPropMax ) ).value<pcos::double_vec>( ); pcos::double_vec display_min = vpd_set->get_property_with_key( pcos::key::from_string( kOfxParamPropDisplayMin ) ).value<pcos::double_vec>( ); pcos::double_vec display_max = vpd_set->get_property_with_key( pcos::key::from_string( kOfxParamPropDisplayMax ) ).value<pcos::double_vec>( ); - pl::string_vec dimension_label = vpd_set->get_property_with_key( pcos::key::from_string( kOfxParamPropDisplayMax ) ).value<pl::string_vec>( ); + pl::string_vec dimension_label = vpd_set->get_property_with_key( pcos::key::from_string( kOfxParamPropDimensionLabel ) ).value<pl::string_vec>( ); param_props_->append( double2D_param_value_ = def ); param_props_->append( double2D_param_prop_default_ = def ); @@ -1120,7 +1124,7 @@ pcos::double_vec max = vpd_set->get_property_with_key( pcos::key::from_string( kOfxParamPropMax ) ).value<pcos::double_vec>( ); pcos::double_vec display_min = vpd_set->get_property_with_key( pcos::key::from_string( kOfxParamPropDisplayMin ) ).value<pcos::double_vec>( ); pcos::double_vec display_max = vpd_set->get_property_with_key( pcos::key::from_string( kOfxParamPropDisplayMax ) ).value<pcos::double_vec>( ); - pl::string_vec dimension_label = vpd_set->get_property_with_key( pcos::key::from_string( kOfxParamPropDisplayMax ) ).value<pl::string_vec>( ); + pl::string_vec dimension_label = vpd_set->get_property_with_key( pcos::key::from_string( kOfxParamPropDimensionLabel ) ).value<pl::string_vec>( ); param_props_->append( double3D_param_value_ = def ); param_props_->append( double3D_param_prop_default_ = def ); @@ -1495,8 +1499,8 @@ set_interact_descriptor_properties( ); } - virtual property_container_ptr get_property_set( ) { return &interact_descriptor_props_; } - + virtual property_container_ptr get_property_set( ) { return &interact_descriptor_props_; } + private: void set_interact_descriptor_properties( ) { @@ -1567,6 +1571,14 @@ const_iterator clip_begin( ) const { return clip_desc_.begin( ); } const_iterator clip_end( ) const { return clip_desc_.end( ); } + + OfxPluginEntryPoint* overlay_interact( ) const + { + OfxPluginEntryPoint* interact_main = + ( OfxPluginEntryPoint* ) effect_descriptor_props_.get_property_with_key( pcos::key::from_string( kOfxImageEffectPluginPropOverlayInteractV1 ) ).value<void*>( ); + + return interact_main; + } private: void set_image_effect_descriptor_properties( ) @@ -1656,8 +1668,9 @@ virtual property_container_ptr get_property_set( ) { return &clip_instance_props_; } - void set_image( il::image_type_ptr im ) { im_.set_image( im ); } - property_container_ptr get_image( ) { return im_.get_property_set( ); } + void set_image( il::image_type_ptr im ) { im_.set_image( im ), img_ = im; } + property_container_ptr get_image_property_set( ) { return im_.get_property_set( ); } + il::image_type_ptr get_image( ) { return img_; } private: void set_clip_instance_properties( clip_descriptor& cd ) @@ -1672,13 +1685,13 @@ clip_instance_props_.append( clip_instance_prop_optional_ = 0 ); clip_instance_props_.append( clip_instance_prop_field_extraction_ = pl::string( kOfxImageFieldDoubled ) ); clip_instance_props_.append( clip_instance_prop_is_mask_ = 0 ); - clip_instance_props_.append( clip_instance_prop_supports_tiles_ = 1 ); + clip_instance_props_.append( clip_instance_prop_supports_tiles_ = 0 ); clip_instance_props_.append( clip_instance_prop_pixel_depth_ = pl::string( kOfxBitDepthNone ) ); clip_instance_props_.append( clip_instance_prop_components_ = pl::string( kOfxImageComponentNone ) ); clip_instance_props_.append( clip_instance_prop_unmapped_pixel_depth_ = pl::string( kOfxBitDepthNone ) ); clip_instance_props_.append( clip_instance_prop_unmapped_components_ = pl::string( kOfxImageComponentNone ) ); clip_instance_props_.append( clip_instance_prop_premultiplication_ = pl::string( kOfxImageOpaque ) ); - clip_instance_props_.append( clip_instance_prop_pixel_aspect_ratio_ = 0.0 ); + clip_instance_props_.append( clip_instance_prop_pixel_aspect_ratio_ = 1.0 ); clip_instance_props_.append( clip_instance_prop_frame_rate_ = 0.0 ); clip_instance_props_.append( clip_instance_prop_frame_range_ = pcos::double_vec( 2 ) ); clip_instance_props_.append( clip_instance_prop_field_order_ = pl::string( kOfxImageFieldNone ) ); @@ -1718,50 +1731,8 @@ private: image im_; + il::image_type_ptr img_; }; - - class interact_instance : public Ofx_base - { - public: - explicit interact_instance( ) - : interact_instance_prop_effect_instance_( pcos::key::from_string( kOfxPropEffectInstance ) ) - , interact_instance_prop_instance_data_( pcos::key::from_string( kOfxPropInstanceData ) ) - , interact_instance_prop_pixel_scale_( pcos::key::from_string( kOfxInteractPropPixelScale ) ) - , interact_instance_prop_background_colour_( pcos::key::from_string( kOfxInteractPropBackgroundColour ) ) - , interact_instance_prop_viewport_size_( pcos::key::from_string( kOfxInteractPropViewportSize ) ) - , interact_instance_prop_has_alpha_( pcos::key::from_string( kOfxInteractPropHasAlpha ) ) - , interact_instance_prop_bit_depth_( pcos::key::from_string( kOfxInteractPropBitDepth ) ) - , interact_instance_prop_slave_to_param_( pcos::key::from_string( kOfxInteractPropSlaveToParam ) ) - { - set_interact_instance_properties( ); - } - - virtual property_container_ptr get_property_set( ) { return &interact_instance_props_; } - - private: - void set_interact_instance_properties( ) - { - interact_instance_props_.append( interact_instance_prop_effect_instance_ = ( void* ) 0 ); - interact_instance_props_.append( interact_instance_prop_instance_data_ = ( void* ) 0 ); - interact_instance_props_.append( interact_instance_prop_pixel_scale_ = pcos::double_vec( 2, 0.0 ) ); - interact_instance_props_.append( interact_instance_prop_background_colour_ = pcos::double_vec( 3, 0.0 ) ); - interact_instance_props_.append( interact_instance_prop_viewport_size_ = pcos::int_vec( 2, 0 ) ); // deprecated - interact_instance_props_.append( interact_instance_prop_has_alpha_ = 1 ); - interact_instance_props_.append( interact_instance_prop_bit_depth_ = 8 ); - interact_instance_props_.append( interact_instance_prop_slave_to_param_ = pl::string_vec( ) ); - } - - private: - pcos::property_container interact_instance_props_; - pcos::property interact_instance_prop_effect_instance_; - pcos::property interact_instance_prop_instance_data_; - pcos::property interact_instance_prop_pixel_scale_; - pcos::property interact_instance_prop_background_colour_; - pcos::property interact_instance_prop_viewport_size_; - pcos::property interact_instance_prop_has_alpha_; - pcos::property interact_instance_prop_bit_depth_; - pcos::property interact_instance_prop_slave_to_param_; - }; class image_effect_instance : public param_set_base { @@ -1865,7 +1836,49 @@ container clip_instance_; param_set_ptr param_set_; }; + + class interact_instance : public Ofx_base + { + public: + explicit interact_instance( ) + : interact_instance_prop_effect_instance_( pcos::key::from_string( kOfxPropEffectInstance ) ) + , interact_instance_prop_instance_data_( pcos::key::from_string( kOfxPropInstanceData ) ) + , interact_instance_prop_pixel_scale_( pcos::key::from_string( kOfxInteractPropPixelScale ) ) + , interact_instance_prop_background_colour_( pcos::key::from_string( kOfxInteractPropBackgroundColour ) ) + , interact_instance_prop_viewport_size_( pcos::key::from_string( kOfxInteractPropViewportSize ) ) + , interact_instance_prop_has_alpha_( pcos::key::from_string( kOfxInteractPropHasAlpha ) ) + , interact_instance_prop_bit_depth_( pcos::key::from_string( kOfxInteractPropBitDepth ) ) + , interact_instance_prop_slave_to_param_( pcos::key::from_string( kOfxInteractPropSlaveToParam ) ) + { } + + void init( interact_descriptor& id, image_effect_instance& effect ) { set_interact_instance_properties( id, effect ); } + virtual property_container_ptr get_property_set( ) { return &interact_instance_props_; } + private: + void set_interact_instance_properties( interact_descriptor&, image_effect_instance& effect ) + { + interact_instance_props_.append( interact_instance_prop_effect_instance_ = ( void* ) &effect ); + interact_instance_props_.append( interact_instance_prop_instance_data_ = ( void* ) 0 ); + interact_instance_props_.append( interact_instance_prop_pixel_scale_ = pcos::double_vec( 2, 0.0 ) ); + interact_instance_props_.append( interact_instance_prop_background_colour_ = pcos::double_vec( 3, 0.0 ) ); + interact_instance_props_.append( interact_instance_prop_viewport_size_ = pcos::int_vec( 2, 0 ) ); // deprecated + interact_instance_props_.append( interact_instance_prop_has_alpha_ = 1 ); + interact_instance_props_.append( interact_instance_prop_bit_depth_ = 8 ); + interact_instance_props_.append( interact_instance_prop_slave_to_param_ = pl::string_vec( ) ); + } + + private: + pcos::property_container interact_instance_props_; + pcos::property interact_instance_prop_effect_instance_; + pcos::property interact_instance_prop_instance_data_; + pcos::property interact_instance_prop_pixel_scale_; + pcos::property interact_instance_prop_background_colour_; + pcos::property interact_instance_prop_viewport_size_; + pcos::property interact_instance_prop_has_alpha_; + pcos::property interact_instance_prop_bit_depth_; + pcos::property interact_instance_prop_slave_to_param_; + }; + OfxStatus param_set_descriptor::define( const pl::string& param_type, const pl::string& name ) { typedef container::const_iterator const_iterator; @@ -1942,30 +1955,31 @@ return kOfxStatOK; } - param* string_param_descriptor::create_instance( ) { return new string_param( *this ); } - param* int_param_descriptor::create_instance( ) { return new int_param( *this ); } - param* int2D_param_descriptor::create_instance( ) { return new int2D_param( *this ); } - param* int3D_param_descriptor::create_instance( ) { return new int3D_param( *this ); } - param* double_param_descriptor::create_instance( ) { return new double_param( *this ); } - param* double2D_param_descriptor::create_instance( ) { return new double2D_param( *this ); } - param* double3D_param_descriptor::create_instance( ) { return new double3D_param( *this ); } - param* rgb_param_descriptor::create_instance( ) { return new rgb_param( *this ); } - param* rgba_param_descriptor::create_instance( ) { return new rgba_param( *this ); } - param* boolean_param_descriptor::create_instance( ) { return new boolean_param( *this ); } - param* choice_param_descriptor::create_instance( ) { return new choice_param( *this ); } - param* group_param_descriptor::create_instance( ) { return new group_param( *this ); } - param* page_param_descriptor::create_instance( ) { return new page_param( *this ); } - param* push_button_param_descriptor::create_instance( ) { return new push_button_param( *this ); } - param* custom_param_descriptor::create_instance( ) { return new custom_param( *this ); } - param_set* param_set_descriptor::create_instance( ) { return new param_set( *this ); } - clip_instance* clip_descriptor::create_instance( ) { return new clip_instance( *this ); } + param* string_param_descriptor::create_instance( ) { return new string_param( *this ); } + param* int_param_descriptor::create_instance( ) { return new int_param( *this ); } + param* int2D_param_descriptor::create_instance( ) { return new int2D_param( *this ); } + param* int3D_param_descriptor::create_instance( ) { return new int3D_param( *this ); } + param* double_param_descriptor::create_instance( ) { return new double_param( *this ); } + param* double2D_param_descriptor::create_instance( ) { return new double2D_param( *this ); } + param* double3D_param_descriptor::create_instance( ) { return new double3D_param( *this ); } + param* rgb_param_descriptor::create_instance( ) { return new rgb_param( *this ); } + param* rgba_param_descriptor::create_instance( ) { return new rgba_param( *this ); } + param* boolean_param_descriptor::create_instance( ) { return new boolean_param( *this ); } + param* choice_param_descriptor::create_instance( ) { return new choice_param( *this ); } + param* group_param_descriptor::create_instance( ) { return new group_param( *this ); } + param* page_param_descriptor::create_instance( ) { return new page_param( *this ); } + param* push_button_param_descriptor::create_instance( ) { return new push_button_param( *this ); } + param* custom_param_descriptor::create_instance( ) { return new custom_param( *this ); } + param_set* param_set_descriptor::create_instance( ) { return new param_set( *this ); } + clip_instance* clip_descriptor::create_instance( ) { return new clip_instance( *this ); } } class ML_PLUGIN_DECLSPEC ofx_filter : public filter_type, public OfxHost { public: - explicit ofx_filter( OfxPlugin* plug ) + explicit ofx_filter( OfxPlugin* plug, ofx_context context ) : plug_( plug ) + , context_( context ) , host_prop_type_( pcos::key::from_string( kOfxPropType ) ) , host_prop_name_( pcos::key::from_string( kOfxPropName ) ) , host_prop_label_( pcos::key::from_string( kOfxPropLabel ) ) @@ -1990,6 +2004,7 @@ , host_prop_max_pages_( pcos::key::from_string( kOfxParamHostPropMaxPages ) ) , host_prop_page_row_column_count_( pcos::key::from_string( kOfxParamHostPropPageRowColumnCount ) ) , host_prop_this_pointer_( pcos::key::from_string( "this_pointer" ) ) + , interact_main_( 0 ) , render_prop_name_( pcos::key::from_string( kOfxPropName ) ) , render_prop_time_( pcos::key::from_string( kOfxPropTime ) ) , render_prop_field_to_render_( pcos::key::from_string( kOfxImageEffectPropFieldToRender ) ) @@ -2023,14 +2038,25 @@ // create instance from descriptor image_effect_instance_.init( image_effect_descriptor_ ); + if( ( interact_main_ = image_effect_descriptor_.overlay_interact( ) ) != 0 ) + { + interact_main_( kOfxActionDescribe, &overlay_interact_descriptor_, 0, 0 ); + overlay_interact_instance_.init( overlay_interact_descriptor_, image_effect_instance_ ); + } + plug_->mainEntry( kOfxActionCreateInstance, &image_effect_instance_, 0, 0 ); + if( interact_main_ ) + interact_main_( kOfxActionCreateInstance, &overlay_interact_instance_, 0, 0 ); - set_clip_prefs_filter_ctx( ); + set_clip_prefs_ctx( ); plug_->mainEntry( kOfxImageEffectActionGetClipPreferences, &image_effect_instance_, 0, ( OfxPropertySetHandle ) &clip_preferences_props_filter_ ); } virtual ~ofx_filter( ) { + if( interact_main_ ) + interact_main_( kOfxActionDestroyInstance, &overlay_interact_instance_, 0, 0 ); + plug_->mainEntry( kOfxActionDestroyInstance, &image_effect_instance_, 0, 0 ); plug_->mainEntry( kOfxActionUnload, 0, 0, 0 ); } @@ -2062,16 +2088,17 @@ render_in_args.append( render_prop_render_scale_ = render_scale ); render_out_args.append( render_prop_name_ ); - render_out_args.append( render_prop_time_ ); + render_out_args.append( render_prop_time_ = 0.0 ); + src = il::convert( result->get_image( ), L"r8g8b8a8" ); + image_effect_instance_.set_source( src ); + OfxStatus is_identity = plug_->mainEntry( kOfxImageEffectActionIsIdentity, &image_effect_instance_, ( OfxPropertySetHandle ) &render_in_args, ( OfxPropertySetHandle ) &render_out_args ); if( is_identity == kOfxStatReplyDefault ) { - src = il::convert( result->get_image( ), L"r8g8b8a8" ); il::image_type_ptr dst = il::allocate( src->pf( ), src->width( ), src->height( ) ); - - image_effect_instance_.set_source( src ); + image_effect_instance_.set_output( dst ); pcos::property_container sequence_in_args; @@ -2089,6 +2116,13 @@ else if( is_identity == kOfxStatOK ) { // select the appropriate clip from the out_args. + pl::string out_clip = render_out_args.get_property_with_key( pcos::key::from_string( kOfxPropName ) ).value<pl::string>( ); + if( !out_clip.empty( ) ) + { + clip_instance* out_instance = image_effect_instance_.clip_get_handle( out_clip ); + if( out_instance ) + result->set_image( out_instance->get_image( ) ); + } } } @@ -2138,6 +2172,16 @@ pixel_depths[ 1 ] = pl::string( kOfxBitDepthShort ); pixel_depths[ 2 ] = pl::string( kOfxBitDepthFloat ); + pl::string_vec supported_components( 2 ); + supported_components[ 0 ] = kOfxImageComponentRGBA; + supported_components[ 1 ] = kOfxImageComponentAlpha; + + pl::string_vec supported_contexts( 4 ); + supported_contexts[ 0 ] = kOfxImageEffectContextFilter; + supported_contexts[ 1 ] = kOfxImageEffectContextTransition; + supported_contexts[ 2 ] = kOfxImageEffectContextGenerator; + supported_contexts[ 3 ] = kOfxImageEffectContextGeneral; + host_props_.append( host_prop_type_ = pl::string( kOfxTypeImageEffectHost ) ); host_props_.append( host_prop_name_ = pl::string( "org.openlibraries.ofx_host" ) ); host_props_.append( host_prop_label_ = pl::string( "OpenLibraries OFX host" ) ); @@ -2147,13 +2191,13 @@ host_props_.append( host_prop_supports_multiresolution_ = 1 ); host_props_.append( host_prop_supports_tiles_ = 0 ); host_props_.append( host_prop_temporal_clip_access_ = 0 ); - host_props_.append( host_prop_supported_components_ = pl::string( kOfxImageComponentRGBA ) ); - host_props_.append( host_prop_supported_contexts_ = pl::string( kOfxImageEffectContextFilter ) ); + host_props_.append( host_prop_supported_components_ = supported_components ); + host_props_.append( host_prop_supported_contexts_ = supported_contexts ); host_props_.append( host_prop_supports_multiple_clip_depths_ = 1 ); host_props_.append( host_prop_supports_multiple_clip_pars_ = 1 ); host_props_.append( host_prop_setable_frame_rate_ = 1 ); host_props_.append( host_prop_setable_fielding_ = 1 ); - host_props_.append( host_prop_supports_custom_interact_ = 0 ); + host_props_.append( host_prop_supports_custom_interact_ = 1 ); host_props_.append( host_prop_supports_string_animation_ = 0 ); host_props_.append( host_prop_supports_choice_animation_ = 0 ); host_props_.append( host_prop_supports_boolean_animation_ = 0 ); @@ -2176,28 +2220,20 @@ } // For each of the contexts create a description of the effect. - void describe_in_context( ) + bool describe_in_context( ) { - // Introduce support for multiple contexts but - // constrain the actual executed code to filters. - typedef pl::string_vec::const_iterator const_iterator; - - property_container_ptr property_set = image_effect_descriptor_.get_property_set( ); - pl::string_vec contexts = property_set->get_property_with_key( pcos::key::from_string( kOfxImageEffectPropSupportedContexts ) ).value<pl::string_vec>( ); + pl::string context_str; + if( context_ == FILTER ) + context_str = kOfxImageEffectContextFilter; - for( const_iterator I = contexts.begin( ); I != contexts.end( ); ++I ) - { - if( *I != kOfxImageEffectContextFilter ) continue; + pcos::property_container in_args; + pcos::property context( pcos::key::from_string( kOfxImageEffectPropContext ) ); - pcos::property_container in_args; - pcos::property context( pcos::key::from_string( kOfxImageEffectPropContext ) ); + in_args.append( context = context_str ); - in_args.append( context = *I ); - - plug_->mainEntry( kOfxImageEffectActionDescribeInContext, &image_effect_descriptor_, ( OfxPropertySetHandle ) &in_args, 0 ); - } + return plug_->mainEntry( kOfxImageEffectActionDescribeInContext, &image_effect_descriptor_, ( OfxPropertySetHandle ) &in_args, 0 ) == kOfxStatOK; } - + void set_clip_prefs_filter_ctx( ) { clip_preferences_props_filter_.append( clip_preferences_prop_components_source_ ); @@ -2213,8 +2249,19 @@ clip_preferences_props_filter_.append( clip_preferences_prop_frame_varying_ ); } + void set_clip_prefs_generator_ctx( ) + { + } + + void set_clip_prefs_ctx( ) + { + if( context_ == FILTER ) set_clip_prefs_filter_ctx( ); + else if( context_ == GENERATOR ) set_clip_prefs_generator_ctx( ); + } + private: OfxPlugin* plug_; + ofx_context context_; private: OfxPropertySuiteV1 property_suite_; @@ -2256,10 +2303,13 @@ // Effect descriptor. private: image_effect_descriptor image_effect_descriptor_; + interact_descriptor overlay_interact_descriptor_; // Effect instance. private: image_effect_instance image_effect_instance_; + interact_instance overlay_interact_instance_; + OfxPluginEntryPoint* interact_main_; // Render action properties. private: @@ -2306,12 +2356,12 @@ if( index >= static_cast<int>( val.size( ) ) ) val.resize( index + 1 ); - val[ index ] = T( value ); + val[ index ] = value; dst = val; } else { - dst = T( value ); + dst = value; } return kOfxStatOK; @@ -2579,8 +2629,12 @@ return kOfxStatOK; } - OfxStatus interact_get_property_set( OfxInteractHandle interact_instance, OfxPropertySetHandle* property ) + OfxStatus interact_get_property_set( OfxInteractHandle interact_inst, OfxPropertySetHandle* property_set ) { + interact_instance* instance = ( interact_instance* ) interact_inst; + + *property_set = ( OfxPropertySetHandle ) instance->get_property_set( ); + return kOfxStatOK; } @@ -2985,7 +3039,7 @@ if( !instance ) return kOfxStatErrBadHandle; - *image_handle = ( OfxPropertySetHandle ) instance->get_image( ); + *image_handle = ( OfxPropertySetHandle ) instance->get_image_property_set( ); return kOfxStatOK; } @@ -3001,7 +3055,7 @@ if( !instance ) return kOfxStatErrBadHandle; - property_container_ptr image = instance->get_image( ); + property_container_ptr image = instance->get_image_property_set( ); pcos::int_vec b = image->get_property_with_string( kOfxImagePropBounds ).value<pcos::int_vec>( ); bounds->x1 = b[ 0 ]; @@ -3156,17 +3210,21 @@ class ML_PLUGIN_DECLSPEC ofx_plugin : public openmedialib_plugin { public: - virtual filter_type_ptr filter( const opl::wstring& request ) + virtual input_type_ptr input( const pl::wstring& request ) { return discover( request, GENERATOR ); } + virtual filter_type_ptr filter( const pl::wstring& request ) { return discover( request, FILTER ); } + +private: + filter_type_ptr discover( const pl::wstring& request, ofx_context context ) { typedef pl::discovery<ofx_query_traits> discovery; ofx_query_traits query( request ); discovery plugins( query ); if( plugins.size( ) == 0 ) return filter_type_ptr( ); - + discovery::const_iterator i = plugins.begin( ); - - return filter_type_ptr( new ofx_filter( ( OfxPlugin* ) i->context( ) ) ); + + return filter_type_ptr( new ofx_filter( ( OfxPlugin* ) i->context( ), context ) ); } }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-09 00:29:10
|
Revision: 114 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=114&view=rev Author: glslang Date: 2007-05-08 17:29:07 -0700 (Tue, 08 May 2007) Log Message: ----------- + OFX bindings continued Modified Paths: -------------- lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp lib/openlibraries/src/openpluginlib/pl/pcos/property.cpp lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp Modified: lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp =================================================================== --- lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-04 17:24:48 UTC (rev 113) +++ lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-09 00:29:07 UTC (rev 114) @@ -476,9 +476,26 @@ { public: explicit choice_param_descriptor( ) - { } + : choice_param_descriptor_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) ) + , choice_param_descriptor_param_prop_choice_option_( pcos::key::from_string( kOfxParamPropChoiceOption ) ) + { + set_choice_param_descriptor_properties( ); + } virtual param* create_instance( ); + + private: + void set_choice_param_descriptor_properties( ) + { + property_container_ptr param_props_ = get_property_set( ); + + param_props_->append( choice_param_descriptor_param_prop_default_ = 0 ); + param_props_->append( choice_param_descriptor_param_prop_choice_option_ = pl::string_vec( ) ); + } + + private: + pcos::property choice_param_descriptor_param_prop_default_; + pcos::property choice_param_descriptor_param_prop_choice_option_; }; class group_param_descriptor : public value_param_descriptor @@ -1196,13 +1213,38 @@ explicit choice_param( choice_param_descriptor& vpd ) : value_param( vpd ) , choice_param_value_( pcos::key::from_string( "value" ) ) - { } + , choice_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) ) + , choice_param_prop_choice_option_( pcos::key::from_string( kOfxParamPropChoiceOption ) ) + { + set_choice_param_properties( vpd ); + } virtual pcos::property get_value( ) { return choice_param_value_; } virtual pl::string get_type( ) { return kOfxParamTypeChoice; } private: + // assign the instance properties from the descriptor. do not assign properties since + // they have shallow copy semantics and clone will cause a leak. + // therefore extract all the values and assign those. descriptors and instances are + // meant to be separate entities and values should not be shared. + void set_choice_param_properties( choice_param_descriptor& vpd ) + { + property_container_ptr param_props_ = get_property_set( ); + + property_container_ptr vpd_set = vpd.get_property_set( ); + + int def = vpd_set->get_property_with_key( pcos::key::from_string( kOfxParamPropDefault ) ).value<int>( ); + pl::string_vec choice_vec = vpd_set->get_property_with_key( pcos::key::from_string( kOfxParamPropChoiceOption ) ).value<pl::string_vec>( ); + + param_props_->append( choice_param_value_ = def ); + param_props_->append( choice_param_prop_default_ = def ); + param_props_->append( choice_param_prop_choice_option_ = choice_vec ); + } + + private: pcos::property choice_param_value_; + pcos::property choice_param_prop_default_; + pcos::property choice_param_prop_choice_option_; }; class group_param : public value_param @@ -1442,6 +1484,31 @@ pcos::property clip_descriptor_prop_is_mask_; pcos::property clip_descriptor_prop_supports_tiles_; }; + + class interact_descriptor : public Ofx_base + { + public: + explicit interact_descriptor( ) + : interact_descriptor_prop_has_alpha_( pcos::key::from_string( kOfxInteractPropHasAlpha ) ) + , interact_descriptor_prop_bit_depth_( pcos::key::from_string( kOfxInteractPropBitDepth ) ) + { + set_interact_descriptor_properties( ); + } + + virtual property_container_ptr get_property_set( ) { return &interact_descriptor_props_; } + + private: + void set_interact_descriptor_properties( ) + { + interact_descriptor_props_.append( interact_descriptor_prop_has_alpha_ = 1 ); + interact_descriptor_props_.append( interact_descriptor_prop_bit_depth_ = 8 ); + } + + private: + pcos::property_container interact_descriptor_props_; + pcos::property interact_descriptor_prop_has_alpha_; + pcos::property interact_descriptor_prop_bit_depth_; + }; class image_effect_descriptor : public param_set_descriptor { @@ -1652,6 +1719,49 @@ private: image im_; }; + + class interact_instance : public Ofx_base + { + public: + explicit interact_instance( ) + : interact_instance_prop_effect_instance_( pcos::key::from_string( kOfxPropEffectInstance ) ) + , interact_instance_prop_instance_data_( pcos::key::from_string( kOfxPropInstanceData ) ) + , interact_instance_prop_pixel_scale_( pcos::key::from_string( kOfxInteractPropPixelScale ) ) + , interact_instance_prop_background_colour_( pcos::key::from_string( kOfxInteractPropBackgroundColour ) ) + , interact_instance_prop_viewport_size_( pcos::key::from_string( kOfxInteractPropViewportSize ) ) + , interact_instance_prop_has_alpha_( pcos::key::from_string( kOfxInteractPropHasAlpha ) ) + , interact_instance_prop_bit_depth_( pcos::key::from_string( kOfxInteractPropBitDepth ) ) + , interact_instance_prop_slave_to_param_( pcos::key::from_string( kOfxInteractPropSlaveToParam ) ) + { + set_interact_instance_properties( ); + } + + virtual property_container_ptr get_property_set( ) { return &interact_instance_props_; } + + private: + void set_interact_instance_properties( ) + { + interact_instance_props_.append( interact_instance_prop_effect_instance_ = ( void* ) 0 ); + interact_instance_props_.append( interact_instance_prop_instance_data_ = ( void* ) 0 ); + interact_instance_props_.append( interact_instance_prop_pixel_scale_ = pcos::double_vec( 2, 0.0 ) ); + interact_instance_props_.append( interact_instance_prop_background_colour_ = pcos::double_vec( 3, 0.0 ) ); + interact_instance_props_.append( interact_instance_prop_viewport_size_ = pcos::int_vec( 2, 0 ) ); // deprecated + interact_instance_props_.append( interact_instance_prop_has_alpha_ = 1 ); + interact_instance_props_.append( interact_instance_prop_bit_depth_ = 8 ); + interact_instance_props_.append( interact_instance_prop_slave_to_param_ = pl::string_vec( ) ); + } + + private: + pcos::property_container interact_instance_props_; + pcos::property interact_instance_prop_effect_instance_; + pcos::property interact_instance_prop_instance_data_; + pcos::property interact_instance_prop_pixel_scale_; + pcos::property interact_instance_prop_background_colour_; + pcos::property interact_instance_prop_viewport_size_; + pcos::property interact_instance_prop_has_alpha_; + pcos::property interact_instance_prop_bit_depth_; + pcos::property interact_instance_prop_slave_to_param_; + }; class image_effect_instance : public param_set_base { @@ -1847,9 +1957,8 @@ param* page_param_descriptor::create_instance( ) { return new page_param( *this ); } param* push_button_param_descriptor::create_instance( ) { return new push_button_param( *this ); } param* custom_param_descriptor::create_instance( ) { return new custom_param( *this ); } - - param_set* param_set_descriptor::create_instance( ) { return new param_set( *this ); } - clip_instance* clip_descriptor::create_instance( ) { return new clip_instance( *this ); } + param_set* param_set_descriptor::create_instance( ) { return new param_set( *this ); } + clip_instance* clip_descriptor::create_instance( ) { return new clip_instance( *this ); } } class ML_PLUGIN_DECLSPEC ofx_filter : public filter_type, public OfxHost @@ -1862,6 +1971,7 @@ , host_prop_label_( pcos::key::from_string( kOfxPropLabel ) ) , host_prop_is_background_( pcos::key::from_string( kOfxImageEffectHostPropIsBackground ) ) , host_prop_supports_overlays_( pcos::key::from_string( kOfxImageEffectPropSupportsOverlays ) ) + , host_prop_supported_pixel_depths_( pcos::key::from_string( kOfxImageEffectPropSupportedPixelDepths ) ) , host_prop_supports_multiresolution_( pcos::key::from_string( kOfxImageEffectPropSupportsMultiResolution ) ) , host_prop_supports_tiles_( pcos::key::from_string( kOfxImageEffectPropSupportsTiles ) ) , host_prop_temporal_clip_access_( pcos::key::from_string( kOfxImageEffectPropTemporalClipAccess ) ) @@ -1880,16 +1990,7 @@ , host_prop_max_pages_( pcos::key::from_string( kOfxParamHostPropMaxPages ) ) , host_prop_page_row_column_count_( pcos::key::from_string( kOfxParamHostPropPageRowColumnCount ) ) , host_prop_this_pointer_( pcos::key::from_string( "this_pointer" ) ) - , interact_descriptor_prop_has_alpha_( pcos::key::from_string( kOfxInteractPropHasAlpha ) ) - , interact_descriptor_prop_bit_depth_( pcos::key::from_string( kOfxInteractPropBitDepth ) ) - , interact_instance_prop_effect_instance_( pcos::key::from_string( kOfxPropEffectInstance ) ) - , interact_instance_prop_instance_data_( pcos::key::from_string( kOfxPropInstanceData ) ) - , interact_instance_prop_pixel_scale_( pcos::key::from_string( kOfxInteractPropPixelScale ) ) - , interact_instance_prop_background_colour_( pcos::key::from_string( kOfxInteractPropBackgroundColour ) ) - , interact_instance_prop_viewport_size_( pcos::key::from_string( kOfxInteractPropViewportSize ) ) - , interact_instance_prop_has_alpha_( pcos::key::from_string( kOfxInteractPropHasAlpha ) ) - , interact_instance_prop_bit_depth_( pcos::key::from_string( kOfxInteractPropBitDepth ) ) - , interact_instance_prop_slave_to_param_( pcos::key::from_string( kOfxInteractPropSlaveToParam ) ) + , render_prop_name_( pcos::key::from_string( kOfxPropName ) ) , render_prop_time_( pcos::key::from_string( kOfxPropTime ) ) , render_prop_field_to_render_( pcos::key::from_string( kOfxImageEffectPropFieldToRender ) ) , render_prop_render_window_( pcos::key::from_string( kOfxImageEffectPropRenderWindow ) ) @@ -1898,6 +1999,17 @@ , sequence_prop_frame_step_( pcos::key::from_string( kOfxImageEffectPropFrameStep ) ) , sequence_prop_is_interactive_( pcos::key::from_string( kOfxPropIsInteractive ) ) , sequence_prop_render_scale_( pcos::key::from_string( kOfxImageEffectPropRenderScale ) ) + , clip_preferences_prop_components_source_( pcos::key::from_string( "OfxImageClipPropComponents_Source" ) ) + , clip_preferences_prop_components_output_( pcos::key::from_string( "OfxImageClipPropComponents_Output" ) ) + , clip_preferences_prop_depth_source_( pcos::key::from_string( "OfxImageClipPropDepth_Source" ) ) + , clip_preferences_prop_depth_output_( pcos::key::from_string( "OfxImageClipPropDepth_Output" ) ) + , clip_preferences_prop_par_source_( pcos::key::from_string( "OfxImageClipPropPAR_Source" ) ) + , clip_preferences_prop_par_output_( pcos::key::from_string( "OfxImageClipPropPAR_Output" ) ) + , clip_preferences_prop_frame_rate_( pcos::key::from_string( kOfxImageEffectPropFrameRate ) ) + , clip_preferences_prop_field_order_( pcos::key::from_string( kOfxImageClipPropFieldOrder ) ) + , clip_preferences_prop_premultiplication_( pcos::key::from_string( kOfxImageEffectPropPreMultiplication ) ) + , clip_preferences_prop_continuous_samples_( pcos::key::from_string( kOfxImageClipPropContinuousSamples ) ) + , clip_preferences_prop_frame_varying_( pcos::key::from_string( kOfxImageEffectPropFrameRate ) ) { set_host( ); set_suites( ); @@ -1910,7 +2022,11 @@ // create instance from descriptor image_effect_instance_.init( image_effect_descriptor_ ); + plug_->mainEntry( kOfxActionCreateInstance, &image_effect_instance_, 0, 0 ); + + set_clip_prefs_filter_ctx( ); + plug_->mainEntry( kOfxImageEffectActionGetClipPreferences, &image_effect_instance_, 0, ( OfxPropertySetHandle ) &clip_preferences_props_filter_ ); } virtual ~ofx_filter( ) @@ -1930,38 +2046,50 @@ if( result && result->get_image( ) ) { il::image_type_ptr src = il::convert( result->get_image( ), L"r8g8b8a8" ); - il::image_type_ptr dst = il::allocate( src->pf( ), src->width( ), src->height( ) ); - image_effect_instance_.set_source( src ); - image_effect_instance_.set_output( dst ); - - pcos::property_container sequence_in_args; - sequence_in_args.append( sequence_prop_frame_range_ = pcos::double_vec( 2 ) ); - sequence_in_args.append( sequence_prop_frame_step_ = 1.0 ); - sequence_in_args.append( sequence_prop_is_interactive_ = 0 ); - sequence_in_args.append( sequence_prop_render_scale_ = pcos::double_vec( 2 ) ); + pcos::property_container render_in_args; + pcos::property_container render_out_args; - pcos::int_vec render_win( 4 ); - render_win[ 0 ] = 0; - render_win[ 1 ] = 0; + pcos::int_vec render_win( 4, 0 ); render_win[ 2 ] = src->width( ); render_win[ 3 ] = src->height( ); - pcos::int_vec render_scale( 2 ); - render_scale[ 0 ] = 1; - render_scale[ 1 ] = 1; + pcos::int_vec render_scale( 2, 1 ); - pcos::property_container render_in_args; render_in_args.append( render_prop_time_ = 0.0 ); render_in_args.append( render_prop_field_to_render_ = pl::string( kOfxImageFieldNone ) ); render_in_args.append( render_prop_render_window_ = render_win ); render_in_args.append( render_prop_render_scale_ = render_scale ); - plug_->mainEntry( kOfxImageEffectActionBeginSequenceRender, &image_effect_instance_, ( OfxPropertySetHandle ) &sequence_in_args, 0 ); - plug_->mainEntry( kOfxImageEffectActionRender, &image_effect_instance_, ( OfxPropertySetHandle ) &render_in_args, 0 ); - plug_->mainEntry( kOfxImageEffectActionEndSequenceRender, &image_effect_instance_, ( OfxPropertySetHandle ) &sequence_in_args, 0 ); + render_out_args.append( render_prop_name_ ); + render_out_args.append( render_prop_time_ ); + + OfxStatus is_identity = plug_->mainEntry( kOfxImageEffectActionIsIdentity, &image_effect_instance_, + ( OfxPropertySetHandle ) &render_in_args, ( OfxPropertySetHandle ) &render_out_args ); + if( is_identity == kOfxStatReplyDefault ) + { + src = il::convert( result->get_image( ), L"r8g8b8a8" ); + il::image_type_ptr dst = il::allocate( src->pf( ), src->width( ), src->height( ) ); - result->set_image( dst ); + image_effect_instance_.set_source( src ); + image_effect_instance_.set_output( dst ); + + pcos::property_container sequence_in_args; + sequence_in_args.append( sequence_prop_frame_range_ = pcos::double_vec( 2 ) ); + sequence_in_args.append( sequence_prop_frame_step_ = 1.0 ); + sequence_in_args.append( sequence_prop_is_interactive_ = 0 ); + sequence_in_args.append( sequence_prop_render_scale_ = pcos::double_vec( 2 ) ); + + plug_->mainEntry( kOfxImageEffectActionBeginSequenceRender, &image_effect_instance_, ( OfxPropertySetHandle ) &sequence_in_args, 0 ); + plug_->mainEntry( kOfxImageEffectActionRender, &image_effect_instance_, ( OfxPropertySetHandle ) &render_in_args, 0 ); + plug_->mainEntry( kOfxImageEffectActionEndSequenceRender, &image_effect_instance_, ( OfxPropertySetHandle ) &sequence_in_args, 0 ); + + result->set_image( dst ); + } + else if( is_identity == kOfxStatOK ) + { + // select the appropriate clip from the out_args. + } } return result; @@ -2005,11 +2133,17 @@ void set_host_parameters( ) { + pl::string_vec pixel_depths( 3 ); + pixel_depths[ 0 ] = pl::string( kOfxBitDepthByte ); + pixel_depths[ 1 ] = pl::string( kOfxBitDepthShort ); + pixel_depths[ 2 ] = pl::string( kOfxBitDepthFloat ); + host_props_.append( host_prop_type_ = pl::string( kOfxTypeImageEffectHost ) ); host_props_.append( host_prop_name_ = pl::string( "org.openlibraries.ofx_host" ) ); host_props_.append( host_prop_label_ = pl::string( "OpenLibraries OFX host" ) ); host_props_.append( host_prop_is_background_ = 0 ); host_props_.append( host_prop_supports_overlays_ = 1 ); + host_props_.append( host_prop_supported_pixel_depths_ = pixel_depths ); host_props_.append( host_prop_supports_multiresolution_ = 1 ); host_props_.append( host_prop_supports_tiles_ = 0 ); host_props_.append( host_prop_temporal_clip_access_ = 0 ); @@ -2064,6 +2198,21 @@ } } + void set_clip_prefs_filter_ctx( ) + { + clip_preferences_props_filter_.append( clip_preferences_prop_components_source_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_components_output_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_depth_source_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_depth_output_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_par_source_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_par_output_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_frame_rate_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_field_order_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_premultiplication_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_continuous_samples_ ); + clip_preferences_props_filter_.append( clip_preferences_prop_frame_varying_ ); + } + private: OfxPlugin* plug_; @@ -2084,6 +2233,7 @@ pcos::property host_prop_label_; pcos::property host_prop_is_background_; pcos::property host_prop_supports_overlays_; + pcos::property host_prop_supported_pixel_depths_; pcos::property host_prop_supports_multiresolution_; pcos::property host_prop_supports_tiles_; pcos::property host_prop_temporal_clip_access_; @@ -2111,24 +2261,9 @@ private: image_effect_instance image_effect_instance_; -// Interact descriptor properties. -private: - pcos::property interact_descriptor_prop_has_alpha_; - pcos::property interact_descriptor_prop_bit_depth_; - -// Interact instance properties. -private: - pcos::property interact_instance_prop_effect_instance_; - pcos::property interact_instance_prop_instance_data_; - pcos::property interact_instance_prop_pixel_scale_; - pcos::property interact_instance_prop_background_colour_; - pcos::property interact_instance_prop_viewport_size_; - pcos::property interact_instance_prop_has_alpha_; - pcos::property interact_instance_prop_bit_depth_; - pcos::property interact_instance_prop_slave_to_param_; - // Render action properties. private: + pcos::property render_prop_name_; pcos::property render_prop_time_; pcos::property render_prop_field_to_render_; pcos::property render_prop_render_window_; @@ -2140,6 +2275,21 @@ pcos::property sequence_prop_frame_step_; pcos::property sequence_prop_is_interactive_; pcos::property sequence_prop_render_scale_; + +// Clip Preferences action properties. +private: + pcos::property_container clip_preferences_props_filter_; + pcos::property clip_preferences_prop_components_source_; + pcos::property clip_preferences_prop_components_output_; + pcos::property clip_preferences_prop_depth_source_; + pcos::property clip_preferences_prop_depth_output_; + pcos::property clip_preferences_prop_par_source_; + pcos::property clip_preferences_prop_par_output_; + pcos::property clip_preferences_prop_frame_rate_; + pcos::property clip_preferences_prop_field_order_; + pcos::property clip_preferences_prop_premultiplication_; + pcos::property clip_preferences_prop_continuous_samples_; + pcos::property clip_preferences_prop_frame_varying_; }; namespace @@ -2269,12 +2419,12 @@ pcos::property src = prop_set->get_property_with_string( property ); if( src.is_a<pl::string_vec>( ) ) { - pl::string_vec val = src.value<pl::string_vec>( ); - *value = const_cast<char*>( val[ index ].c_str( ) ); + pl::string_vec* val = src.pointer<pl::string_vec>( ); + *value = const_cast<char*>( ( *val )[ index ].c_str( ) ); } else { - *value = const_cast<char*>( src.value<opl::string>( ).c_str( ) ); + *value = const_cast<char*>( src.pointer<opl::string>( )->c_str( ) ); } return kOfxStatOK; @@ -2315,6 +2465,35 @@ return get_multiple_property<int, pcos::int_vec>( properties, property, count, value ); } + OfxStatus prop_get_dimension( OfxPropertySetHandle properties, const char* property, int* count ) + { + pcos::property_container* prop_set = ( pcos::property_container* ) properties; + + pcos::property src = prop_set->get_property_with_string( property ); + if( src.is_a<pl::string_vec>( ) ) + { + *count = static_cast<int>( src.value<pl::string_vec>( ).size( ) ); + } + else if( src.is_a<pcos::int_vec>( ) ) + { + *count = static_cast<int>( src.value<pcos::int_vec>( ).size( ) ); + } + else if( src.is_a<pcos::double_vec>( ) ) + { + *count = static_cast<int>( src.value<pcos::double_vec>( ).size( ) ); + } + else if( src.is_a<pcos::void_vec>( ) ) + { + *count = static_cast<int>( src.value<pcos::void_vec>( ).size( ) ); + } + else + { + *count = 1; + } + + return kOfxStatOK; + } + // Memory Suite. OfxStatus memory_alloc( void* handle, size_t nbytes, void** allocated_data ) { @@ -2464,42 +2643,30 @@ pcos::property val = p->get_value( ); pl::string type = p->get_type( ); - if( type == kOfxParamTypeInteger ) + if( type == kOfxParamTypeInteger || type == kOfxParamTypeBoolean || type == kOfxParamTypeChoice ) { int* v; if( ( v = va_arg( ap, int* ) ) != 0 ) *v = val.value<int>( ); } - else if( type == kOfxParamTypeInteger2D ) + else if( type == kOfxParamTypeInteger2D || type == kOfxParamTypeInteger3D ) { + int* v, i = 0; + while( ( v = va_arg( ap, int* ) ) != 0 ) + *v = val.value<pcos::int_vec>( )[ i++ ]; } - else if( type == kOfxParamTypeInteger3D ) - { - } else if( type == kOfxParamTypeDouble ) { double* v; if( ( v = va_arg( ap, double* ) ) != 0 ) *v = val.value<double>( ); } - else if( type == kOfxParamTypeDouble2D ) + else if( type == kOfxParamTypeDouble2D || type == kOfxParamTypeDouble3D || type == kOfxParamTypeRGB || type == kOfxParamTypeRGBA ) { + double* v, i = 0; + while( ( v = va_arg( ap, double* ) ) != 0 ) + *v = val.value<pcos::double_vec>( )[ i++ ]; } - else if( type == kOfxParamTypeDouble3D ) - { - } - else if( type == kOfxParamTypeRGB ) - { - } - else if( type == kOfxParamTypeRGBA ) - { - } - else if( type == kOfxParamTypeBoolean ) - { - } - else if( type == kOfxParamTypeChoice ) - { - } else if( type == kOfxParamTypeGroup ) { } @@ -2531,42 +2698,30 @@ pcos::property val = p->get_value( ); pl::string type = p->get_type( ); - if( type == kOfxParamTypeInteger ) + if( type == kOfxParamTypeInteger || type == kOfxParamTypeBoolean || type == kOfxParamTypeChoice ) { int* v; if( ( v = va_arg( ap, int* ) ) != 0 ) *v = val.value<int>( ); } - else if( type == kOfxParamTypeInteger2D ) + else if( type == kOfxParamTypeInteger2D || type == kOfxParamTypeInteger3D ) { + int* v, i = 0; + while( ( v = va_arg( ap, int* ) ) != 0 ) + *v = val.value<pcos::int_vec>( )[ i++ ]; } - else if( type == kOfxParamTypeInteger3D ) - { - } else if( type == kOfxParamTypeDouble ) { double* v; if( ( v = va_arg( ap, double* ) ) != 0 ) *v = val.value<double>( ); } - else if( type == kOfxParamTypeDouble2D ) + else if( type == kOfxParamTypeDouble2D || type == kOfxParamTypeDouble3D || type == kOfxParamTypeRGB || type == kOfxParamTypeRGBA ) { + double* v, i = 0; + while( ( v = va_arg( ap, double* ) ) != 0 ) + *v = val.value<pcos::double_vec>( )[ i++ ]; } - else if( type == kOfxParamTypeDouble3D ) - { - } - else if( type == kOfxParamTypeRGB ) - { - } - else if( type == kOfxParamTypeRGBA ) - { - } - else if( type == kOfxParamTypeBoolean ) - { - } - else if( type == kOfxParamTypeChoice ) - { - } else if( type == kOfxParamTypeGroup ) { } @@ -2608,7 +2763,7 @@ pcos::property val = p->get_value( ); pl::string type = p->get_type( ); - if( type == kOfxParamTypeInteger ) + if( type == kOfxParamTypeInteger || type == kOfxParamTypeBoolean || type == kOfxParamTypeChoice ) { int v; if( ( v = va_arg( ap, int ) ) != 0 ) @@ -2638,12 +2793,6 @@ else if( type == kOfxParamTypeRGBA ) { } - else if( type == kOfxParamTypeBoolean ) - { - } - else if( type == kOfxParamTypeChoice ) - { - } else if( type == kOfxParamTypeGroup ) { } @@ -2732,42 +2881,42 @@ return kOfxStatOK; } - OfxStatus param_get_num_keys( OfxParamHandle param, unsigned int* num_keys ) + OfxStatus param_get_num_keys( OfxParamHandle, unsigned int* ) { return kOfxStatOK; } - OfxStatus param_get_key_time( OfxParamHandle param, unsigned int nth_key, OfxTime* time ) + OfxStatus param_get_key_time( OfxParamHandle, unsigned int, OfxTime* ) { return kOfxStatOK; } - OfxStatus param_get_key_index( OfxParamHandle param, OfxTime time, int direction, int* index ) + OfxStatus param_get_key_index( OfxParamHandle, OfxTime, int, int* ) { return kOfxStatOK; } - OfxStatus param_delete_key( OfxParamHandle param, OfxTime time ) + OfxStatus param_delete_key( OfxParamHandle, OfxTime ) { return kOfxStatOK; } - OfxStatus param_delete_all_keys( OfxParamHandle param ) + OfxStatus param_delete_all_keys( OfxParamHandle ) { return kOfxStatOK; } - OfxStatus param_copy( OfxParamHandle param_to, OfxParamHandle param_from, OfxTime dst_offset, OfxRangeD* frame_range ) + OfxStatus param_copy( OfxParamHandle, OfxParamHandle, OfxTime, OfxRangeD* ) { return kOfxStatOK; } - OfxStatus param_edit_begin( OfxParamSetHandle param_set, const char* name ) + OfxStatus param_edit_begin( OfxParamSetHandle, const char* ) { return kOfxStatOK; } - OfxStatus param_edit_end( OfxParamSetHandle param_set ) + OfxStatus param_edit_end( OfxParamSetHandle ) { return kOfxStatOK; } @@ -2863,33 +3012,33 @@ return kOfxStatOK; } - int abort( OfxImageEffectHandle image_effect ) + int abort( OfxImageEffectHandle ) { return 0; } - OfxStatus image_memory_alloc( OfxImageEffectHandle instance_handle, size_t nbytes, OfxImageMemoryHandle* memory_handle ) + OfxStatus image_memory_alloc( OfxImageEffectHandle, size_t, OfxImageMemoryHandle* ) { return kOfxStatOK; } - OfxStatus image_memory_free( OfxImageMemoryHandle memory_handle ) + OfxStatus image_memory_free( OfxImageMemoryHandle ) { return kOfxStatOK; } - OfxStatus image_memory_lock( OfxImageMemoryHandle memory_handle, void** returned_ptr ) + OfxStatus image_memory_lock( OfxImageMemoryHandle, void** ) { return kOfxStatOK; } - OfxStatus image_memory_unlock( OfxImageMemoryHandle memory_handle ) + OfxStatus image_memory_unlock( OfxImageMemoryHandle ) { return kOfxStatOK; } // Message Suite - OfxStatus message( void* handle, const char* message_type, const char* message_id, const char* format, ... ) + OfxStatus message( void*, const char*, const char*, const char*, ... ) { return kOfxStatOK; } @@ -2911,7 +3060,7 @@ property_suite.propGetDoubleN = prop_get_doubleN; property_suite.propGetIntN = prop_get_intN; //property_suite.propReset = prop_reset; - //property_suite.propGetDimension = prop_get_dimension; + property_suite.propGetDimension = prop_get_dimension; } void set_image_effect_suite( OfxImageEffectSuiteV1& image_effect_suite ) Modified: lib/openlibraries/src/openpluginlib/pl/pcos/property.cpp =================================================================== --- lib/openlibraries/src/openpluginlib/pl/pcos/property.cpp 2007-05-04 17:24:48 UTC (rev 113) +++ lib/openlibraries/src/openpluginlib/pl/pcos/property.cpp 2007-05-09 00:29:07 UTC (rev 114) @@ -689,6 +689,11 @@ { return boost::apply_visitor( convert_to<T>( ), impl_->value ); } + +template < typename T > T* property::pointer() const +{ + return boost::get<T>( &impl_->value ); +} template < typename T > bool property::is_a() const { @@ -725,6 +730,11 @@ template OPENPLUGINLIB_DECLSPEC void* property::value<void*>( ) const; template OPENPLUGINLIB_DECLSPEC void_vec property::value<void_vec>( ) const; +template OPENPLUGINLIB_DECLSPEC wstring* property::pointer< wstring >() const; +template OPENPLUGINLIB_DECLSPEC string* property::pointer< string >() const; +template OPENPLUGINLIB_DECLSPEC wstring_vec* property::pointer< wstring_vec >() const; +template OPENPLUGINLIB_DECLSPEC string_vec* property::pointer< string_vec >() const; + template OPENPLUGINLIB_DECLSPEC void property::set< int >( const int& ); template OPENPLUGINLIB_DECLSPEC void property::set< unsigned int >( const unsigned int& ); template OPENPLUGINLIB_DECLSPEC void property::set< double >( const double& ); Modified: lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp =================================================================== --- lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp 2007-05-04 17:24:48 UTC (rev 113) +++ lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp 2007-05-09 00:29:07 UTC (rev 114) @@ -89,6 +89,9 @@ /// we try to extract the wrong value type template<typename T> T value() const; + + template<typename T> + T* pointer() const; /// query the type held by the property template<typename T> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gl...@us...> - 2007-05-04 17:24:50
|
Revision: 113 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=113&view=rev Author: glslang Date: 2007-05-04 10:24:48 -0700 (Fri, 04 May 2007) Log Message: ----------- + OFX bindings M2 Modified Paths: -------------- lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp Modified: lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp =================================================================== --- lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-03 23:00:00 UTC (rev 112) +++ lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-04 17:24:48 UTC (rev 113) @@ -1338,24 +1338,16 @@ bool set_image( il::image_type_ptr im ) { - if( !im ) - return false; - - // TODO: handle bit depths properly. - il::image_type_ptr dst_img = il::convert( im, L"r8g8b8a8" ); - if( !dst_img ) - return false; - pcos::int_vec bounds_and_rod( 4 ); bounds_and_rod[ 0 ] = 0; bounds_and_rod[ 1 ] = 0; - bounds_and_rod[ 2 ] = dst_img->width( ); - bounds_and_rod[ 3 ] = dst_img->height( ); + bounds_and_rod[ 2 ] = im->width( ); + bounds_and_rod[ 3 ] = im->height( ); image_prop_bounds_ = bounds_and_rod; image_prop_region_of_definition_ = bounds_and_rod; - image_prop_data_ = ( void* ) dst_img->data( ); - image_prop_row_bytes_ = dst_img->pitch( ); + image_prop_data_ = ( void* ) im->data( ); + image_prop_row_bytes_ = im->pitch( ); return true; } @@ -1563,12 +1555,6 @@ container clip_desc_; }; - struct image_effect_instance_base - { - virtual il::image_type_ptr get_source( ) = 0; - virtual il::image_type_ptr get_output( ) = 0; - }; - class clip_instance : public Ofx_base { public: @@ -1667,7 +1653,7 @@ image im_; }; - class image_effect_instance : public image_effect_instance_base + class image_effect_instance : public param_set_base { public: typedef pl::string key_type; @@ -1679,7 +1665,8 @@ #else typedef std::map<key_type, clip_instance_ptr> container; #endif - typedef container::const_iterator const_iterator; + typedef container::iterator iterator; + typedef container::const_iterator const_iterator; public: explicit image_effect_instance( ) @@ -1700,7 +1687,10 @@ void init( image_effect_descriptor& id ) { + param_set_.reset( id.create_instance( ) ); + for( image_effect_descriptor::const_iterator I = id.clip_begin( ); I != id.clip_end( ); ++I ) + clip_instance_.insert( container::value_type( I->first, clip_instance_ptr( I->second->create_instance( ) ) ) ); } virtual property_container_ptr get_property_set( ) { return &effect_instance_props_; } @@ -1713,16 +1703,22 @@ return I->second.get( ); return 0; } - - il::image_type_ptr get_source( ) - { return source_; } - il::image_type_ptr get_output( ) - { return output_; } - void set_source( il::image_type_ptr im ) - { source_ = im; } - void set_output( il::image_type_ptr im ) - { output_ = im; } + bool set_source( il::image_type_ptr im ) { return set_clip_image( "Source", im ); } + bool set_output( il::image_type_ptr im ) { return set_clip_image( "Output", im ); } + + private: + bool set_clip_image( const pl::string& name, il::image_type_ptr im ) + { + iterator I = clip_instance_.find( name ); + if( I != clip_instance_.end( ) ) + { + I->second->set_image( im ); + return true; + } + + return false; + } private: void set_image_effect_instance_properties( ) @@ -1757,13 +1753,7 @@ private: container clip_instance_; - - private: param_set_ptr param_set_; - - private: - il::image_type_ptr source_; - il::image_type_ptr output_; }; OfxStatus param_set_descriptor::define( const pl::string& param_type, const pl::string& name ) @@ -1917,7 +1907,9 @@ plug_->mainEntry( kOfxActionDescribe, &image_effect_descriptor_, 0, 0 ); describe_in_context( ); - + + // create instance from descriptor + image_effect_instance_.init( image_effect_descriptor_ ); plug_->mainEntry( kOfxActionCreateInstance, &image_effect_instance_, 0, 0 ); } @@ -1928,9 +1920,7 @@ } virtual const opl::wstring get_uri( ) const - { - return pl::to_wstring( plug_->pluginIdentifier ); - } + { return pl::to_wstring( plug_->pluginIdentifier ); } virtual frame_type_ptr fetch( ) { @@ -1939,9 +1929,11 @@ frame_type_ptr result = fetch_from_slot( ); if( result && result->get_image( ) ) { - il::image_type_ptr src = result->get_image( ); + il::image_type_ptr src = il::convert( result->get_image( ), L"r8g8b8a8" ); + il::image_type_ptr dst = il::allocate( src->pf( ), src->width( ), src->height( ) ); + image_effect_instance_.set_source( src ); - image_effect_instance_.set_output( il::allocate( src->pf( ), src->width( ), src->height( ) ) ); + image_effect_instance_.set_output( dst ); pcos::property_container sequence_in_args; sequence_in_args.append( sequence_prop_frame_range_ = pcos::double_vec( 2 ) ); @@ -1969,7 +1961,7 @@ plug_->mainEntry( kOfxImageEffectActionRender, &image_effect_instance_, ( OfxPropertySetHandle ) &render_in_args, 0 ); plug_->mainEntry( kOfxImageEffectActionEndSequenceRender, &image_effect_instance_, ( OfxPropertySetHandle ) &sequence_in_args, 0 ); - result->set_image( image_effect_instance_.get_output( ) ); + result->set_image( dst ); } return result; @@ -2398,12 +2390,12 @@ } // Interactive Suite. - OfxStatus interact_swap_buffers( OfxInteractHandle interact_instance ) + OfxStatus interact_swap_buffers( OfxInteractHandle ) { return kOfxStatOK; } - OfxStatus interact_redraw( OfxInteractHandle interact_instance ) + OfxStatus interact_redraw( OfxInteractHandle ) { return kOfxStatOK; } @@ -2805,8 +2797,8 @@ image_effect_descriptor* desc = ( image_effect_descriptor* ) image_effect; clip_descriptor* clip_desc = desc->clip_get_handle( name ); - if( clip_desc ) - desc->append_clip( name ); + if( !clip_desc ) + clip_desc = desc->append_clip( name ); if( property_set ) *property_set = ( OfxPropertySetHandle ) clip_desc->get_property_set( ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |