PGFplatform.h | PGFplatform.h | |||
---|---|---|---|---|
skipping to change at line 122 | skipping to change at line 122 | |||
#define ImageModeDeepMultichannel 14 | #define ImageModeDeepMultichannel 14 | |||
#define ImageModeDuotone16 15 | #define ImageModeDuotone16 15 | |||
// pgf extension | // pgf extension | |||
#define ImageModeRGBA 17 | #define ImageModeRGBA 17 | |||
#define ImageModeGray32 18 // M SB is 0 (can be interpreted as signed 15.16 fixed point format) | #define ImageModeGray32 18 // M SB is 0 (can be interpreted as signed 15.16 fixed point format) | |||
#define ImageModeRGB12 19 | #define ImageModeRGB12 19 | |||
#define ImageModeRGB16 20 | #define ImageModeRGB16 20 | |||
#define ImageModeUnknown 255 | #define ImageModeUnknown 255 | |||
//------------------------------------------------------------------------- ------ | //------------------------------------------------------------------------- ------ | |||
// WINDOWS 32 | // WINDOWS | |||
//------------------------------------------------------------------------- ------ | //------------------------------------------------------------------------- ------ | |||
#if defined(WIN32) || defined(WINCE) | #if defined(WIN32) || defined(WINCE) || defined(WIN64) | |||
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows he aders | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows he aders | |||
//------------------------------------------------------------------------- ------ | //------------------------------------------------------------------------- ------ | |||
// MFC | // MFC | |||
//------------------------------------------------------------------------- ------ | //------------------------------------------------------------------------- ------ | |||
#ifdef _MFC_VER | #ifdef _MFC_VER | |||
#include <afxwin.h> // MFC core and standard components | #include <afxwin.h> // MFC core and standard components | |||
#include <afxext.h> // MFC extensions | #include <afxext.h> // MFC extensions | |||
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Commo n Controls | #include <afxdtctl.h> // MFC support for Internet Explorer 4 Commo n Controls | |||
skipping to change at line 585 | skipping to change at line 585 | |||
#ifdef _X86_ | #ifdef _X86_ | |||
_asm mov eax, dwX | _asm mov eax, dwX | |||
_asm bswap eax | _asm bswap eax | |||
_asm mov dwX, eax | _asm mov dwX, eax | |||
return dwX; | return dwX; | |||
#else | #else | |||
return _lrotl(((dwX & 0xFF00FF00) >> 8) | ((dwX & 0x00FF00FF) << 8), 16); | return _lrotl(((dwX & 0xFF00FF00) >> 8) | ((dwX & 0x00FF00FF) << 8), 16); | |||
#endif | #endif | |||
} | } | |||
#if defined WIN32 | #if defined(WIN32) || defined(WIN64) | |||
__inline UINT64 ByteSwap(UINT64 ui64) { | __inline UINT64 ByteSwap(UINT64 ui64) { | |||
return _byteswap_uint64(ui64); | return _byteswap_uint64(ui64); | |||
} | } | |||
#endif | #endif | |||
#define __VAL(x) ByteSwap(x) | #define __VAL(x) ByteSwap(x) | |||
#else //PGF_USE_BIG_ENDIAN | #else //PGF_USE_BIG_ENDIAN | |||
#define __VAL(x) (x) | #define __VAL(x) (x) | |||
#endif //PGF_USE_BIG_ENDIAN | #endif //PGF_USE_BIG_ENDIAN | |||
// OpenMP rules (inspired from libraw project) | // OpenMP rules (inspired from libraw project) | |||
// NOTE: Use LIBPGF_DISABLE_OPENMP to disable OpenMP support in whole libpg f | // NOTE: Use LIBPGF_DISABLE_OPENMP to disable OpenMP support in whole libpg f | |||
#ifndef LIBPGF_DISABLE_OPENMP | #ifndef LIBPGF_DISABLE_OPENMP | |||
#if defined (_OPENMP) | # if defined (_OPENMP) | |||
# if defined (WIN32) | # if defined (WIN32) || defined(WIN64) | |||
# if defined (_MSC_VER) && (_MSC_VER >= 1500) | # if defined (_MSC_VER) && (_MSC_VER >= 1500) | |||
// VS2008 SP1 and VS2010+ : OpenMP works OK | // VS2008 SP1 and VS2010+ : OpenMP works OK | |||
# define LIBPGF_USE_OPENMP | # define LIBPGF_USE_OPENMP | |||
# elif defined (__INTEL_COMPILER) && (__INTEL_COMPILER >=910) | # elif defined (__INTEL_COMPILER) && (__INTEL_COMPILER >=910) | |||
// untested on 9.x and 10.x, Intel documentation claims OpenMP 2.5 support | // untested on 9.x and 10.x, Intel documentation claims OpenMP 2.5 suppor | |||
in 9.1 | t in 9.1 | |||
# define LIBPGF_USE_OPENMP | # define LIBPGF_USE_OPENMP | |||
# else | # else | |||
# undef LIBPGF_USE_OPENMP | ||||
# endif | ||||
// Not Win32 | ||||
# elif (defined(__APPLE__) || defined(__MACOSX__)) && defined(_REENTRANT) | ||||
# undef LIBPGF_USE_OPENMP | # undef LIBPGF_USE_OPENMP | |||
# else | ||||
# define LIBPGF_USE_OPENMP | ||||
# endif | # endif | |||
// Not Win32 | # endif // defined (_OPENMP) | |||
# elif (defined(__APPLE__) || defined(__MACOSX__)) && defined(_REENTRANT) | ||||
# undef LIBPGF_USE_OPENMP | ||||
# else | ||||
# define LIBPGF_USE_OPENMP | ||||
# endif | ||||
#endif // defined (_OPENMP) | ||||
#endif // ifndef LIBPGF_DISABLE_OPENMP | #endif // ifndef LIBPGF_DISABLE_OPENMP | |||
#ifdef LIBPGF_USE_OPENMP | #ifdef LIBPGF_USE_OPENMP | |||
#include <omp.h> | #include <omp.h> | |||
#endif | #endif | |||
#endif //PGF_PGFPLATFORM_H | #endif //PGF_PGFPLATFORM_H | |||
End of changes. 6 change blocks. | ||||
20 lines changed or deleted | 20 lines changed or added | |||
PGFstream.h | PGFstream.h | |||
---|---|---|---|---|
skipping to change at line 117 | skipping to change at line 117 | |||
protected: | protected: | |||
UINT8 *m_buffer, *m_pos;///< buffer start address and current buffer address | UINT8 *m_buffer, *m_pos;///< buffer start address and current buffer address | |||
UINT8 *m_eos; ///< end of stream (first address be yond written area) | UINT8 *m_eos; ///< end of stream (first address be yond written area) | |||
size_t m_size; ///< buffer size | size_t m_size; ///< buffer size | |||
bool m_allocated; ///< indicates a new allocated buffe r | bool m_allocated; ///< indicates a new allocated buffe r | |||
public: | public: | |||
/// Constructor | /// Constructor | |||
/// @param size Size of new allocated memory buffer | /// @param size Size of new allocated memory buffer | |||
CPGFMemoryStream(size_t size) THROW_; | CPGFMemoryStream(size_t size) THROW_; | |||
/// Constructor. Use already allocated memory of given size | /// Constructor. Use already allocated memory of given size | |||
/// @param pBuffer Memory location | /// @param pBuffer Memory location | |||
/// @param size Memory size | /// @param size Memory size | |||
CPGFMemoryStream(UINT8 *pBuffer, size_t size) THROW_; | CPGFMemoryStream(UINT8 *pBuffer, size_t size) THROW_; | |||
/// Constructor. Use already allocated memory of given size | ||||
/// Use already allocated memory of given size | ||||
/// @param pBuffer Memory location | /// @param pBuffer Memory location | |||
/// @param size Memory size | /// @param size Memory size | |||
void Reinitialize(UINT8 *pBuffer, size_t size) THROW_; | void Reinitialize(UINT8 *pBuffer, size_t size) THROW_; | |||
virtual ~CPGFMemoryStream() { | virtual ~CPGFMemoryStream() { | |||
m_pos = 0; | m_pos = 0; | |||
if (m_allocated) { | if (m_allocated) { | |||
// the memory buffer has been allocated inside of CP MFmemoryStream constructor | // the memory buffer has been allocated inside of CP MFmemoryStream constructor | |||
delete[] m_buffer; m_buffer = 0; | delete[] m_buffer; m_buffer = 0; | |||
} | } | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 3 lines changed or added | |||
PGFtypes.h | PGFtypes.h | |||
---|---|---|---|---|
skipping to change at line 48 | skipping to change at line 48 | |||
//------------------------------------------------------------------------- ------ | //------------------------------------------------------------------------- ------ | |||
// Codec versions | // Codec versions | |||
// | // | |||
// Version 2: modified data structure PGFHeader (backward compatibility as sured) | // Version 2: modified data structure PGFHeader (backward compatibility as sured) | |||
// Version 4: DataT: INT32 instead of INT16, allows 31 bit per pixel and c hannel (backward compatibility assured) | // Version 4: DataT: INT32 instead of INT16, allows 31 bit per pixel and c hannel (backward compatibility assured) | |||
// Version 5: ROI, new block-reordering scheme (backward compatibility ass ured) | // Version 5: ROI, new block-reordering scheme (backward compatibility ass ured) | |||
// Version 6: modified data structure PGFPreHeader: hSize (header size) is now a UINT32 instead of a UINT16 (backward compatibility assured) | // Version 6: modified data structure PGFPreHeader: hSize (header size) is now a UINT32 instead of a UINT16 (backward compatibility assured) | |||
// | // | |||
//------------------------------------------------------------------------- ------ | //------------------------------------------------------------------------- ------ | |||
#define PGFCodecVersion "6.12.24" ///< Major number | #define PGFCodecVersion "6.14.12" ///< Major number | |||
///< Minor number: Year (2) Week (2) | ///< Minor number: Year (2) Week (2) | |||
#define PGFCodecVersionID 0x061224 ///< Codec version ID to us e for API check in client implementation | #define PGFCodecVersionID 0x061412 ///< Codec version I D to use for API check in client implementation | |||
//------------------------------------------------------------------------- ------ | //------------------------------------------------------------------------- ------ | |||
// Image constants | // Image constants | |||
//------------------------------------------------------------------------- ------ | //------------------------------------------------------------------------- ------ | |||
#define Magic "PGF" ///< PGF identification | #define PGFMagic "PGF" ///< PGF identification | |||
#define MaxLevel 30 ///< maximum number of transform levels | #define MaxLevel 30 ///< maximum number of transform levels | |||
#define NSubbands 4 ///< number of subbands per level | #define NSubbands 4 ///< number of subbands per level | |||
#define MaxChannels 8 ///< maximum number of (color) channels | #define MaxChannels 8 ///< maximum number of (color) channels | |||
#define DownsampleThreshold 3 ///< if qual ity is larger than this threshold than downsampling is used | #define DownsampleThreshold 3 ///< if qual ity is larger than this threshold than downsampling is used | |||
#define ColorTableLen 256 ///< size of color lookup table (clut) | #define ColorTableLen 256 ///< size of color lookup table (clut) | |||
// version flags | // version flags | |||
#define Version2 2 ///< data structure PGFHeader of major version 2 | #define Version2 2 ///< data structure PGFHeader of major version 2 | |||
#define PGF32 4 ///< 32 bit values are used -> allows at maximum 31 bits, otherwise 16 bit values are used -> allows at maximum 15 bits | #define PGF32 4 ///< 32 bit values are used -> allows at maximum 31 bits, otherwise 16 bit values are used -> allows at maximum 15 bits | |||
#define PGFROI 8 ///< supports Regions Of Interest | #define PGFROI 8 ///< supports Regions Of Interest | |||
#define Version5 16 ///< new coding scheme since major version 5 | #define Version5 16 ///< new coding scheme since major version 5 | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||