Removed folders mj2, JavaOpenJpeg, jpwl, OPJViewer (not compliant with v2). Removed obsolete windows project files. Removed obsolete Makefiles (only build method currently supported with v2 branch: cmake). Renamed ChangeLog to CHANGES. Renamed License.txt to LICENSE. Removed obsolete README files.
This commit is contained in:
parent
fef7d00dc8
commit
9fba123a7a
|
@ -6,6 +6,7 @@ What's New for OpenJPEG
|
||||||
+ : added
|
+ : added
|
||||||
|
|
||||||
April 12, 2011
|
April 12, 2011
|
||||||
|
- [antonin] Removed folders mj2, JavaOpenJpeg, jpwl, OPJViewer (not compliant with v2). Removed obsolete windows project files. Removed obsolete Makefiles (only build method currently supported with v2 branch: cmake). Renamed ChangeLog to CHANGES. Renamed License.txt to LICENSE. Removed obsolete README files.
|
||||||
* [antonin] Fixed internal function names conflict with Jasper (http://code.google.com/p/openjpeg/issues/detail?id=30)
|
* [antonin] Fixed internal function names conflict with Jasper (http://code.google.com/p/openjpeg/issues/detail?id=30)
|
||||||
|
|
||||||
November 25, 2010
|
November 25, 2010
|
273
DllOpenJPEG.dsp
273
DllOpenJPEG.dsp
|
@ -1,273 +0,0 @@
|
||||||
# Microsoft Developer Studio Project File - Name="DllOpenJPEG" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
|
||||||
|
|
||||||
CFG=DllOpenJPEG - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "DllOpenJPEG.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "DllOpenJPEG.mak" CFG="DllOpenJPEG - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "DllOpenJPEG - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
|
||||||
!MESSAGE "DllOpenJPEG - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
MTL=midl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "DllOpenJPEG - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "Release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DLLOPENJPEG_EXPORTS" /Yu"stdafx.h" /FD /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OPJ_EXPORTS" /FD /c
|
|
||||||
# SUBTRACT CPP /YX /Yc /Yu
|
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
|
||||||
# ADD BASE RSC /l 0x40c /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x40c /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"Release/OpenJPEG.dll"
|
|
||||||
# Begin Special Build Tool
|
|
||||||
SOURCE="$(InputPath)"
|
|
||||||
PostBuild_Cmds=if not exist dist mkdir dist copy libopenjpeg\openjpeg.h dist copy Release\OpenJPEG.dll dist copy Release\OpenJPEG.lib dist
|
|
||||||
# End Special Build Tool
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "DllOpenJPEG - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug"
|
|
||||||
# PROP Intermediate_Dir "Debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DLLOPENJPEG_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OPJ_EXPORTS" /FD /GZ /c
|
|
||||||
# SUBTRACT CPP /YX /Yc /Yu
|
|
||||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
|
||||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
|
||||||
# ADD BASE RSC /l 0x40c /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x40c /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"Debug/OpenJPEGd.dll" /pdbtype:sept
|
|
||||||
# Begin Special Build Tool
|
|
||||||
SOURCE="$(InputPath)"
|
|
||||||
PostBuild_Cmds=if not exist dist mkdir dist copy libopenjpeg\openjpeg.h dist copy Debug\OpenJPEGd.dll dist copy Debug\OpenJPEGd.lib dist
|
|
||||||
# End Special Build Tool
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "DllOpenJPEG - Win32 Release"
|
|
||||||
# Name "DllOpenJPEG - Win32 Debug"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\bio.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\cio.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\dwt.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\event.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\image.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\j2k.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\j2k_lib.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\jp2.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\jpt.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\mct.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\mqc.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\openjpeg.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\pi.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\raw.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\t1.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\t2.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\tcd.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\tgt.c
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\bio.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\cio.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\dwt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\event.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\fix.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\image.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\int.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\j2k.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\j2k_lib.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\jp2.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\jpt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\mct.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\mqc.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\openjpeg.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\opj_includes.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\pi.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\raw.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\t1.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\t2.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\tcd.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\tgt.h
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Resource Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\OpenJPEG.rc
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
|
@ -1,20 +0,0 @@
|
||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 9.00
|
|
||||||
# Visual Studio 2005
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DllOpenJPEG", "DllOpenJPEG.vcproj", "{89AC992C-5E2C-4E6B-A453-61C1DF446216}"
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
Debug|Win32 = Debug|Win32
|
|
||||||
Release|Win32 = Release|Win32
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{89AC992C-5E2C-4E6B-A453-61C1DF446216}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{89AC992C-5E2C-4E6B-A453-61C1DF446216}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{89AC992C-5E2C-4E6B-A453-61C1DF446216}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{89AC992C-5E2C-4E6B-A453-61C1DF446216}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
|
@ -1,694 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="DllOpenJPEG"
|
|
||||||
ProjectGUID="{89AC992C-5E2C-4E6B-A453-61C1DF446216}"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory=".\Release"
|
|
||||||
IntermediateDirectory=".\Release"
|
|
||||||
ConfigurationType="2"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
MkTypLibCompatible="true"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
TargetEnvironment="1"
|
|
||||||
TypeLibraryName=".\Release/DllOpenJPEG.tlb"
|
|
||||||
HeaderFileName=""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
WholeProgramOptimization="false"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;OPJ_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
|
|
||||||
StringPooling="true"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
PrecompiledHeaderFile=".\Release/DllOpenJPEG.pch"
|
|
||||||
AssemblerListingLocation=".\Release/"
|
|
||||||
ObjectFile=".\Release/"
|
|
||||||
ProgramDataBaseFileName=".\Release/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1036"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
OutputFile="Release/OpenJPEG.dll"
|
|
||||||
LinkIncremental="1"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
ProgramDatabaseFile=".\Release/OpenJPEG.pdb"
|
|
||||||
LinkTimeCodeGeneration="0"
|
|
||||||
ImportLibrary=".\Release/OpenJPEG.lib"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile=".\Release/DllOpenJPEG.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
CommandLine="if not exist dist mkdir dist
copy libopenjpeg\openjpeg.h dist
copy Release\OpenJPEG.dll dist
copy Release\OpenJPEG.lib dist
"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory=".\Debug"
|
|
||||||
IntermediateDirectory=".\Debug"
|
|
||||||
ConfigurationType="2"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
MkTypLibCompatible="true"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
TargetEnvironment="1"
|
|
||||||
TypeLibraryName=".\Debug/DllOpenJPEG.tlb"
|
|
||||||
HeaderFileName=""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;OPJ_EXPORTS"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
PrecompiledHeaderFile=".\Debug/DllOpenJPEG.pch"
|
|
||||||
AssemblerListingLocation=".\Debug/"
|
|
||||||
ObjectFile=".\Debug/"
|
|
||||||
ProgramDataBaseFileName=".\Debug/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1036"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
OutputFile="Debug/OpenJPEGd.dll"
|
|
||||||
LinkIncremental="2"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
ProgramDatabaseFile=".\Debug/OpenJPEGd.pdb"
|
|
||||||
ImportLibrary=".\Debug/OpenJPEGd.lib"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile=".\Debug/DllOpenJPEG.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
CommandLine="if not exist dist mkdir dist
copy libopenjpeg\openjpeg.h dist
copy Debug\OpenJPEGd.dll dist
copy Debug\OpenJPEGd.lib dist
"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\bio.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\cio.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\dwt.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\event.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\libopenjpeg\function_list.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\image.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\libopenjpeg\invert.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\j2k.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\j2k_lib.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\jp2.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\jpt.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\mct.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\mqc.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\openjpeg.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\pi.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\libopenjpeg\profile.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\raw.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\t1.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\t2.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\tcd.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\tgt.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\bio.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\cio.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\dwt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\event.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\fix.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\libopenjpeg\function_list.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\image.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\int.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\libopenjpeg\invert.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\j2k.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\j2k_lib.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\jp2.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\jpt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\mct.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\mqc.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\openjpeg.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\opj_includes.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\pi.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\libopenjpeg\profile.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\raw.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\t1.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\t2.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\tcd.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\tgt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,53 +0,0 @@
|
||||||
# Build the demo app, small examples
|
|
||||||
|
|
||||||
# First thing define the common source:
|
|
||||||
SET(common_SRCS
|
|
||||||
convert.c
|
|
||||||
)
|
|
||||||
# Then check if getopt is present:
|
|
||||||
INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
|
|
||||||
SET(DONT_HAVE_GETOPT 1)
|
|
||||||
IF(UNIX) #I am pretty sure only *nix sys have this anyway
|
|
||||||
CHECK_INCLUDE_FILE("getopt.h" CMAKE_HAVE_GETOPT_H)
|
|
||||||
# Seems like we need the contrary:
|
|
||||||
IF(CMAKE_HAVE_GETOPT_H)
|
|
||||||
SET(DONT_HAVE_GETOPT 0)
|
|
||||||
ENDIF(CMAKE_HAVE_GETOPT_H)
|
|
||||||
ENDIF(UNIX)
|
|
||||||
|
|
||||||
# If not getopt was found then add it to the lib:
|
|
||||||
IF(DONT_HAVE_GETOPT)
|
|
||||||
ADD_DEFINITIONS(-DDONT_HAVE_GETOPT)
|
|
||||||
SET(common_SRCS
|
|
||||||
${common_SRCS}
|
|
||||||
compat/getopt.c
|
|
||||||
)
|
|
||||||
ENDIF(DONT_HAVE_GETOPT)
|
|
||||||
|
|
||||||
|
|
||||||
# Headers file are located here:
|
|
||||||
INCLUDE_DIRECTORIES(
|
|
||||||
${OPENJPEG_SOURCE_DIR}/libopenjpeg
|
|
||||||
)
|
|
||||||
|
|
||||||
# Do the proper thing when building static...if only there was configured
|
|
||||||
# headers or def files instead
|
|
||||||
IF(NOT BUILD_SHARED_LIBS)
|
|
||||||
ADD_DEFINITIONS(-DOPJ_STATIC)
|
|
||||||
ENDIF(NOT BUILD_SHARED_LIBS)
|
|
||||||
|
|
||||||
FIND_PACKAGE(TIFF REQUIRED)
|
|
||||||
|
|
||||||
# Loop over all executables:
|
|
||||||
FOREACH(exe j2k_to_image image_to_j2k)
|
|
||||||
ADD_EXECUTABLE(${exe} ${exe}.c ${common_SRCS})
|
|
||||||
TARGET_LINK_LIBRARIES(${exe} ${OPJ_PREFIX}openjpeg ${TIFF_LIBRARIES})
|
|
||||||
# On unix you need to link to the math library:
|
|
||||||
IF(UNIX)
|
|
||||||
TARGET_LINK_LIBRARIES(${exe} -lm)
|
|
||||||
ENDIF(UNIX)
|
|
||||||
# Install exe
|
|
||||||
INSTALL_TARGETS(/bin/ ${exe})
|
|
||||||
ENDFOREACH(exe)
|
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,110 +0,0 @@
|
||||||
# Microsoft Developer Studio Project File - Name="image_to_j2k" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=image_to_j2k - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "image_to_j2k.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "image_to_j2k.mak" CFG="image_to_j2k - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "image_to_j2k - Win32 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "image_to_j2k - Win32 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "image_to_j2k - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "Release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../libopenjpeg" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "OPJ_STATIC" /FD /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x40c /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x40c /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../libs/libtiff/libtiff.lib /nologo /subsystem:console /machine:I386 /nodefaultlib:"libc"
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "image_to_j2k - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug"
|
|
||||||
# PROP Intermediate_Dir "Debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../libopenjpeg" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "OPJ_STATIC" /FD /GZ /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x40c /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x40c /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../libs/libtiff/libtiff.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "image_to_j2k - Win32 Release"
|
|
||||||
# Name "image_to_j2k - Win32 Debug"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\convert.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\convert.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\compat\getopt.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\compat\getopt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\image_to_j2k.c
|
|
||||||
# End Source File
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
|
@ -1,44 +0,0 @@
|
||||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
|
||||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "LibOpenJPEG"=..\LibOpenJPEG.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "image_to_j2k"=.\image_to_j2k.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name LibOpenJPEG
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Global:
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<3>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
|
@ -1,276 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="7.10"
|
|
||||||
Name="JavaOpenJPEG"
|
|
||||||
ProjectGUID="{9D538724-B030-464C-A419-C80B3BC0D020}"
|
|
||||||
SccProjectName=""
|
|
||||||
SccLocalPath="">
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"/>
|
|
||||||
</Platforms>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory=".\Release"
|
|
||||||
IntermediateDirectory=".\Release"
|
|
||||||
ConfigurationType="2"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
|
||||||
CharacterSet="2">
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
GlobalOptimizations="TRUE"
|
|
||||||
InlineFunctionExpansion="2"
|
|
||||||
EnableIntrinsicFunctions="TRUE"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
OptimizeForWindowsApplication="TRUE"
|
|
||||||
AdditionalIncludeDirectories="../codec;../codec/compat;../libopenjpeg;".\java-jni\include";".\java-jni\include\win32""
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;OPJ_STATIC;CHECK_THRESHOLDS"
|
|
||||||
StringPooling="TRUE"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="TRUE"
|
|
||||||
PrecompiledHeaderFile=".\Release/JavaOpenJPEG.pch"
|
|
||||||
AssemblerListingLocation=".\Release/"
|
|
||||||
ObjectFile=".\Release/"
|
|
||||||
ProgramDataBaseFileName=".\Release/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="TRUE"
|
|
||||||
CompileAs="0"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="odbc32.lib odbccp32.lib ../libs/libtiff/libtiff.lib"
|
|
||||||
OutputFile="../../dlls/win32/JavaOpenJPEG.dll"
|
|
||||||
LinkIncremental="1"
|
|
||||||
SuppressStartupBanner="TRUE"
|
|
||||||
IgnoreDefaultLibraryNames="libc"
|
|
||||||
ProgramDatabaseFile=".\Release/JavaOpenJPEG.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TypeLibraryName=".\Release/JavaOpenJPEG.tlb"
|
|
||||||
HeaderFileName=""/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1036"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedWrapperGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory=".\Debug"
|
|
||||||
IntermediateDirectory=".\Debug"
|
|
||||||
ConfigurationType="2"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
|
||||||
CharacterSet="2">
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
GlobalOptimizations="FALSE"
|
|
||||||
InlineFunctionExpansion="0"
|
|
||||||
FavorSizeOrSpeed="0"
|
|
||||||
OptimizeForWindowsApplication="FALSE"
|
|
||||||
AdditionalIncludeDirectories="../libopenjpeg,../../../../3rdparty/windows/java-jni/include,../../../../3rdparty/windows/java-jni/include/win32"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;OPJ_STATIC"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
PrecompiledHeaderFile=".\Debug/JavaOpenJPEG.pch"
|
|
||||||
AssemblerListingLocation=".\Debug/"
|
|
||||||
ObjectFile=".\Debug/"
|
|
||||||
ProgramDataBaseFileName=".\Debug/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="TRUE"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
CompileAs="0"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="odbc32.lib odbccp32.lib ../libs/libtiff/libtiff.lib"
|
|
||||||
OutputFile=".\Debug/JavaOpenJPEG.dll"
|
|
||||||
LinkIncremental="1"
|
|
||||||
SuppressStartupBanner="TRUE"
|
|
||||||
IgnoreDefaultLibraryNames="libc"
|
|
||||||
GenerateDebugInformation="TRUE"
|
|
||||||
ProgramDatabaseFile=".\Debug/JavaOpenJPEG.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TypeLibraryName=".\Debug/JavaOpenJPEG.tlb"
|
|
||||||
HeaderFileName=""/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1036"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedWrapperGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release64|Win32"
|
|
||||||
OutputDirectory="$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
|
||||||
CharacterSet="2">
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
GlobalOptimizations="TRUE"
|
|
||||||
InlineFunctionExpansion="2"
|
|
||||||
EnableIntrinsicFunctions="TRUE"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
OptimizeForWindowsApplication="TRUE"
|
|
||||||
AdditionalIncludeDirectories="../libopenjpeg;../../../../3rdparty/windows/java-jni/include;../../../../3rdparty/windows/java-jni/include/win32"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;OPJ_STATIC"
|
|
||||||
StringPooling="TRUE"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="TRUE"
|
|
||||||
PrecompiledHeaderFile=".\Release64/JavaOpenJPEG.pch"
|
|
||||||
AssemblerListingLocation=".\Release64/"
|
|
||||||
ObjectFile=".\Release64/"
|
|
||||||
ProgramDataBaseFileName=".\Release64/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="TRUE"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
CompileAs="0"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalOptions="/machine:AMD64"
|
|
||||||
AdditionalDependencies="odbc32.lib odbccp32.lib "C:\Program Files\Microsoft Platform SDK\Lib\AMD64\bufferoverflowu.lib""
|
|
||||||
OutputFile="../../dlls/win32/JavaOpenJPEG.W64.dll"
|
|
||||||
LinkIncremental="1"
|
|
||||||
SuppressStartupBanner="TRUE"
|
|
||||||
IgnoreDefaultLibraryNames="libc"
|
|
||||||
ProgramDatabaseFile=".\Release64/JavaOpenJPEG.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="0"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TypeLibraryName=".\Release/JavaOpenJPEG.tlb"
|
|
||||||
HeaderFileName=""/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1036"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedWrapperGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath="..\codec\convert.c">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\codec\convert.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\codec\dirent.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\codec\compat\getopt.c">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\codec\compat\getopt.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\codec\index.c">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\codec\index.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="JavaOpenJPEG.c">
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32">
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32">
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
BasicRuntimeChecks="3"/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release64|Win32">
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\JavaOpenJPEGDecoder.c">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\org_openJpeg_OpenJPEGJavaDecoder.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\org_openJpeg_OpenJPEGJavaEncoder.h">
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,897 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium
|
|
||||||
* Copyright (c) 2002-2007, Professor Benoit Macq
|
|
||||||
* Copyright (c) 2001-2003, David Janssens
|
|
||||||
* Copyright (c) 2002-2003, Yannick Verschueren
|
|
||||||
* Copyright (c) 2003-2007, Francois-Olivier Devaux and Antonin Descampe
|
|
||||||
* Copyright (c) 2005, Herve Drolon, FreeImage Team
|
|
||||||
* Copyright (c) 2006-2007, Parvatha Elangovan
|
|
||||||
* Copyright (c) 2007, Patrick Piscaglia (Telemis)
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <jni.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#include "openjpeg.h"
|
|
||||||
#include "compat/getopt.h"
|
|
||||||
#include "convert.h"
|
|
||||||
#include "dirent.h"
|
|
||||||
#include "org_openJpeg_OpenJPEGJavaDecoder.h"
|
|
||||||
|
|
||||||
#ifndef WIN32
|
|
||||||
#define stricmp strcasecmp
|
|
||||||
#define strnicmp strncasecmp
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
#define J2K_CFMT 0
|
|
||||||
#define JP2_CFMT 1
|
|
||||||
#define JPT_CFMT 2
|
|
||||||
|
|
||||||
#define PXM_DFMT 10
|
|
||||||
#define PGX_DFMT 11
|
|
||||||
#define BMP_DFMT 12
|
|
||||||
#define YUV_DFMT 13
|
|
||||||
#define TIF_DFMT 14
|
|
||||||
#define RAW_DFMT 15
|
|
||||||
#define TGA_DFMT 16
|
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
typedef struct callback_variables {
|
|
||||||
JNIEnv *env;
|
|
||||||
/** 'jclass' object used to call a Java method from the C */
|
|
||||||
jobject *jobj;
|
|
||||||
/** 'jclass' object used to call a Java method from the C */
|
|
||||||
jmethodID message_mid;
|
|
||||||
jmethodID error_mid;
|
|
||||||
} callback_variables_t;
|
|
||||||
|
|
||||||
typedef struct dircnt{
|
|
||||||
/** Buffer for holding images read from Directory*/
|
|
||||||
char *filename_buf;
|
|
||||||
/** Pointer to the buffer*/
|
|
||||||
char **filename;
|
|
||||||
}dircnt_t;
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct img_folder{
|
|
||||||
/** The directory path of the folder containing input images*/
|
|
||||||
char *imgdirpath;
|
|
||||||
/** Output format*/
|
|
||||||
char *out_format;
|
|
||||||
/** Enable option*/
|
|
||||||
char set_imgdir;
|
|
||||||
/** Enable Cod Format for output*/
|
|
||||||
char set_out_format;
|
|
||||||
|
|
||||||
}img_fol_t;
|
|
||||||
|
|
||||||
|
|
||||||
void decode_help_display() {
|
|
||||||
fprintf(stdout,"HELP\n----\n\n");
|
|
||||||
fprintf(stdout,"- the -h option displays this help information on screen\n\n");
|
|
||||||
|
|
||||||
/* UniPG>> */
|
|
||||||
fprintf(stdout,"List of parameters for the JPEG 2000 "
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
"+ JPWL "
|
|
||||||
#endif /* USE_JPWL */
|
|
||||||
"decoder:\n");
|
|
||||||
/* <<UniPG */
|
|
||||||
fprintf(stdout,"\n");
|
|
||||||
fprintf(stdout,"\n");
|
|
||||||
fprintf(stdout," -ImgDir \n");
|
|
||||||
fprintf(stdout," Image file Directory path \n");
|
|
||||||
fprintf(stdout," -OutFor \n");
|
|
||||||
fprintf(stdout," REQUIRED only if -ImgDir is used\n");
|
|
||||||
fprintf(stdout," Need to specify only format without filename <BMP> \n");
|
|
||||||
fprintf(stdout," Currently accepts PGM, PPM, PNM, PGX, BMP format\n");
|
|
||||||
fprintf(stdout," -i <compressed file>\n");
|
|
||||||
fprintf(stdout," REQUIRED only if an Input image directory not specified\n");
|
|
||||||
fprintf(stdout," Currently accepts J2K-files, JP2-files and JPT-files. The file type\n");
|
|
||||||
fprintf(stdout," is identified based on its suffix.\n");
|
|
||||||
fprintf(stdout," -o <decompressed file>\n");
|
|
||||||
fprintf(stdout," REQUIRED\n");
|
|
||||||
fprintf(stdout," Currently accepts PGM-files, PPM-files, PNM-files, PGX-files and\n");
|
|
||||||
fprintf(stdout," BMP-files. Binary data is written to the file (not ascii). If a PGX\n");
|
|
||||||
fprintf(stdout," filename is given, there will be as many output files as there are\n");
|
|
||||||
fprintf(stdout," components: an indice starting from 0 will then be appended to the\n");
|
|
||||||
fprintf(stdout," output filename, just before the \"pgx\" extension. If a PGM filename\n");
|
|
||||||
fprintf(stdout," is given and there are more than one component, only the first component\n");
|
|
||||||
fprintf(stdout," will be written to the file.\n");
|
|
||||||
fprintf(stdout," -r <reduce factor>\n");
|
|
||||||
fprintf(stdout," Set the number of highest resolution levels to be discarded. The\n");
|
|
||||||
fprintf(stdout," image resolution is effectively divided by 2 to the power of the\n");
|
|
||||||
fprintf(stdout," number of discarded levels. The reduce factor is limited by the\n");
|
|
||||||
fprintf(stdout," smallest total number of decomposition levels among tiles.\n");
|
|
||||||
fprintf(stdout," -l <number of quality layers to decode>\n");
|
|
||||||
fprintf(stdout," Set the maximum number of quality layers to decode. If there are\n");
|
|
||||||
fprintf(stdout," less quality layers than the specified number, all the quality layers\n");
|
|
||||||
fprintf(stdout," are decoded.\n");
|
|
||||||
/* UniPG>> */
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
fprintf(stdout," -W <options>\n");
|
|
||||||
fprintf(stdout," Activates the JPWL correction capability, if the codestream complies.\n");
|
|
||||||
fprintf(stdout," Options can be a comma separated list of <param=val> tokens:\n");
|
|
||||||
fprintf(stdout," c, c=numcomps\n");
|
|
||||||
fprintf(stdout," numcomps is the number of expected components in the codestream\n");
|
|
||||||
fprintf(stdout," (search of first EPB rely upon this, default is %d)\n", JPWL_EXPECTED_COMPONENTS);
|
|
||||||
#endif /* USE_JPWL */
|
|
||||||
/* <<UniPG */
|
|
||||||
fprintf(stdout,"\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
int get_num_images(char *imgdirpath){
|
|
||||||
DIR *dir;
|
|
||||||
struct dirent* content;
|
|
||||||
int num_images = 0;
|
|
||||||
|
|
||||||
/*Reading the input images from given input directory*/
|
|
||||||
|
|
||||||
dir= opendir(imgdirpath);
|
|
||||||
if(!dir){
|
|
||||||
fprintf(stderr,"Could not open Folder %s\n",imgdirpath);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
while((content=readdir(dir))!=NULL){
|
|
||||||
if(strcmp(".",content->d_name)==0 || strcmp("..",content->d_name)==0 )
|
|
||||||
continue;
|
|
||||||
num_images++;
|
|
||||||
}
|
|
||||||
return num_images;
|
|
||||||
}
|
|
||||||
|
|
||||||
int load_images(dircnt_t *dirptr, char *imgdirpath){
|
|
||||||
DIR *dir;
|
|
||||||
struct dirent* content;
|
|
||||||
int i = 0;
|
|
||||||
|
|
||||||
/*Reading the input images from given input directory*/
|
|
||||||
|
|
||||||
dir= opendir(imgdirpath);
|
|
||||||
if(!dir){
|
|
||||||
fprintf(stderr,"Could not open Folder %s\n",imgdirpath);
|
|
||||||
return 1;
|
|
||||||
}else {
|
|
||||||
fprintf(stderr,"Folder opened successfully\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
while((content=readdir(dir))!=NULL){
|
|
||||||
if(strcmp(".",content->d_name)==0 || strcmp("..",content->d_name)==0 )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
strcpy(dirptr->filename[i],content->d_name);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int get_file_format(char *filename) {
|
|
||||||
unsigned int i;
|
|
||||||
static const char *extension[] = {"pgx", "pnm", "pgm", "ppm", "bmp","tif", "raw", "tga", "j2k", "jp2", "jpt", "j2c" };
|
|
||||||
static const int format[] = { PGX_DFMT, PXM_DFMT, PXM_DFMT, PXM_DFMT, BMP_DFMT, TIF_DFMT, RAW_DFMT, TGA_DFMT, J2K_CFMT, JP2_CFMT, JPT_CFMT, J2K_CFMT };
|
|
||||||
char * ext = strrchr(filename, '.');
|
|
||||||
if (ext == NULL)
|
|
||||||
return -1;
|
|
||||||
ext++;
|
|
||||||
if(ext) {
|
|
||||||
for(i = 0; i < sizeof(format)/sizeof(*format); i++) {
|
|
||||||
if(strnicmp(ext, extension[i], 3) == 0) {
|
|
||||||
return format[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,img_fol_t *img_fol) {
|
|
||||||
/* parse the command line */
|
|
||||||
int totlen;
|
|
||||||
option_t long_option[]={
|
|
||||||
{"ImgDir",REQ_ARG, NULL ,'y'},
|
|
||||||
{"OutFor",REQ_ARG, NULL ,'O'},
|
|
||||||
};
|
|
||||||
|
|
||||||
/* UniPG>> */
|
|
||||||
const char optlist[] = "i:o:r:l:hx:"
|
|
||||||
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
"W:"
|
|
||||||
#endif /* USE_JPWL */
|
|
||||||
;
|
|
||||||
/*for (i=0; i<argc; i++) {
|
|
||||||
printf("[%s]",argv[i]);
|
|
||||||
}
|
|
||||||
printf("\n");*/
|
|
||||||
|
|
||||||
/* <<UniPG */
|
|
||||||
totlen=sizeof(long_option);
|
|
||||||
img_fol->set_out_format = 0;
|
|
||||||
reset_options_reading();
|
|
||||||
|
|
||||||
while (1) {
|
|
||||||
int c = getopt_long(argc, argv,optlist,long_option,totlen);
|
|
||||||
if (c == -1)
|
|
||||||
break;
|
|
||||||
switch (c) {
|
|
||||||
case 'i': /* input file */
|
|
||||||
{
|
|
||||||
char *infile = optarg;
|
|
||||||
parameters->decod_format = get_file_format(infile);
|
|
||||||
switch(parameters->decod_format) {
|
|
||||||
case J2K_CFMT:
|
|
||||||
case JP2_CFMT:
|
|
||||||
case JPT_CFMT:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
fprintf(stderr,
|
|
||||||
"!! Unrecognized format for infile : %s [accept only *.j2k, *.jp2, *.jpc or *.jpt] !!\n\n",
|
|
||||||
infile);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
strncpy(parameters->infile, infile, sizeof(parameters->infile)-1);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
/* ----------------------------------------------------- */
|
|
||||||
|
|
||||||
case 'o': /* output file */
|
|
||||||
{
|
|
||||||
char *outfile = optarg;
|
|
||||||
parameters->cod_format = get_file_format(outfile);
|
|
||||||
switch(parameters->cod_format) {
|
|
||||||
case PGX_DFMT:
|
|
||||||
case PXM_DFMT:
|
|
||||||
case BMP_DFMT:
|
|
||||||
case TIF_DFMT:
|
|
||||||
case RAW_DFMT:
|
|
||||||
case TGA_DFMT:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
fprintf(stderr, "Unknown output format image %s [only *.pnm, *.pgm, *.ppm, *.pgx, *.bmp, *.tif, *.raw or *.tga]!! \n", outfile);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
strncpy(parameters->outfile, outfile, sizeof(parameters->outfile)-1);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
/* ----------------------------------------------------- */
|
|
||||||
|
|
||||||
case 'O': /* output format */
|
|
||||||
{
|
|
||||||
char outformat[50];
|
|
||||||
char *of = optarg;
|
|
||||||
sprintf(outformat,".%s",of);
|
|
||||||
img_fol->set_out_format = 1;
|
|
||||||
parameters->cod_format = get_file_format(outformat);
|
|
||||||
switch(parameters->cod_format) {
|
|
||||||
case PGX_DFMT:
|
|
||||||
img_fol->out_format = "pgx";
|
|
||||||
break;
|
|
||||||
case PXM_DFMT:
|
|
||||||
img_fol->out_format = "ppm";
|
|
||||||
break;
|
|
||||||
case BMP_DFMT:
|
|
||||||
img_fol->out_format = "bmp";
|
|
||||||
break;
|
|
||||||
case TIF_DFMT:
|
|
||||||
img_fol->out_format = "tif";
|
|
||||||
break;
|
|
||||||
case RAW_DFMT:
|
|
||||||
img_fol->out_format = "raw";
|
|
||||||
break;
|
|
||||||
case TGA_DFMT:
|
|
||||||
img_fol->out_format = "raw";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
fprintf(stderr, "Unknown output format image %s [only *.pnm, *.pgm, *.ppm, *.pgx, *.bmp, *.tif, *.raw or *.tga]!! \n", outformat);
|
|
||||||
return 1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
/* ----------------------------------------------------- */
|
|
||||||
|
|
||||||
|
|
||||||
case 'r': /* reduce option */
|
|
||||||
{
|
|
||||||
sscanf(optarg, "%d", ¶meters->cp_reduce);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
/* ----------------------------------------------------- */
|
|
||||||
|
|
||||||
|
|
||||||
case 'l': /* layering option */
|
|
||||||
{
|
|
||||||
sscanf(optarg, "%d", ¶meters->cp_layer);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
/* ----------------------------------------------------- */
|
|
||||||
|
|
||||||
case 'h': /* display an help description */
|
|
||||||
decode_help_display();
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
/* ------------------------------------------------------ */
|
|
||||||
|
|
||||||
case 'y': /* Image Directory path */
|
|
||||||
{
|
|
||||||
img_fol->imgdirpath = (char*)malloc(strlen(optarg) + 1);
|
|
||||||
strcpy(img_fol->imgdirpath,optarg);
|
|
||||||
img_fol->set_imgdir=1;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
/* ----------------------------------------------------- */
|
|
||||||
/* UniPG>> */
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
|
|
||||||
case 'W': /* activate JPWL correction */
|
|
||||||
{
|
|
||||||
char *token = NULL;
|
|
||||||
|
|
||||||
token = strtok(optarg, ",");
|
|
||||||
while(token != NULL) {
|
|
||||||
|
|
||||||
/* search expected number of components */
|
|
||||||
if (*token == 'c') {
|
|
||||||
|
|
||||||
static int compno;
|
|
||||||
|
|
||||||
compno = JPWL_EXPECTED_COMPONENTS; /* predefined no. of components */
|
|
||||||
|
|
||||||
if(sscanf(token, "c=%d", &compno) == 1) {
|
|
||||||
/* Specified */
|
|
||||||
if ((compno < 1) || (compno > 256)) {
|
|
||||||
fprintf(stderr, "ERROR -> invalid number of components c = %d\n", compno);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
parameters->jpwl_exp_comps = compno;
|
|
||||||
|
|
||||||
} else if (!strcmp(token, "c")) {
|
|
||||||
/* default */
|
|
||||||
parameters->jpwl_exp_comps = compno; /* auto for default size */
|
|
||||||
|
|
||||||
} else {
|
|
||||||
fprintf(stderr, "ERROR -> invalid components specified = %s\n", token);
|
|
||||||
return 1;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
/* search maximum number of tiles */
|
|
||||||
if (*token == 't') {
|
|
||||||
|
|
||||||
static int tileno;
|
|
||||||
|
|
||||||
tileno = JPWL_MAXIMUM_TILES; /* maximum no. of tiles */
|
|
||||||
|
|
||||||
if(sscanf(token, "t=%d", &tileno) == 1) {
|
|
||||||
/* Specified */
|
|
||||||
if ((tileno < 1) || (tileno > JPWL_MAXIMUM_TILES)) {
|
|
||||||
fprintf(stderr, "ERROR -> invalid number of tiles t = %d\n", tileno);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
parameters->jpwl_max_tiles = tileno;
|
|
||||||
|
|
||||||
} else if (!strcmp(token, "t")) {
|
|
||||||
/* default */
|
|
||||||
parameters->jpwl_max_tiles = tileno; /* auto for default size */
|
|
||||||
|
|
||||||
} else {
|
|
||||||
fprintf(stderr, "ERROR -> invalid tiles specified = %s\n", token);
|
|
||||||
return 1;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
/* next token or bust */
|
|
||||||
token = strtok(NULL, ",");
|
|
||||||
};
|
|
||||||
parameters->jpwl_correct = true;
|
|
||||||
fprintf(stdout, "JPWL correction capability activated\n");
|
|
||||||
fprintf(stdout, "- expecting %d components\n", parameters->jpwl_exp_comps);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
#endif /* USE_JPWL */
|
|
||||||
/* <<UniPG */
|
|
||||||
|
|
||||||
/* ----------------------------------------------------- */
|
|
||||||
|
|
||||||
default:
|
|
||||||
fprintf(stderr,"WARNING -> this option is not valid \"-%c %s\"\n",c, optarg);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* No check for possible errors before the -i and -o options are of course not mandatory*/
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/**
|
|
||||||
error callback returning the message to Java andexpecting a callback_variables_t client object
|
|
||||||
*/
|
|
||||||
void error_callback(const char *msg, void *client_data) {
|
|
||||||
callback_variables_t* vars = (callback_variables_t*) client_data;
|
|
||||||
JNIEnv *env = vars->env;
|
|
||||||
jstring jbuffer;
|
|
||||||
|
|
||||||
jbuffer = (*env)->NewStringUTF(env, msg);
|
|
||||||
(*env)->ExceptionClear(env);
|
|
||||||
(*env)->CallVoidMethod(env, *(vars->jobj), vars->error_mid, jbuffer);
|
|
||||||
|
|
||||||
if ((*env)->ExceptionOccurred(env)) {
|
|
||||||
fprintf(stderr,"C: Exception during call back method\n");
|
|
||||||
(*env)->ExceptionDescribe(env);
|
|
||||||
(*env)->ExceptionClear(env);
|
|
||||||
}
|
|
||||||
(*env)->DeleteLocalRef(env, jbuffer);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
warning callback returning the message to Java andexpecting a callback_variables_t client object
|
|
||||||
*/
|
|
||||||
void warning_callback(const char *msg, void *client_data) {
|
|
||||||
callback_variables_t* vars = (callback_variables_t*) client_data;
|
|
||||||
JNIEnv *env = vars->env;
|
|
||||||
jstring jbuffer;
|
|
||||||
|
|
||||||
jbuffer = (*env)->NewStringUTF(env, msg);
|
|
||||||
(*env)->ExceptionClear(env);
|
|
||||||
(*env)->CallVoidMethod(env, *(vars->jobj), vars->message_mid, jbuffer);
|
|
||||||
|
|
||||||
if ((*env)->ExceptionOccurred(env)) {
|
|
||||||
fprintf(stderr,"C: Exception during call back method\n");
|
|
||||||
(*env)->ExceptionDescribe(env);
|
|
||||||
(*env)->ExceptionClear(env);
|
|
||||||
}
|
|
||||||
(*env)->DeleteLocalRef(env, jbuffer);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
information callback returning the message to Java andexpecting a callback_variables_t client object
|
|
||||||
*/
|
|
||||||
void info_callback(const char *msg, void *client_data) {
|
|
||||||
callback_variables_t* vars = (callback_variables_t*) client_data;
|
|
||||||
JNIEnv *env = vars->env;
|
|
||||||
jstring jbuffer;
|
|
||||||
|
|
||||||
jbuffer = (*env)->NewStringUTF(env, msg);
|
|
||||||
(*env)->ExceptionClear(env);
|
|
||||||
(*env)->CallVoidMethod(env, *(vars->jobj), vars->message_mid, jbuffer);
|
|
||||||
|
|
||||||
if ((*env)->ExceptionOccurred(env)) {
|
|
||||||
fprintf(stderr,"C: Exception during call back method\n");
|
|
||||||
(*env)->ExceptionDescribe(env);
|
|
||||||
(*env)->ExceptionClear(env);
|
|
||||||
}
|
|
||||||
(*env)->DeleteLocalRef(env, jbuffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------
|
|
||||||
-------------------- MAIN METHOD, CALLED BY JAVA -----------------------*/
|
|
||||||
JNIEXPORT jint JNICALL Java_org_openJpeg_OpenJPEGJavaDecoder_internalDecodeJ2KtoImage(JNIEnv *env, jobject obj, jobjectArray javaParameters) {
|
|
||||||
int argc; /* To simulate the command line parameters (taken from the javaParameters variable) and be able to re-use the */
|
|
||||||
char **argv; /* 'parse_cmdline_decoder' method taken from the j2k_to_image project */
|
|
||||||
opj_dparameters_t parameters; /* decompression parameters */
|
|
||||||
img_fol_t img_fol;
|
|
||||||
opj_event_mgr_t event_mgr; /* event manager */
|
|
||||||
opj_image_t *image = NULL;
|
|
||||||
FILE *fsrc = NULL;
|
|
||||||
unsigned char *src = NULL;
|
|
||||||
int file_length;
|
|
||||||
int num_images;
|
|
||||||
int i,j,imageno;
|
|
||||||
opj_dinfo_t* dinfo = NULL; /* handle to a decompressor */
|
|
||||||
opj_cio_t *cio = NULL;
|
|
||||||
int w,h;
|
|
||||||
long min_value, max_value;
|
|
||||||
short tempS; unsigned char tempUC, tempUC1, tempUC2;
|
|
||||||
// ==> Access variables to the Java member variables
|
|
||||||
jsize arraySize;
|
|
||||||
jclass cls;
|
|
||||||
jobject object;
|
|
||||||
jboolean isCopy;
|
|
||||||
jfieldID fid;
|
|
||||||
jbyteArray jba;
|
|
||||||
jshortArray jsa;
|
|
||||||
jintArray jia;
|
|
||||||
jbyte *jbBody, *ptrBBody;
|
|
||||||
jshort *jsBody, *ptrSBody;
|
|
||||||
jint *jiBody, *ptrIBody;
|
|
||||||
callback_variables_t msgErrorCallback_vars;
|
|
||||||
// <=== access variable to Java member variables */
|
|
||||||
int *ptr, *ptr1, *ptr2; // <== To transfer the decoded image to Java
|
|
||||||
|
|
||||||
/* configure the event callbacks */
|
|
||||||
memset(&event_mgr, 0, sizeof(opj_event_mgr_t));
|
|
||||||
event_mgr.error_handler = error_callback;
|
|
||||||
event_mgr.warning_handler = warning_callback;
|
|
||||||
event_mgr.info_handler = info_callback;
|
|
||||||
|
|
||||||
// JNI reference to the calling class
|
|
||||||
cls = (*env)->GetObjectClass(env, obj);
|
|
||||||
|
|
||||||
// Pointers to be able to call a Java method for all the info and error messages
|
|
||||||
msgErrorCallback_vars.env = env;
|
|
||||||
msgErrorCallback_vars.jobj = &obj;
|
|
||||||
msgErrorCallback_vars.message_mid = (*env)->GetMethodID(env, cls, "logMessage", "(Ljava/lang/String;)V");
|
|
||||||
msgErrorCallback_vars.error_mid = (*env)->GetMethodID(env, cls, "logError", "(Ljava/lang/String;)V");
|
|
||||||
|
|
||||||
// Get the String[] containing the parameters, and converts it into a char** to simulate command line arguments.
|
|
||||||
arraySize = (*env)->GetArrayLength(env, javaParameters);
|
|
||||||
argc = (int) arraySize +1;
|
|
||||||
argv = malloc(argc*sizeof(char*));
|
|
||||||
argv[0] = "ProgramName.exe"; // The program name: useless
|
|
||||||
j=0;
|
|
||||||
for (i=1; i<argc; i++) {
|
|
||||||
object = (*env)->GetObjectArrayElement(env, javaParameters, i-1);
|
|
||||||
argv[i] = (*env)->GetStringUTFChars(env, object, &isCopy);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*printf("C: decoder params = ");
|
|
||||||
for (i=0; i<argc; i++) {
|
|
||||||
printf("[%s]",argv[i]);
|
|
||||||
}
|
|
||||||
printf("\n");*/
|
|
||||||
|
|
||||||
/* set decoding parameters to default values */
|
|
||||||
opj_set_default_decoder_parameters(¶meters);
|
|
||||||
parameters.decod_format = J2K_CFMT;
|
|
||||||
|
|
||||||
/* parse input and get user encoding parameters */
|
|
||||||
if(parse_cmdline_decoder(argc, argv, ¶meters,&img_fol) == 1) {
|
|
||||||
// Release the Java arguments array
|
|
||||||
for (i=1; i<argc; i++)
|
|
||||||
(*env)->ReleaseStringUTFChars(env, (*env)->GetObjectArrayElement(env, javaParameters, i-1), argv[i]);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
// Release the Java arguments array
|
|
||||||
for (i=1; i<argc; i++)
|
|
||||||
(*env)->ReleaseStringUTFChars(env, (*env)->GetObjectArrayElement(env, javaParameters, i-1), argv[i]);
|
|
||||||
|
|
||||||
num_images=1;
|
|
||||||
|
|
||||||
// Get additional information from the Java object variables
|
|
||||||
fid = (*env)->GetFieldID(env, cls,"skippedResolutions", "I");
|
|
||||||
parameters.cp_reduce = (short) (*env)->GetIntField(env, obj, fid);
|
|
||||||
|
|
||||||
/*Decoding image one by one*/
|
|
||||||
for(imageno = 0; imageno < num_images ; imageno++)
|
|
||||||
{
|
|
||||||
image = NULL;
|
|
||||||
fprintf(stderr,"\n");
|
|
||||||
|
|
||||||
/* read the input file and put it in memory into the 'src' object, if the -i option is given in JavaParameters.
|
|
||||||
Implemented for debug purpose. */
|
|
||||||
/* -------------------------------------------------------------- */
|
|
||||||
if (parameters.infile && parameters.infile[0]!='\0') {
|
|
||||||
//printf("C: opening [%s]\n", parameters.infile);
|
|
||||||
fsrc = fopen(parameters.infile, "rb");
|
|
||||||
if (!fsrc) {
|
|
||||||
fprintf(stderr, "ERROR -> failed to open %s for reading\n", parameters.infile);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
fseek(fsrc, 0, SEEK_END);
|
|
||||||
file_length = ftell(fsrc);
|
|
||||||
fseek(fsrc, 0, SEEK_SET);
|
|
||||||
src = (unsigned char *) malloc(file_length);
|
|
||||||
fread(src, 1, file_length, fsrc);
|
|
||||||
fclose(fsrc);
|
|
||||||
//printf("C: %d bytes read from file\n",file_length);
|
|
||||||
} else {
|
|
||||||
// Preparing the transfer of the codestream from Java to C
|
|
||||||
//printf("C: before transfering codestream\n");
|
|
||||||
fid = (*env)->GetFieldID(env, cls,"compressedStream", "[B");
|
|
||||||
jba = (*env)->GetObjectField(env, obj, fid);
|
|
||||||
file_length = (*env)->GetArrayLength(env, jba);
|
|
||||||
jbBody = (*env)->GetByteArrayElements(env, jba, &isCopy);
|
|
||||||
src = (unsigned char*)jbBody;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* decode the code-stream */
|
|
||||||
/* ---------------------- */
|
|
||||||
|
|
||||||
switch(parameters.decod_format) {
|
|
||||||
case J2K_CFMT:
|
|
||||||
{
|
|
||||||
/* JPEG-2000 codestream */
|
|
||||||
|
|
||||||
/* get a decoder handle */
|
|
||||||
dinfo = opj_create_decompress(CODEC_J2K);
|
|
||||||
|
|
||||||
/* catch events using our callbacks and give a local context */
|
|
||||||
opj_set_event_mgr((opj_common_ptr)dinfo, &event_mgr, &msgErrorCallback_vars);
|
|
||||||
|
|
||||||
/* setup the decoder decoding parameters using user parameters */
|
|
||||||
opj_setup_decoder(dinfo, ¶meters);
|
|
||||||
|
|
||||||
/* open a byte stream */
|
|
||||||
cio = opj_cio_open((opj_common_ptr)dinfo, src, file_length);
|
|
||||||
|
|
||||||
/* decode the stream and fill the image structure */
|
|
||||||
image = opj_decode(dinfo, cio);
|
|
||||||
if(!image) {
|
|
||||||
fprintf(stderr, "ERROR -> j2k_to_image: failed to decode image!\n");
|
|
||||||
opj_destroy_decompress(dinfo);
|
|
||||||
opj_cio_close(cio);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* close the byte stream */
|
|
||||||
opj_cio_close(cio);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case JP2_CFMT:
|
|
||||||
{
|
|
||||||
/* JPEG 2000 compressed image data */
|
|
||||||
|
|
||||||
/* get a decoder handle */
|
|
||||||
dinfo = opj_create_decompress(CODEC_JP2);
|
|
||||||
|
|
||||||
/* catch events using our callbacks and give a local context */
|
|
||||||
opj_set_event_mgr((opj_common_ptr)dinfo, &event_mgr, &msgErrorCallback_vars);
|
|
||||||
|
|
||||||
/* setup the decoder decoding parameters using the current image and user parameters */
|
|
||||||
opj_setup_decoder(dinfo, ¶meters);
|
|
||||||
|
|
||||||
/* open a byte stream */
|
|
||||||
cio = opj_cio_open((opj_common_ptr)dinfo, src, file_length);
|
|
||||||
|
|
||||||
/* decode the stream and fill the image structure */
|
|
||||||
image = opj_decode(dinfo, cio);
|
|
||||||
if(!image) {
|
|
||||||
fprintf(stderr, "ERROR -> j2k_to_image: failed to decode image!\n");
|
|
||||||
opj_destroy_decompress(dinfo);
|
|
||||||
opj_cio_close(cio);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* close the byte stream */
|
|
||||||
opj_cio_close(cio);
|
|
||||||
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case JPT_CFMT:
|
|
||||||
{
|
|
||||||
/* JPEG 2000, JPIP */
|
|
||||||
|
|
||||||
/* get a decoder handle */
|
|
||||||
dinfo = opj_create_decompress(CODEC_JPT);
|
|
||||||
|
|
||||||
/* catch events using our callbacks and give a local context */
|
|
||||||
opj_set_event_mgr((opj_common_ptr)dinfo, &event_mgr, &msgErrorCallback_vars);
|
|
||||||
|
|
||||||
/* setup the decoder decoding parameters using user parameters */
|
|
||||||
opj_setup_decoder(dinfo, ¶meters);
|
|
||||||
|
|
||||||
/* open a byte stream */
|
|
||||||
cio = opj_cio_open((opj_common_ptr)dinfo, src, file_length);
|
|
||||||
|
|
||||||
/* decode the stream and fill the image structure */
|
|
||||||
image = opj_decode(dinfo, cio);
|
|
||||||
if(!image) {
|
|
||||||
fprintf(stderr, "ERROR -> j2k_to_image: failed to decode image!\n");
|
|
||||||
opj_destroy_decompress(dinfo);
|
|
||||||
opj_cio_close(cio);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* close the byte stream */
|
|
||||||
opj_cio_close(cio);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
fprintf(stderr, "skipping file..\n");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* free the memory containing the code-stream */
|
|
||||||
if (parameters.infile && parameters.infile[0]!='\0') {
|
|
||||||
free(src);
|
|
||||||
} else {
|
|
||||||
(*env)->ReleaseByteArrayElements(env, jba, jbBody, 0);
|
|
||||||
}
|
|
||||||
src = NULL;
|
|
||||||
|
|
||||||
/* create output image.
|
|
||||||
If the -o parameter is given in the JavaParameters, write the decoded version into a file.
|
|
||||||
Implemented for debug purpose. */
|
|
||||||
/* ---------------------------------- */
|
|
||||||
switch (parameters.cod_format) {
|
|
||||||
case PXM_DFMT: /* PNM PGM PPM */
|
|
||||||
if (imagetopnm(image, parameters.outfile)) {
|
|
||||||
fprintf(stdout,"Outfile %s not generated\n",parameters.outfile);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
fprintf(stdout,"Generated Outfile %s\n",parameters.outfile);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PGX_DFMT: /* PGX */
|
|
||||||
if(imagetopgx(image, parameters.outfile)){
|
|
||||||
fprintf(stdout,"Outfile %s not generated\n",parameters.outfile);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
fprintf(stdout,"Generated Outfile %s\n",parameters.outfile);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case BMP_DFMT: /* BMP */
|
|
||||||
if(imagetobmp(image, parameters.outfile)){
|
|
||||||
fprintf(stdout,"Outfile %s not generated\n",parameters.outfile);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
fprintf(stdout,"Generated Outfile %s\n",parameters.outfile);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// ========= Return the image to the Java structure ===============
|
|
||||||
#ifdef CHECK_THRESHOLDS
|
|
||||||
printf("C: checking thresholds\n");
|
|
||||||
#endif
|
|
||||||
// First compute the real with and height, in function of the resolutions decoded.
|
|
||||||
//wr = (image->comps[0].w + (1 << image->comps[0].factor) -1) >> image->comps[0].factor;
|
|
||||||
//hr = (image->comps[0].h + (1 << image->comps[0].factor) -1) >> image->comps[0].factor;
|
|
||||||
w = image->comps[0].w;
|
|
||||||
h = image->comps[0].h;
|
|
||||||
|
|
||||||
if (image->numcomps==3) { // 3 components color image
|
|
||||||
ptr = image->comps[0].data;
|
|
||||||
ptr1 = image->comps[1].data;
|
|
||||||
ptr2 = image->comps[2].data;
|
|
||||||
#ifdef CHECK_THRESHOLDS
|
|
||||||
if (image->comps[0].sgnd) {
|
|
||||||
min_value = 0;
|
|
||||||
max_value = 255;
|
|
||||||
} else {
|
|
||||||
min_value = -128;
|
|
||||||
max_value = 127;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
// Get the pointer to the Java structure where the data must be copied
|
|
||||||
fid = (*env)->GetFieldID(env, cls,"image24", "[I");
|
|
||||||
jia = (*env)->GetObjectField(env, obj, fid);
|
|
||||||
jiBody = (*env)->GetIntArrayElements(env, jia, 0);
|
|
||||||
ptrIBody = jiBody;
|
|
||||||
printf("C: transfering image24: %d int to Java pointer=%d\n",image->numcomps*w*h, ptrIBody);
|
|
||||||
|
|
||||||
for (i=0; i<w*h; i++) {
|
|
||||||
tempUC = (unsigned char)(ptr[i]);
|
|
||||||
tempUC1 = (unsigned char)(ptr1[i]);
|
|
||||||
tempUC2 = (unsigned char)(ptr2[i]);
|
|
||||||
#ifdef CHECK_THRESHOLDS
|
|
||||||
if (tempUC < min_value)
|
|
||||||
tempUC=min_value;
|
|
||||||
else if (tempUC > max_value)
|
|
||||||
tempUC=max_value;
|
|
||||||
if (tempUC1 < min_value)
|
|
||||||
tempUC1=min_value;
|
|
||||||
else if (tempUC1 > max_value)
|
|
||||||
tempUC1=max_value;
|
|
||||||
if (tempUC2 < min_value)
|
|
||||||
tempUC2=min_value;
|
|
||||||
else if (tempUC2 > max_value)
|
|
||||||
tempUC2=max_value;
|
|
||||||
#endif
|
|
||||||
*(ptrIBody++) = (int) ( (tempUC2<<16) + (tempUC1<<8) + tempUC );
|
|
||||||
}
|
|
||||||
(*env)->ReleaseIntArrayElements(env, jia, jiBody, 0);
|
|
||||||
|
|
||||||
} else { // 1 component 8 or 16 bpp image
|
|
||||||
ptr = image->comps[0].data;
|
|
||||||
printf("C: before transfering a %d bpp image to java (length = %d)\n",image->comps[0].prec ,w*h);
|
|
||||||
if (image->comps[0].prec<=8) {
|
|
||||||
fid = (*env)->GetFieldID(env, cls,"image8", "[B");
|
|
||||||
jba = (*env)->GetObjectField(env, obj, fid);
|
|
||||||
jbBody = (*env)->GetByteArrayElements(env, jba, 0);
|
|
||||||
ptrBBody = jbBody;
|
|
||||||
#ifdef CHECK_THRESHOLDS
|
|
||||||
if (image->comps[0].sgnd) {
|
|
||||||
min_value = 0;
|
|
||||||
max_value = 255;
|
|
||||||
} else {
|
|
||||||
min_value = -128;
|
|
||||||
max_value = 127;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
//printf("C: transfering %d shorts to Java image8 pointer = %d\n", wr*hr,ptrSBody);
|
|
||||||
for (i=0; i<w*h; i++) {
|
|
||||||
tempUC = (unsigned char) (ptr[i]);
|
|
||||||
#ifdef CHECK_THRESHOLDS
|
|
||||||
if (tempUC<min_value)
|
|
||||||
tempUC = min_value;
|
|
||||||
else if (tempUC > max_value)
|
|
||||||
tempUC = max_value;
|
|
||||||
#endif
|
|
||||||
*(ptrBBody++) = tempUC;
|
|
||||||
}
|
|
||||||
(*env)->ReleaseByteArrayElements(env, jba, jbBody, 0);
|
|
||||||
printf("C: image8 transfered to Java\n");
|
|
||||||
} else {
|
|
||||||
fid = (*env)->GetFieldID(env, cls,"image16", "[S");
|
|
||||||
jsa = (*env)->GetObjectField(env, obj, fid);
|
|
||||||
jsBody = (*env)->GetShortArrayElements(env, jsa, 0);
|
|
||||||
ptrSBody = jsBody;
|
|
||||||
#ifdef CHECK_THRESHOLDS
|
|
||||||
if (image->comps[0].sgnd) {
|
|
||||||
min_value = 0;
|
|
||||||
max_value = 65535;
|
|
||||||
} else {
|
|
||||||
min_value = -32768;
|
|
||||||
max_value = 32767;
|
|
||||||
}
|
|
||||||
printf("C: minValue = %d, maxValue = %d\n", min_value, max_value);
|
|
||||||
#endif
|
|
||||||
printf("C: transfering %d shorts to Java image16 pointer = %d\n", w*h,ptrSBody);
|
|
||||||
for (i=0; i<w*h; i++) {
|
|
||||||
tempS = (short) (ptr[i]);
|
|
||||||
#ifdef CHECK_THRESHOLDS
|
|
||||||
if (tempS<min_value) {
|
|
||||||
printf("C: value %d truncated to %d\n", tempS, min_value);
|
|
||||||
tempS = min_value;
|
|
||||||
} else if (tempS > max_value) {
|
|
||||||
printf("C: value %d truncated to %d\n", tempS, max_value);
|
|
||||||
tempS = max_value;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
*(ptrSBody++) = tempS;
|
|
||||||
}
|
|
||||||
(*env)->ReleaseShortArrayElements(env, jsa, jsBody, 0);
|
|
||||||
printf("C: image16 completely filled\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* free remaining structures */
|
|
||||||
if(dinfo) {
|
|
||||||
opj_destroy_decompress(dinfo);
|
|
||||||
}
|
|
||||||
/* free image data structure */
|
|
||||||
opj_image_destroy(image);
|
|
||||||
|
|
||||||
}
|
|
||||||
return 1; /* OK */
|
|
||||||
}
|
|
||||||
//end main
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
# Makefile for the main OpenJPEG codecs: j2k_to_image and image_to_j2k
|
|
||||||
|
|
||||||
CFLAGS = -O3 -lstdc++ # -g -p -pg
|
|
||||||
|
|
||||||
all: j2k_to_image image_to_j2k
|
|
||||||
|
|
||||||
j2k_to_image: j2k_to_image.c ../libopenjpeg.a
|
|
||||||
gcc $(CFLAGS) compat/getopt.c convert.c j2k_to_image.c -o j2k_to_image -L.. -lopenjpeg -I ../libopenjpeg/ -lm -ltiff
|
|
||||||
|
|
||||||
image_to_j2k: image_to_j2k.c ../libopenjpeg.a
|
|
||||||
gcc $(CFLAGS) compat/getopt.c convert.c image_to_j2k.c -o image_to_j2k -L.. -lopenjpeg -I ../libopenjpeg/ -lm -ltiff
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f j2k_to_image image_to_j2k
|
|
|
@ -1,250 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium
|
|
||||||
* Copyright (c) 2002-2007, Professor Benoit Macq
|
|
||||||
* Copyright (c) 2002-2007, Patrick Piscaglia, Telemis s.a.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
package org.openJpeg;
|
|
||||||
|
|
||||||
import java.util.Vector;
|
|
||||||
|
|
||||||
/** This class decodes one J2K codestream into an image (width + height + depth + pixels[],
|
|
||||||
* using the OpenJPEG.org library.
|
|
||||||
* To be able to log messages, the called must register a IJavaJ2KDecoderLogger object.
|
|
||||||
*/
|
|
||||||
public class OpenJPEGJavaDecoder {
|
|
||||||
|
|
||||||
public interface IJavaJ2KDecoderLogger {
|
|
||||||
public void logDecoderMessage(String message);
|
|
||||||
public void logDecoderError(String message);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean isInitialized = false;
|
|
||||||
|
|
||||||
// ===== decompression parameters =============>
|
|
||||||
// These value may be changed for each image
|
|
||||||
private String[] decoder_arguments = null;
|
|
||||||
/** number of resolutions decompositions */
|
|
||||||
private int nbResolutions = -1;
|
|
||||||
/** the quality layers */
|
|
||||||
private int[] layers = null;
|
|
||||||
|
|
||||||
/** Contains the 8 bpp version of the image. May NOT be filled together with image16 or image24.<P>
|
|
||||||
* We store in Java the 8 or 16 bpp version of the image while the decoder uses a 32 bpp version, because <UL>
|
|
||||||
* <LI> the storage capacity required is smaller
|
|
||||||
* <LI> the transfer Java <-- C will be faster
|
|
||||||
* <LI> the conversion byte/short ==> int will be done faster by the C
|
|
||||||
* </UL>*/
|
|
||||||
private byte[] image8 = null;
|
|
||||||
/** Contains the 16 bpp version of the image. May NOT be filled together with image8 or image24*/
|
|
||||||
private short[] image16 = null;
|
|
||||||
/** Contains the 24 bpp version of the image. May NOT be filled together with image8 or image16 */
|
|
||||||
private int[] image24 = null;
|
|
||||||
/** Holds the J2K compressed bytecode to decode */
|
|
||||||
private byte compressedStream[] = null;
|
|
||||||
/** Holds the compressed version of the index file, to be used by the decoder */
|
|
||||||
private byte compressedIndex[] = null;
|
|
||||||
/** Width and Height of the image */
|
|
||||||
private int width = -1;
|
|
||||||
private int height = -1;
|
|
||||||
private int depth = -1;
|
|
||||||
/** This parameter is never used in Java but is read by the C library to know the number of resolutions to skip when decoding,
|
|
||||||
* i.e. if there are 5 resolutions and skipped=1 ==> decode until resolution 4. */
|
|
||||||
private int skippedResolutions = 0;
|
|
||||||
|
|
||||||
private Vector<IJavaJ2KDecoderLogger> loggers = new Vector();
|
|
||||||
|
|
||||||
|
|
||||||
public OpenJPEGJavaDecoder(String openJPEGlibraryFullPathAndName, IJavaJ2KDecoderLogger messagesAndErrorsLogger) throws ExceptionInInitializerError
|
|
||||||
{
|
|
||||||
this(openJPEGlibraryFullPathAndName);
|
|
||||||
loggers.addElement(messagesAndErrorsLogger);
|
|
||||||
}
|
|
||||||
|
|
||||||
public OpenJPEGJavaDecoder(String openJPEGlibraryFullPathAndName) throws ExceptionInInitializerError
|
|
||||||
{
|
|
||||||
if (!isInitialized) {
|
|
||||||
try {
|
|
||||||
System.load(openJPEGlibraryFullPathAndName);
|
|
||||||
isInitialized = true;
|
|
||||||
} catch (Throwable t) {
|
|
||||||
throw new ExceptionInInitializerError("OpenJPEG Java Decoder: probably impossible to find the C library");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addLogger(IJavaJ2KDecoderLogger messagesAndErrorsLogger) {
|
|
||||||
loggers.addElement(messagesAndErrorsLogger);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void removeLogger(IJavaJ2KDecoderLogger messagesAndErrorsLogger) {
|
|
||||||
loggers.removeElement(messagesAndErrorsLogger);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int decodeJ2KtoImage() {
|
|
||||||
if ((image16 == null || (image16 != null && image16.length != width*height)) && (depth==-1 || depth==16)) {
|
|
||||||
image16 = new short[width*height];
|
|
||||||
logMessage("OpenJPEGJavaDecoder.decompressImage: image16 length = " + image16.length + " (" + width + " x " + height + ") ");
|
|
||||||
}
|
|
||||||
if ((image8 == null || (image8 != null && image8.length != width*height)) && (depth==-1 || depth==8)) {
|
|
||||||
image8 = new byte[width*height];
|
|
||||||
logMessage("OpenJPEGJavaDecoder.decompressImage: image8 length = " + image8.length + " (" + width + " x " + height + ") ");
|
|
||||||
}
|
|
||||||
if ((image24 == null || (image24 != null && image24.length != width*height)) && (depth==-1 || depth==24)) {
|
|
||||||
image24 = new int[width*height];
|
|
||||||
logMessage("OpenJPEGJavaDecoder.decompressImage: image24 length = " + image24.length + " (" + width + " x " + height + ") ");
|
|
||||||
}
|
|
||||||
|
|
||||||
String[] arguments = new String[0 + (decoder_arguments != null ? decoder_arguments.length : 0)];
|
|
||||||
int offset = 0;
|
|
||||||
if (decoder_arguments != null) {
|
|
||||||
for (int i=0; i<decoder_arguments.length; i++) {
|
|
||||||
arguments[i+offset] = decoder_arguments[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return internalDecodeJ2KtoImage(arguments);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Decode the j2k stream given in the codestream byte[] and fills the image8, image16 or image24 array, according to the bit depth.
|
|
||||||
*/
|
|
||||||
private native int internalDecodeJ2KtoImage(String[] parameters);
|
|
||||||
|
|
||||||
/** Image depth in bpp */
|
|
||||||
public int getDepth() {
|
|
||||||
return depth;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Image depth in bpp */
|
|
||||||
public void setDepth(int depth) {
|
|
||||||
this.depth = depth;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Image height in pixels */
|
|
||||||
public int getHeight() {
|
|
||||||
return height;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Image height in pixels */
|
|
||||||
public void setHeight(int height) {
|
|
||||||
this.height = height;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Number of resolutions contained in the image */
|
|
||||||
public int getNbResolutions() {
|
|
||||||
return nbResolutions;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Number of resolutions contained in the image */
|
|
||||||
public void setNbResolutions(int nbResolutions) {
|
|
||||||
this.nbResolutions = nbResolutions;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Width of the image in pixels */
|
|
||||||
public int getWidth() {
|
|
||||||
return width;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Width of the image in pixels */
|
|
||||||
public void setWidth(int width) {
|
|
||||||
this.width = width;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Contains the decompressed version of the image, if the depth in is [9,16] bpp.
|
|
||||||
* Returns NULL otherwise.
|
|
||||||
*/
|
|
||||||
public short[] getImage16() {
|
|
||||||
return image16;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Contains the decompressed version of the image, if the depth in is [17,24] bpp and the image is in color.
|
|
||||||
* Returns NULL otherwise.
|
|
||||||
*/
|
|
||||||
public int[] getImage24() {
|
|
||||||
return image24;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Contains the decompressed version of the image, if the depth in is [1,8] bpp.
|
|
||||||
* Returns NULL otherwise.
|
|
||||||
*/
|
|
||||||
public byte[] getImage8() {
|
|
||||||
return image8;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Sets the compressed version of the index file for this image.
|
|
||||||
* This index file is used by the decompressor
|
|
||||||
*/
|
|
||||||
public void setCompressedIndex(byte[] compressedIndex) {
|
|
||||||
this.compressedIndex = compressedIndex;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Sets the codestream to be decoded */
|
|
||||||
public void setCompressedStream(byte[] compressedStream) {
|
|
||||||
this.compressedStream = compressedStream;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @return the compressed code stream length, or -1 if not defined */
|
|
||||||
public long getCodestreamLength() {
|
|
||||||
if (compressedStream == null)
|
|
||||||
return -1;
|
|
||||||
else return compressedStream.length;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** This method is called either directly or by the C methods */
|
|
||||||
public void logMessage(String message) {
|
|
||||||
for (IJavaJ2KDecoderLogger logger:loggers)
|
|
||||||
logger.logDecoderMessage(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** This method is called either directly or by the C methods */
|
|
||||||
public void logError(String error) {
|
|
||||||
for (IJavaJ2KDecoderLogger logger:loggers)
|
|
||||||
logger.logDecoderError(error);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void reset() {
|
|
||||||
nbResolutions = -1;
|
|
||||||
layers = null;
|
|
||||||
image8 = null;
|
|
||||||
image16 = null;
|
|
||||||
image24 = null;
|
|
||||||
compressedStream = null;
|
|
||||||
compressedIndex = null;
|
|
||||||
width = -1;
|
|
||||||
height = -1;
|
|
||||||
depth = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSkippedResolutions(int numberOfSkippedResolutions) {
|
|
||||||
skippedResolutions = numberOfSkippedResolutions;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Contains all the decoding arguments other than the input/output file */
|
|
||||||
public void setDecoderArguments(String[] argumentsForTheDecoder) {
|
|
||||||
decoder_arguments = argumentsForTheDecoder;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,338 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium
|
|
||||||
* Copyright (c) 2002-2007, Professor Benoit Macq
|
|
||||||
* Copyright (c) 2002-2007, Patrick Piscaglia, Telemis s.a.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
package org.openJpeg;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.Vector;
|
|
||||||
|
|
||||||
/** This class encodes one image into the J2K format,
|
|
||||||
* using the OpenJPEG.org library.
|
|
||||||
* To be able to log messages, the called must register a IJavaJ2KEncoderLogger object.
|
|
||||||
*/
|
|
||||||
public class OpenJPEGJavaEncoder {
|
|
||||||
|
|
||||||
public interface IJavaJ2KEncoderLogger {
|
|
||||||
public void logEncoderMessage(String message);
|
|
||||||
public void logEncoderError(String message);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean isInitialized = false;
|
|
||||||
|
|
||||||
// ===== Compression parameters =============>
|
|
||||||
// These value may be changed for each image
|
|
||||||
private String[] encoder_arguments = null;
|
|
||||||
/** number of resolutions decompositions */
|
|
||||||
private int nbResolutions = -1;
|
|
||||||
/** the quality layers, expressed as compression rate */
|
|
||||||
private float[] ratioLayers = null;
|
|
||||||
/** the quality layers, expressed as PSNR values. This variable, if defined, has priority over the ratioLayers variable */
|
|
||||||
private float[] psnrLayers = null;
|
|
||||||
|
|
||||||
/** Contains the 8 bpp version of the image. May NOT be filled together with image16 or image24.<P>
|
|
||||||
* We store the 8 or 16 bpp version of the original image while the encoder uses a 32 bpp version, because <UL>
|
|
||||||
* <LI> the storage capacity required is smaller
|
|
||||||
* <LI> the transfer Java --> C will be faster
|
|
||||||
* <LI> the conversion byte/short ==> int will be done faster by the C
|
|
||||||
* </UL>*/
|
|
||||||
private byte[] image8 = null;
|
|
||||||
/** Contains the 16 bpp version of the image. May NOT be filled together with image8 or image24*/
|
|
||||||
private short[] image16 = null;
|
|
||||||
/** Contains the 24 bpp version of the image. May NOT be filled together with image8 or image16 */
|
|
||||||
private int[] image24 = null;
|
|
||||||
/** Holds the result of the compression, i.e. the J2K compressed bytecode */
|
|
||||||
private byte compressedStream[] = null;
|
|
||||||
/** Holds the compressed stream length, which may be smaller than compressedStream.length if this byte[] is pre-allocated */
|
|
||||||
private long compressedStreamLength = -1;
|
|
||||||
/** Holds the compressed version of the index file, returned by the encoder */
|
|
||||||
private byte compressedIndex[] = null;
|
|
||||||
/** Width and Height of the image */
|
|
||||||
private int width = -1;
|
|
||||||
private int height = -1;
|
|
||||||
private int depth = -1;
|
|
||||||
/** Tile size. We suppose the same size for the horizontal and vertical tiles.
|
|
||||||
* If size == -1 ==> no tiling */
|
|
||||||
private int tileSize = -1;
|
|
||||||
// <===== Compression parameters =============
|
|
||||||
|
|
||||||
private Vector<IJavaJ2KEncoderLogger> loggers = new Vector();
|
|
||||||
|
|
||||||
public OpenJPEGJavaEncoder(String openJPEGlibraryFullPathAndName, IJavaJ2KEncoderLogger messagesAndErrorsLogger) throws ExceptionInInitializerError
|
|
||||||
{
|
|
||||||
this(openJPEGlibraryFullPathAndName);
|
|
||||||
loggers.addElement(messagesAndErrorsLogger);
|
|
||||||
}
|
|
||||||
|
|
||||||
public OpenJPEGJavaEncoder(String openJPEGlibraryFullPathAndName) throws ExceptionInInitializerError
|
|
||||||
{
|
|
||||||
if (!isInitialized) {
|
|
||||||
try {
|
|
||||||
String absolutePath = (new File(openJPEGlibraryFullPathAndName)).getCanonicalPath();
|
|
||||||
System.load(absolutePath);
|
|
||||||
isInitialized = true;
|
|
||||||
} catch (Throwable t) {
|
|
||||||
t.printStackTrace();
|
|
||||||
throw new ExceptionInInitializerError("OpenJPEG Java Encoder: probably impossible to find the C library");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addLogger(IJavaJ2KEncoderLogger messagesAndErrorsLogger) {
|
|
||||||
loggers.addElement(messagesAndErrorsLogger);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void removeLogger(IJavaJ2KEncoderLogger messagesAndErrorsLogger) {
|
|
||||||
loggers.removeElement(messagesAndErrorsLogger);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** This method compresses the given image.<P>
|
|
||||||
* It returns the compressed J2K codestream into the compressedStream byte[].<P>
|
|
||||||
* It also returns the compression index as a compressed form, into the compressedIndex byte[].<P>
|
|
||||||
* One of the image8, image16 or image24 arrays must be correctly initialized and filled.<P>
|
|
||||||
* The width, height and depth variables must be correctly filled.<P>
|
|
||||||
* The nbResolutions, nbLayers and if needed the float[] psnrLayers or ratioLayers must also be filled before calling this method.
|
|
||||||
*/
|
|
||||||
public void encodeImageToJ2K() {
|
|
||||||
// Need to allocate / reallocate the compressed stream buffer ? (size = max possible size = original image size)
|
|
||||||
if (compressedStream== null || (compressedStream.length != width*height*depth/8)) {
|
|
||||||
logMessage("OpenJPEGJavaEncoder.encodeImageToJ2K: (re-)allocating " + (width*height*depth/8) + " bytes for the compressedStream");
|
|
||||||
compressedStream = new byte[width*height*depth/8];
|
|
||||||
}
|
|
||||||
// Arguments =
|
|
||||||
// - number of resolutions "-n 5" : 2
|
|
||||||
// - size of tile "-t 512,512" : 2
|
|
||||||
//
|
|
||||||
// Image width, height, depth and pixels are directly fetched by C from the Java class
|
|
||||||
int nbArgs = 2 + (tileSize == -1 ? 0 : 2) + (encoder_arguments != null ? encoder_arguments.length : 0);
|
|
||||||
if (psnrLayers != null && psnrLayers.length>0 && psnrLayers[0] != 0)
|
|
||||||
// If psnrLayers is defined and doesn't just express "lossless"
|
|
||||||
nbArgs += 2;
|
|
||||||
else if (ratioLayers != null && ratioLayers.length>0 && ratioLayers[0]!=0.0)
|
|
||||||
nbArgs += 2;
|
|
||||||
String[] arguments = new String[nbArgs];
|
|
||||||
int offset = 0;
|
|
||||||
arguments[offset] = "-n"; arguments[offset+1] = "" + nbResolutions; offset += 2;
|
|
||||||
if (tileSize!= -1) {
|
|
||||||
arguments[offset++] = "-t";
|
|
||||||
arguments[offset++] = "" + tileSize + "," + tileSize;
|
|
||||||
}
|
|
||||||
// If PSNR layers are defined, use them to encode the images
|
|
||||||
if (psnrLayers != null && psnrLayers.length>0 && psnrLayers[0]!=-1) {
|
|
||||||
arguments[offset++] = "-q";
|
|
||||||
String s = "";
|
|
||||||
for (int i=0; i<psnrLayers.length; i++)
|
|
||||||
s += psnrLayers[i] + ",";
|
|
||||||
arguments[offset++] = s.substring(0, s.length()-1);
|
|
||||||
} else if (ratioLayers != null && ratioLayers.length>0 && ratioLayers[0]!=0.0) {
|
|
||||||
// Specify quality ratioLayers, as compression ratios
|
|
||||||
arguments[offset++] = "-r";
|
|
||||||
String s = "";
|
|
||||||
for (int i=0; i<ratioLayers.length; i++)
|
|
||||||
s += ratioLayers[i] + ",";
|
|
||||||
arguments[offset++] = s.substring(0, s.length()-1);
|
|
||||||
}
|
|
||||||
if (encoder_arguments != null) {
|
|
||||||
for (int i=0; i<encoder_arguments.length; i++) {
|
|
||||||
arguments[i+offset] = encoder_arguments[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
logMessage("Encoder additional arguments = " + arrayToString(arguments));
|
|
||||||
long startTime = (new java.util.Date()).getTime();
|
|
||||||
compressedStreamLength = internalEncodeImageToJ2K(arguments);
|
|
||||||
logMessage("compression time = " + ((new java.util.Date()).getTime() - startTime) + " msec");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fills the compressedStream byte[] and the compressedIndex byte[]
|
|
||||||
* @return the codestream length.
|
|
||||||
*/
|
|
||||||
private native long internalEncodeImageToJ2K(String[] parameters);
|
|
||||||
|
|
||||||
/** Image depth in bpp */
|
|
||||||
public int getDepth() {
|
|
||||||
return depth;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Image depth in bpp */
|
|
||||||
public void setDepth(int depth) {
|
|
||||||
this.depth = depth;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Image height in pixels */
|
|
||||||
public int getHeight() {
|
|
||||||
return height;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Image height in pixels */
|
|
||||||
public void setHeight(int height) {
|
|
||||||
this.height = height;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** This method must be called in depth in [9,16].
|
|
||||||
* @param an array of shorts, containing width*height values
|
|
||||||
*/
|
|
||||||
public void setImage16(short[] image16) {
|
|
||||||
this.image16 = image16;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** This method must be called in depth in [17,24] for RGB images.
|
|
||||||
* @param an array of int, containing width*height values
|
|
||||||
*/
|
|
||||||
public void setImage24(int[] image24) {
|
|
||||||
this.image24 = image24;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** This method must be called in depth in [1,8].
|
|
||||||
* @param an array of bytes, containing width*height values
|
|
||||||
*/
|
|
||||||
public void setImage8(byte[] image8) {
|
|
||||||
this.image8 = image8;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Return the ratioLayers, i.e. the compression ratio for each quality layer.
|
|
||||||
* If the last value is 0.0, last layer is lossless compressed.
|
|
||||||
*/
|
|
||||||
public float[] getRatioLayers() {
|
|
||||||
return ratioLayers;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* sets the quality layers.
|
|
||||||
* At least one level.
|
|
||||||
* Each level is expressed as a compression ratio (float).
|
|
||||||
* If the last value is 0.0, the last layer will be losslessly compressed
|
|
||||||
*/
|
|
||||||
public void setRatioLayers(float[] layers) {
|
|
||||||
this.ratioLayers = layers;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Return the PSNR Layers, i.e. the target PSNR for each quality layer.
|
|
||||||
* If the last value is -1, last layer is lossless compressed.
|
|
||||||
*/
|
|
||||||
public float[] getPsnrLayers() {
|
|
||||||
return psnrLayers;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* sets the quality layers.
|
|
||||||
* At least one level.
|
|
||||||
* Each level is expressed as a target PSNR (float).
|
|
||||||
* If the last value is -1, the last layer will be losslessly compressed
|
|
||||||
*/
|
|
||||||
public void setPsnrLayers(float[] layers) {
|
|
||||||
this.psnrLayers = layers;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Set the number of resolutions that must be created */
|
|
||||||
public void setNbResolutions(int nbResolutions) {
|
|
||||||
this.nbResolutions = nbResolutions;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getWidth() {
|
|
||||||
return width;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Width of the image, in pixels */
|
|
||||||
public void setWidth(int width) {
|
|
||||||
this.width = width;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Return the compressed index file.
|
|
||||||
* Syntax: TODO PP:
|
|
||||||
*/
|
|
||||||
public byte[] getCompressedIndex() {
|
|
||||||
return compressedIndex;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCompressedIndex(byte[] index) {
|
|
||||||
compressedIndex = index;
|
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] getCompressedStream() {
|
|
||||||
return compressedStream;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void reset() {
|
|
||||||
nbResolutions = -1;
|
|
||||||
ratioLayers = null;
|
|
||||||
psnrLayers = null;
|
|
||||||
image8 = null;
|
|
||||||
image16 = null;
|
|
||||||
image24 = null;
|
|
||||||
compressedStream = null;
|
|
||||||
compressedIndex = null;
|
|
||||||
width = -1;
|
|
||||||
height = -1;
|
|
||||||
depth = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public short[] getImage16() {
|
|
||||||
return image16;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int[] getImage24() {
|
|
||||||
return image24;
|
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] getImage8() {
|
|
||||||
return image8;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Sets the size of the tiles. We assume square tiles */
|
|
||||||
public void setTileSize(int tileSize) {
|
|
||||||
this.tileSize = tileSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Contains all the encoding arguments other than the input/output file, compression ratio, tile size */
|
|
||||||
public void setEncoderArguments(String[] argumentsForTheEncoder) {
|
|
||||||
encoder_arguments = argumentsForTheEncoder;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void logMessage(String message) {
|
|
||||||
for (IJavaJ2KEncoderLogger logger:loggers)
|
|
||||||
logger.logEncoderMessage(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void logError(String error) {
|
|
||||||
for (IJavaJ2KEncoderLogger logger:loggers)
|
|
||||||
logger.logEncoderError(error);
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getCompressedStreamLength() {
|
|
||||||
return compressedStreamLength;
|
|
||||||
}
|
|
||||||
|
|
||||||
private String arrayToString(String[] array) {
|
|
||||||
if (array == null)
|
|
||||||
return "NULL";
|
|
||||||
StringBuffer sb = new StringBuffer();
|
|
||||||
for (int i=0; i<array.length; i++)
|
|
||||||
sb.append(array[i]).append(" ");
|
|
||||||
sb.delete(sb.length()-1, sb.length());
|
|
||||||
return sb.toString();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,278 +0,0 @@
|
||||||
/*
|
|
||||||
* @(#)jawt.h 1.10 03/12/19
|
|
||||||
*
|
|
||||||
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
|
|
||||||
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _JAVASOFT_JAWT_H_
|
|
||||||
#define _JAVASOFT_JAWT_H_
|
|
||||||
|
|
||||||
#include "jni.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* AWT native interface (new in JDK 1.3)
|
|
||||||
*
|
|
||||||
* The AWT native interface allows a native C or C++ application a means
|
|
||||||
* by which to access native structures in AWT. This is to facilitate moving
|
|
||||||
* legacy C and C++ applications to Java and to target the needs of the
|
|
||||||
* community who, at present, wish to do their own native rendering to canvases
|
|
||||||
* for performance reasons. Standard extensions such as Java3D also require a
|
|
||||||
* means to access the underlying native data structures of AWT.
|
|
||||||
*
|
|
||||||
* There may be future extensions to this API depending on demand.
|
|
||||||
*
|
|
||||||
* A VM does not have to implement this API in order to pass the JCK.
|
|
||||||
* It is recommended, however, that this API is implemented on VMs that support
|
|
||||||
* standard extensions, such as Java3D.
|
|
||||||
*
|
|
||||||
* Since this is a native API, any program which uses it cannot be considered
|
|
||||||
* 100% pure java.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* AWT Native Drawing Surface (JAWT_DrawingSurface).
|
|
||||||
*
|
|
||||||
* For each platform, there is a native drawing surface structure. This
|
|
||||||
* platform-specific structure can be found in jawt_md.h. It is recommended
|
|
||||||
* that additional platforms follow the same model. It is also recommended
|
|
||||||
* that VMs on Win32 and Solaris support the existing structures in jawt_md.h.
|
|
||||||
*
|
|
||||||
*******************
|
|
||||||
* EXAMPLE OF USAGE:
|
|
||||||
*******************
|
|
||||||
*
|
|
||||||
* In Win32, a programmer wishes to access the HWND of a canvas to perform
|
|
||||||
* native rendering into it. The programmer has declared the paint() method
|
|
||||||
* for their canvas subclass to be native:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* MyCanvas.java:
|
|
||||||
*
|
|
||||||
* import java.awt.*;
|
|
||||||
*
|
|
||||||
* public class MyCanvas extends Canvas {
|
|
||||||
*
|
|
||||||
* static {
|
|
||||||
* System.loadLibrary("mylib");
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* public native void paint(Graphics g);
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* myfile.c:
|
|
||||||
*
|
|
||||||
* #include "jawt_md.h"
|
|
||||||
* #include <assert.h>
|
|
||||||
*
|
|
||||||
* JNIEXPORT void JNICALL
|
|
||||||
* Java_MyCanvas_paint(JNIEnv* env, jobject canvas, jobject graphics)
|
|
||||||
* {
|
|
||||||
* JAWT awt;
|
|
||||||
* JAWT_DrawingSurface* ds;
|
|
||||||
* JAWT_DrawingSurfaceInfo* dsi;
|
|
||||||
* JAWT_Win32DrawingSurfaceInfo* dsi_win;
|
|
||||||
* jboolean result;
|
|
||||||
* jint lock;
|
|
||||||
*
|
|
||||||
* // Get the AWT
|
|
||||||
* awt.version = JAWT_VERSION_1_3;
|
|
||||||
* result = JAWT_GetAWT(env, &awt);
|
|
||||||
* assert(result != JNI_FALSE);
|
|
||||||
*
|
|
||||||
* // Get the drawing surface
|
|
||||||
* ds = awt.GetDrawingSurface(env, canvas);
|
|
||||||
* assert(ds != NULL);
|
|
||||||
*
|
|
||||||
* // Lock the drawing surface
|
|
||||||
* lock = ds->Lock(ds);
|
|
||||||
* assert((lock & JAWT_LOCK_ERROR) == 0);
|
|
||||||
*
|
|
||||||
* // Get the drawing surface info
|
|
||||||
* dsi = ds->GetDrawingSurfaceInfo(ds);
|
|
||||||
*
|
|
||||||
* // Get the platform-specific drawing info
|
|
||||||
* dsi_win = (JAWT_Win32DrawingSurfaceInfo*)dsi->platformInfo;
|
|
||||||
*
|
|
||||||
* //////////////////////////////
|
|
||||||
* // !!! DO PAINTING HERE !!! //
|
|
||||||
* //////////////////////////////
|
|
||||||
*
|
|
||||||
* // Free the drawing surface info
|
|
||||||
* ds->FreeDrawingSurfaceInfo(dsi);
|
|
||||||
*
|
|
||||||
* // Unlock the drawing surface
|
|
||||||
* ds->Unlock(ds);
|
|
||||||
*
|
|
||||||
* // Free the drawing surface
|
|
||||||
* awt.FreeDrawingSurface(ds);
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* JAWT_Rectangle
|
|
||||||
* Structure for a native rectangle.
|
|
||||||
*/
|
|
||||||
typedef struct jawt_Rectangle {
|
|
||||||
jint x;
|
|
||||||
jint y;
|
|
||||||
jint width;
|
|
||||||
jint height;
|
|
||||||
} JAWT_Rectangle;
|
|
||||||
|
|
||||||
struct jawt_DrawingSurface;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* JAWT_DrawingSurfaceInfo
|
|
||||||
* Structure for containing the underlying drawing information of a component.
|
|
||||||
*/
|
|
||||||
typedef struct jawt_DrawingSurfaceInfo {
|
|
||||||
/*
|
|
||||||
* Pointer to the platform-specific information. This can be safely
|
|
||||||
* cast to a JAWT_Win32DrawingSurfaceInfo on Windows or a
|
|
||||||
* JAWT_X11DrawingSurfaceInfo on Solaris. See jawt_md.h for details.
|
|
||||||
*/
|
|
||||||
void* platformInfo;
|
|
||||||
/* Cached pointer to the underlying drawing surface */
|
|
||||||
struct jawt_DrawingSurface* ds;
|
|
||||||
/* Bounding rectangle of the drawing surface */
|
|
||||||
JAWT_Rectangle bounds;
|
|
||||||
/* Number of rectangles in the clip */
|
|
||||||
jint clipSize;
|
|
||||||
/* Clip rectangle array */
|
|
||||||
JAWT_Rectangle* clip;
|
|
||||||
} JAWT_DrawingSurfaceInfo;
|
|
||||||
|
|
||||||
#define JAWT_LOCK_ERROR 0x00000001
|
|
||||||
#define JAWT_LOCK_CLIP_CHANGED 0x00000002
|
|
||||||
#define JAWT_LOCK_BOUNDS_CHANGED 0x00000004
|
|
||||||
#define JAWT_LOCK_SURFACE_CHANGED 0x00000008
|
|
||||||
|
|
||||||
/*
|
|
||||||
* JAWT_DrawingSurface
|
|
||||||
* Structure for containing the underlying drawing information of a component.
|
|
||||||
* All operations on a JAWT_DrawingSurface MUST be performed from the same
|
|
||||||
* thread as the call to GetDrawingSurface.
|
|
||||||
*/
|
|
||||||
typedef struct jawt_DrawingSurface {
|
|
||||||
/*
|
|
||||||
* Cached reference to the Java environment of the calling thread.
|
|
||||||
* If Lock(), Unlock(), GetDrawingSurfaceInfo() or
|
|
||||||
* FreeDrawingSurfaceInfo() are called from a different thread,
|
|
||||||
* this data member should be set before calling those functions.
|
|
||||||
*/
|
|
||||||
JNIEnv* env;
|
|
||||||
/* Cached reference to the target object */
|
|
||||||
jobject target;
|
|
||||||
/*
|
|
||||||
* Lock the surface of the target component for native rendering.
|
|
||||||
* When finished drawing, the surface must be unlocked with
|
|
||||||
* Unlock(). This function returns a bitmask with one or more of the
|
|
||||||
* following values:
|
|
||||||
*
|
|
||||||
* JAWT_LOCK_ERROR - When an error has occurred and the surface could not
|
|
||||||
* be locked.
|
|
||||||
*
|
|
||||||
* JAWT_LOCK_CLIP_CHANGED - When the clip region has changed.
|
|
||||||
*
|
|
||||||
* JAWT_LOCK_BOUNDS_CHANGED - When the bounds of the surface have changed.
|
|
||||||
*
|
|
||||||
* JAWT_LOCK_SURFACE_CHANGED - When the surface itself has changed
|
|
||||||
*/
|
|
||||||
jint (JNICALL *Lock)
|
|
||||||
(struct jawt_DrawingSurface* ds);
|
|
||||||
/*
|
|
||||||
* Get the drawing surface info.
|
|
||||||
* The value returned may be cached, but the values may change if
|
|
||||||
* additional calls to Lock() or Unlock() are made.
|
|
||||||
* Lock() must be called before this can return a valid value.
|
|
||||||
* Returns NULL if an error has occurred.
|
|
||||||
* When finished with the returned value, FreeDrawingSurfaceInfo must be
|
|
||||||
* called.
|
|
||||||
*/
|
|
||||||
JAWT_DrawingSurfaceInfo* (JNICALL *GetDrawingSurfaceInfo)
|
|
||||||
(struct jawt_DrawingSurface* ds);
|
|
||||||
/*
|
|
||||||
* Free the drawing surface info.
|
|
||||||
*/
|
|
||||||
void (JNICALL *FreeDrawingSurfaceInfo)
|
|
||||||
(JAWT_DrawingSurfaceInfo* dsi);
|
|
||||||
/*
|
|
||||||
* Unlock the drawing surface of the target component for native rendering.
|
|
||||||
*/
|
|
||||||
void (JNICALL *Unlock)
|
|
||||||
(struct jawt_DrawingSurface* ds);
|
|
||||||
} JAWT_DrawingSurface;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* JAWT
|
|
||||||
* Structure for containing native AWT functions.
|
|
||||||
*/
|
|
||||||
typedef struct jawt {
|
|
||||||
/*
|
|
||||||
* Version of this structure. This must always be set before
|
|
||||||
* calling JAWT_GetAWT()
|
|
||||||
*/
|
|
||||||
jint version;
|
|
||||||
/*
|
|
||||||
* Return a drawing surface from a target jobject. This value
|
|
||||||
* may be cached.
|
|
||||||
* Returns NULL if an error has occurred.
|
|
||||||
* Target must be a java.awt.Component (should be a Canvas
|
|
||||||
* or Window for native rendering).
|
|
||||||
* FreeDrawingSurface() must be called when finished with the
|
|
||||||
* returned JAWT_DrawingSurface.
|
|
||||||
*/
|
|
||||||
JAWT_DrawingSurface* (JNICALL *GetDrawingSurface)
|
|
||||||
(JNIEnv* env, jobject target);
|
|
||||||
/*
|
|
||||||
* Free the drawing surface allocated in GetDrawingSurface.
|
|
||||||
*/
|
|
||||||
void (JNICALL *FreeDrawingSurface)
|
|
||||||
(JAWT_DrawingSurface* ds);
|
|
||||||
/*
|
|
||||||
* Since 1.4
|
|
||||||
* Locks the entire AWT for synchronization purposes
|
|
||||||
*/
|
|
||||||
void (JNICALL *Lock)(JNIEnv* env);
|
|
||||||
/*
|
|
||||||
* Since 1.4
|
|
||||||
* Unlocks the entire AWT for synchronization purposes
|
|
||||||
*/
|
|
||||||
void (JNICALL *Unlock)(JNIEnv* env);
|
|
||||||
/*
|
|
||||||
* Since 1.4
|
|
||||||
* Returns a reference to a java.awt.Component from a native
|
|
||||||
* platform handle. On Windows, this corresponds to an HWND;
|
|
||||||
* on Solaris and Linux, this is a Drawable. For other platforms,
|
|
||||||
* see the appropriate machine-dependent header file for a description.
|
|
||||||
* The reference returned by this function is a local
|
|
||||||
* reference that is only valid in this environment.
|
|
||||||
* This function returns a NULL reference if no component could be
|
|
||||||
* found with matching platform information.
|
|
||||||
*/
|
|
||||||
jobject (JNICALL *GetComponent)(JNIEnv* env, void* platformInfo);
|
|
||||||
|
|
||||||
} JAWT;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Get the AWT native structure. This function returns JNI_FALSE if
|
|
||||||
* an error occurs.
|
|
||||||
*/
|
|
||||||
_JNI_IMPORT_OR_EXPORT_
|
|
||||||
jboolean JNICALL JAWT_GetAWT(JNIEnv* env, JAWT* awt);
|
|
||||||
|
|
||||||
#define JAWT_VERSION_1_3 0x00010003
|
|
||||||
#define JAWT_VERSION_1_4 0x00010004
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
} /* extern "C" */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* !_JAVASOFT_JAWT_H_ */
|
|
|
@ -1,237 +0,0 @@
|
||||||
/*
|
|
||||||
* @(#)jdwpTransport.h 1.7 03/12/19
|
|
||||||
*
|
|
||||||
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
|
|
||||||
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Java Debug Wire Protocol Transport Service Provider Interface.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef JDWPTRANSPORT_H
|
|
||||||
#define JDWPTRANSPORT_H
|
|
||||||
|
|
||||||
#include "jni.h"
|
|
||||||
|
|
||||||
enum {
|
|
||||||
JDWPTRANSPORT_VERSION_1_0 = 0x00010000
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct jdwpTransportNativeInterface_;
|
|
||||||
|
|
||||||
struct _jdwpTransportEnv;
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
typedef _jdwpTransportEnv jdwpTransportEnv;
|
|
||||||
#else
|
|
||||||
typedef const struct jdwpTransportNativeInterface_ *jdwpTransportEnv;
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Errors. Universal errors with JVMTI/JVMDI equivalents keep the
|
|
||||||
* values the same.
|
|
||||||
*/
|
|
||||||
typedef enum {
|
|
||||||
JDWPTRANSPORT_ERROR_NONE = 0,
|
|
||||||
JDWPTRANSPORT_ERROR_ILLEGAL_ARGUMENT = 103,
|
|
||||||
JDWPTRANSPORT_ERROR_OUT_OF_MEMORY = 110,
|
|
||||||
JDWPTRANSPORT_ERROR_INTERNAL = 113,
|
|
||||||
JDWPTRANSPORT_ERROR_ILLEGAL_STATE = 201,
|
|
||||||
JDWPTRANSPORT_ERROR_IO_ERROR = 202,
|
|
||||||
JDWPTRANSPORT_ERROR_TIMEOUT = 203,
|
|
||||||
JDWPTRANSPORT_ERROR_MSG_NOT_AVAILABLE = 204
|
|
||||||
} jdwpTransportError;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Structure to define capabilities
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
unsigned int can_timeout_attach :1;
|
|
||||||
unsigned int can_timeout_accept :1;
|
|
||||||
unsigned int can_timeout_handshake :1;
|
|
||||||
unsigned int reserved3 :1;
|
|
||||||
unsigned int reserved4 :1;
|
|
||||||
unsigned int reserved5 :1;
|
|
||||||
unsigned int reserved6 :1;
|
|
||||||
unsigned int reserved7 :1;
|
|
||||||
unsigned int reserved8 :1;
|
|
||||||
unsigned int reserved9 :1;
|
|
||||||
unsigned int reserved10 :1;
|
|
||||||
unsigned int reserved11 :1;
|
|
||||||
unsigned int reserved12 :1;
|
|
||||||
unsigned int reserved13 :1;
|
|
||||||
unsigned int reserved14 :1;
|
|
||||||
unsigned int reserved15 :1;
|
|
||||||
} JDWPTransportCapabilities;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Structures to define packet layout.
|
|
||||||
*
|
|
||||||
* See: http://java.sun.com/j2se/1.5/docs/guide/jpda/jdwp-spec.html
|
|
||||||
*/
|
|
||||||
|
|
||||||
enum {
|
|
||||||
JDWPTRANSPORT_FLAGS_NONE = 0x0,
|
|
||||||
JDWPTRANSPORT_FLAGS_REPLY = 0x80
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
jint len;
|
|
||||||
jint id;
|
|
||||||
jbyte flags;
|
|
||||||
jbyte cmdSet;
|
|
||||||
jbyte cmd;
|
|
||||||
jbyte *data;
|
|
||||||
} jdwpCmdPacket;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
jint len;
|
|
||||||
jint id;
|
|
||||||
jbyte flags;
|
|
||||||
jshort errorCode;
|
|
||||||
jbyte *data;
|
|
||||||
} jdwpReplyPacket;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
union {
|
|
||||||
jdwpCmdPacket cmd;
|
|
||||||
jdwpReplyPacket reply;
|
|
||||||
} type;
|
|
||||||
} jdwpPacket;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* JDWP functions called by the transport.
|
|
||||||
*/
|
|
||||||
typedef struct jdwpTransportCallback {
|
|
||||||
void *(*alloc)(jint numBytes); /* Call this for all allocations */
|
|
||||||
void (*free)(void *buffer); /* Call this for all deallocations */
|
|
||||||
} jdwpTransportCallback;
|
|
||||||
|
|
||||||
typedef jint (JNICALL *jdwpTransport_OnLoad_t)(JavaVM *jvm,
|
|
||||||
jdwpTransportCallback *callback,
|
|
||||||
jint version,
|
|
||||||
jdwpTransportEnv** env);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Function Interface */
|
|
||||||
|
|
||||||
struct jdwpTransportNativeInterface_ {
|
|
||||||
/* 1 : RESERVED */
|
|
||||||
void *reserved1;
|
|
||||||
|
|
||||||
/* 2 : Get Capabilities */
|
|
||||||
jdwpTransportError (JNICALL *GetCapabilities)(jdwpTransportEnv* env,
|
|
||||||
JDWPTransportCapabilities *capabilities_ptr);
|
|
||||||
|
|
||||||
/* 3 : Attach */
|
|
||||||
jdwpTransportError (JNICALL *Attach)(jdwpTransportEnv* env,
|
|
||||||
const char* address,
|
|
||||||
jlong attach_timeout,
|
|
||||||
jlong handshake_timeout);
|
|
||||||
|
|
||||||
/* 4: StartListening */
|
|
||||||
jdwpTransportError (JNICALL *StartListening)(jdwpTransportEnv* env,
|
|
||||||
const char* address,
|
|
||||||
char** actual_address);
|
|
||||||
|
|
||||||
/* 5: StopListening */
|
|
||||||
jdwpTransportError (JNICALL *StopListening)(jdwpTransportEnv* env);
|
|
||||||
|
|
||||||
/* 6: Accept */
|
|
||||||
jdwpTransportError (JNICALL *Accept)(jdwpTransportEnv* env,
|
|
||||||
jlong accept_timeout,
|
|
||||||
jlong handshake_timeout);
|
|
||||||
|
|
||||||
/* 7: IsOpen */
|
|
||||||
jboolean (JNICALL *IsOpen)(jdwpTransportEnv* env);
|
|
||||||
|
|
||||||
/* 8: Close */
|
|
||||||
jdwpTransportError (JNICALL *Close)(jdwpTransportEnv* env);
|
|
||||||
|
|
||||||
/* 9: ReadPacket */
|
|
||||||
jdwpTransportError (JNICALL *ReadPacket)(jdwpTransportEnv* env,
|
|
||||||
jdwpPacket *pkt);
|
|
||||||
|
|
||||||
/* 10: Write Packet */
|
|
||||||
jdwpTransportError (JNICALL *WritePacket)(jdwpTransportEnv* env,
|
|
||||||
const jdwpPacket* pkt);
|
|
||||||
|
|
||||||
/* 11: GetLastError */
|
|
||||||
jdwpTransportError (JNICALL *GetLastError)(jdwpTransportEnv* env,
|
|
||||||
char** error);
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Use inlined functions so that C++ code can use syntax such as
|
|
||||||
* env->Attach("mymachine:5000", 10*1000, 0);
|
|
||||||
*
|
|
||||||
* rather than using C's :-
|
|
||||||
*
|
|
||||||
* (*env)->Attach(env, "mymachine:5000", 10*1000, 0);
|
|
||||||
*/
|
|
||||||
struct _jdwpTransportEnv {
|
|
||||||
const struct jdwpTransportNativeInterface_ *functions;
|
|
||||||
#ifdef __cplusplus
|
|
||||||
|
|
||||||
jdwpTransportError GetCapabilities(JDWPTransportCapabilities *capabilities_ptr) {
|
|
||||||
return functions->GetCapabilities(this, capabilities_ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
jdwpTransportError Attach(const char* address, jlong attach_timeout,
|
|
||||||
jlong handshake_timeout) {
|
|
||||||
return functions->Attach(this, address, attach_timeout, handshake_timeout);
|
|
||||||
}
|
|
||||||
|
|
||||||
jdwpTransportError StartListening(const char* address,
|
|
||||||
char** actual_address) {
|
|
||||||
return functions->StartListening(this, address, actual_address);
|
|
||||||
}
|
|
||||||
|
|
||||||
jdwpTransportError StopListening(void) {
|
|
||||||
return functions->StopListening(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
jdwpTransportError Accept(jlong accept_timeout, jlong handshake_timeout) {
|
|
||||||
return functions->Accept(this, accept_timeout, handshake_timeout);
|
|
||||||
}
|
|
||||||
|
|
||||||
jboolean IsOpen(void) {
|
|
||||||
return functions->IsOpen(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
jdwpTransportError Close(void) {
|
|
||||||
return functions->Close(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
jdwpTransportError ReadPacket(jdwpPacket *pkt) {
|
|
||||||
return functions->ReadPacket(this, pkt);
|
|
||||||
}
|
|
||||||
|
|
||||||
jdwpTransportError WritePacket(const jdwpPacket* pkt) {
|
|
||||||
return functions->WritePacket(this, pkt);
|
|
||||||
}
|
|
||||||
|
|
||||||
jdwpTransportError GetLastError(char** error) {
|
|
||||||
return functions->GetLastError(this, error);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
} /* extern "C" */
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#endif /* JDWPTRANSPORT_H */
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,642 +0,0 @@
|
||||||
/*
|
|
||||||
* @(#)jvmpi.h 1.28 03/12/19
|
|
||||||
*
|
|
||||||
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
|
|
||||||
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _JAVASOFT_JVMPI_H_
|
|
||||||
#define _JAVASOFT_JVMPI_H_
|
|
||||||
|
|
||||||
#include "jni.h"
|
|
||||||
|
|
||||||
#define JVMPI_VERSION_1 ((jint)0x10000001) /* implied 0 for minor version */
|
|
||||||
#define JVMPI_VERSION_1_1 ((jint)0x10000002)
|
|
||||||
#define JVMPI_VERSION_1_2 ((jint)0x10000003)
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
typedef void (*jvmpi_void_function_of_void)(void *);
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************
|
|
||||||
* Profiler interface data structures.
|
|
||||||
****************************************************************/
|
|
||||||
/* identifier types. */
|
|
||||||
struct _jobjectID;
|
|
||||||
typedef struct _jobjectID * jobjectID; /* type of object ids */
|
|
||||||
|
|
||||||
/* raw monitors */
|
|
||||||
struct _JVMPI_RawMonitor;
|
|
||||||
typedef struct _JVMPI_RawMonitor * JVMPI_RawMonitor;
|
|
||||||
|
|
||||||
/* call frame */
|
|
||||||
typedef struct {
|
|
||||||
jint lineno; /* line number in the source file */
|
|
||||||
jmethodID method_id; /* method executed in this frame */
|
|
||||||
} JVMPI_CallFrame;
|
|
||||||
|
|
||||||
/* call trace */
|
|
||||||
typedef struct {
|
|
||||||
JNIEnv *env_id; /* Env where trace was recorded */
|
|
||||||
jint num_frames; /* number of frames in this trace */
|
|
||||||
JVMPI_CallFrame *frames; /* frames */
|
|
||||||
} JVMPI_CallTrace;
|
|
||||||
|
|
||||||
/* method */
|
|
||||||
typedef struct {
|
|
||||||
char *method_name; /* name of method */
|
|
||||||
char *method_signature; /* signature of method */
|
|
||||||
jint start_lineno; /* -1 if native, abstract .. */
|
|
||||||
jint end_lineno; /* -1 if native, abstract .. */
|
|
||||||
jmethodID method_id; /* id assigned to this method */
|
|
||||||
} JVMPI_Method;
|
|
||||||
|
|
||||||
/* Field */
|
|
||||||
typedef struct {
|
|
||||||
char *field_name; /* name of field */
|
|
||||||
char *field_signature; /* signature of field */
|
|
||||||
} JVMPI_Field;
|
|
||||||
|
|
||||||
/* line number info for a compiled method */
|
|
||||||
typedef struct {
|
|
||||||
jint offset; /* offset from beginning of method */
|
|
||||||
jint lineno; /* lineno from beginning of src file */
|
|
||||||
} JVMPI_Lineno;
|
|
||||||
|
|
||||||
/* event */
|
|
||||||
typedef struct {
|
|
||||||
jint event_type; /* event_type */
|
|
||||||
JNIEnv *env_id; /* env where this event occured */
|
|
||||||
|
|
||||||
union {
|
|
||||||
struct {
|
|
||||||
const char *class_name; /* class name */
|
|
||||||
char *source_name; /* name of source file */
|
|
||||||
jint num_interfaces; /* number of interfaces implemented */
|
|
||||||
jint num_methods; /* number of methods in the class */
|
|
||||||
JVMPI_Method *methods; /* methods */
|
|
||||||
jint num_static_fields; /* number of static fields */
|
|
||||||
JVMPI_Field *statics; /* static fields */
|
|
||||||
jint num_instance_fields; /* number of instance fields */
|
|
||||||
JVMPI_Field *instances; /* instance fields */
|
|
||||||
jobjectID class_id; /* id of the class object */
|
|
||||||
} class_load;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jobjectID class_id; /* id of the class object */
|
|
||||||
} class_unload;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
unsigned char *class_data; /* content of class file */
|
|
||||||
jint class_data_len; /* class file length */
|
|
||||||
unsigned char *new_class_data; /* instrumented class file */
|
|
||||||
jint new_class_data_len; /* new class file length */
|
|
||||||
void * (*malloc_f)(unsigned int); /* memory allocation function */
|
|
||||||
} class_load_hook;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jint arena_id;
|
|
||||||
jobjectID class_id; /* id of object class */
|
|
||||||
jint is_array; /* JVMPI_NORMAL_OBJECT, ... */
|
|
||||||
jint size; /* size in number of bytes */
|
|
||||||
jobjectID obj_id; /* id assigned to this object */
|
|
||||||
} obj_alloc;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jobjectID obj_id; /* id of the object */
|
|
||||||
} obj_free;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jint arena_id; /* cur arena id */
|
|
||||||
jobjectID obj_id; /* cur object id */
|
|
||||||
jint new_arena_id; /* new arena id */
|
|
||||||
jobjectID new_obj_id; /* new object id */
|
|
||||||
} obj_move;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jint arena_id; /* id of arena */
|
|
||||||
const char *arena_name; /* name of arena */
|
|
||||||
} new_arena;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jint arena_id; /* id of arena */
|
|
||||||
} delete_arena;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
char *thread_name; /* name of thread */
|
|
||||||
char *group_name; /* name of group */
|
|
||||||
char *parent_name; /* name of parent */
|
|
||||||
jobjectID thread_id; /* id of the thread object */
|
|
||||||
JNIEnv *thread_env_id;
|
|
||||||
} thread_start;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
int dump_level; /* level of the heap dump info */
|
|
||||||
char *begin; /* where all the root records begin,
|
|
||||||
please see the heap dump buffer
|
|
||||||
format described below */
|
|
||||||
char *end; /* where the object records end. */
|
|
||||||
jint num_traces; /* number of thread traces,
|
|
||||||
0 if dump level = JVMPI_DUMP_LEVEL_0 */
|
|
||||||
JVMPI_CallTrace *traces; /* thread traces collected during
|
|
||||||
heap dump */
|
|
||||||
} heap_dump;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jobjectID obj_id; /* object id */
|
|
||||||
jobject ref_id; /* id assigned to the globalref */
|
|
||||||
} jni_globalref_alloc;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jobject ref_id; /* id of the global ref */
|
|
||||||
} jni_globalref_free;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jmethodID method_id; /* method */
|
|
||||||
} method;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jmethodID method_id; /* id of method */
|
|
||||||
jobjectID obj_id; /* id of target object */
|
|
||||||
} method_entry2;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jmethodID method_id; /* id of compiled method */
|
|
||||||
void *code_addr; /* code start addr. in memory */
|
|
||||||
jint code_size; /* code size */
|
|
||||||
jint lineno_table_size; /* size of lineno table */
|
|
||||||
JVMPI_Lineno *lineno_table; /* lineno info */
|
|
||||||
} compiled_method_load;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jmethodID method_id; /* id of unloaded compiled method */
|
|
||||||
} compiled_method_unload;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jmethodID method_id; /* id of the method the instruction belongs to */
|
|
||||||
jint offset; /* instruction offset in the method's bytecode */
|
|
||||||
union {
|
|
||||||
struct {
|
|
||||||
jboolean is_true; /* whether true or false branch is taken */
|
|
||||||
} if_info;
|
|
||||||
struct {
|
|
||||||
jint key; /* top stack value used as an index */
|
|
||||||
jint low; /* min value of the index */
|
|
||||||
jint hi; /* max value of the index */
|
|
||||||
} tableswitch_info;
|
|
||||||
struct {
|
|
||||||
jint chosen_pair_index; /* actually chosen pair index (0-based)
|
|
||||||
* if chosen_pair_index == pairs_total then
|
|
||||||
* the 'default' branch is taken
|
|
||||||
*/
|
|
||||||
jint pairs_total; /* total number of lookupswitch pairs */
|
|
||||||
} lookupswitch_info;
|
|
||||||
} u;
|
|
||||||
} instruction;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
char *begin; /* beginning of dump buffer,
|
|
||||||
see below for format */
|
|
||||||
char *end; /* end of dump buffer */
|
|
||||||
jint num_traces; /* number of traces */
|
|
||||||
JVMPI_CallTrace *traces; /* traces of all threads */
|
|
||||||
jint *threads_status; /* status of all threads */
|
|
||||||
} monitor_dump;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
const char *name; /* name of raw monitor */
|
|
||||||
JVMPI_RawMonitor id; /* id */
|
|
||||||
} raw_monitor;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jobjectID object; /* Java object */
|
|
||||||
} monitor;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jobjectID object; /* Java object */
|
|
||||||
jlong timeout; /* timeout period */
|
|
||||||
} monitor_wait;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jlong used_objects;
|
|
||||||
jlong used_object_space;
|
|
||||||
jlong total_object_space;
|
|
||||||
} gc_info;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
jint data_len;
|
|
||||||
char *data;
|
|
||||||
} object_dump;
|
|
||||||
} u;
|
|
||||||
} JVMPI_Event;
|
|
||||||
|
|
||||||
/* interface functions */
|
|
||||||
typedef struct {
|
|
||||||
jint version; /* JVMPI version */
|
|
||||||
|
|
||||||
/* ------interface implemented by the profiler------ */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function called by the JVM to notify an event.
|
|
||||||
*/
|
|
||||||
void (*NotifyEvent)(JVMPI_Event *event);
|
|
||||||
|
|
||||||
/* ------interface implemented by the JVM------ */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function called by the profiler to enable/disable/send notification
|
|
||||||
* for a particular event type.
|
|
||||||
*
|
|
||||||
* event_type - event_type
|
|
||||||
* arg - event specific arg
|
|
||||||
*
|
|
||||||
* return JVMPI_NOT_AVAILABLE, JVMPI_SUCCESS or JVMPI_FAIL
|
|
||||||
*/
|
|
||||||
jint (*EnableEvent)(jint event_type, void *arg);
|
|
||||||
jint (*DisableEvent)(jint event_type, void *arg);
|
|
||||||
jint (*RequestEvent)(jint event_type, void *arg);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function called by the profiler to get a stack
|
|
||||||
* trace from the JVM.
|
|
||||||
*
|
|
||||||
* trace - trace data structure to be filled
|
|
||||||
* depth - maximum depth of the trace.
|
|
||||||
*/
|
|
||||||
void (*GetCallTrace)(JVMPI_CallTrace *trace, jint depth);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function called by profiler when it wants to exit/stop.
|
|
||||||
*/
|
|
||||||
void (*ProfilerExit)(jint);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Utility functions provided by the JVM.
|
|
||||||
*/
|
|
||||||
JVMPI_RawMonitor (*RawMonitorCreate)(char *lock_name);
|
|
||||||
void (*RawMonitorEnter)(JVMPI_RawMonitor lock_id);
|
|
||||||
void (*RawMonitorExit)(JVMPI_RawMonitor lock_id);
|
|
||||||
void (*RawMonitorWait)(JVMPI_RawMonitor lock_id, jlong ms);
|
|
||||||
void (*RawMonitorNotifyAll)(JVMPI_RawMonitor lock_id);
|
|
||||||
void (*RawMonitorDestroy)(JVMPI_RawMonitor lock_id);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function called by the profiler to get the current thread's CPU time.
|
|
||||||
*
|
|
||||||
* return time in nanoseconds;
|
|
||||||
*/
|
|
||||||
jlong (*GetCurrentThreadCpuTime)(void);
|
|
||||||
|
|
||||||
void (*SuspendThread)(JNIEnv *env);
|
|
||||||
void (*ResumeThread)(JNIEnv *env);
|
|
||||||
jint (*GetThreadStatus)(JNIEnv *env);
|
|
||||||
jboolean (*ThreadHasRun)(JNIEnv *env);
|
|
||||||
|
|
||||||
/* This function can be called safely only after JVMPI_EVENT_VM_INIT_DONE
|
|
||||||
notification by the JVM. */
|
|
||||||
jint (*CreateSystemThread)(char *name, jint priority, void (*f)(void *));
|
|
||||||
|
|
||||||
/* thread local storage access functions to avoid locking in time
|
|
||||||
critical functions */
|
|
||||||
void (*SetThreadLocalStorage)(JNIEnv *env_id, void *ptr);
|
|
||||||
void * (*GetThreadLocalStorage)(JNIEnv *env_id);
|
|
||||||
|
|
||||||
/* control GC */
|
|
||||||
void (*DisableGC)(void);
|
|
||||||
void (*EnableGC)(void);
|
|
||||||
void (*RunGC)(void);
|
|
||||||
|
|
||||||
jobjectID (*GetThreadObject)(JNIEnv *env);
|
|
||||||
jobjectID (*GetMethodClass)(jmethodID mid);
|
|
||||||
|
|
||||||
/* JNI <-> jobject conversions */
|
|
||||||
jobject (*jobjectID2jobject)(jobjectID jid);
|
|
||||||
jobjectID (*jobject2jobjectID)(jobject jobj);
|
|
||||||
|
|
||||||
void (*SuspendThreadList)
|
|
||||||
(jint reqCount, JNIEnv **reqList, jint *results);
|
|
||||||
void (*ResumeThreadList)
|
|
||||||
(jint reqCount, JNIEnv **reqList, jint *results);
|
|
||||||
} JVMPI_Interface;
|
|
||||||
|
|
||||||
/* type of argument passed to RequestEvent for heap dumps */
|
|
||||||
typedef struct {
|
|
||||||
jint heap_dump_level;
|
|
||||||
} JVMPI_HeapDumpArg;
|
|
||||||
|
|
||||||
/**********************************************************************
|
|
||||||
* Constants and formats used in JVM Profiler Interface.
|
|
||||||
**********************************************************************/
|
|
||||||
/*
|
|
||||||
* Event type constants.
|
|
||||||
*/
|
|
||||||
#define JVMPI_EVENT_METHOD_ENTRY ((jint)1)
|
|
||||||
#define JVMPI_EVENT_METHOD_ENTRY2 ((jint)2)
|
|
||||||
#define JVMPI_EVENT_METHOD_EXIT ((jint)3)
|
|
||||||
|
|
||||||
#define JVMPI_EVENT_OBJECT_ALLOC ((jint)4)
|
|
||||||
#define JVMPI_EVENT_OBJECT_FREE ((jint)5)
|
|
||||||
#define JVMPI_EVENT_OBJECT_MOVE ((jint)6)
|
|
||||||
|
|
||||||
#define JVMPI_EVENT_COMPILED_METHOD_LOAD ((jint)7)
|
|
||||||
#define JVMPI_EVENT_COMPILED_METHOD_UNLOAD ((jint)8)
|
|
||||||
|
|
||||||
#define JVMPI_EVENT_INSTRUCTION_START ((jint)9)
|
|
||||||
|
|
||||||
#define JVMPI_EVENT_THREAD_START ((jint)33)
|
|
||||||
#define JVMPI_EVENT_THREAD_END ((jint)34)
|
|
||||||
|
|
||||||
#define JVMPI_EVENT_CLASS_LOAD_HOOK ((jint)35)
|
|
||||||
|
|
||||||
#define JVMPI_EVENT_HEAP_DUMP ((jint)37)
|
|
||||||
#define JVMPI_EVENT_JNI_GLOBALREF_ALLOC ((jint)38)
|
|
||||||
#define JVMPI_EVENT_JNI_GLOBALREF_FREE ((jint)39)
|
|
||||||
#define JVMPI_EVENT_JNI_WEAK_GLOBALREF_ALLOC ((jint)40)
|
|
||||||
#define JVMPI_EVENT_JNI_WEAK_GLOBALREF_FREE ((jint)41)
|
|
||||||
#define JVMPI_EVENT_CLASS_LOAD ((jint)42)
|
|
||||||
#define JVMPI_EVENT_CLASS_UNLOAD ((jint)43)
|
|
||||||
#define JVMPI_EVENT_DATA_DUMP_REQUEST ((jint)44)
|
|
||||||
#define JVMPI_EVENT_DATA_RESET_REQUEST ((jint)45)
|
|
||||||
|
|
||||||
#define JVMPI_EVENT_JVM_INIT_DONE ((jint)46)
|
|
||||||
#define JVMPI_EVENT_JVM_SHUT_DOWN ((jint)47)
|
|
||||||
|
|
||||||
#define JVMPI_EVENT_ARENA_NEW ((jint)48)
|
|
||||||
#define JVMPI_EVENT_ARENA_DELETE ((jint)49)
|
|
||||||
|
|
||||||
#define JVMPI_EVENT_OBJECT_DUMP ((jint)50)
|
|
||||||
|
|
||||||
#define JVMPI_EVENT_RAW_MONITOR_CONTENDED_ENTER ((jint)51)
|
|
||||||
#define JVMPI_EVENT_RAW_MONITOR_CONTENDED_ENTERED ((jint)52)
|
|
||||||
#define JVMPI_EVENT_RAW_MONITOR_CONTENDED_EXIT ((jint)53)
|
|
||||||
#define JVMPI_EVENT_MONITOR_CONTENDED_ENTER ((jint)54)
|
|
||||||
#define JVMPI_EVENT_MONITOR_CONTENDED_ENTERED ((jint)55)
|
|
||||||
#define JVMPI_EVENT_MONITOR_CONTENDED_EXIT ((jint)56)
|
|
||||||
#define JVMPI_EVENT_MONITOR_WAIT ((jint)57)
|
|
||||||
#define JVMPI_EVENT_MONITOR_WAITED ((jint)58)
|
|
||||||
#define JVMPI_EVENT_MONITOR_DUMP ((jint)59)
|
|
||||||
|
|
||||||
#define JVMPI_EVENT_GC_START ((jint)60)
|
|
||||||
#define JVMPI_EVENT_GC_FINISH ((jint)61)
|
|
||||||
|
|
||||||
#define JVMPI_MAX_EVENT_TYPE_VAL ((jint)61)
|
|
||||||
|
|
||||||
/* old definitions, to be removed */
|
|
||||||
#define JVMPI_EVENT_LOAD_COMPILED_METHOD ((jint)7)
|
|
||||||
#define JVMPI_EVENT_UNLOAD_COMPILED_METHOD ((jint)8)
|
|
||||||
#define JVMPI_EVENT_NEW_ARENA ((jint)48)
|
|
||||||
#define JVMPI_EVENT_DELETE_ARENA ((jint)49)
|
|
||||||
#define JVMPI_EVENT_DUMP_DATA_REQUEST ((jint)44)
|
|
||||||
#define JVMPI_EVENT_RESET_DATA_REQUEST ((jint)45)
|
|
||||||
#define JVMPI_EVENT_OBJ_ALLOC ((jint)4)
|
|
||||||
#define JVMPI_EVENT_OBJ_FREE ((jint)5)
|
|
||||||
#define JVMPI_EVENT_OBJ_MOVE ((jint)6)
|
|
||||||
|
|
||||||
#define JVMPI_REQUESTED_EVENT ((jint)0x10000000)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* enabling/disabling event notification.
|
|
||||||
*/
|
|
||||||
/* results */
|
|
||||||
#define JVMPI_SUCCESS ((jint)0)
|
|
||||||
#define JVMPI_NOT_AVAILABLE ((jint)1)
|
|
||||||
#define JVMPI_FAIL ((jint)-1)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Thread status
|
|
||||||
*/
|
|
||||||
enum {
|
|
||||||
JVMPI_THREAD_RUNNABLE = 1,
|
|
||||||
JVMPI_THREAD_MONITOR_WAIT,
|
|
||||||
JVMPI_THREAD_CONDVAR_WAIT
|
|
||||||
};
|
|
||||||
|
|
||||||
#define JVMPI_THREAD_SUSPENDED 0x8000
|
|
||||||
#define JVMPI_THREAD_INTERRUPTED 0x4000
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Thread priority
|
|
||||||
*/
|
|
||||||
#define JVMPI_MINIMUM_PRIORITY 1
|
|
||||||
#define JVMPI_MAXIMUM_PRIORITY 10
|
|
||||||
#define JVMPI_NORMAL_PRIORITY 5
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Object type constants.
|
|
||||||
*/
|
|
||||||
#define JVMPI_NORMAL_OBJECT ((jint)0)
|
|
||||||
#define JVMPI_CLASS ((jint)2)
|
|
||||||
#define JVMPI_BOOLEAN ((jint)4)
|
|
||||||
#define JVMPI_CHAR ((jint)5)
|
|
||||||
#define JVMPI_FLOAT ((jint)6)
|
|
||||||
#define JVMPI_DOUBLE ((jint)7)
|
|
||||||
#define JVMPI_BYTE ((jint)8)
|
|
||||||
#define JVMPI_SHORT ((jint)9)
|
|
||||||
#define JVMPI_INT ((jint)10)
|
|
||||||
#define JVMPI_LONG ((jint)11)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Monitor dump constants.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define JVMPI_MONITOR_JAVA 0x01
|
|
||||||
#define JVMPI_MONITOR_RAW 0x02
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Heap dump constants.
|
|
||||||
*/
|
|
||||||
#define JVMPI_GC_ROOT_UNKNOWN 0xff
|
|
||||||
#define JVMPI_GC_ROOT_JNI_GLOBAL 0x01
|
|
||||||
#define JVMPI_GC_ROOT_JNI_LOCAL 0x02
|
|
||||||
#define JVMPI_GC_ROOT_JAVA_FRAME 0x03
|
|
||||||
#define JVMPI_GC_ROOT_NATIVE_STACK 0x04
|
|
||||||
#define JVMPI_GC_ROOT_STICKY_CLASS 0x05
|
|
||||||
#define JVMPI_GC_ROOT_THREAD_BLOCK 0x06
|
|
||||||
#define JVMPI_GC_ROOT_MONITOR_USED 0x07
|
|
||||||
#define JVMPI_GC_ROOT_THREAD_OBJ 0x08
|
|
||||||
|
|
||||||
#define JVMPI_GC_CLASS_DUMP 0x20
|
|
||||||
#define JVMPI_GC_INSTANCE_DUMP 0x21
|
|
||||||
#define JVMPI_GC_OBJ_ARRAY_DUMP 0x22
|
|
||||||
#define JVMPI_GC_PRIM_ARRAY_DUMP 0x23
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Dump levels
|
|
||||||
*/
|
|
||||||
#define JVMPI_DUMP_LEVEL_0 ((jint)0)
|
|
||||||
#define JVMPI_DUMP_LEVEL_1 ((jint)1)
|
|
||||||
#define JVMPI_DUMP_LEVEL_2 ((jint)2)
|
|
||||||
|
|
||||||
/* Types used in dumps -
|
|
||||||
*
|
|
||||||
* u1: 1 byte
|
|
||||||
* u2: 2 bytes
|
|
||||||
* u4: 4 bytes
|
|
||||||
* u8: 8 bytes
|
|
||||||
*
|
|
||||||
* ty: u1 where:
|
|
||||||
* JVMPI_CLASS: object
|
|
||||||
* JVMPI_BOOLEAN: boolean
|
|
||||||
* JVMPI_CHAR: char
|
|
||||||
* JVMPI_FLOAT: float
|
|
||||||
* JVMPI_DOUBLE: double
|
|
||||||
* JVMPI_BYTE: byte
|
|
||||||
* JVMPI_SHORT: short
|
|
||||||
* JVMPI_INT: int
|
|
||||||
* JVMPI_LONG: long
|
|
||||||
*
|
|
||||||
* vl: values, exact type depends on the type of the value:
|
|
||||||
* JVMPI_BOOLEAN & JVMPI_BYTE: u1
|
|
||||||
* JVMPI_SHORT & JVMPI_CHAR: u2
|
|
||||||
* JVMPI_INT & JVMPI_FLOAT: u4
|
|
||||||
* JVMPI_LONG & JVMPI_DOUBLE: u8
|
|
||||||
* JVMPI_CLASS: jobjectID
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Format of the monitor dump buffer:
|
|
||||||
*
|
|
||||||
* u1 monitor type
|
|
||||||
*
|
|
||||||
* JVMPI_MONITOR_JAVA Java monitor
|
|
||||||
*
|
|
||||||
* jobjectID object
|
|
||||||
* JNIEnv * owner thread
|
|
||||||
* u4 entry count
|
|
||||||
* u4 # of threads waiting to enter
|
|
||||||
* [JNIEnv *]* threads waiting to enter
|
|
||||||
* u4 # of threads waiting to be notified
|
|
||||||
* [JNIEnv *]* threads waiting to be notified
|
|
||||||
*
|
|
||||||
* JVMPI_MONITOR_RAW raw monitor
|
|
||||||
*
|
|
||||||
* char * name
|
|
||||||
* JVMPI_RawMonitor raw monitor
|
|
||||||
* JNIEnv * owner thread
|
|
||||||
* u4 entry count
|
|
||||||
* u4 # of threads waiting to enter
|
|
||||||
* [JNIEnv *]* threads waiting to enter
|
|
||||||
* u4 # of threads waiting to be notified
|
|
||||||
* [JNIEnv *]* threads waiting to be notified
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Format of the heap dump buffer depends on the dump level
|
|
||||||
* specified in the JVMPI_HeapDumpArg passed to RequestEvent as arg.
|
|
||||||
* The default is JVMPI_DUMP_LEVEL_2.
|
|
||||||
*
|
|
||||||
* JVMPI_DUMP_LEVEL_0:
|
|
||||||
*
|
|
||||||
* u1 object type (JVMPI_CLASS ...)
|
|
||||||
* jobjectID object
|
|
||||||
*
|
|
||||||
* JVMPI_DUMP_LEVEL_1 and JVMPI_DUMP_LEVEL_2 use the following format:
|
|
||||||
* In the case of JVMPI_DUMP_LEVEL_1 the values of primitive fields in object
|
|
||||||
* instance dumps , the values of primitive statics in class dumps and the
|
|
||||||
* values of primitive arrays are excluded. JVMPI_DUMP_LEVEL_2 includes the
|
|
||||||
* primitive values.
|
|
||||||
*
|
|
||||||
* u1 record type
|
|
||||||
*
|
|
||||||
* JVMPI_GC_ROOT_UNKNOWN unknown root
|
|
||||||
*
|
|
||||||
* jobjectID object
|
|
||||||
*
|
|
||||||
* JVMPI_GC_ROOT_JNI_GLOBAL JNI global ref root
|
|
||||||
*
|
|
||||||
* jobjectID object
|
|
||||||
* jobject JNI global reference
|
|
||||||
*
|
|
||||||
* JVMPI_GC_ROOT_JNI_LOCAL JNI local ref
|
|
||||||
*
|
|
||||||
* jobjectID object
|
|
||||||
* JNIEnv * thread
|
|
||||||
* u4 frame # in stack trace (-1 for empty)
|
|
||||||
*
|
|
||||||
* JVMPI_GC_ROOT_JAVA_FRAME Java stack frame
|
|
||||||
*
|
|
||||||
* jobjectID object
|
|
||||||
* JNIEnv * thread
|
|
||||||
* u4 frame # in stack trace (-1 for empty)
|
|
||||||
*
|
|
||||||
* JVMPI_GC_ROOT_NATIVE_STACK Native stack
|
|
||||||
*
|
|
||||||
* jobjectID object
|
|
||||||
* JNIEnv * thread
|
|
||||||
*
|
|
||||||
* JVMPI_GC_ROOT_STICKY_CLASS System class
|
|
||||||
*
|
|
||||||
* jobjectID class object
|
|
||||||
*
|
|
||||||
* JVMPI_GC_ROOT_THREAD_BLOCK Reference from thread block
|
|
||||||
*
|
|
||||||
* jobjectID thread object
|
|
||||||
* JNIEnv * thread
|
|
||||||
*
|
|
||||||
* JVMPI_GC_ROOT_MONITOR_USED Busy monitor
|
|
||||||
*
|
|
||||||
* jobjectID object
|
|
||||||
*
|
|
||||||
* JVMPI_GC_CLASS_DUMP dump of a class object
|
|
||||||
*
|
|
||||||
* jobjectID class
|
|
||||||
* jobjectID super
|
|
||||||
* jobjectID class loader
|
|
||||||
* jobjectID signers
|
|
||||||
* jobjectID protection domain
|
|
||||||
* jobjectID class name
|
|
||||||
* void * reserved
|
|
||||||
*
|
|
||||||
* u4 instance size (in bytes)
|
|
||||||
*
|
|
||||||
* [jobjectID]* interfaces
|
|
||||||
*
|
|
||||||
* u2 size of constant pool
|
|
||||||
* [u2, constant pool index,
|
|
||||||
* ty, type,
|
|
||||||
* vl]* value
|
|
||||||
*
|
|
||||||
* [vl]* static field values
|
|
||||||
*
|
|
||||||
* JVMPI_GC_INSTANCE_DUMP dump of a normal object
|
|
||||||
*
|
|
||||||
* jobjectID object
|
|
||||||
* jobjectID class
|
|
||||||
* u4 number of bytes that follow
|
|
||||||
* [vl]* instance field values (class, followed
|
|
||||||
* by super, super's super ...)
|
|
||||||
*
|
|
||||||
* JVMPI_GC_OBJ_ARRAY_DUMP dump of an object array
|
|
||||||
*
|
|
||||||
* jobjectID array object
|
|
||||||
* u4 number of elements
|
|
||||||
* jobjectID element class
|
|
||||||
* [jobjectID]* elements
|
|
||||||
*
|
|
||||||
* JVMPI_GC_PRIM_ARRAY_DUMP dump of a primitive array
|
|
||||||
*
|
|
||||||
* jobjectID array object
|
|
||||||
* u4 number of elements
|
|
||||||
* ty element type
|
|
||||||
* [vl]* elements
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Format of the dump received in JVMPI_EVENT_OBJECT_DUMP:
|
|
||||||
* All the records have JVMPI_DUMP_LEVEL_2 information.
|
|
||||||
*
|
|
||||||
* u1 record type
|
|
||||||
*
|
|
||||||
* followed by a:
|
|
||||||
*
|
|
||||||
* JVMPI_GC_CLASS_DUMP,
|
|
||||||
* JVMPI_GC_INSTANCE_DUMP,
|
|
||||||
* JVMPI_GC_OBJ_ARRAY_DUMP, or
|
|
||||||
* JVMPI_GC_PRIM_ARRAY_DUMP record.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#endif /* !_JAVASOFT_JVMPI_H_ */
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,41 +0,0 @@
|
||||||
/*
|
|
||||||
* @(#)jawt_md.h 1.7 03/12/19
|
|
||||||
*
|
|
||||||
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
|
|
||||||
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _JAVASOFT_JAWT_MD_H_
|
|
||||||
#define _JAVASOFT_JAWT_MD_H_
|
|
||||||
|
|
||||||
#include <windows.h>
|
|
||||||
#include "jawt.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Win32-specific declarations for AWT native interface.
|
|
||||||
* See notes in jawt.h for an example of use.
|
|
||||||
*/
|
|
||||||
typedef struct jawt_Win32DrawingSurfaceInfo {
|
|
||||||
/* Native window, DDB, or DIB handle */
|
|
||||||
union {
|
|
||||||
HWND hwnd;
|
|
||||||
HBITMAP hbitmap;
|
|
||||||
void* pbits;
|
|
||||||
};
|
|
||||||
/*
|
|
||||||
* This HDC should always be used instead of the HDC returned from
|
|
||||||
* BeginPaint() or any calls to GetDC().
|
|
||||||
*/
|
|
||||||
HDC hdc;
|
|
||||||
HPALETTE hpalette;
|
|
||||||
} JAWT_Win32DrawingSurfaceInfo;
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* !_JAVASOFT_JAWT_MD_H_ */
|
|
|
@ -1,19 +0,0 @@
|
||||||
/*
|
|
||||||
* @(#)jni_md.h 1.14 03/12/19
|
|
||||||
*
|
|
||||||
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
|
|
||||||
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _JAVASOFT_JNI_MD_H_
|
|
||||||
#define _JAVASOFT_JNI_MD_H_
|
|
||||||
|
|
||||||
#define JNIEXPORT __declspec(dllexport)
|
|
||||||
#define JNIIMPORT __declspec(dllimport)
|
|
||||||
#define JNICALL __stdcall
|
|
||||||
|
|
||||||
typedef long jint;
|
|
||||||
typedef __int64 jlong;
|
|
||||||
typedef signed char jbyte;
|
|
||||||
|
|
||||||
#endif /* !_JAVASOFT_JNI_MD_H_ */
|
|
Binary file not shown.
|
@ -1,21 +0,0 @@
|
||||||
/* DO NOT EDIT THIS FILE - it is machine generated */
|
|
||||||
#include <jni.h>
|
|
||||||
/* Header for class org_openJpeg_OpenJPEGJavaDecoder */
|
|
||||||
|
|
||||||
#ifndef _Included_org_openJpeg_OpenJPEGJavaDecoder
|
|
||||||
#define _Included_org_openJpeg_OpenJPEGJavaDecoder
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
/*
|
|
||||||
* Class: org_openJpeg_OpenJPEGJavaDecoder
|
|
||||||
* Method: internalDecodeJ2KtoImage
|
|
||||||
* Signature: ([Ljava/lang/String;)I
|
|
||||||
*/
|
|
||||||
JNIEXPORT jint JNICALL Java_org_openJpeg_OpenJPEGJavaDecoder_internalDecodeJ2KtoImage
|
|
||||||
(JNIEnv *, jobject, jobjectArray);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif
|
|
|
@ -1,21 +0,0 @@
|
||||||
/* DO NOT EDIT THIS FILE - it is machine generated */
|
|
||||||
#include <jni.h>
|
|
||||||
/* Header for class org_openJpeg_OpenJPEGJavaEncoder */
|
|
||||||
|
|
||||||
#ifndef _Included_org_openJpeg_OpenJPEGJavaEncoder
|
|
||||||
#define _Included_org_openJpeg_OpenJPEGJavaEncoder
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
/*
|
|
||||||
* Class: org_openJpeg_OpenJPEGJavaEncoder
|
|
||||||
* Method: internalEncodeImageToJ2K
|
|
||||||
* Signature: ([Ljava/lang/String;)J
|
|
||||||
*/
|
|
||||||
JNIEXPORT jlong JNICALL Java_org_openJpeg_OpenJPEGJavaEncoder_internalEncodeImageToJ2K
|
|
||||||
(JNIEnv *, jobject, jobjectArray);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif
|
|
262
LibOpenJPEG.dsp
262
LibOpenJPEG.dsp
|
@ -1,262 +0,0 @@
|
||||||
# Microsoft Developer Studio Project File - Name="LibOpenJPEG" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
|
||||||
|
|
||||||
CFG=LibOpenJPEG - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "LibOpenJPEG.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "LibOpenJPEG.mak" CFG="LibOpenJPEG - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "LibOpenJPEG - Win32 Release" (based on "Win32 (x86) Static Library")
|
|
||||||
!MESSAGE "LibOpenJPEG - Win32 Debug" (based on "Win32 (x86) Static Library")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "LibOpenJPEG - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "Release"
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "OPJ_STATIC" /FD /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x40c /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x40c /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LIB32=link.exe -lib
|
|
||||||
# ADD BASE LIB32 /nologo
|
|
||||||
# ADD LIB32 /nologo
|
|
||||||
# Begin Special Build Tool
|
|
||||||
SOURCE="$(InputPath)"
|
|
||||||
PostBuild_Cmds=if not exist dist mkdir dist copy Release\LibOpenJPEG.lib dist copy libopenjpeg\openjpeg.h dist
|
|
||||||
# End Special Build Tool
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "LibOpenJPEG - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug"
|
|
||||||
# PROP Intermediate_Dir "Debug"
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "OPJ_STATIC" /FD /GZ /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x40c /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x40c /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LIB32=link.exe -lib
|
|
||||||
# ADD BASE LIB32 /nologo
|
|
||||||
# ADD LIB32 /nologo /out:"Debug\LibOpenJPEGd.lib"
|
|
||||||
# Begin Special Build Tool
|
|
||||||
SOURCE="$(InputPath)"
|
|
||||||
PostBuild_Cmds=if not exist dist mkdir dist copy Debug\LibOpenJPEGd.lib dist copy libopenjpeg\openjpeg.h dist
|
|
||||||
# End Special Build Tool
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "LibOpenJPEG - Win32 Release"
|
|
||||||
# Name "LibOpenJPEG - Win32 Debug"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\bio.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\cio.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\dwt.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\event.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\image.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\j2k.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\j2k_lib.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\jp2.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\jpt.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\mct.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\mqc.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\openjpeg.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\pi.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\raw.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\t1.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\t2.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\tcd.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\tgt.c
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\bio.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\cio.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\dwt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\event.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\fix.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\image.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\int.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\j2k.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\j2k_lib.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\jp2.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\jpt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\mct.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\mqc.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\openjpeg.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\opj_includes.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\pi.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\raw.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\t1.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\libopenjpeg\t1_luts.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\t2.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\tcd.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=libopenjpeg\tgt.h
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
|
@ -1,41 +0,0 @@
|
||||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
|
||||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "DllOpenJPEG"=.\DllOpenJPEG.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "LibOpenJPEG"=.\LibOpenJPEG.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Global:
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<3>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 9.00
|
|
||||||
# Visual Studio 2005
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibOpenJPEG", "LibOpenJPEG.vcproj", "{6A47DBE3-8F80-4ABE-8688-5F8DC620977C}"
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
Debug|Win32 = Debug|Win32
|
|
||||||
Release|Win32 = Release|Win32
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{6A47DBE3-8F80-4ABE-8688-5F8DC620977C}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{6A47DBE3-8F80-4ABE-8688-5F8DC620977C}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{6A47DBE3-8F80-4ABE-8688-5F8DC620977C}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{6A47DBE3-8F80-4ABE-8688-5F8DC620977C}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
|
@ -1,642 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8,00"
|
|
||||||
Name="LibOpenJPEG"
|
|
||||||
ProjectGUID="{4F27AA53-4181-4A1A-8238-3931B0A41048}"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory=".\Release"
|
|
||||||
IntermediateDirectory=".\Release"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
WholeProgramOptimization="false"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;OPJ_STATIC;_CRT_SECURE_NO_DEPRECATE"
|
|
||||||
StringPooling="true"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
PrecompiledHeaderFile=".\Release/LibOpenJPEG.pch"
|
|
||||||
AssemblerListingLocation=".\Release/"
|
|
||||||
ObjectFile=".\Release/"
|
|
||||||
ProgramDataBaseFileName=".\Release/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1036"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
OutputFile=".\Release\LibOpenJPEG.lib"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile=".\Release/LibOpenJPEG.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
CommandLine="if not exist dist mkdir dist
copy Release\LibOpenJPEG.lib dist
copy libopenjpeg\openjpeg.h dist
"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory=".\Debug"
|
|
||||||
IntermediateDirectory=".\Debug"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
InlineFunctionExpansion="0"
|
|
||||||
EnableIntrinsicFunctions="false"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
WholeProgramOptimization="false"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;OPJ_STATIC;_CRT_SECURE_NO_DEPRECATE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
PrecompiledHeaderFile=".\Debug/LibOpenJPEG.pch"
|
|
||||||
AssemblerListingLocation=".\Debug/"
|
|
||||||
ObjectFile=".\Debug/"
|
|
||||||
ProgramDataBaseFileName=".\Debug/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1036"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
OutputFile="Debug\LibOpenJPEGd.lib"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile=".\Debug/LibOpenJPEG.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
CommandLine="if not exist dist mkdir dist
copy Debug\LibOpenJPEGd.lib dist
copy libopenjpeg\openjpeg.h dist
"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\bio.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\cio.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\dwt.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\event.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\image.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\j2k.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\j2k_lib.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\jp2.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\jpt.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\mct.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\mqc.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\openjpeg.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\pi.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\raw.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\t1.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\t2.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\tcd.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\tgt.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\bio.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\cio.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\dwt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\event.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\fix.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\image.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\int.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\j2k.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\j2k_lib.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\jp2.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\jpt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\mct.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\mqc.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\openjpeg.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\opj_includes.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\libopenjpeg\opj_malloc.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\pi.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\raw.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\t1.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\t1_luts.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\t2.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\tcd.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="libopenjpeg\tgt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
78
Makefile
78
Makefile
|
@ -1,78 +0,0 @@
|
||||||
# Linux makefile for OpenJPEG
|
|
||||||
|
|
||||||
VER_MAJOR = 2
|
|
||||||
VER_MINOR = 2.0.0
|
|
||||||
|
|
||||||
SRCS = ./libopenjpeg/bio.c ./libopenjpeg/cio.c ./libopenjpeg/dwt.c ./libopenjpeg/event.c ./libopenjpeg/image.c ./libopenjpeg/j2k.c ./libopenjpeg/j2k_lib.c ./libopenjpeg/jp2.c ./libopenjpeg/jpt.c ./libopenjpeg/mct.c ./libopenjpeg/mqc.c ./libopenjpeg/openjpeg.c ./libopenjpeg/pi.c ./libopenjpeg/raw.c ./libopenjpeg/t1.c ./libopenjpeg/t2.c ./libopenjpeg/tcd.c ./libopenjpeg/tgt.c ./libopenjpeg/function_list.c ./libopenjpeg/invert.c ./libopenjpeg/profile.c
|
|
||||||
INCLS = ./libopenjpeg/bio.h ./libopenjpeg/cio.h ./libopenjpeg/dwt.h ./libopenjpeg/event.h ./libopenjpeg/fix.h ./libopenjpeg/image.h ./libopenjpeg/int.h ./libopenjpeg/j2k.h ./libopenjpeg/j2k_lib.h ./libopenjpeg/jp2.h ./libopenjpeg/jpt.h ./libopenjpeg/mct.h ./libopenjpeg/mqc.h ./libopenjpeg/openjpeg.h ./libopenjpeg/pi.h ./libopenjpeg/raw.h ./libopenjpeg/t1.h ./libopenjpeg/t2.h ./libopenjpeg/tcd.h ./libopenjpeg/tgt.h ./libopenjpeg/function_list.h ./libopenjpeg/invert.h ./libopenjpeg/profile.h ./libopenjpeg/opj_malloc.h ./libopenjpeg/opj_includes.h
|
|
||||||
INCLUDE = -Ilibopenjpeg
|
|
||||||
|
|
||||||
# General configuration variables:
|
|
||||||
CC = gcc
|
|
||||||
AR = ar
|
|
||||||
|
|
||||||
PREFIX = /usr
|
|
||||||
INSTALL_LIBDIR = $(PREFIX)/lib
|
|
||||||
INSTALL_INCLUDE = $(PREFIX)/include
|
|
||||||
|
|
||||||
# Converts cr/lf to just lf
|
|
||||||
DOS2UNIX = dos2unix
|
|
||||||
|
|
||||||
COMPILERFLAGS = -Wall -O3 -ffast-math -std=c99 -fPIC
|
|
||||||
LIBRARIES = -lstdc++
|
|
||||||
|
|
||||||
MODULES = $(SRCS:.c=.o)
|
|
||||||
CFLAGS = $(COMPILERFLAGS) $(INCLUDE)
|
|
||||||
|
|
||||||
TARGET = openjpeg
|
|
||||||
STATICLIB = lib$(TARGET).a
|
|
||||||
SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).so
|
|
||||||
LIBNAME = lib$(TARGET).so.$(VER_MAJOR)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
default: all
|
|
||||||
|
|
||||||
all: OpenJPEG
|
|
||||||
|
|
||||||
dist: OpenJPEG
|
|
||||||
install -d dist
|
|
||||||
install -m 644 $(STATICLIB) dist
|
|
||||||
install -m 755 $(SHAREDLIB) dist
|
|
||||||
ln -sf $(SHAREDLIB) dist/$(LIBNAME)
|
|
||||||
install libopenjpeg/openjpeg.h dist
|
|
||||||
|
|
||||||
dos2unix:
|
|
||||||
@$(DOS2UNIX) $(SRCS) $(INCLS)
|
|
||||||
|
|
||||||
OpenJPEG: $(STATICLIB) $(SHAREDLIB)
|
|
||||||
|
|
||||||
.c.o:
|
|
||||||
$(CC) $(CFLAGS) -c $< -o $@
|
|
||||||
|
|
||||||
$(STATICLIB): $(MODULES)
|
|
||||||
$(AR) r $@ $(MODULES)
|
|
||||||
|
|
||||||
$(SHAREDLIB): $(MODULES)
|
|
||||||
$(CC) -s -shared -Wl,-soname,$(LIBNAME) -o $@ $(MODULES) $(LIBRARIES)
|
|
||||||
|
|
||||||
install: OpenJPEG
|
|
||||||
install -d '$(DESTDIR)$(INSTALL_LIBDIR)' '$(DESTDIR)$(INSTALL_INCLUDE)'
|
|
||||||
install -m 644 -o root -g root $(STATICLIB) '$(DESTDIR)$(INSTALL_LIBDIR)'
|
|
||||||
ranlib '$(DESTDIR)$(INSTALL_LIBDIR)/$(STATICLIB)'
|
|
||||||
install -m 755 -o root -g root $(SHAREDLIB) '$(DESTDIR)$(INSTALL_LIBDIR)'
|
|
||||||
ln -sf $(SHAREDLIB) '$(DESTDIR)$(INSTALL_LIBDIR)/$(LIBNAME)'
|
|
||||||
install -m 644 -o root -g root libopenjpeg/openjpeg.h '$(DESTDIR)$(INSTALL_INCLUDE)'
|
|
||||||
-ldconfig
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -rf core dist/ u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)
|
|
||||||
|
|
||||||
osx:
|
|
||||||
make -f Makefile.osx
|
|
||||||
|
|
||||||
osxinstall:
|
|
||||||
make -f Makefile.osx install
|
|
||||||
|
|
||||||
osxclean:
|
|
||||||
make -f Makefile.osx clean
|
|
66
Makefile.osx
66
Makefile.osx
|
@ -1,66 +0,0 @@
|
||||||
# MacOSX makefile for OpenJPEG
|
|
||||||
|
|
||||||
VER_MAJOR = 2
|
|
||||||
VER_MINOR = 2.0.0
|
|
||||||
|
|
||||||
SRCS = ./libopenjpeg/bio.c ./libopenjpeg/cio.c ./libopenjpeg/dwt.c ./libopenjpeg/event.c ./libopenjpeg/image.c ./libopenjpeg/j2k.c ./libopenjpeg/j2k_lib.c ./libopenjpeg/jp2.c ./libopenjpeg/jpt.c ./libopenjpeg/mct.c ./libopenjpeg/mqc.c ./libopenjpeg/openjpeg.c ./libopenjpeg/pi.c ./libopenjpeg/raw.c ./libopenjpeg/t1.c ./libopenjpeg/t2.c ./libopenjpeg/tcd.c ./libopenjpeg/tgt.c
|
|
||||||
INCLS = ./libopenjpeg/bio.h ./libopenjpeg/cio.h ./libopenjpeg/dwt.h ./libopenjpeg/event.h ./libopenjpeg/fix.h ./libopenjpeg/image.h ./libopenjpeg/int.h ./libopenjpeg/j2k.h ./libopenjpeg/j2k_lib.h ./libopenjpeg/jp2.h ./libopenjpeg/jpt.h ./libopenjpeg/mct.h ./libopenjpeg/mqc.h ./libopenjpeg/openjpeg.h ./libopenjpeg/pi.h ./libopenjpeg/raw.h ./libopenjpeg/t1.h ./libopenjpeg/t2.h ./libopenjpeg/tcd.h ./libopenjpeg/tgt.h ./libopenjpeg/opj_includes.h
|
|
||||||
INCLUDE = -Ilibopenjpeg
|
|
||||||
|
|
||||||
# General configuration variables:
|
|
||||||
CC = gcc
|
|
||||||
LIBTOOLSTAT = libtool
|
|
||||||
LIBTOOLDYN = gcc
|
|
||||||
|
|
||||||
PREFIX = /usr
|
|
||||||
INSTALL_LIBDIR = $(PREFIX)/lib
|
|
||||||
INSTALL_INCLUDE = $(PREFIX)/include
|
|
||||||
|
|
||||||
COMPILERFLAGS = -O3 -fPIC
|
|
||||||
|
|
||||||
MODULES = $(SRCS:.c=.o)
|
|
||||||
CFLAGS = $(COMPILERFLAGS) $(INCLUDE)
|
|
||||||
|
|
||||||
TARGET = openjpeg
|
|
||||||
STATICLIB = lib$(TARGET).a
|
|
||||||
SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).dylib
|
|
||||||
LIBNAME = lib$(TARGET).dylib
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
default: all
|
|
||||||
|
|
||||||
all: OpenJPEG
|
|
||||||
|
|
||||||
dos2unix:
|
|
||||||
@$(DOS2UNIX) $(SRCS) $(INCLS)
|
|
||||||
|
|
||||||
dist: OpenJPEG
|
|
||||||
install -d dist
|
|
||||||
install -m 644 $(STATICLIB) dist
|
|
||||||
install -m 755 $(SHAREDLIB) dist
|
|
||||||
ln -sf $(SHAREDLIB) dist/$(LIBNAME)
|
|
||||||
install libopenjpeg/openjpeg.h dist
|
|
||||||
|
|
||||||
OpenJPEG: $(STATICLIB) $(SHAREDLIB)
|
|
||||||
|
|
||||||
.c.o:
|
|
||||||
$(CC) $(CFLAGS) -c $< -o $@
|
|
||||||
|
|
||||||
$(STATICLIB): $(MODULES)
|
|
||||||
$(LIBTOOLSTAT) -o $@ $(MODULES)
|
|
||||||
|
|
||||||
$(SHAREDLIB): $(MODULES)
|
|
||||||
$(LIBTOOLDYN) -dynamiclib -o $@ $(MODULES)
|
|
||||||
|
|
||||||
install:
|
|
||||||
install -d '$(DESTDIR)$(INSTALL_LIBDIR)' '$(DESTDIR)$(INSTALL_INCLUDE)'
|
|
||||||
install -m 644 -o root -g wheel $(STATICLIB) '$(DESTDIR)$(INSTALL_LIBDIR)'
|
|
||||||
ranlib '$(DESTDIR)$(INSTALL_LIBDIR)/$(STATICLIB)'
|
|
||||||
install -m 755 -o root -g wheel $(SHAREDLIB) '$(DESTDIR)$(INSTALL_LIBDIR)'
|
|
||||||
ln -sf $(SHAREDLIB) '$(DESTDIR)$(INSTALL_LIBDIR)/$(LIBNAME)'
|
|
||||||
install -m 644 -o root -g wheel ./libopenjpeg/openjpeg.h '$(DESTDIR)$(INSTALL_INCLUDE)'
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -rf core dist/ u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)
|
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
# Makefile for OPJViewer
|
|
||||||
|
|
||||||
# General configuration variables:
|
|
||||||
CC = $(shell wx-config-2.8 --cxx)
|
|
||||||
AR = ar
|
|
||||||
|
|
||||||
CFLAGS = -DUSE_JPWL -DwxUSE_LIBOPENJPEG -DwxUSE_GUI=1 -DOPJ_STATIC -DOPJ_HTMLABOUT -DOPJ_INICONFIG -DUSE_JPSEC -DOPJ_MANYFORMATS $(shell wx-config-2.8 --cxxflags) # -g -p -pg -DUSE_JPWL
|
|
||||||
|
|
||||||
OPJV_SRCS = source/imagjpeg2000.cpp source/wxj2kparser.cpp source/OPJViewer.cpp source/wxjp2parser.cpp source/OPJDialogs.cpp source/OPJThreads.cpp source/OPJAbout.cpp ../codec/index.c
|
|
||||||
|
|
||||||
MODULES = $(OPJV_SRCS:.cpp=.o)
|
|
||||||
|
|
||||||
all: opjviewer lib
|
|
||||||
|
|
||||||
.cpp.o:
|
|
||||||
$(CC) $(CFLAGS) -c $< -o $@
|
|
||||||
|
|
||||||
lib:
|
|
||||||
cd ../jpwl; make
|
|
||||||
|
|
||||||
opjviewer: $(OPJV_SRCS) lib
|
|
||||||
$(CC) $(CFLAGS) -I .. -I ../codec -I ../libopenjpeg $(OPJV_SRCS) -o OPJViewer -L ../jpwl -lopenjpeg_JPWL -lm -lstdc++ -ltiff $(shell wx-config-2.8 --libs)
|
|
||||||
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f OPJViewer *.o *.a
|
|
||||||
cd ../libopenjpeg; rm -f *.o
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#.cpp.o :
|
|
||||||
# $(CXX) -g -c `wx-config-2.8 --cxxflags` -I ../.. -D wxUSE_LIBOPENJPEG -D wxHACK_BOOLEAN -o $@ $<
|
|
||||||
|
|
||||||
#all: $(PROGRAM)
|
|
||||||
|
|
||||||
#$(PROGRAM): $(OBJECTS)
|
|
||||||
# $(CXX) -o $(PROGRAM) $(OBJECTS) -lopenjpeg -L ../.. `wx-config-2.8 --libs`
|
|
||||||
|
|
||||||
#clean:
|
|
||||||
# rm -f *.o $(PROGRAM)
|
|
|
@ -1,290 +0,0 @@
|
||||||
# Microsoft Developer Studio Project File - Name="OPJViewer" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=OPJVIEWER - WIN32 RELEASE
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "OPJViewer.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "OPJViewer.mak" CFG="OPJVIEWER - WIN32 RELEASE"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "OPJViewer - Win32 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "OPJViewer - Win32 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "OPJViewer - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "Release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /G6 /MD /W3 /GX /O2 /I "$(WXWIN28)\lib\vc_lib\msw" /I "$(WXWIN28)\include" /I ".." /I "..\libopenjpeg" /I "$(MXFLIB)" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D WINVER=0x400 /D "_MT" /D wxUSE_GUI=1 /D "wxUSE_LIBOPENJPEG" /D "OPJ_STATIC" /D "USE_JPWL" /D "USE_JPSEC" /D "OPJ_HTMLABOUT" /D "OPJ_MANYFORMATS" /D "OPJ_INICONFIG" /FR /FD /Zm200 /c
|
|
||||||
# ADD BASE RSC /l 0x410 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /i "$(WXWIN28)\include" /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib wxzlib.lib wxregex.lib wxpng.lib wxjpeg.lib wxbase28.lib wxmsw28_core.lib wxmsw28_html.lib wxmsw28_adv.lib wxmsw28_core.lib wxbase28.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib LibOpenJPEG_JPWL.lib mxflib.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libcmt.lib" /libpath:"$(WXWIN28)\lib\vc_lib" /libpath:"..\jpwl\Release" /libpath:"$(MXFLIB)\build\msvc\Release" /IGNORE:4089
|
|
||||||
# SUBTRACT LINK32 /pdb:none /nodefaultlib
|
|
||||||
# Begin Special Build Tool
|
|
||||||
SOURCE="$(InputPath)"
|
|
||||||
PostBuild_Desc=Update build number
|
|
||||||
PostBuild_Cmds=buildupdate.bat
|
|
||||||
# End Special Build Tool
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "OPJViewer - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "OPJViewer___Win32_Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "OPJViewer___Win32_Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug"
|
|
||||||
# PROP Intermediate_Dir "Debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "$(WXWIN28)\INCLUDE" /I "$(WXWIN28)\lib\vc_lib\msw" /I "$(WXWIN28)\include" /I ".." /I "..\libopenjpeg" /I "$(MXFLIB)" /D "_DEBUG" /D "__WXDEBUG__" /D WXDEBUG=1 /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D WINVER=0x400 /D "_MT" /D wxUSE_GUI=1 /D "wxUSE_LIBOPENJPEG" /D "OPJ_STATIC" /D "USE_JPWL" /D "OPJ_HTMLABOUT" /D "OPJ_INICONFIG" /D "OPJ_MANYFORMATS" /D "USE_JPSEC" /FR /FD /GZ /Zm200 /c
|
|
||||||
# ADD BASE RSC /l 0x410 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x410 /i "$(WXWIN28)\include" /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib wxzlibd.lib wxregexd.lib wxpngd.lib wxjpegd.lib wxtiffd.lib wxbase28d.lib wxmsw28d_core.lib wxmsw28d_html.lib wxmsw28d_adv.lib LibOpenJPEG_JPWLd.lib mxflib.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcmtd.lib" /pdbtype:sept /libpath:"$(WXWIN28)\lib\vc_lib" /libpath:"..\jpwl\Debug" /libpath:"$(MXFLIB)\build\msvc\Debug"
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "OPJViewer - Win32 Release"
|
|
||||||
# Name "OPJViewer - Win32 Debug"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\imagjpeg2000.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\imagmxf.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\index.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\OPJAbout.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\OPJDialogs.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\OPJThreads.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\OPJViewer.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wxj2kparser.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wxjp2parser.cpp
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\about_htm.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\build.h
|
|
||||||
# PROP Exclude_From_Build 1
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\imagjpeg2000.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\imagmxf.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\index.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\OPJViewer.h
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Resource Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\blank.cur
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\bullseye.cur
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\cdrom.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\computer.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\cross.cur
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\drive.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\file1.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\floppy.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\folder1.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\folder2.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\hand.cur
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\icon1.xpm
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\icon2.xpm
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\icon3.xpm
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\icon4.xpm
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\icon5.xpm
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\magnif1.cur
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\opj_logo.xpm
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\OPJChild.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\OPJChild16.xpm
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\OPJViewer.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\OPJViewer.rc
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\OPJViewer16.xpm
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\pbrush.cur
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\pencil.cur
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\pntleft.cur
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\pntright.cur
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\removble.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\rightarr.cur
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\roller.cur
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\source\wx\msw\std.ico
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
|
@ -1,56 +0,0 @@
|
||||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
|
||||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "LibOpenJPEG_JPWL"=..\jpwl\LibOpenJPEG_JPWL.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "OPJViewer"=.\OPJViewer.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name LibOpenJPEG_JPWL
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "mxflib"="..\..\..\..\mxflib-1.0.0\build\msvc\mxflib.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Global:
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<3>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
; Script generated by the Inno Setup Script Wizard.
|
|
||||||
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
|
||||||
|
|
||||||
[Setup]
|
|
||||||
AppName=OPJViewer
|
|
||||||
AppVerName=OPJViewer 0.4 beta
|
|
||||||
AppPublisher=OpenJPEG
|
|
||||||
AppPublisherURL=http://www.openjpeg.org
|
|
||||||
AppSupportURL=http://www.openjpeg.org
|
|
||||||
AppUpdatesURL=http://www.openjpeg.org
|
|
||||||
DefaultDirName={pf}\OPJViewer
|
|
||||||
DefaultGroupName=OPJViewer
|
|
||||||
OutputDir=setup
|
|
||||||
OutputBaseFilename=OPJViewer04beta_setup
|
|
||||||
Compression=lzma
|
|
||||||
SolidCompression=true
|
|
||||||
InfoBeforeFile=source\readmebefore.txt
|
|
||||||
InfoAfterFile=source\readmeafter.txt
|
|
||||||
LicenseFile=source\license.txt
|
|
||||||
VersionInfoVersion=0.4.0.0
|
|
||||||
VersionInfoCompany=OpenJPEG
|
|
||||||
VersionInfoDescription=JPEG 2000 viewer
|
|
||||||
ShowLanguageDialog=yes
|
|
||||||
SetupIconFile=source\OPJViewer.ico
|
|
||||||
|
|
||||||
[Languages]
|
|
||||||
Name: english; MessagesFile: compiler:Default.isl
|
|
||||||
|
|
||||||
[Tasks]
|
|
||||||
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
|
|
||||||
|
|
||||||
[Files]
|
|
||||||
Source: Release\OPJViewer.exe; DestDir: {app}; Flags: ignoreversion
|
|
||||||
;Source: about\about.htm; DestDir: {app}/about; Flags: ignoreversion
|
|
||||||
;Source: about\opj_logo.png; DestDir: {app}/about; Flags: ignoreversion
|
|
||||||
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
|
||||||
|
|
||||||
[Icons]
|
|
||||||
Name: {group}\OPJViewer; Filename: {app}\OPJViewer.exe; WorkingDir: {app}; IconIndex: 0
|
|
||||||
Name: {group}\{cm:UninstallProgram,OPJViewer}; Filename: {uninstallexe}
|
|
||||||
Name: {userdesktop}\OPJViewer; Filename: {app}\OPJViewer.exe; Tasks: desktopicon; WorkingDir: {app}; IconIndex: 0
|
|
||||||
|
|
||||||
[Run]
|
|
||||||
Filename: {app}\OPJViewer.exe; Description: {cm:LaunchProgram,OPJViewer}; Flags: nowait postinstall skipifsilent; WorkingDir: {app}
|
|
||||||
|
|
||||||
[Registry]
|
|
||||||
Root: HKCU; Subkey: Software\OpenJPEG; ValueType: none; ValueData: 1; Flags: uninsdeletekey; Tasks: ; Languages:
|
|
||||||
Root: HKCU; Subkey: Software\OpenJPEG\OPJViewer; ValueType: none; ValueData: 1; Flags: uninsdeletekey; Tasks: ; Languages:
|
|
|
@ -1,100 +0,0 @@
|
||||||
===============================================================================
|
|
||||||
JPEG2000 Visualization Software - OPJViewer
|
|
||||||
|
|
||||||
Version 0.4 beta
|
|
||||||
===============================================================================
|
|
||||||
|
|
||||||
|
|
||||||
1. Scope
|
|
||||||
=============
|
|
||||||
|
|
||||||
This document describes the installation and use of the OPJViewer in the framework of OpenJPEG library.
|
|
||||||
|
|
||||||
This implementation has been developed using the OpenJPEG library as decoding engine and wxWidgets 2.8 as GUI engine.
|
|
||||||
|
|
||||||
If you find some bugs or if you have problems using the viewer, please send an e-mail to jpwl@diei.unipg.it
|
|
||||||
|
|
||||||
2. Installing the viewer
|
|
||||||
==========================
|
|
||||||
|
|
||||||
There are two options available, at the moment:
|
|
||||||
|
|
||||||
a) compile from source code
|
|
||||||
b) download a precompiled binary.
|
|
||||||
|
|
||||||
In order to use option a), it is mandatory to have compiled and built the LibOpenJPEG_JPWL library and the wxWidgets 2.8 framework (you have to download it from http://www.wxwidgets.org/ and compile the wx* libraries).
|
|
||||||
|
|
||||||
2.1. Compiling the source code in Windows
|
|
||||||
-------------------------------------------
|
|
||||||
|
|
||||||
The steps required to compile the viewer under windows are:
|
|
||||||
|
|
||||||
a) Download at least the libopenjpeg, jpwl, and opjviewer folders from the SVN trunk.
|
|
||||||
b) Open the OPJViewer.dsw workspace with Visual C++ 6 and activate the "OPJViewer - Win32 Release" configuration.
|
|
||||||
c) In the configuration settings, go to the C++ tab and modify the wxWidgets paths in order to reflect your wx* install configuration (Preprocessor -> Additional include directories): simply update each instance of the two wx paths, do not remove or add them.
|
|
||||||
d) In the configuration settings, go to the Link tab and modify the wxWidgets path in order to reflect your wx* install configuration (Input -> Additional library path): simply update the wx path.
|
|
||||||
e) In the configuration settings, go to the Resources tab and modify the wxWidgets path in order to reflect your wx* install configuration (Additional resource include directories): simply update the wx path.
|
|
||||||
f) Build!
|
|
||||||
g) Run!
|
|
||||||
h) (OPTIONAL) Prepare an installer by compiling the InnoSetup script OPJViewer.iss (you need to download InnoSetup from http://www.jrsoftware.org/isinfo.php).
|
|
||||||
|
|
||||||
2.1.1 Additional libraries
|
|
||||||
----------------------------
|
|
||||||
|
|
||||||
Since we are also working on the Digital Cinema JPEG 2000, we are integrating the viewer with the MXF library, which is used to prepare the DCPs for digital movies. You can enable its linking in the code by specifying the USE_MXF preprocessor directive but, remember, the integration is at a very early stage.
|
|
||||||
|
|
||||||
2.2. Compiling the source code in Unix-like systems
|
|
||||||
-----------------------------------------------------
|
|
||||||
|
|
||||||
The porting is possible and under way.
|
|
||||||
|
|
||||||
|
|
||||||
3. General information on the viewer
|
|
||||||
====================================
|
|
||||||
|
|
||||||
This viewer is conceived to open and display information and image content of J2K, JP2, and MJ2 files.
|
|
||||||
The viewer application interface is divided into three main panels:
|
|
||||||
- a browsing pane;
|
|
||||||
- a viewing pane;
|
|
||||||
- a log/peek pane.
|
|
||||||
|
|
||||||
The browsing pane will present the markers or boxes hierarchy, with position (byte number where marker/box starts and stops) and length information (i.e., inner length as signalled by marker/box and total length, with marker/box sign included), in the following form:
|
|
||||||
|
|
||||||
filename
|
|
||||||
|
|
|
||||||
|_ #000: Marker/Box short name (Hex code)
|
|
||||||
| |
|
|
||||||
| |_ *** Marker/Box long name ***
|
|
||||||
| |_ startbyte > stopbyte, inner_length + marker/box sign length (total length)
|
|
||||||
| |_ Additional info, depending on the marker/box type
|
|
||||||
| |_ ...
|
|
||||||
|
|
|
||||||
|_ #001: Marker/Box short name (Hex code)
|
|
||||||
| |
|
|
||||||
| |_ ...
|
|
||||||
|
|
|
||||||
...
|
|
||||||
|
|
||||||
|
|
||||||
The viewing pane will display the decoded image contained in the JPEG 2000 file.
|
|
||||||
It should display correctly images as large as 4000x2000, provided that a couple of GB of RAM are available. Nothing is known about the display of larger sizes: let us know if you manage to get it working.
|
|
||||||
|
|
||||||
|
|
||||||
The log/peek pane is shared among two different subpanels:
|
|
||||||
|
|
||||||
- the log panel will report a lot of debugging info coming out from the wx GUI as well as from the openjpeg library
|
|
||||||
- the peek pane tries to give a peek on the codestream/file portion which is currently selected in the browsing pane. It shows both hex and ascii values corresponding to the marker/box section.
|
|
||||||
|
|
||||||
|
|
||||||
4. Known bugs and limitations
|
|
||||||
===============================
|
|
||||||
|
|
||||||
4.1. Bugs
|
|
||||||
-----------
|
|
||||||
|
|
||||||
*
|
|
||||||
|
|
||||||
4.2. Limitations
|
|
||||||
------------------
|
|
||||||
|
|
||||||
* For mj2 files, rendering is only in B/W
|
|
|
@ -1,36 +0,0 @@
|
||||||
<html>
|
|
||||||
<body bgcolor="#FFFFFF">
|
|
||||||
<table cellspacing=7 cellpadding=1 border=0 width="100%">
|
|
||||||
<tr>
|
|
||||||
<td rowspan=3 valign=top align=center width=70>
|
|
||||||
<img src="opj_logo.png"><br><br>
|
|
||||||
</td>
|
|
||||||
<td align=center>
|
|
||||||
<font size=+2 color="#000000"><b>OPJViewer v0.2 alpha</b></font><br>
|
|
||||||
<font size=+0 color="#000000"><b>A JPEG 2000 image viewer</b></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr height=3 valign=center>
|
|
||||||
<td valign=center bgcolor=#cc3300></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align=justify>
|
|
||||||
<center><font size=+0 color="#000000"><a href="http://www.openjpeg.org/">OpenJPEG</a></font></center>
|
|
||||||
<font size=-1 color="#000000">The OpenJPEG library is an open-source JPEG 2000 codec written in C language.
|
|
||||||
In addition to the basic codec, various other features are under development,
|
|
||||||
among them the JP2 and MJ2 (Motion JPEG 2000) file formats, an indexing tool
|
|
||||||
useful for the JPIP protocol, JPWL-tools for error-resilience, ...</font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td colspan=2 bgcolor="#CC3300" height=3 valign=center></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td colspan=2>
|
|
||||||
<font size=-2 color="#444444">OpenJPEG is © 2002-2007 <a href="http://www.tele.ucl.ac.be/">TELE</a> - <a href="http://www.uclouvain.be/">Université Catholique de Louvain</a></font><br>
|
|
||||||
<font size=-2 color="#444444">OPJViewer is also © 2005-2007 <a href="http://dsplab.diei.unipg.it/">DSPLab</a> - <a href="http://www.unipg.it/">Università degli studi di Perugia</a></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Binary file not shown.
Before Width: | Height: | Size: 6.3 KiB |
|
@ -1,15 +0,0 @@
|
||||||
::== buildupdate.bat
|
|
||||||
@echo off
|
|
||||||
setLocal EnableDelayedExpansion
|
|
||||||
|
|
||||||
for /f "tokens=2,* delims=^(^) " %%a in ('find /v "" ^< .\source\build.h') do (
|
|
||||||
rem echo %%a
|
|
||||||
set /A M = %%a + 1
|
|
||||||
echo Build %%a done^!
|
|
||||||
echo wxT^("!M!"^) > buildtemp283746825t347
|
|
||||||
)
|
|
||||||
|
|
||||||
if exist buildtemp283746825t347 move /Y buildtemp283746825t347 .\source\build.h
|
|
||||||
if exist buildtemp283746825t347 del /F /Q buildtemp283746825t347
|
|
||||||
|
|
||||||
::==
|
|
|
@ -1,87 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2007, Digital Signal Processing Laboratory, Universita' degli studi di Perugia (UPG), Italy
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#ifdef USE_MXF
|
|
||||||
#include "mxflib/mxflib.h"
|
|
||||||
#endif // USE_MXF
|
|
||||||
|
|
||||||
#include "OPJViewer.h"
|
|
||||||
|
|
||||||
// about window for the frame
|
|
||||||
void OPJFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
|
|
||||||
{
|
|
||||||
#ifdef OPJ_HTMLABOUT
|
|
||||||
#include "about_htm.h"
|
|
||||||
#include "opj_logo.xpm"
|
|
||||||
|
|
||||||
wxBoxSizer *topsizer;
|
|
||||||
wxHtmlWindow *html;
|
|
||||||
wxDialog dlg(this, wxID_ANY, wxString(_("About")));
|
|
||||||
|
|
||||||
wxMemoryFSHandler::AddFile(wxT("opj_logo.xpm"), wxBitmap(opj_logo), wxBITMAP_TYPE_XPM);
|
|
||||||
|
|
||||||
topsizer = new wxBoxSizer(wxVERTICAL);
|
|
||||||
|
|
||||||
html = new wxHtmlWindow(&dlg, wxID_ANY, wxDefaultPosition, wxSize(320, 250), wxHW_SCROLLBAR_NEVER);
|
|
||||||
html->SetBorders(0);
|
|
||||||
//html->LoadPage(wxT("about/about.htm"));
|
|
||||||
//html->SetPage("<html><body>Hello, world!</body></html>");
|
|
||||||
html->SetPage(htmlaboutpage);
|
|
||||||
html->SetSize(html->GetInternalRepresentation()->GetWidth(),
|
|
||||||
html->GetInternalRepresentation()->GetHeight());
|
|
||||||
|
|
||||||
topsizer->Add(html, 1, wxALL, 10);
|
|
||||||
|
|
||||||
topsizer->Add(new wxStaticLine(&dlg, wxID_ANY), 0, wxEXPAND | wxLEFT | wxRIGHT, 10);
|
|
||||||
|
|
||||||
wxButton *bu1 = new wxButton(&dlg, wxID_OK, wxT("OK"));
|
|
||||||
bu1->SetDefault();
|
|
||||||
|
|
||||||
topsizer->Add(bu1, 0, wxALL | wxALIGN_RIGHT, 15);
|
|
||||||
|
|
||||||
dlg.SetSizer(topsizer);
|
|
||||||
topsizer->Fit(&dlg);
|
|
||||||
|
|
||||||
dlg.ShowModal();
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
wxMessageBox(wxString::Format(OPJ_APPLICATION_TITLEBAR
|
|
||||||
wxT("\n\n")
|
|
||||||
wxT("Built with %s and OpenJPEG ")
|
|
||||||
wxT(OPENJPEG_VERSION)
|
|
||||||
wxT("\non ") wxT(__DATE__) wxT(", ") wxT(__TIME__)
|
|
||||||
wxT("\nRunning under %s\n\n")
|
|
||||||
OPJ_APPLICATION_COPYRIGHT,
|
|
||||||
wxVERSION_STRING,
|
|
||||||
wxGetOsDescription().c_str()),
|
|
||||||
wxT("About ") OPJ_APPLICATION_NAME,
|
|
||||||
wxOK | wxICON_INFORMATION,
|
|
||||||
this
|
|
||||||
);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
}
|
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB |
|
@ -1,28 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static char *OPJChild16[] = {
|
|
||||||
/* columns rows colors chars-per-pixel */
|
|
||||||
"16 16 6 1",
|
|
||||||
" c black",
|
|
||||||
". c #008000",
|
|
||||||
"X c red",
|
|
||||||
"o c #800080",
|
|
||||||
"O c gray100",
|
|
||||||
"+ c None",
|
|
||||||
/* pixels */
|
|
||||||
"++++++++++++++++",
|
|
||||||
"+OOOOOOOOOOOOOO+",
|
|
||||||
"+OooooooooooooO+",
|
|
||||||
"+OooooooooooooO+",
|
|
||||||
"+OooOOOOOOOOOoO+",
|
|
||||||
"+OooO.......OoO+",
|
|
||||||
"+OooO.......OoO+",
|
|
||||||
"+OooO..OOO..OoO+",
|
|
||||||
"+OooO..OXO..OoO+",
|
|
||||||
"+OooO..OOO..OoO+",
|
|
||||||
"+OooO.......OoO+",
|
|
||||||
"+OooO.......OoO+",
|
|
||||||
"+OooOOOOOOOOOoO+",
|
|
||||||
"+OooooooooooooO+",
|
|
||||||
"+OOOOOOOOOOOOOO+",
|
|
||||||
"++++++++++++++++"
|
|
||||||
};
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,811 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2007, Digital Signal Processing Laboratory, Università degli studi di Perugia (UPG), Italy
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Name: sashtest.h
|
|
||||||
// Purpose: Layout window/sash sample
|
|
||||||
// Author: Julian Smart
|
|
||||||
// Modified by:
|
|
||||||
// Created: 04/01/98
|
|
||||||
// RCS-ID: $Id: sashtest.h,v 1.5 2005/06/02 12:04:24 JS Exp $
|
|
||||||
// Copyright: (c) Julian Smart
|
|
||||||
// Licence: wxWindows license
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Name: treectrl.h
|
|
||||||
// Purpose: wxTreeCtrl sample
|
|
||||||
// Author: Julian Smart
|
|
||||||
// Modified by:
|
|
||||||
// Created: 04/01/98
|
|
||||||
// RCS-ID: $Id: treetest.h,v 1.50 2006/11/04 11:26:51 VZ Exp $
|
|
||||||
// Copyright: (c) Julian Smart
|
|
||||||
// Licence: wxWindows license
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Name: dialogs.h
|
|
||||||
// Purpose: Common dialogs demo
|
|
||||||
// Author: Julian Smart
|
|
||||||
// Modified by: ABX (2004) - adjustementd for conditional building
|
|
||||||
// Created: 04/01/98
|
|
||||||
// RCS-ID: $Id: dialogs.h,v 1.50 2006/10/08 14:12:59 VZ Exp $
|
|
||||||
// Copyright: (c) Julian Smart
|
|
||||||
// Licence: wxWindows license
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
#ifndef __OPJ_VIEWER_H__
|
|
||||||
#define __OPJ_VIEWER_H__
|
|
||||||
|
|
||||||
// For compilers that support precompilation, includes "wx/wx.h".
|
|
||||||
#include "wx/wxprec.h"
|
|
||||||
|
|
||||||
#ifdef __BORLANDC__
|
|
||||||
#pragma hdrstop
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef WX_PRECOMP
|
|
||||||
#include "wx/wx.h"
|
|
||||||
#include "wx/mdi.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "wx/toolbar.h"
|
|
||||||
#include "wx/laywin.h"
|
|
||||||
#include "wx/treectrl.h"
|
|
||||||
|
|
||||||
#include "icon1.xpm"
|
|
||||||
#include "icon2.xpm"
|
|
||||||
#include "icon3.xpm"
|
|
||||||
#include "icon4.xpm"
|
|
||||||
#include "icon5.xpm"
|
|
||||||
|
|
||||||
#include "wx/filedlg.h"
|
|
||||||
#include "wx/toolbar.h"
|
|
||||||
#include <wx/filename.h>
|
|
||||||
#include <wx/busyinfo.h>
|
|
||||||
#include <wx/cmdline.h>
|
|
||||||
#include <wx/file.h>
|
|
||||||
#include "wx/notebook.h"
|
|
||||||
#include <wx/numdlg.h>
|
|
||||||
|
|
||||||
#include "wx/propdlg.h"
|
|
||||||
#include "wx/spinctrl.h"
|
|
||||||
|
|
||||||
#include <wx/dnd.h>
|
|
||||||
#include "wx/wxhtml.h"
|
|
||||||
#include "wx/statline.h"
|
|
||||||
#include <wx/fs_mem.h>
|
|
||||||
|
|
||||||
#include <wx/imaglist.h>
|
|
||||||
|
|
||||||
#include "wx/toolbar.h"
|
|
||||||
#include "wx/artprov.h"
|
|
||||||
|
|
||||||
#include "libopenjpeg/openjpeg.h"
|
|
||||||
|
|
||||||
//#include "imagj2k.h"
|
|
||||||
//#include "imagjp2.h"
|
|
||||||
//#include "imagmj2.h"
|
|
||||||
#include "imagjpeg2000.h"
|
|
||||||
#ifdef USE_MXF
|
|
||||||
#include "imagmxf.h"
|
|
||||||
#endif // USE_MXF
|
|
||||||
|
|
||||||
#ifdef __WXMSW__
|
|
||||||
typedef unsigned __int64 int8byte;
|
|
||||||
#endif // __WXMSW__
|
|
||||||
|
|
||||||
#ifdef __WXGTK__
|
|
||||||
typedef unsigned long long int8byte;
|
|
||||||
#endif // __WXGTK__
|
|
||||||
|
|
||||||
#define USE_GENERIC_TREECTRL 0
|
|
||||||
#define USE_PENCIL_ON_CANVAS 0
|
|
||||||
|
|
||||||
#if USE_GENERIC_TREECTRL
|
|
||||||
#include "wx/generic/treectlg.h"
|
|
||||||
#ifndef wxTreeCtrl
|
|
||||||
#define wxTreeCtrl wxGenericTreeCtrl
|
|
||||||
#define sm_classwxTreeCtrl sm_classwxGenericTreeCtrl
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define OPJ_APPLICATION wxT("OPJViewer")
|
|
||||||
#define OPJ_APPLICATION_NAME wxT("OpenJPEG Viewer")
|
|
||||||
#define OPJ_APPLICATION_VERSION wxT("0.4 beta")
|
|
||||||
#define OPJ_APPLICATION_TITLEBAR OPJ_APPLICATION_NAME wxT(" ") OPJ_APPLICATION_VERSION
|
|
||||||
#define OPJ_APPLICATION_COPYRIGHT wxT("(C) 2007-2008, Giuseppe Baruffa")
|
|
||||||
#define OPJ_APPLICATION_VENDOR wxT("OpenJPEG")
|
|
||||||
|
|
||||||
#ifdef __WXMSW__
|
|
||||||
#define OPJ_APPLICATION_PLATFORM wxT("Windows")
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __WXGTK__
|
|
||||||
#define OPJ_APPLICATION_PLATFORM wxT("Linux")
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define OPJ_FRAME_WIDTH 800
|
|
||||||
#define OPJ_FRAME_HEIGHT 600
|
|
||||||
|
|
||||||
#define OPJ_BROWSER_WIDTH 300
|
|
||||||
#define OPJ_PEEKER_HEIGHT 130
|
|
||||||
|
|
||||||
#define OPJ_CANVAS_BORDER 10
|
|
||||||
#define OPJ_CANVAS_COLOUR *wxWHITE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
|
|
||||||
//#define MYJPWL_MAX_NO_TILESPECS JPWL_MAX_NO_TILESPECS
|
|
||||||
#define MYJPWL_MAX_NO_TILESPECS 4
|
|
||||||
|
|
||||||
#endif // USE_JPWL
|
|
||||||
|
|
||||||
|
|
||||||
class OPJDecoThread;
|
|
||||||
class OPJEncoThread;
|
|
||||||
class OPJParseThread;
|
|
||||||
WX_DEFINE_ARRAY_PTR(wxThread *, wxArrayThread);
|
|
||||||
class OPJChildFrame;
|
|
||||||
|
|
||||||
//////////////////////////////////
|
|
||||||
// this is our main application //
|
|
||||||
//////////////////////////////////
|
|
||||||
class OPJViewerApp: public wxApp
|
|
||||||
{
|
|
||||||
// public methods and variables
|
|
||||||
public:
|
|
||||||
|
|
||||||
// class constructor
|
|
||||||
OPJViewerApp() { m_showImages = true; m_showButtons = false; }
|
|
||||||
|
|
||||||
// other methods
|
|
||||||
bool OnInit(void);
|
|
||||||
int OnExit(void);
|
|
||||||
void SetShowImages(bool show) { m_showImages = show; }
|
|
||||||
bool ShowImages() const { return m_showImages; }
|
|
||||||
void ShowCmdLine(const wxCmdLineParser& parser);
|
|
||||||
|
|
||||||
// all the threads currently alive - as soon as the thread terminates, it's
|
|
||||||
// removed from the array
|
|
||||||
wxArrayThread m_deco_threads, m_parse_threads, m_enco_threads;
|
|
||||||
|
|
||||||
// crit section protects access to all of the arrays below
|
|
||||||
wxCriticalSection m_deco_critsect, m_parse_critsect, m_enco_critsect;
|
|
||||||
|
|
||||||
// semaphore used to wait for the threads to exit, see OPJFrame::OnQuit()
|
|
||||||
wxSemaphore m_deco_semAllDone, m_parse_semAllDone, m_enco_semAllDone;
|
|
||||||
|
|
||||||
// the last exiting thread should post to m_semAllDone if this is true
|
|
||||||
// (protected by the same m_critsect)
|
|
||||||
bool m_deco_waitingUntilAllDone, m_parse_waitingUntilAllDone, m_enco_waitingUntilAllDone;
|
|
||||||
|
|
||||||
// the list of all filenames written in the command line
|
|
||||||
wxArrayString m_filelist;
|
|
||||||
|
|
||||||
// displaying engine parameters
|
|
||||||
int m_resizemethod;
|
|
||||||
|
|
||||||
// decoding engine parameters
|
|
||||||
bool m_enabledeco, m_enableparse;
|
|
||||||
int m_reducefactor, m_qualitylayers, m_components, m_framenum;
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
bool m_enablejpwl, m_enablejpwle;
|
|
||||||
int m_expcomps, m_maxtiles;
|
|
||||||
int m_framewidth, m_frameheight;
|
|
||||||
#endif // USE_JPWL
|
|
||||||
|
|
||||||
// encoding engine parameters
|
|
||||||
wxString m_subsampling, m_origin, m_rates, m_comment, m_index, m_quality;
|
|
||||||
wxString m_cbsize, m_prsize, m_tsize, m_torigin, m_poc;
|
|
||||||
bool m_enablecomm, m_enableidx, m_multicomp, m_irreversible, m_enablesop, m_enableeph;
|
|
||||||
bool m_enablebypass, m_enablereset, m_enablerestart, m_enablevsc, m_enableerterm;
|
|
||||||
bool m_enablesegmark, m_enablepoc;
|
|
||||||
bool m_enablequality;
|
|
||||||
int m_resolutions, m_progression;
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
int m_hprotsel[MYJPWL_MAX_NO_TILESPECS], m_pprotsel[MYJPWL_MAX_NO_TILESPECS];
|
|
||||||
int m_htileval[MYJPWL_MAX_NO_TILESPECS], m_ptileval[MYJPWL_MAX_NO_TILESPECS],
|
|
||||||
m_ppackval[MYJPWL_MAX_NO_TILESPECS];
|
|
||||||
int m_sensisel[MYJPWL_MAX_NO_TILESPECS], m_stileval[MYJPWL_MAX_NO_TILESPECS];
|
|
||||||
#endif // USE_JPWL
|
|
||||||
|
|
||||||
// some layout settings
|
|
||||||
bool m_showtoolbar, m_showbrowser, m_showpeeker;
|
|
||||||
int m_browserwidth, m_peekerheight;
|
|
||||||
|
|
||||||
// application configuration
|
|
||||||
wxConfig *OPJconfig;
|
|
||||||
|
|
||||||
// private methods and variables
|
|
||||||
private:
|
|
||||||
bool m_showImages, m_showButtons;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
DECLARE_APP(OPJViewerApp)
|
|
||||||
|
|
||||||
///////////////////////////////////////////
|
|
||||||
// this canvas is used to draw the image //
|
|
||||||
///////////////////////////////////////////
|
|
||||||
class OPJCanvas: public wxScrolledWindow
|
|
||||||
{
|
|
||||||
// public methods and variables
|
|
||||||
public:
|
|
||||||
|
|
||||||
// class constructor
|
|
||||||
OPJCanvas(wxFileName fname, wxWindow *parent, const wxPoint& pos, const wxSize& size);
|
|
||||||
|
|
||||||
virtual void OnDraw(wxDC& dc);
|
|
||||||
void OnEvent(wxMouseEvent& event);
|
|
||||||
void WriteText(const wxString& text) {
|
|
||||||
#ifndef __WXGTK__
|
|
||||||
wxMutexGuiEnter();
|
|
||||||
#endif //__WXGTK__
|
|
||||||
wxLogMessage(text);
|
|
||||||
#ifndef __WXGTK__
|
|
||||||
wxMutexGuiLeave();
|
|
||||||
#endif //__WXGTK__
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnThreadSignal(wxCommandEvent& event);
|
|
||||||
|
|
||||||
OPJDecoThread *CreateDecoThread(void);
|
|
||||||
OPJEncoThread *CreateEncoThread(void);
|
|
||||||
|
|
||||||
|
|
||||||
OPJChildFrame *m_childframe;
|
|
||||||
|
|
||||||
wxBitmap m_image, m_image100;
|
|
||||||
wxFileName m_fname, m_savename;
|
|
||||||
long m_zooml;
|
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
};
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////
|
|
||||||
// the data associated to each tree leaf or node //
|
|
||||||
///////////////////////////////////////////////////
|
|
||||||
class OPJMarkerData : public wxTreeItemData
|
|
||||||
{
|
|
||||||
// public methods and variables
|
|
||||||
public:
|
|
||||||
|
|
||||||
// class constructor
|
|
||||||
OPJMarkerData(const wxString& desc, const wxString& fname = wxT(""), wxFileOffset start = 0, wxFileOffset length = 0) : m_desc(desc), m_filestring(fname) { m_start = start; m_length = length; }
|
|
||||||
|
|
||||||
void ShowInfo(wxTreeCtrl *tree);
|
|
||||||
const wxChar *GetDesc1() const { return m_desc.c_str(); }
|
|
||||||
const wxChar *GetDesc2() const { return m_filestring.c_str(); }
|
|
||||||
wxFileOffset m_start, m_length;
|
|
||||||
wxString m_desc;
|
|
||||||
|
|
||||||
// private methods and variables
|
|
||||||
private:
|
|
||||||
wxString m_filestring;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class OPJMarkerTree : public wxTreeCtrl
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
TreeCtrlIcon_File,
|
|
||||||
TreeCtrlIcon_FileSelected,
|
|
||||||
TreeCtrlIcon_Folder,
|
|
||||||
TreeCtrlIcon_FolderSelected,
|
|
||||||
TreeCtrlIcon_FolderOpened
|
|
||||||
};
|
|
||||||
|
|
||||||
OPJMarkerTree() { };
|
|
||||||
OPJMarkerTree(wxWindow *parent, OPJChildFrame *subframe, wxFileName fname, wxString name, const wxWindowID id,
|
|
||||||
const wxPoint& pos, const wxSize& size,
|
|
||||||
long style);
|
|
||||||
virtual ~OPJMarkerTree(){};
|
|
||||||
OPJParseThread *CreateParseThread(wxTreeItemId parentid = 0x00, OPJChildFrame *subframe = NULL);
|
|
||||||
void WriteText(const wxString& text) { wxMutexGuiEnter(); wxLogMessage(text); wxMutexGuiLeave(); }
|
|
||||||
|
|
||||||
wxFileName m_fname;
|
|
||||||
wxTextCtrl *m_peektextCtrl;
|
|
||||||
OPJChildFrame *m_childframe;
|
|
||||||
|
|
||||||
/*void OnBeginDrag(wxTreeEvent& event);
|
|
||||||
void OnBeginRDrag(wxTreeEvent& event);
|
|
||||||
void OnEndDrag(wxTreeEvent& event);*/
|
|
||||||
/*void OnBeginLabelEdit(wxTreeEvent& event);
|
|
||||||
void OnEndLabelEdit(wxTreeEvent& event);*/
|
|
||||||
/*void OnDeleteItem(wxTreeEvent& event);*/
|
|
||||||
/*void OnContextMenu(wxContextMenuEvent& event);*/
|
|
||||||
void OnItemMenu(wxTreeEvent& event);
|
|
||||||
/*void OnGetInfo(wxTreeEvent& event);
|
|
||||||
void OnSetInfo(wxTreeEvent& event);*/
|
|
||||||
/*void OnItemExpanded(wxTreeEvent& event);*/
|
|
||||||
void OnItemExpanding(wxTreeEvent& event);
|
|
||||||
/*void OnItemCollapsed(wxTreeEvent& event);
|
|
||||||
void OnItemCollapsing(wxTreeEvent& event);*/
|
|
||||||
void OnSelChanged(wxTreeEvent& event);
|
|
||||||
/*void OnSelChanging(wxTreeEvent& event);*/
|
|
||||||
/*void OnTreeKeyDown(wxTreeEvent& event);*/
|
|
||||||
/*void OnItemActivated(wxTreeEvent& event);*/
|
|
||||||
/*void OnItemRClick(wxTreeEvent& event);*/
|
|
||||||
/*void OnRMouseDown(wxMouseEvent& event);
|
|
||||||
void OnRMouseUp(wxMouseEvent& event);
|
|
||||||
void OnRMouseDClick(wxMouseEvent& event);*/
|
|
||||||
/*void GetItemsRecursively(const wxTreeItemId& idParent,
|
|
||||||
wxTreeItemIdValue cookie = 0);*/
|
|
||||||
|
|
||||||
void CreateImageList(int size = 16);
|
|
||||||
void CreateButtonsImageList(int size = 11);
|
|
||||||
|
|
||||||
/*void AddTestItemsToTree(size_t numChildren, size_t depth);*/
|
|
||||||
/*void DoSortChildren(const wxTreeItemId& item, bool reverse = false)
|
|
||||||
{ m_reverseSort = reverse; wxTreeCtrl::SortChildren(item); }*/
|
|
||||||
/*void DoEnsureVisible() { if (m_lastItem.IsOk()) EnsureVisible(m_lastItem); }*/
|
|
||||||
/*void DoToggleIcon(const wxTreeItemId& item);*/
|
|
||||||
/*void ShowMenu(wxTreeItemId id, const wxPoint& pt);*/
|
|
||||||
|
|
||||||
int ImageSize(void) const { return m_imageSize; }
|
|
||||||
|
|
||||||
void SetLastItem(wxTreeItemId id) { m_lastItem = id; }
|
|
||||||
|
|
||||||
protected:
|
|
||||||
/*virtual int OnCompareItems(const wxTreeItemId& i1, const wxTreeItemId& i2);*/
|
|
||||||
|
|
||||||
// is this the test item which we use in several event handlers?
|
|
||||||
/*bool IsTestItem(const wxTreeItemId& item)
|
|
||||||
{
|
|
||||||
// the test item is the first child folder
|
|
||||||
return GetItemParent(item) == GetRootItem() && !GetPrevSibling(item);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
private:
|
|
||||||
/*void AddItemsRecursively(const wxTreeItemId& idParent,
|
|
||||||
size_t nChildren,
|
|
||||||
size_t depth,
|
|
||||||
size_t folder);*/
|
|
||||||
|
|
||||||
void LogEvent(const wxChar *name, const wxTreeEvent& event);
|
|
||||||
|
|
||||||
int m_imageSize; // current size of images
|
|
||||||
bool m_reverseSort; // flag for OnCompareItems
|
|
||||||
wxTreeItemId m_lastItem, // for OnEnsureVisible()
|
|
||||||
m_draggedItem; // item being dragged right now
|
|
||||||
|
|
||||||
// NB: due to an ugly wxMSW hack you _must_ use DECLARE_DYNAMIC_CLASS()
|
|
||||||
// if you want your overloaded OnCompareItems() to be called.
|
|
||||||
// OTOH, if you don't want it you may omit the next line - this will
|
|
||||||
// make default (alphabetical) sorting much faster under wxMSW.
|
|
||||||
DECLARE_DYNAMIC_CLASS(OPJMarkerTree)
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
};
|
|
||||||
|
|
||||||
// this hash map stores all the trees of currently opened images, with an integer key
|
|
||||||
WX_DECLARE_HASH_MAP(int, OPJMarkerTree*, wxIntegerHash, wxIntegerEqual, OPJMarkerTreeHash);
|
|
||||||
|
|
||||||
// this hash map stores all the children of currently opened images, with an integer key
|
|
||||||
WX_DECLARE_HASH_MAP(int, OPJChildFrame*, wxIntegerHash, wxIntegerEqual, OPJChildFrameHash);
|
|
||||||
|
|
||||||
// Define a new frame
|
|
||||||
class OPJFrame: public wxMDIParentFrame
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
OPJFrame(wxWindow *parent, const wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, const long style);
|
|
||||||
|
|
||||||
~OPJFrame(void);
|
|
||||||
void OnSize(wxSizeEvent& WXUNUSED(event));
|
|
||||||
void OnAbout(wxCommandEvent& WXUNUSED(event));
|
|
||||||
void OnFileOpen(wxCommandEvent& WXUNUSED(event));
|
|
||||||
void OnFileSaveAs(wxCommandEvent& WXUNUSED(event));
|
|
||||||
void OnMemoryOpen(wxCommandEvent& WXUNUSED(event));
|
|
||||||
void OnQuit(wxCommandEvent& WXUNUSED(event));
|
|
||||||
void OnClose(wxCommandEvent& WXUNUSED(event));
|
|
||||||
void OnZoom(wxCommandEvent& WXUNUSED(event));
|
|
||||||
void OnFit(wxCommandEvent& event);
|
|
||||||
void OnToggleBrowser(wxCommandEvent& WXUNUSED(event));
|
|
||||||
void OnTogglePeeker(wxCommandEvent& WXUNUSED(event));
|
|
||||||
void OnToggleToolbar(wxCommandEvent& WXUNUSED(event));
|
|
||||||
void OnReload(wxCommandEvent& event);
|
|
||||||
void OnPrevFrame(wxCommandEvent& event);
|
|
||||||
void OnHomeFrame(wxCommandEvent& event);
|
|
||||||
void OnNextFrame(wxCommandEvent& event);
|
|
||||||
void OnLessLayers(wxCommandEvent& event);
|
|
||||||
void OnAllLayers(wxCommandEvent& event);
|
|
||||||
void OnMoreLayers(wxCommandEvent& event);
|
|
||||||
void OnLessRes(wxCommandEvent& event);
|
|
||||||
void OnFullRes(wxCommandEvent& event);
|
|
||||||
void OnMoreRes(wxCommandEvent& event);
|
|
||||||
void OnPrevComp(wxCommandEvent& event);
|
|
||||||
void OnAllComps(wxCommandEvent& event);
|
|
||||||
void OnNextComp(wxCommandEvent& event);
|
|
||||||
void OnSetsEnco(wxCommandEvent& event);
|
|
||||||
void OnSetsDeco(wxCommandEvent& event);
|
|
||||||
void OnSashDrag(wxSashEvent& event);
|
|
||||||
void OpenFiles(wxArrayString paths, wxArrayString filenames);
|
|
||||||
void SaveFile(wxArrayString paths, wxArrayString filenames);
|
|
||||||
void OnNotebook(wxNotebookEvent& event);
|
|
||||||
void Rescale(int scale, OPJChildFrame *child);
|
|
||||||
void OnThreadLogmsg(wxCommandEvent& event);
|
|
||||||
|
|
||||||
OPJMarkerTreeHash m_treehash;
|
|
||||||
OPJChildFrameHash m_childhash;
|
|
||||||
wxSashLayoutWindow* markerTreeWindow;
|
|
||||||
wxSashLayoutWindow* loggingWindow;
|
|
||||||
wxToolBar* tool_bar;
|
|
||||||
void Resize(int number);
|
|
||||||
wxNotebook *m_bookCtrl;
|
|
||||||
wxNotebook *m_bookCtrlbottom;
|
|
||||||
wxTextCtrl *m_textCtrlbrowse;
|
|
||||||
|
|
||||||
private:
|
|
||||||
void TogStyle(int id, long flag);
|
|
||||||
|
|
||||||
void DoSort(bool reverse = false);
|
|
||||||
|
|
||||||
wxPanel *m_panel;
|
|
||||||
wxTextCtrl *m_textCtrl;
|
|
||||||
|
|
||||||
void DoSetBold(bool bold = true);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
wxSashLayoutWindow* m_topWindow;
|
|
||||||
wxSashLayoutWindow* m_leftWindow2;
|
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
};
|
|
||||||
|
|
||||||
class OPJChildFrame: public wxMDIChildFrame
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
OPJCanvas *m_canvas;
|
|
||||||
OPJChildFrame(OPJFrame *parent, wxFileName fname, int winnumber, const wxString& title, const wxPoint& pos, const wxSize& size, const long style);
|
|
||||||
~OPJChildFrame(void);
|
|
||||||
void OnActivate(wxActivateEvent& event);
|
|
||||||
/*void OnQuit(wxCommandEvent& WXUNUSED(event));*/
|
|
||||||
void OnClose(wxCloseEvent& event);
|
|
||||||
void OnGotFocus(wxFocusEvent& event);
|
|
||||||
void OnLostFocus(wxFocusEvent& event);
|
|
||||||
OPJFrame *m_frame;
|
|
||||||
wxFileName m_fname;
|
|
||||||
int m_winnumber;
|
|
||||||
|
|
||||||
unsigned long m_twidth, m_theight, m_tx, m_ty;
|
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
};
|
|
||||||
|
|
||||||
// frame and main menu ids
|
|
||||||
enum {
|
|
||||||
OPJFRAME_FILEEXIT = wxID_EXIT,
|
|
||||||
OPJFRAME_HELPABOUT = wxID_ABOUT,
|
|
||||||
OPJFRAME_FILEOPEN,
|
|
||||||
OPJFRAME_MEMORYOPEN,
|
|
||||||
OPJFRAME_FILESAVEAS,
|
|
||||||
OPJFRAME_FILETOGGLEB,
|
|
||||||
OPJFRAME_FILETOGGLEP,
|
|
||||||
OPJFRAME_FILETOGGLET,
|
|
||||||
OPJFRAME_VIEWZOOM,
|
|
||||||
OPJFRAME_VIEWFIT,
|
|
||||||
OPJFRAME_VIEWRELOAD,
|
|
||||||
OPJFRAME_VIEWPREVFRAME,
|
|
||||||
OPJFRAME_VIEWHOMEFRAME,
|
|
||||||
OPJFRAME_VIEWNEXTFRAME,
|
|
||||||
OPJFRAME_VIEWLESSLAYERS,
|
|
||||||
OPJFRAME_VIEWALLLAYERS,
|
|
||||||
OPJFRAME_VIEWMORELAYERS,
|
|
||||||
OPJFRAME_VIEWLESSRES,
|
|
||||||
OPJFRAME_VIEWFULLRES,
|
|
||||||
OPJFRAME_VIEWMORERES,
|
|
||||||
OPJFRAME_VIEWPREVCOMP,
|
|
||||||
OPJFRAME_VIEWALLCOMPS,
|
|
||||||
OPJFRAME_VIEWNEXTCOMP,
|
|
||||||
OPJFRAME_FILECLOSE,
|
|
||||||
OPJFRAME_SETSENCO,
|
|
||||||
OPJFRAME_SETSDECO,
|
|
||||||
|
|
||||||
OPJFRAME_BROWSEWIN = 10000,
|
|
||||||
OPJFRAME_LOGWIN,
|
|
||||||
OPJFRAME_TOOLBAR,
|
|
||||||
|
|
||||||
OPJFRAME_THREADLOGMSG,
|
|
||||||
OPJCANVAS_THREADSIGNAL
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// menu and control ids
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
TreeTest_Quit = wxID_EXIT,
|
|
||||||
TreeTest_About = wxID_ABOUT,
|
|
||||||
TreeTest_TogButtons = wxID_HIGHEST,
|
|
||||||
TreeTest_TogTwist,
|
|
||||||
TreeTest_TogLines,
|
|
||||||
TreeTest_TogEdit,
|
|
||||||
TreeTest_TogHideRoot,
|
|
||||||
TreeTest_TogRootLines,
|
|
||||||
TreeTest_TogBorder,
|
|
||||||
TreeTest_TogFullHighlight,
|
|
||||||
TreeTest_SetFgColour,
|
|
||||||
TreeTest_SetBgColour,
|
|
||||||
TreeTest_ResetStyle,
|
|
||||||
TreeTest_Highlight,
|
|
||||||
TreeTest_Dump,
|
|
||||||
TreeTest_DumpSelected,
|
|
||||||
TreeTest_Count,
|
|
||||||
TreeTest_CountRec,
|
|
||||||
TreeTest_Sort,
|
|
||||||
TreeTest_SortRev,
|
|
||||||
TreeTest_SetBold,
|
|
||||||
TreeTest_ClearBold,
|
|
||||||
TreeTest_Rename,
|
|
||||||
TreeTest_Delete,
|
|
||||||
TreeTest_DeleteChildren,
|
|
||||||
TreeTest_DeleteAll,
|
|
||||||
TreeTest_Recreate,
|
|
||||||
TreeTest_ToggleImages,
|
|
||||||
TreeTest_ToggleButtons,
|
|
||||||
TreeTest_SetImageSize,
|
|
||||||
TreeTest_ToggleSel,
|
|
||||||
TreeTest_CollapseAndReset,
|
|
||||||
TreeTest_EnsureVisible,
|
|
||||||
TreeTest_AddItem,
|
|
||||||
TreeTest_InsertItem,
|
|
||||||
TreeTest_IncIndent,
|
|
||||||
TreeTest_DecIndent,
|
|
||||||
TreeTest_IncSpacing,
|
|
||||||
TreeTest_DecSpacing,
|
|
||||||
TreeTest_ToggleIcon,
|
|
||||||
TreeTest_Select,
|
|
||||||
TreeTest_Unselect,
|
|
||||||
TreeTest_SelectRoot,
|
|
||||||
TreeTest_Ctrl = 1000,
|
|
||||||
BOTTOM_NOTEBOOK_ID,
|
|
||||||
LEFT_NOTEBOOK_ID
|
|
||||||
};
|
|
||||||
|
|
||||||
class OPJEncoThread : public wxThread
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
OPJEncoThread(OPJCanvas *canvas);
|
|
||||||
|
|
||||||
// thread execution starts here
|
|
||||||
virtual void *Entry();
|
|
||||||
|
|
||||||
// called when the thread exits - whether it terminates normally or is
|
|
||||||
// stopped with Delete() (but not when it is Kill()ed!)
|
|
||||||
virtual void OnExit();
|
|
||||||
|
|
||||||
// write something to the text control
|
|
||||||
void WriteText(const wxString& text);
|
|
||||||
|
|
||||||
public:
|
|
||||||
unsigned m_count;
|
|
||||||
OPJCanvas *m_canvas;
|
|
||||||
};
|
|
||||||
|
|
||||||
class OPJDecoThread : public wxThread
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
OPJDecoThread(OPJCanvas *canvas);
|
|
||||||
|
|
||||||
// thread execution starts here
|
|
||||||
virtual void *Entry();
|
|
||||||
|
|
||||||
// called when the thread exits - whether it terminates normally or is
|
|
||||||
// stopped with Delete() (but not when it is Kill()ed!)
|
|
||||||
virtual void OnExit();
|
|
||||||
|
|
||||||
// write something to the text control
|
|
||||||
void WriteText(const wxString& text);
|
|
||||||
|
|
||||||
public:
|
|
||||||
unsigned m_count;
|
|
||||||
OPJCanvas *m_canvas;
|
|
||||||
};
|
|
||||||
|
|
||||||
class OPJParseThread : public wxThread
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
OPJParseThread(OPJMarkerTree *tree, wxTreeItemId parentid = 0x00);
|
|
||||||
|
|
||||||
// thread execution starts here
|
|
||||||
virtual void *Entry();
|
|
||||||
|
|
||||||
// called when the thread exits - whether it terminates normally or is
|
|
||||||
// stopped with Delete() (but not when it is Kill()ed!)
|
|
||||||
virtual void OnExit();
|
|
||||||
|
|
||||||
// write something to the text control
|
|
||||||
void WriteText(const wxString& text);
|
|
||||||
void LoadFile(wxFileName fname);
|
|
||||||
void ParseJ2KFile(wxFile *m_file, wxFileOffset offset, wxFileOffset length, wxTreeItemId parentid);
|
|
||||||
void ParseJP2File(wxFile *fileid, wxFileOffset filepoint, wxFileOffset filelimit, wxTreeItemId parentid);
|
|
||||||
|
|
||||||
unsigned m_count;
|
|
||||||
OPJMarkerTree *m_tree;
|
|
||||||
wxTreeItemId m_parentid;
|
|
||||||
|
|
||||||
private:
|
|
||||||
int jpeg2000parse(wxFile *fileid, wxFileOffset filepoint, wxFileOffset filelimit,
|
|
||||||
wxTreeItemId parentid, int level, char *scansign, unsigned long int *scanpoint);
|
|
||||||
int box_handler_function(int boxtype, wxFile *fileid, wxFileOffset filepoint, wxFileOffset filelimit,
|
|
||||||
wxTreeItemId parentid, int level, char *scansign, unsigned long int *scanpoint);
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// Drag and drop files target
|
|
||||||
class OPJDnDFile: public wxFileDropTarget
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
OPJDnDFile(OPJFrame *pOwner) { m_pOwner = pOwner; }
|
|
||||||
virtual bool OnDropFiles(wxCoord x, wxCoord y, const wxArrayString& filenames);
|
|
||||||
|
|
||||||
private:
|
|
||||||
OPJFrame *m_pOwner;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Property sheet dialog: encoder
|
|
||||||
class OPJEncoderDialog: public wxPropertySheetDialog
|
|
||||||
{
|
|
||||||
DECLARE_CLASS(OPJEncoderDialog)
|
|
||||||
public:
|
|
||||||
OPJEncoderDialog(wxWindow* parent, int dialogType);
|
|
||||||
~OPJEncoderDialog();
|
|
||||||
|
|
||||||
wxBookCtrlBase* m_settingsNotebook;
|
|
||||||
|
|
||||||
wxPanel* CreateMainSettingsPage(wxWindow* parent);
|
|
||||||
wxPanel* CreatePart1_1SettingsPage(wxWindow* parent);
|
|
||||||
wxPanel* CreatePart1_2SettingsPage(wxWindow* parent);
|
|
||||||
/* wxPanel* CreatePart3SettingsPage(wxWindow* parent);*/
|
|
||||||
void OnEnableComm(wxCommandEvent& event);
|
|
||||||
void OnEnableIdx(wxCommandEvent& event);
|
|
||||||
void OnEnablePoc(wxCommandEvent& event);
|
|
||||||
void OnRadioQualityRate(wxCommandEvent& event);
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
void OnEnableJPWL(wxCommandEvent& event);
|
|
||||||
wxPanel* CreatePart11SettingsPage(wxWindow* parent);
|
|
||||||
/*wxCheckBox *m_enablejpwlCheck;*/
|
|
||||||
wxChoice *m_hprotChoice[MYJPWL_MAX_NO_TILESPECS];
|
|
||||||
wxSpinCtrl *m_htileCtrl[MYJPWL_MAX_NO_TILESPECS];
|
|
||||||
wxChoice *m_pprotChoice[MYJPWL_MAX_NO_TILESPECS];
|
|
||||||
wxSpinCtrl *m_ptileCtrl[MYJPWL_MAX_NO_TILESPECS];
|
|
||||||
wxSpinCtrl *m_ppackCtrl[MYJPWL_MAX_NO_TILESPECS];
|
|
||||||
wxChoice *m_sensiChoice[MYJPWL_MAX_NO_TILESPECS];
|
|
||||||
wxSpinCtrl *m_stileCtrl[MYJPWL_MAX_NO_TILESPECS];
|
|
||||||
void OnHprotSelect(wxCommandEvent& event);
|
|
||||||
void OnPprotSelect(wxCommandEvent& event);
|
|
||||||
void OnSensiSelect(wxCommandEvent& event);
|
|
||||||
#endif // USE_JPWL
|
|
||||||
|
|
||||||
wxTextCtrl *m_subsamplingCtrl, *m_originCtrl, *m_rateCtrl, *m_commentCtrl;
|
|
||||||
wxRadioButton *m_rateRadio, *m_qualityRadio;
|
|
||||||
wxTextCtrl *m_indexCtrl, *m_qualityCtrl, *m_cbsizeCtrl, *m_prsizeCtrl, *m_pocCtrl;
|
|
||||||
wxTextCtrl *m_tsizeCtrl, *m_toriginCtrl;
|
|
||||||
wxRadioBox *progressionBox;
|
|
||||||
wxCheckBox *m_enablecommCheck, *m_enableidxCheck, *m_mctCheck, *m_irrevCheck;
|
|
||||||
wxCheckBox *m_sopCheck, *m_ephCheck, *m_enablebypassCheck, *m_enableresetCheck,
|
|
||||||
*m_enablerestartCheck, *m_enablevscCheck, *m_enableertermCheck, *m_enablesegmarkCheck;
|
|
||||||
wxCheckBox *m_enablepocCheck, *m_enablejpwlCheck;
|
|
||||||
wxSpinCtrl *m_resolutionsCtrl;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
enum {
|
|
||||||
OPJENCO_ENABLEJPWL = 100,
|
|
||||||
OPJENCO_RATEFACTOR,
|
|
||||||
OPJENCO_RATERADIO,
|
|
||||||
OPJENCO_QUALITYFACTOR,
|
|
||||||
OPJENCO_QUALITYRADIO,
|
|
||||||
OPJENCO_RESNUMBER,
|
|
||||||
OPJENCO_CODEBLOCKSIZE,
|
|
||||||
OPJENCO_PRECINCTSIZE,
|
|
||||||
OPJENCO_TILESIZE,
|
|
||||||
OPJENCO_PROGRESSION,
|
|
||||||
OPJENCO_SUBSAMPLING,
|
|
||||||
OPJENCO_ENABLESOP,
|
|
||||||
OPJENCO_ENABLEEPH,
|
|
||||||
OPJENCO_ENABLEBYPASS,
|
|
||||||
OPJENCO_ENABLERESET,
|
|
||||||
OPJENCO_ENABLERESTART,
|
|
||||||
OPJENCO_ENABLEVSC,
|
|
||||||
OPJENCO_ENABLEERTERM,
|
|
||||||
OPJENCO_ENABLESEGMARK,
|
|
||||||
OPJENCO_ENABLEPOC,
|
|
||||||
OPJENCO_ROICOMP,
|
|
||||||
OPJENCO_ROISHIFT,
|
|
||||||
OPJENCO_IMORIG,
|
|
||||||
OPJENCO_TILORIG,
|
|
||||||
OPJENCO_ENABLEMCT,
|
|
||||||
OPJENCO_ENABLEIRREV,
|
|
||||||
OPJENCO_ENABLEINDEX,
|
|
||||||
OPJENCO_INDEXNAME,
|
|
||||||
OPJENCO_POCSPEC,
|
|
||||||
OPJENCO_ENABLECOMM,
|
|
||||||
OPJENCO_COMMENTTEXT,
|
|
||||||
OPJENCO_HPROT,
|
|
||||||
OPJENCO_HTILE,
|
|
||||||
OPJENCO_PPROT,
|
|
||||||
OPJENCO_PTILE,
|
|
||||||
OPJENCO_PPACK,
|
|
||||||
OPJENCO_SENSI,
|
|
||||||
OPJENCO_STILE
|
|
||||||
};
|
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
};
|
|
||||||
|
|
||||||
// Property sheet dialog: decoder
|
|
||||||
class OPJDecoderDialog: public wxPropertySheetDialog
|
|
||||||
{
|
|
||||||
DECLARE_CLASS(OPJDecoderDialog)
|
|
||||||
public:
|
|
||||||
OPJDecoderDialog(wxWindow* parent, int dialogType);
|
|
||||||
~OPJDecoderDialog();
|
|
||||||
|
|
||||||
wxBookCtrlBase* m_settingsNotebook;
|
|
||||||
wxCheckBox *m_enabledecoCheck, *m_enableparseCheck;
|
|
||||||
wxSpinCtrl *m_reduceCtrl, *m_layerCtrl, *m_numcompsCtrl;
|
|
||||||
wxRadioBox* m_resizeBox;
|
|
||||||
|
|
||||||
void OnEnableDeco(wxCommandEvent& event);
|
|
||||||
|
|
||||||
wxPanel* CreateMainSettingsPage(wxWindow* parent);
|
|
||||||
wxPanel* CreatePart1SettingsPage(wxWindow* parent);
|
|
||||||
wxPanel* CreatePart3SettingsPage(wxWindow* parent);
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
void OnEnableJPWL(wxCommandEvent& event);
|
|
||||||
wxPanel* CreatePart11SettingsPage(wxWindow* parent);
|
|
||||||
wxSpinCtrl *m_expcompsCtrl, *m_framenumCtrl, *m_maxtilesCtrl;
|
|
||||||
wxCheckBox *m_enablejpwlCheck;
|
|
||||||
#endif // USE_JPWL
|
|
||||||
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
enum {
|
|
||||||
OPJDECO_RESMETHOD = 100,
|
|
||||||
OPJDECO_REDUCEFACTOR,
|
|
||||||
OPJDECO_QUALITYLAYERS,
|
|
||||||
OPJDECO_NUMCOMPS,
|
|
||||||
OPJDECO_ENABLEDECO,
|
|
||||||
OPJDECO_ENABLEPARSE,
|
|
||||||
OPJDECO_ENABLEJPWL,
|
|
||||||
OPJDECO_EXPCOMPS,
|
|
||||||
OPJDECO_MAXTILES,
|
|
||||||
OPJDECO_FRAMENUM
|
|
||||||
};
|
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif //__OPJ_VIEWER_H__
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB |
|
@ -1,3 +0,0 @@
|
||||||
OPJChild16 ICON OPJChild.ico
|
|
||||||
OPJViewer16 ICON OPJViewer.ico
|
|
||||||
#include "wx/msw/wx.rc"
|
|
|
@ -1,26 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static char *OPJViewer16[] = {
|
|
||||||
/* columns rows colors chars-per-pixel */
|
|
||||||
"16 16 4 1",
|
|
||||||
" c black",
|
|
||||||
". c #800000",
|
|
||||||
"X c red",
|
|
||||||
"o c None",
|
|
||||||
/* pixels */
|
|
||||||
"oooooooooooooooo",
|
|
||||||
"ooo.XXXXoooooooo",
|
|
||||||
"ooXXoo .Xooooooo",
|
|
||||||
"o..oooo .ooooooo",
|
|
||||||
"oX.oooo ooooooo",
|
|
||||||
"oX.oooo .ooooooo",
|
|
||||||
"oXXoooo .ooooooo",
|
|
||||||
"o.XXoo .oooooooo",
|
|
||||||
"oo.XXXXooooooooo",
|
|
||||||
"ooooooooo.Xo .oo",
|
|
||||||
"ooooooooo X. ooo",
|
|
||||||
"oooooooooo...ooo",
|
|
||||||
"oooooooooo XXooo",
|
|
||||||
"oooooooooo .Xooo",
|
|
||||||
"oooooooooooooooo",
|
|
||||||
"oooooooooooooooo"
|
|
||||||
};
|
|
|
@ -1,54 +0,0 @@
|
||||||
wxString htmlaboutpage = wxT(
|
|
||||||
"<html>"
|
|
||||||
"<body bgcolor=#FFFFFF>"
|
|
||||||
"<table cellspacing=7 cellpadding=1 border=0 width=100%>"
|
|
||||||
"<tr>"
|
|
||||||
"<td rowspan=3 valign=top align=center width=70>"
|
|
||||||
"<img src=\"memory:opj_logo.xpm\"><br><br>"
|
|
||||||
"</td>"
|
|
||||||
"<td align=center>"
|
|
||||||
"<font size=+0 color=#000000><b>"
|
|
||||||
OPJ_APPLICATION " " OPJ_APPLICATION_VERSION
|
|
||||||
"</b></font><br>"
|
|
||||||
"<font size=-1 color=#000000><b>A JPEG 2000 image viewer</b></font><br>"
|
|
||||||
"<font size=-2 color=#000000><b>" OPJ_APPLICATION_PLATFORM " version</b></font>"
|
|
||||||
"</td>"
|
|
||||||
"</tr>"
|
|
||||||
"<tr height=3 valign=center>"
|
|
||||||
"<td valign=center bgcolor=#cc3300></td>"
|
|
||||||
"</tr>"
|
|
||||||
"<tr>"
|
|
||||||
"<td align=justify>"
|
|
||||||
"<center><font size=+0 color=#000000><a href=\"http://www.openjpeg.org/\">OpenJPEG</a></font></center>"
|
|
||||||
"<p><font size=-1 color=#000000>The OpenJPEG library is an open-source JPEG 2000 codec written in C language. "
|
|
||||||
"In addition to the basic codec, various other features are under development.</font></p><br>"
|
|
||||||
"<font size=-2 color=red>* Build: ")
|
|
||||||
#include "build.h"
|
|
||||||
wxT(", " __DATE__ ", " __TIME__ "</font><br>")
|
|
||||||
wxT("<font size=-2 color=red>* " wxVERSION_STRING "</font><br>")
|
|
||||||
wxT("<font size=-2 color=red>* OpenJPEG " OPENJPEG_VERSION " (")
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
wxT("<font size=-2 color=green>JPWL</font> ")
|
|
||||||
#endif // USE_JPWL
|
|
||||||
#ifdef USE_JPSEC
|
|
||||||
wxT("<font size=-2 color=green>JPSEC</font> ")
|
|
||||||
#endif // USE_JPSEC
|
|
||||||
wxT(")</font><br>")
|
|
||||||
#ifdef USE_MXF
|
|
||||||
wxT("<font size=-2 color=red>* MXFLib " MXFLIB_VERSION_MAJOR "." MXFLIB_VERSION_MINOR "." MXFLIB_VERSION_TWEAK " (" MXFLIB_VERSION_BUILD ")</font><br>")
|
|
||||||
#endif // USE_MXF
|
|
||||||
wxT("</td>"
|
|
||||||
"</tr>"
|
|
||||||
"<tr>"
|
|
||||||
"<td colspan=2 bgcolor=#CC3300 height=3 valign=center></td>"
|
|
||||||
"</tr>"
|
|
||||||
"<tr>"
|
|
||||||
"<td colspan=2>"
|
|
||||||
"<font size=-2 color=#444444>OpenJPEG is © 2002-2008 <a href=\"http://www.tele.ucl.ac.be/\">TELE</a> - <a href=\"http://www.uclouvain.be/\">Universite' Catholique de Louvain</a></font><br>"
|
|
||||||
"<font size=-2 color=#444444>OPJViewer is © 2007-2008 <a href=\"http://dsplab.diei.unipg.it/\">DSPLab</a> - <a href=\"http://www.unipg.it/\">Universita' degli studi di Perugia</a></font>"
|
|
||||||
"</td>"
|
|
||||||
"</tr>"
|
|
||||||
"</table>"
|
|
||||||
"</body>"
|
|
||||||
"</html>"
|
|
||||||
);
|
|
|
@ -1 +0,0 @@
|
||||||
wxT("491")
|
|
|
@ -1,79 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static char *icon1_xpm[] = {
|
|
||||||
/* columns rows colors chars-per-pixel */
|
|
||||||
"32 32 41 1",
|
|
||||||
"> c #97C4E7",
|
|
||||||
"# c #4381AA",
|
|
||||||
"d c #FFFFFF",
|
|
||||||
"< c #71B2DE",
|
|
||||||
"+ c #538BB1",
|
|
||||||
"& c #D1E5F5",
|
|
||||||
"q c #63B3DE",
|
|
||||||
"6 c #F1F4F7",
|
|
||||||
"* c #CAE1F3",
|
|
||||||
"y c #7AC4E5",
|
|
||||||
"= c #C3DDF1",
|
|
||||||
"X c #74A1BD",
|
|
||||||
"- c #BCD9EF",
|
|
||||||
"5 c #619BC4",
|
|
||||||
"3 c #E6EAF1",
|
|
||||||
"2 c #4B8EBF",
|
|
||||||
"o c #6B97B6",
|
|
||||||
". c #4B82A8",
|
|
||||||
" c None",
|
|
||||||
"w c #54A6D8",
|
|
||||||
"1 c #71A8D1",
|
|
||||||
", c #85BBE2",
|
|
||||||
"t c #EFF6FC",
|
|
||||||
"7 c #DEEDF8",
|
|
||||||
"@ c #4388B4",
|
|
||||||
"a c #F7FBFD",
|
|
||||||
"$ c #D7E0E9",
|
|
||||||
"r c #FAFCFE",
|
|
||||||
"4 c #DAEAF7",
|
|
||||||
"e c #E9F3FA",
|
|
||||||
"0 c #76BAE2",
|
|
||||||
"% c #7FA6C0",
|
|
||||||
"s c #FDFDFE",
|
|
||||||
"O c #5896BE",
|
|
||||||
"p c #B6D5EE",
|
|
||||||
"8 c #87ABC3",
|
|
||||||
": c #A5CCEA",
|
|
||||||
"9 c #E5F0F9",
|
|
||||||
"; c #AFD1EC",
|
|
||||||
"i c #F4F9FD",
|
|
||||||
"u c #8FB0C3",
|
|
||||||
/* pixels */
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" .XXXooOO++@#$ ",
|
|
||||||
" %&*=-;:>>,<123 ",
|
|
||||||
" %4&*=-;:>>,1>56 ",
|
|
||||||
" %74&*=-;:>>1*>56 ",
|
|
||||||
" 89700qqqqwq1e*>X ",
|
|
||||||
" 8e974&*=-;:1re*>8 ",
|
|
||||||
" 8te974&*=-;11111# ",
|
|
||||||
" 8tty000qqqqqww>,+ ",
|
|
||||||
" uitte974&*=-p:>>+ ",
|
|
||||||
" uaitte974&*=-p:>O ",
|
|
||||||
" uaayyyy000qqqqp:O ",
|
|
||||||
" uraaitte974&*=-po ",
|
|
||||||
" urraaitte974&*=-o ",
|
|
||||||
" usryyyyyyy000q*=X ",
|
|
||||||
" ussrraaitte974&*X ",
|
|
||||||
" udssrraaitte974&X ",
|
|
||||||
" uddyyyyyyyyyy074% ",
|
|
||||||
" udddssrraaitte97% ",
|
|
||||||
" uddddssrraaitte9% ",
|
|
||||||
" udddddssrraaitte8 ",
|
|
||||||
" uddddddssrraaitt8 ",
|
|
||||||
" uuuuuuuuuuuuuu88u ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" "
|
|
||||||
};
|
|
|
@ -1,53 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static char *icon2_xpm[] = {
|
|
||||||
/* columns rows colors chars-per-pixel */
|
|
||||||
"32 32 15 1",
|
|
||||||
". c Black",
|
|
||||||
"O c #97C4E7",
|
|
||||||
"$ c #63B3DE",
|
|
||||||
"@ c #CAE1F3",
|
|
||||||
"; c #7AC4E5",
|
|
||||||
"* c #74A1BD",
|
|
||||||
"+ c #619BC4",
|
|
||||||
"o c #4B8EBF",
|
|
||||||
" c None",
|
|
||||||
"% c #54A6D8",
|
|
||||||
"= c #FAFCFE",
|
|
||||||
"& c #E9F3FA",
|
|
||||||
"# c #76BAE2",
|
|
||||||
"X c #C00000",
|
|
||||||
"- c #87ABC3",
|
|
||||||
/* pixels */
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ............. ",
|
|
||||||
" .XXXXXXXXXX.o. ",
|
|
||||||
" .XXXXXXXXXX.O+. ",
|
|
||||||
" .XXXXXXXXXX.@O+. ",
|
|
||||||
" .XX##$$$$%$.&@O* ",
|
|
||||||
" .XXXXXXXXXX.=&@O- ",
|
|
||||||
" .XXXXXXXXXX...... ",
|
|
||||||
" .XX;###$$$$$%%XX. ",
|
|
||||||
" .XXXXXXXXXXXXXXX. ",
|
|
||||||
" .XXXXXXXXXXXXXXX. ",
|
|
||||||
" .XX;;;;###$$$$XX. ",
|
|
||||||
" .XXXXXXXXXXXXXXX. ",
|
|
||||||
" .XXXXXXXXXXXXXXX. ",
|
|
||||||
" .XX;;;;;;;###$XX. ",
|
|
||||||
" .XXXXXXXXXXXXXXX. ",
|
|
||||||
" .XXXXXXXXXXXXXXX. ",
|
|
||||||
" .XX;;;;;;;;;;#XX. ",
|
|
||||||
" .XXXXXXXXXXXXXXX. ",
|
|
||||||
" .XXXXXXXXXXXXXXX. ",
|
|
||||||
" .XXXXXXXXXXXXXXX. ",
|
|
||||||
" .XXXXXXXXXXXXXXX. ",
|
|
||||||
" ................. ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" "
|
|
||||||
};
|
|
|
@ -1,79 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static char *icon3_xpm[] = {
|
|
||||||
/* columns rows colors chars-per-pixel */
|
|
||||||
"32 32 41 1",
|
|
||||||
"6 c #EDF2FB",
|
|
||||||
"- c #AAC1E8",
|
|
||||||
": c #B9CDED",
|
|
||||||
"X c #295193",
|
|
||||||
", c #C6D6F0",
|
|
||||||
"a c #4A7CCE",
|
|
||||||
"u c #779DDB",
|
|
||||||
"y c #7FA2DD",
|
|
||||||
"$ c #3263B4",
|
|
||||||
"5 c #EAF0FA",
|
|
||||||
". c #2D59A3",
|
|
||||||
"o c #6E96D8",
|
|
||||||
"* c #356AC1",
|
|
||||||
"r c #F7F9FD",
|
|
||||||
"> c #BED0EE",
|
|
||||||
"3 c #E1E9F7",
|
|
||||||
"7 c #F0F5FC",
|
|
||||||
"< c #CBD9F1",
|
|
||||||
"2 c #DAE5F6",
|
|
||||||
"# c #3161B1",
|
|
||||||
" c None",
|
|
||||||
"0 c #FDFEFF",
|
|
||||||
"= c #9FB9E5",
|
|
||||||
"e c #AEC5EA",
|
|
||||||
"t c #89A9DF",
|
|
||||||
"q c #98B5E4",
|
|
||||||
"p c #5584D1",
|
|
||||||
"d c #3A70CA",
|
|
||||||
"@ c #305FAC",
|
|
||||||
"i c #5D89D3",
|
|
||||||
"1 c #D2DFF4",
|
|
||||||
"% c #3366B9",
|
|
||||||
"9 c #FAFCFE",
|
|
||||||
"8 c #F5F8FD",
|
|
||||||
"s c #4075CC",
|
|
||||||
"O c #638ED5",
|
|
||||||
"w c #90AFE2",
|
|
||||||
"& c #3467BC",
|
|
||||||
"+ c #2F5DA9",
|
|
||||||
"; c #B3C8EB",
|
|
||||||
"4 c #E5EDF9",
|
|
||||||
/* pixels */
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ......X ",
|
|
||||||
" .oooooO+ ",
|
|
||||||
" .ooooooo. ",
|
|
||||||
" .+@@@##$%%&&&&&****. ",
|
|
||||||
" .=-;:>,<12345678900. ",
|
|
||||||
" .q=-;:>,<1234567890. ",
|
|
||||||
" .wq=-e:>,<12345678r. ",
|
|
||||||
" .twq=-e:>,<12345678. ",
|
|
||||||
" .ytwq=-e:>,<1234567. ",
|
|
||||||
" .uytwq=-e:>,<123456. ",
|
|
||||||
" .ouytwq=-e:>,<12345. ",
|
|
||||||
" .Oouytwq=-e;>,<1234. ",
|
|
||||||
" .iOouytwq=-e;>,<123. ",
|
|
||||||
" .piOouytwq=-e;>,<12. ",
|
|
||||||
" .apiOouytwq=-e;>,<1. ",
|
|
||||||
" .sapiOouytwq=-e;>,<. ",
|
|
||||||
" .dsapiOouytwq=-e;>,. ",
|
|
||||||
" ...................# ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" "
|
|
||||||
};
|
|
|
@ -1,43 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static char *icon4_xpm[] = {
|
|
||||||
/* columns rows colors chars-per-pixel */
|
|
||||||
"32 32 5 1",
|
|
||||||
". c Black",
|
|
||||||
"o c #8399B4",
|
|
||||||
"X c #8DA0B9",
|
|
||||||
" c None",
|
|
||||||
"O c #800000",
|
|
||||||
/* pixels */
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ....... ",
|
|
||||||
" .XXXXXo. ",
|
|
||||||
" .XXXXXXX. ",
|
|
||||||
" .................... ",
|
|
||||||
" .OOOOOOOOOOOOOOOOOO. ",
|
|
||||||
" .OOOOOOOOOOOOOOOOOO. ",
|
|
||||||
" .OOOOOOOOOOOOOOOOOO. ",
|
|
||||||
" .OOOOOOOOOOOOOOOOOO. ",
|
|
||||||
" .OOOOOOOOOOOOOOOOOO. ",
|
|
||||||
" .OOOOOOOOOOOOOOOOOO. ",
|
|
||||||
" .OOOOOOOOOOOOOOOOOO. ",
|
|
||||||
" .OOOOOOOOOOOOOOOOOO. ",
|
|
||||||
" .OOOOOOOOOOOOOOOOOO. ",
|
|
||||||
" .OOOOOOOOOOOOOOOOOO. ",
|
|
||||||
" .OOOOOOOOOOOOOOOOOO. ",
|
|
||||||
" .OOOOOOOOOOOOOOOOOO. ",
|
|
||||||
" .OOOOOOOOOOOOOOOOOO. ",
|
|
||||||
" .................... ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" "
|
|
||||||
};
|
|
|
@ -1,79 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static char *icon5_xpm[] = {
|
|
||||||
/* columns rows colors chars-per-pixel */
|
|
||||||
"32 32 41 1",
|
|
||||||
"0 c #AAC1E8",
|
|
||||||
"q c #B9CDED",
|
|
||||||
"X c #295193",
|
|
||||||
"e c #C6D6F0",
|
|
||||||
"a c #4A7CCE",
|
|
||||||
"& c #779DDB",
|
|
||||||
"* c #7FA2DD",
|
|
||||||
"2 c #EAF0FA",
|
|
||||||
"@ c #2D59A3",
|
|
||||||
"o c #6E96D8",
|
|
||||||
"y c #356AC1",
|
|
||||||
"d c #214279",
|
|
||||||
"w c #BED0EE",
|
|
||||||
"= c #85A7DF",
|
|
||||||
"< c #E1E9F7",
|
|
||||||
"3 c #F0F5FC",
|
|
||||||
"s c #CBD9F1",
|
|
||||||
", c #DAE5F6",
|
|
||||||
"7 c #3161B1",
|
|
||||||
" c None",
|
|
||||||
". c #274D8B",
|
|
||||||
"6 c #FDFEFF",
|
|
||||||
"i c #E7EEF9",
|
|
||||||
"9 c #9FB9E5",
|
|
||||||
"- c #89A9DF",
|
|
||||||
"8 c #98B5E4",
|
|
||||||
"$ c #5584D1",
|
|
||||||
"+ c #3569BF",
|
|
||||||
"% c #305FAC",
|
|
||||||
"O c #5D89D3",
|
|
||||||
"> c #D2DFF4",
|
|
||||||
"p c #3366B9",
|
|
||||||
"5 c #FAFCFE",
|
|
||||||
"4 c #F5F8FD",
|
|
||||||
"t c #4075CC",
|
|
||||||
"u c #638ED5",
|
|
||||||
"r c #CEDCF2",
|
|
||||||
"; c #90AFE2",
|
|
||||||
"# c #2F5DA9",
|
|
||||||
": c #B3C8EB",
|
|
||||||
"1 c #E5EDF9",
|
|
||||||
/* pixels */
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ......X ",
|
|
||||||
" XoooooO. ",
|
|
||||||
" Xoooooo+. ",
|
|
||||||
" Xooooooo@XXXXXXXXXX# ",
|
|
||||||
" Xoooooooooooooooooo# ",
|
|
||||||
" Xoooooooooooooooooo# ",
|
|
||||||
" Xoo$################### ",
|
|
||||||
" Xoo%O&*=-;:>,<123445667 ",
|
|
||||||
" XooX890:qwer>,<123445q# ",
|
|
||||||
" Xoty;890:qwer>,<12344# ",
|
|
||||||
" Xo%u-;890:qwer>,<i234# ",
|
|
||||||
" XoX&*-;890:qwer>,<i2r# ",
|
|
||||||
" Xtpo&*-;890:qwer>,<i# ",
|
|
||||||
" X%auo&*-;890:qwer>,<# ",
|
|
||||||
" XX$Ouo&*-;890:qwer>s# ",
|
|
||||||
" d%a$Ouo&*-;890:qwer# ",
|
|
||||||
" d+ta$Ouo&*-;890:qwe# ",
|
|
||||||
" d..................# ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" "
|
|
||||||
};
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,177 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2007, Digital Signal Processing Laboratory, Università degli studi di Perugia (UPG), Italy
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Name: imagalljpeg2000.h
|
|
||||||
// Purpose: wxImage JPEG 2000 family file format handler
|
|
||||||
// Author: G. Baruffa - based on imagjpeg.h, Vaclav Slavik
|
|
||||||
// RCS-ID: $Id: imagalljpeg2000.h,v 0.0 2008/01/31 11:22:00 VZ Exp $
|
|
||||||
// Copyright: (c) Giuseppe Baruffa
|
|
||||||
// Licence: wxWindows licence
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
#ifndef _WX_IMAGJPEG2000_H_
|
|
||||||
#define _WX_IMAGJPEG2000_H_
|
|
||||||
|
|
||||||
#include "wx/defs.h"
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
// wxJPEG2000Handler
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#if wxUSE_LIBOPENJPEG
|
|
||||||
|
|
||||||
#include "wx/image.h"
|
|
||||||
#include "libopenjpeg/openjpeg.h"
|
|
||||||
#include "codec/index.h"
|
|
||||||
|
|
||||||
#define wxBITMAP_TYPE_JPEG2000 50
|
|
||||||
|
|
||||||
class WXDLLEXPORT wxJPEG2000Handler: public wxImageHandler
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
inline wxJPEG2000Handler()
|
|
||||||
{
|
|
||||||
m_name = wxT("JPEG 2000 family file format");
|
|
||||||
m_extension = wxT("mj2");
|
|
||||||
m_type = wxBITMAP_TYPE_JPEG2000;
|
|
||||||
m_mime = wxT("image/mj2");
|
|
||||||
|
|
||||||
/* decoding */
|
|
||||||
m_reducefactor = 0;
|
|
||||||
m_qualitylayers = 0;
|
|
||||||
m_components = 0;
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
m_enablejpwl = true;
|
|
||||||
m_expcomps = JPWL_EXPECTED_COMPONENTS;
|
|
||||||
m_maxtiles = JPWL_MAXIMUM_TILES;
|
|
||||||
#endif // USE_JPWL
|
|
||||||
|
|
||||||
/* encoding */
|
|
||||||
m_subsampling = wxT("1,1");
|
|
||||||
m_origin = wxT("0,0");
|
|
||||||
m_rates = wxT("20,10,5");
|
|
||||||
m_quality = wxT("30,35,40");
|
|
||||||
m_enablequality = false;
|
|
||||||
m_multicomp = false;
|
|
||||||
m_irreversible = false;
|
|
||||||
m_resolutions = 6;
|
|
||||||
m_progression = 0;
|
|
||||||
m_cbsize = wxT("32,32");
|
|
||||||
m_prsize = wxT("[128,128],[128,128]");
|
|
||||||
m_tsize = wxT("");
|
|
||||||
m_torigin = wxT("0,0");
|
|
||||||
/*m_progression
|
|
||||||
m_resilience*/
|
|
||||||
m_enablesop = false;
|
|
||||||
m_enableeph = false;
|
|
||||||
m_enablereset = false;
|
|
||||||
m_enablesegmark = false;
|
|
||||||
m_enablevsc = false;
|
|
||||||
m_enablerestart = false;
|
|
||||||
m_enableerterm = false;
|
|
||||||
m_enablebypass = false;
|
|
||||||
/*m_roicompo
|
|
||||||
m_roiup
|
|
||||||
m_indexfname*/
|
|
||||||
m_enableidx = false;
|
|
||||||
m_index = wxT("index.txt");
|
|
||||||
m_enablepoc = false;
|
|
||||||
m_poc = wxT("T1=0,0,1,5,3,CPRL/T1=5,0,1,6,3,CPRL");
|
|
||||||
m_enablecomm = true;
|
|
||||||
|
|
||||||
#if defined __WXMSW__
|
|
||||||
m_comment = wxT("Created by OPJViewer Win32 - OpenJPEG version ");
|
|
||||||
#elif defined __WXGTK__
|
|
||||||
m_comment = wxT("Created by OPJViewer Lin32 - OpenJPEG version ");
|
|
||||||
#else
|
|
||||||
m_comment = wxT("Created by OPJViewer - OpenJPEG version ");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
m_comment += wxString::Format(wxT("%s with JPWL"), (char *) opj_version());
|
|
||||||
#else
|
|
||||||
m_comment += wxString::Format(wxT("%s"), (char *) opj_version());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// decoding engine parameters
|
|
||||||
int m_reducefactor, m_qualitylayers, m_components, m_framenum;
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
bool m_enablejpwl;
|
|
||||||
int m_expcomps, m_maxtiles;
|
|
||||||
#endif // USE_JPWL
|
|
||||||
|
|
||||||
// encoding engine parameters
|
|
||||||
wxString m_subsampling;
|
|
||||||
wxString m_origin;
|
|
||||||
wxString m_rates;
|
|
||||||
wxString m_quality;
|
|
||||||
bool m_enablequality;
|
|
||||||
bool m_multicomp;
|
|
||||||
bool m_irreversible;
|
|
||||||
int m_resolutions;
|
|
||||||
int m_progression;
|
|
||||||
wxString m_cbsize;
|
|
||||||
wxString m_prsize;
|
|
||||||
wxString m_tsize;
|
|
||||||
wxString m_torigin;
|
|
||||||
/*m_progression
|
|
||||||
m_resilience*/
|
|
||||||
bool m_enablesop;
|
|
||||||
bool m_enableeph;
|
|
||||||
bool m_enablebypass;
|
|
||||||
bool m_enableerterm;
|
|
||||||
bool m_enablerestart;
|
|
||||||
bool m_enablereset;
|
|
||||||
bool m_enablesegmark;
|
|
||||||
bool m_enablevsc;
|
|
||||||
/*m_roicompo
|
|
||||||
m_roiup
|
|
||||||
m_indexfname*/
|
|
||||||
bool m_enableidx;
|
|
||||||
wxString m_index;
|
|
||||||
bool m_enablecomm;
|
|
||||||
wxString m_comment;
|
|
||||||
bool m_enablepoc;
|
|
||||||
wxString m_poc;
|
|
||||||
|
|
||||||
#if wxUSE_STREAMS
|
|
||||||
virtual bool LoadFile(wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1);
|
|
||||||
virtual bool SaveFile(wxImage *image, wxOutputStream& stream, bool verbose=true);
|
|
||||||
protected:
|
|
||||||
virtual bool DoCanRead(wxInputStream& stream);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
private:
|
|
||||||
OPJ_PROG_ORDER give_progression(char progression[4]);
|
|
||||||
DECLARE_DYNAMIC_CLASS(wxJPEG2000Handler)
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // wxUSE_LIBOPENJPEG
|
|
||||||
|
|
||||||
#endif // _WX_IMAGJPEG2000_H_
|
|
||||||
|
|
|
@ -1,502 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2007, Digital Signal Processing Laboratory, Università degli studi di Perugia (UPG), Italy
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Name: imagmxf.cpp
|
|
||||||
// Purpose: wxImage MXF (Material eXchange Format) JPEG 2000 file format handler
|
|
||||||
// Author: Giuseppe Baruffa - based on imagjpeg.cpp, Vaclav Slavik
|
|
||||||
// RCS-ID: $Id: imagmxf.cpp,v 0.00 2007/11/19 17:00:00 MW Exp $
|
|
||||||
// Copyright: (c) Giuseppe Baruffa
|
|
||||||
// Licence: wxWindows licence
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
#ifdef USE_MXF
|
|
||||||
|
|
||||||
#include "mxflib/mxflib.h"
|
|
||||||
using namespace mxflib;
|
|
||||||
|
|
||||||
namespace
|
|
||||||
{
|
|
||||||
//! Structure holding information about the essence in each body stream
|
|
||||||
struct EssenceInfo
|
|
||||||
{
|
|
||||||
UMIDPtr PackageID;
|
|
||||||
PackagePtr Package;
|
|
||||||
MDObjectPtr Descriptor;
|
|
||||||
};
|
|
||||||
//! Map of EssenceInfo structures indexed by BodySID
|
|
||||||
typedef std::map<UInt32, EssenceInfo> EssenceInfoMap;
|
|
||||||
|
|
||||||
//! The map of essence info for this file
|
|
||||||
EssenceInfoMap EssenceLookup;
|
|
||||||
};
|
|
||||||
|
|
||||||
//! Build an EssenceInfoMap for the essence in a given file
|
|
||||||
/*! \return True if al OK, else false
|
|
||||||
*/
|
|
||||||
bool BuildEssenceInfo(MXFFilePtr &File, EssenceInfoMap &EssenceLookup);
|
|
||||||
|
|
||||||
// For compilers that support precompilation, includes "wx.h".
|
|
||||||
#include "wx/wxprec.h"
|
|
||||||
|
|
||||||
#ifdef __BORLANDC__
|
|
||||||
#pragma hdrstop
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if wxUSE_IMAGE && wxUSE_LIBOPENJPEG
|
|
||||||
|
|
||||||
#include "imagmxf.h"
|
|
||||||
|
|
||||||
#ifndef WX_PRECOMP
|
|
||||||
#include "wx/log.h"
|
|
||||||
#include "wx/app.h"
|
|
||||||
#include "wx/intl.h"
|
|
||||||
#include "wx/bitmap.h"
|
|
||||||
#include "wx/module.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#include "libopenjpeg/openjpeg.h"
|
|
||||||
|
|
||||||
|
|
||||||
#include "wx/filefn.h"
|
|
||||||
#include "wx/wfstream.h"
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// types
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
// wxMXFHandler
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxMXFHandler,wxImageHandler)
|
|
||||||
|
|
||||||
#if wxUSE_STREAMS
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
|
||||||
#define MAX_MESSAGE_LEN 200
|
|
||||||
|
|
||||||
//------------- MXF Manager
|
|
||||||
|
|
||||||
// Debug and error messages
|
|
||||||
|
|
||||||
//! Display a warning message
|
|
||||||
void mxflib::warning(const char *Fmt, ...)
|
|
||||||
{
|
|
||||||
char msg[MAX_MESSAGE_LEN];
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, Fmt);
|
|
||||||
_vsnprintf(msg, MAX_MESSAGE_LEN, Fmt, args);
|
|
||||||
va_end(args);
|
|
||||||
|
|
||||||
int message_len = strlen(msg) - 1;
|
|
||||||
if (msg[message_len] != '\n')
|
|
||||||
message_len = MAX_MESSAGE_LEN;
|
|
||||||
#ifndef __WXGTK__
|
|
||||||
wxMutexGuiEnter();
|
|
||||||
#endif /* __WXGTK__ */
|
|
||||||
wxLogMessage(wxT("[WARNING_MXF] %.*s"), message_len, msg);
|
|
||||||
#ifndef __WXGTK__
|
|
||||||
wxMutexGuiLeave();
|
|
||||||
#endif /* __WXGTK__ */
|
|
||||||
}
|
|
||||||
|
|
||||||
//! Display an error message
|
|
||||||
void mxflib::error(const char *Fmt, ...)
|
|
||||||
{
|
|
||||||
char msg[MAX_MESSAGE_LEN];
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, Fmt);
|
|
||||||
_vsnprintf(msg, MAX_MESSAGE_LEN, Fmt, args);
|
|
||||||
va_end(args);
|
|
||||||
|
|
||||||
int message_len = strlen(msg) - 1;
|
|
||||||
if (msg[message_len] != '\n')
|
|
||||||
message_len = MAX_MESSAGE_LEN;
|
|
||||||
#ifndef __WXGTK__
|
|
||||||
wxMutexGuiEnter();
|
|
||||||
#endif /* __WXGTK__ */
|
|
||||||
wxLogMessage(wxT("[ERROR_MXF] %.*s"), message_len, msg);
|
|
||||||
#ifndef __WXGTK__
|
|
||||||
wxMutexGuiLeave();
|
|
||||||
#endif /* __WXGTK__ */
|
|
||||||
}
|
|
||||||
|
|
||||||
//! Display an error message
|
|
||||||
void mxflib::debug(const char *Fmt, ...)
|
|
||||||
{
|
|
||||||
char msg[MAX_MESSAGE_LEN];
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, Fmt);
|
|
||||||
_vsnprintf(msg, MAX_MESSAGE_LEN, Fmt, args);
|
|
||||||
va_end(args);
|
|
||||||
|
|
||||||
int message_len = strlen(msg) - 1;
|
|
||||||
if (msg[message_len] != '\n')
|
|
||||||
message_len = MAX_MESSAGE_LEN;
|
|
||||||
#ifndef __WXGTK__
|
|
||||||
wxMutexGuiEnter();
|
|
||||||
#endif /* __WXGTK__ */
|
|
||||||
wxLogMessage(wxT("[DEBUG_MXF] %.*s"), message_len, msg);
|
|
||||||
#ifndef __WXGTK__
|
|
||||||
wxMutexGuiLeave();
|
|
||||||
#endif /* __WXGTK__ */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//------------- JPEG 2000 Data Source Manager
|
|
||||||
|
|
||||||
#define J2K_CFMT 0
|
|
||||||
#define JP2_CFMT 1
|
|
||||||
#define JPT_CFMT 2
|
|
||||||
#define MJ2_CFMT 3
|
|
||||||
#define PXM_DFMT 0
|
|
||||||
#define PGX_DFMT 1
|
|
||||||
#define BMP_DFMT 2
|
|
||||||
#define YUV_DFMT 3
|
|
||||||
|
|
||||||
/* sample error callback expecting a FILE* client object */
|
|
||||||
void mxf_error_callback(const char *msg, void *client_data) {
|
|
||||||
int message_len = strlen(msg) - 1;
|
|
||||||
if (msg[message_len] != '\n')
|
|
||||||
message_len = MAX_MESSAGE_LEN;
|
|
||||||
#ifndef __WXGTK__
|
|
||||||
wxMutexGuiEnter();
|
|
||||||
#endif /* __WXGTK__ */
|
|
||||||
wxLogMessage(wxT("[ERROR] %.*s"), message_len, msg);
|
|
||||||
#ifndef __WXGTK__
|
|
||||||
wxMutexGuiLeave();
|
|
||||||
#endif /* __WXGTK__ */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* sample warning callback expecting a FILE* client object */
|
|
||||||
void mxf_warning_callback(const char *msg, void *client_data) {
|
|
||||||
int message_len = strlen(msg) - 1;
|
|
||||||
if (msg[message_len] != '\n')
|
|
||||||
message_len = MAX_MESSAGE_LEN;
|
|
||||||
#ifndef __WXGTK__
|
|
||||||
wxMutexGuiEnter();
|
|
||||||
#endif /* __WXGTK__ */
|
|
||||||
wxLogMessage(wxT("[WARNING] %.*s"), message_len, msg);
|
|
||||||
#ifndef __WXGTK__
|
|
||||||
wxMutexGuiLeave();
|
|
||||||
#endif /* __WXGTK__ */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* sample debug callback expecting no client object */
|
|
||||||
void mxf_info_callback(const char *msg, void *client_data) {
|
|
||||||
int message_len = strlen(msg) - 1;
|
|
||||||
if (msg[message_len] != '\n')
|
|
||||||
message_len = MAX_MESSAGE_LEN;
|
|
||||||
#ifndef __WXGTK__
|
|
||||||
wxMutexGuiEnter();
|
|
||||||
#endif /* __WXGTK__ */
|
|
||||||
wxLogMessage(wxT("[INFO] %.*s"), message_len, msg);
|
|
||||||
#ifndef __WXGTK__
|
|
||||||
wxMutexGuiLeave();
|
|
||||||
#endif /* __WXGTK__ */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////
|
|
||||||
/////////////////////////////////////////////////
|
|
||||||
|
|
||||||
// load the mxf file format
|
|
||||||
bool wxMXFHandler::LoadFile(wxImage *image, wxInputStream& stream, bool verbose, int index)
|
|
||||||
{
|
|
||||||
opj_dparameters_t parameters; /* decompression parameters */
|
|
||||||
opj_event_mgr_t event_mgr; /* event manager */
|
|
||||||
opj_image_t *opjimage = NULL;
|
|
||||||
unsigned char *src = NULL;
|
|
||||||
unsigned char *ptr;
|
|
||||||
int file_length, j2k_point, j2k_len;
|
|
||||||
opj_codestream_info_t cstr_info; /* Codestream information structure */
|
|
||||||
|
|
||||||
// simply display the version of the library
|
|
||||||
wxLogMessage(wxT("Version of MXF: %s "), wxString::FromAscii(LibraryVersion().c_str()));
|
|
||||||
//wxLogMessage(wxT("MXF file name: %s"), m_filename.GetFullPath());
|
|
||||||
|
|
||||||
// open MXF file
|
|
||||||
MXFFilePtr TestFile = new MXFFile;
|
|
||||||
if (! TestFile->Open(m_filename.GetFullPath().c_str(), true))
|
|
||||||
{
|
|
||||||
wxLogError(wxT("Could not find %s"), m_filename.GetFullPath().c_str());
|
|
||||||
return false;
|
|
||||||
} else
|
|
||||||
wxLogMessage(wxT("Found %s"), m_filename.GetFullPath().c_str());
|
|
||||||
|
|
||||||
// Get the size
|
|
||||||
TestFile->SeekEnd();
|
|
||||||
wxLogMessage(wxT("Size is %d bytes"), TestFile->Tell());
|
|
||||||
TestFile->Seek(0);
|
|
||||||
|
|
||||||
// essence information
|
|
||||||
//BuildEssenceInfo(TestFile, EssenceLookup);
|
|
||||||
|
|
||||||
// close MXF file
|
|
||||||
TestFile->Close();
|
|
||||||
|
|
||||||
return false;
|
|
||||||
|
|
||||||
// destroy the image
|
|
||||||
image->Destroy();
|
|
||||||
|
|
||||||
/* handle to a decompressor */
|
|
||||||
opj_dinfo_t* dinfo = NULL;
|
|
||||||
opj_cio_t *cio = NULL;
|
|
||||||
|
|
||||||
/* configure the event callbacks (not required) */
|
|
||||||
memset(&event_mgr, 0, sizeof(opj_event_mgr_t));
|
|
||||||
event_mgr.error_handler = mxf_error_callback;
|
|
||||||
event_mgr.warning_handler = mxf_warning_callback;
|
|
||||||
event_mgr.info_handler = mxf_info_callback;
|
|
||||||
|
|
||||||
/* set decoding parameters to default values */
|
|
||||||
opj_set_default_decoder_parameters(¶meters);
|
|
||||||
|
|
||||||
/* prepare parameters */
|
|
||||||
strncpy(parameters.infile, "", sizeof(parameters.infile)-1);
|
|
||||||
strncpy(parameters.outfile, "", sizeof(parameters.outfile)-1);
|
|
||||||
parameters.decod_format = J2K_CFMT;
|
|
||||||
parameters.cod_format = BMP_DFMT;
|
|
||||||
if (m_reducefactor)
|
|
||||||
parameters.cp_reduce = m_reducefactor;
|
|
||||||
if (m_qualitylayers)
|
|
||||||
parameters.cp_layer = m_qualitylayers;
|
|
||||||
/*if (n_components)
|
|
||||||
parameters. = n_components;*/
|
|
||||||
|
|
||||||
/* JPWL only */
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
parameters.jpwl_exp_comps = m_expcomps;
|
|
||||||
parameters.jpwl_max_tiles = m_maxtiles;
|
|
||||||
parameters.jpwl_correct = m_enablejpwl;
|
|
||||||
#endif /* USE_JPWL */
|
|
||||||
|
|
||||||
/* get a decoder handle */
|
|
||||||
dinfo = opj_create_decompress(CODEC_J2K);
|
|
||||||
|
|
||||||
/* find length of the stream */
|
|
||||||
stream.SeekI(0, wxFromEnd);
|
|
||||||
file_length = (int) stream.TellI();
|
|
||||||
|
|
||||||
/* search for the m_framenum codestream position and length */
|
|
||||||
//jp2c_point = searchjp2c(stream, file_length, m_framenum);
|
|
||||||
//jp2c_len = searchjp2c(stream, file_length, m_framenum);
|
|
||||||
j2k_point = 0;
|
|
||||||
j2k_len = 10;
|
|
||||||
|
|
||||||
// malloc memory source
|
|
||||||
src = (unsigned char *) malloc(j2k_len);
|
|
||||||
|
|
||||||
// copy the jp2c
|
|
||||||
stream.SeekI(j2k_point, wxFromStart);
|
|
||||||
stream.Read(src, j2k_len);
|
|
||||||
|
|
||||||
/* catch events using our callbacks and give a local context */
|
|
||||||
opj_set_event_mgr((opj_common_ptr)dinfo, &event_mgr, stderr);
|
|
||||||
|
|
||||||
/* setup the decoder decoding parameters using user parameters */
|
|
||||||
opj_setup_decoder(dinfo, ¶meters);
|
|
||||||
|
|
||||||
/* open a byte stream */
|
|
||||||
cio = opj_cio_open((opj_common_ptr)dinfo, src, j2k_len);
|
|
||||||
|
|
||||||
/* decode the stream and fill the image structure */
|
|
||||||
opjimage = opj_decode_with_info(dinfo, cio, &cstr_info);
|
|
||||||
if (!opjimage) {
|
|
||||||
wxMutexGuiEnter();
|
|
||||||
wxLogError(wxT("MXF: failed to decode image!"));
|
|
||||||
wxMutexGuiLeave();
|
|
||||||
opj_destroy_decompress(dinfo);
|
|
||||||
opj_cio_close(cio);
|
|
||||||
free(src);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* close the byte stream */
|
|
||||||
opj_cio_close(cio);
|
|
||||||
|
|
||||||
/* common rendering method */
|
|
||||||
#include "imagjpeg2000.cpp"
|
|
||||||
|
|
||||||
wxMutexGuiEnter();
|
|
||||||
wxLogMessage(wxT("MXF: image loaded."));
|
|
||||||
wxMutexGuiLeave();
|
|
||||||
|
|
||||||
/* close openjpeg structs */
|
|
||||||
opj_destroy_decompress(dinfo);
|
|
||||||
opj_image_destroy(opjimage);
|
|
||||||
free(src);
|
|
||||||
|
|
||||||
if (!image->Ok())
|
|
||||||
return false;
|
|
||||||
else
|
|
||||||
return true;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// save the mxf file format
|
|
||||||
bool wxMXFHandler::SaveFile( wxImage *image, wxOutputStream& stream, bool verbose )
|
|
||||||
{
|
|
||||||
wxLogError(wxT("MXF: Couldn't save movie -> not implemented."));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __VISUALC__
|
|
||||||
#pragma warning(default:4611)
|
|
||||||
#endif /* VC++ */
|
|
||||||
|
|
||||||
// recognize the MXF JPEG 2000 starting box
|
|
||||||
bool wxMXFHandler::DoCanRead( wxInputStream& stream )
|
|
||||||
{
|
|
||||||
unsigned char hdr[4];
|
|
||||||
|
|
||||||
if ( !stream.Read(hdr, WXSIZEOF(hdr)) )
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return (hdr[0] == 0x06 &&
|
|
||||||
hdr[1] == 0x0E &&
|
|
||||||
hdr[2] == 0x2B &&
|
|
||||||
hdr[3] == 0x34);
|
|
||||||
}
|
|
||||||
|
|
||||||
//! Build an EssenceInfoMap for the essence in a given file
|
|
||||||
/*! \return True if al OK, else false
|
|
||||||
*/
|
|
||||||
bool BuildEssenceInfo(MXFFilePtr &File, EssenceInfoMap &EssenceLookup)
|
|
||||||
{
|
|
||||||
// Empty any old data
|
|
||||||
EssenceLookup.clear();
|
|
||||||
|
|
||||||
// Get the master metadata set (or the header if we must)
|
|
||||||
PartitionPtr MasterPartition = File->ReadMasterPartition();
|
|
||||||
if(!MasterPartition)
|
|
||||||
{
|
|
||||||
File->Seek(0);
|
|
||||||
MasterPartition = File->ReadPartition();
|
|
||||||
warning("File %s does not contain a cloased copy of header metadata - using the open copy in the file header\n", File->Name.c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!MasterPartition)
|
|
||||||
{
|
|
||||||
error("Could not read header metadata from file %s\n", File->Name.c_str());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read and parse the metadata
|
|
||||||
MasterPartition->ReadMetadata();
|
|
||||||
MetadataPtr HMeta = MasterPartition->ParseMetadata();
|
|
||||||
|
|
||||||
if(!HMeta)
|
|
||||||
{
|
|
||||||
error("Could not read header metadata from file %s\n", File->Name.c_str());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Scan the Essence container data sets to get PackageID to BodySID mapping */
|
|
||||||
MDObjectPtr ECDSet = HMeta[ContentStorage_UL];
|
|
||||||
if(ECDSet) ECDSet = ECDSet->GetLink();
|
|
||||||
if(ECDSet) ECDSet = ECDSet[EssenceContainerDataBatch_UL];
|
|
||||||
if(!ECDSet)
|
|
||||||
{
|
|
||||||
error("Header metadata in file %s does not contain an EssenceContainerData set\n", File->Name.c_str());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
MDObject::iterator it = ECDSet->begin();
|
|
||||||
while(it != ECDSet->end())
|
|
||||||
{
|
|
||||||
MDObjectPtr ThisECDSet = (*it).second->GetLink();
|
|
||||||
MDObjectPtr PackageID;
|
|
||||||
if(ThisECDSet) PackageID = ThisECDSet->Child(LinkedPackageUID_UL);
|
|
||||||
if(PackageID)
|
|
||||||
{
|
|
||||||
EssenceInfo NewEI;
|
|
||||||
NewEI.PackageID = new UMID(PackageID->PutData()->Data);
|
|
||||||
|
|
||||||
// Inset the basic essence info - but not if this is external essence (BodySID == 0)
|
|
||||||
UInt32 BodySID = ThisECDSet->GetUInt(BodySID_UL);
|
|
||||||
if(BodySID) EssenceLookup[BodySID] = NewEI;
|
|
||||||
}
|
|
||||||
it++;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Now find the other items for the essence lookup map */
|
|
||||||
if(EssenceLookup.size())
|
|
||||||
{
|
|
||||||
PackageList::iterator it = HMeta->Packages.begin();
|
|
||||||
while(it != HMeta->Packages.end())
|
|
||||||
{
|
|
||||||
// Only Source Packages are of interest
|
|
||||||
if((*it)->IsA(SourcePackage_UL))
|
|
||||||
{
|
|
||||||
MDObjectPtr Descriptor = (*it)->Child(Descriptor_UL);
|
|
||||||
if(Descriptor) Descriptor = Descriptor->GetLink();
|
|
||||||
|
|
||||||
if(Descriptor)
|
|
||||||
{
|
|
||||||
MDObjectPtr PackageID = (*it)->Child(PackageUID_UL);
|
|
||||||
if(PackageID)
|
|
||||||
{
|
|
||||||
UMIDPtr TheID = new UMID(PackageID->PutData()->Data);
|
|
||||||
|
|
||||||
/* Now do a lookup in the essence lookup map (it will need to be done the long way here */
|
|
||||||
EssenceInfoMap::iterator EL_it = EssenceLookup.begin();
|
|
||||||
while(EL_it != EssenceLookup.end())
|
|
||||||
{
|
|
||||||
if((*((*EL_it).second.PackageID)) == (*TheID))
|
|
||||||
{
|
|
||||||
// If found, set the missing items and stop searching
|
|
||||||
(*EL_it).second.Package = (*it);
|
|
||||||
(*EL_it).second.Descriptor = Descriptor;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
EL_it++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
it++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif // wxUSE_STREAMS
|
|
||||||
|
|
||||||
#endif // wxUSE_LIBOPENJPEG
|
|
||||||
|
|
||||||
#endif // USE_MXF
|
|
||||||
|
|
|
@ -1,99 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2007, Digital Signal Processing Laboratory, Università degli studi di Perugia (UPG), Italy
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Name: imagmxf.h
|
|
||||||
// Purpose: wxImage MXF (Material eXchange Format) JPEG 2000 file format handler
|
|
||||||
// Author: G. Baruffa - based on imagjpeg.h, Vaclav Slavik
|
|
||||||
// RCS-ID: $Id: imagmj2.h,v 0.0 2007/11/19 17:00:00 VZ Exp $
|
|
||||||
// Copyright: (c) Giuseppe Baruffa
|
|
||||||
// Licence: wxWindows licence
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
#ifndef _WX_IMAGMXF_H_
|
|
||||||
#define _WX_IMAGMXF_H_
|
|
||||||
|
|
||||||
#ifdef USE_MXF
|
|
||||||
|
|
||||||
#include "wx/defs.h"
|
|
||||||
#include "wx/filename.h"
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
// wxMXFHandler
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#if wxUSE_LIBOPENJPEG
|
|
||||||
|
|
||||||
#include "wx/image.h"
|
|
||||||
#include "libopenjpeg/openjpeg.h"
|
|
||||||
|
|
||||||
#define wxBITMAP_TYPE_MXF 51
|
|
||||||
|
|
||||||
class WXDLLEXPORT wxMXFHandler: public wxImageHandler
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
inline wxMXFHandler()
|
|
||||||
{
|
|
||||||
m_name = wxT("MXF JPEG 2000 file format");
|
|
||||||
m_extension = wxT("mxf");
|
|
||||||
m_type = wxBITMAP_TYPE_MXF;
|
|
||||||
m_mime = wxT("image/mxf");
|
|
||||||
|
|
||||||
m_reducefactor = 0;
|
|
||||||
m_qualitylayers = 0;
|
|
||||||
m_components = 0;
|
|
||||||
m_filename = wxT("");
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
m_enablejpwl = true;
|
|
||||||
m_expcomps = JPWL_EXPECTED_COMPONENTS;
|
|
||||||
m_maxtiles = JPWL_MAXIMUM_TILES;
|
|
||||||
#endif // USE_JPWL
|
|
||||||
}
|
|
||||||
|
|
||||||
// decoding engine parameters
|
|
||||||
int m_reducefactor, m_qualitylayers, m_components, m_framenum;
|
|
||||||
wxFileName m_filename;
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
bool m_enablejpwl;
|
|
||||||
int m_expcomps, m_maxtiles;
|
|
||||||
#endif // USE_JPWL
|
|
||||||
|
|
||||||
#if wxUSE_STREAMS
|
|
||||||
virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
|
|
||||||
virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
|
|
||||||
protected:
|
|
||||||
virtual bool DoCanRead( wxInputStream& stream );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
private:
|
|
||||||
DECLARE_DYNAMIC_CLASS(wxMXFHandler)
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // wxUSE_LIBOPENJPEG
|
|
||||||
|
|
||||||
#endif // USE_MXF
|
|
||||||
|
|
||||||
#endif // _WX_IMAGMXF_H_
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium
|
|
||||||
Copyright (c) 2002-2007, Professor Benoit Macq
|
|
||||||
Copyright (c) 2001-2003, David Janssens
|
|
||||||
Copyright (c) 2002-2003, Yannick Verschueren
|
|
||||||
Copyright (c) 2003-2007, Francois-Olivier Devaux and Antonin Descampe
|
|
||||||
Copyright (c) 2005, Herve Drolon, FreeImage Team
|
|
||||||
Copyright (c) 2007, Digital Signal Processing Laboratory, Università degli studi di Perugia (UPG), Italy
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditionsare met:
|
|
||||||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
@ -1,285 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static char *opj_logo[] = {
|
|
||||||
/* columns rows colors chars-per-pixel */
|
|
||||||
"90 61 218 2",
|
|
||||||
" c #BE3D12",
|
|
||||||
". c #BF461D",
|
|
||||||
"X c #AD5435",
|
|
||||||
"o c #B64925",
|
|
||||||
"O c #B54E2B",
|
|
||||||
"+ c #BC4620",
|
|
||||||
"@ c #BB4B25",
|
|
||||||
"# c #BC4E29",
|
|
||||||
"$ c #B5502F",
|
|
||||||
"% c #BD512C",
|
|
||||||
"& c #B45334",
|
|
||||||
"* c #B35638",
|
|
||||||
"= c #B45B3D",
|
|
||||||
"- c #BB5533",
|
|
||||||
"; c #BE5937",
|
|
||||||
": c #BC5C3D",
|
|
||||||
"> c #9C766A",
|
|
||||||
", c #AD5D42",
|
|
||||||
"< c #B55F41",
|
|
||||||
"1 c #BA5E40",
|
|
||||||
"2 c #A7634D",
|
|
||||||
"3 c #A76C57",
|
|
||||||
"4 c #AA6750",
|
|
||||||
"5 c #AC6B56",
|
|
||||||
"6 c #AA6E5A",
|
|
||||||
"7 c #A4705E",
|
|
||||||
"8 c #B46045",
|
|
||||||
"9 c #B1644B",
|
|
||||||
"0 c #BD6244",
|
|
||||||
"q c #B96448",
|
|
||||||
"w c #BC694D",
|
|
||||||
"e c #B36B53",
|
|
||||||
"r c #B26E58",
|
|
||||||
"t c #BB6C52",
|
|
||||||
"y c #B2725D",
|
|
||||||
"u c #BD7056",
|
|
||||||
"i c #BB745C",
|
|
||||||
"p c #A67566",
|
|
||||||
"a c #A57B6D",
|
|
||||||
"s c #AE7562",
|
|
||||||
"d c #AB7867",
|
|
||||||
"f c #AA7C6C",
|
|
||||||
"g c #A07E73",
|
|
||||||
"h c #AA7F71",
|
|
||||||
"j c #B37661",
|
|
||||||
"k c #B47863",
|
|
||||||
"l c #B27D6B",
|
|
||||||
"z c #BB7863",
|
|
||||||
"x c #BA7E69",
|
|
||||||
"c c #C73605",
|
|
||||||
"v c #C63A0B",
|
|
||||||
"b c #CB3300",
|
|
||||||
"n c #CA3807",
|
|
||||||
"m c #C93A0A",
|
|
||||||
"M c #C43E11",
|
|
||||||
"N c #C93E10",
|
|
||||||
"B c #C44115",
|
|
||||||
"V c #C3441A",
|
|
||||||
"C c #C4481E",
|
|
||||||
"Z c #CA4113",
|
|
||||||
"A c #C94519",
|
|
||||||
"S c #CB481C",
|
|
||||||
"D c #C24A23",
|
|
||||||
"F c #C24F28",
|
|
||||||
"G c #CD4D23",
|
|
||||||
"H c #C4522D",
|
|
||||||
"J c #CB532B",
|
|
||||||
"K c #C25632",
|
|
||||||
"L c #C35936",
|
|
||||||
"P c #C25C3B",
|
|
||||||
"I c #C85630",
|
|
||||||
"U c #CB5933",
|
|
||||||
"Y c #CB5E3A",
|
|
||||||
"T c #D05026",
|
|
||||||
"R c #CC613D",
|
|
||||||
"E c #C26343",
|
|
||||||
"W c #C46748",
|
|
||||||
"Q c #C1694C",
|
|
||||||
"! c #CD6744",
|
|
||||||
"~ c #CA6C4D",
|
|
||||||
"^ c #C37155",
|
|
||||||
"/ c #C4755B",
|
|
||||||
"( c #CB7356",
|
|
||||||
") c #C8765B",
|
|
||||||
"_ c #D06D4C",
|
|
||||||
"` c #D07253",
|
|
||||||
"' c #D47B5E",
|
|
||||||
"] c #C37B63",
|
|
||||||
"[ c #C27E68",
|
|
||||||
"{ c #C97F68",
|
|
||||||
"} c #A68175",
|
|
||||||
"| c #A48479",
|
|
||||||
" . c #AD8172",
|
|
||||||
".. c #AD8578",
|
|
||||||
"X. c #AB897D",
|
|
||||||
"o. c #B1806F",
|
|
||||||
"O. c #BA816F",
|
|
||||||
"+. c #B38373",
|
|
||||||
"@. c #B58778",
|
|
||||||
"#. c #B3897B",
|
|
||||||
"$. c #BA8472",
|
|
||||||
"%. c #BB8C7C",
|
|
||||||
"&. c #C2816B",
|
|
||||||
"*. c #CD846C",
|
|
||||||
"=. c #C38470",
|
|
||||||
"-. c #C38976",
|
|
||||||
";. c #C38D7B",
|
|
||||||
":. c #CC8973",
|
|
||||||
">. c #CF8F7A",
|
|
||||||
",. c #CB907D",
|
|
||||||
"<. c #D1937F",
|
|
||||||
"1. c #948E8C",
|
|
||||||
"2. c #9D8C86",
|
|
||||||
"3. c #9D8F89",
|
|
||||||
"4. c #96908E",
|
|
||||||
"5. c #9C918D",
|
|
||||||
"6. c #949392",
|
|
||||||
"7. c #9B9492",
|
|
||||||
"8. c #9D9997",
|
|
||||||
"9. c #9D9C9C",
|
|
||||||
"0. c #A38B83",
|
|
||||||
"q. c #AA8D83",
|
|
||||||
"w. c #A4918B",
|
|
||||||
"e. c #AC9087",
|
|
||||||
"r. c #AB938C",
|
|
||||||
"t. c #A49590",
|
|
||||||
"y. c #A29996",
|
|
||||||
"u. c #A19D9C",
|
|
||||||
"i. c #AA9790",
|
|
||||||
"p. c #AC9994",
|
|
||||||
"a. c #AC9E99",
|
|
||||||
"s. c #B18D81",
|
|
||||||
"d. c #B59084",
|
|
||||||
"f. c #B49389",
|
|
||||||
"g. c #BA9184",
|
|
||||||
"h. c #B89589",
|
|
||||||
"j. c #BA988D",
|
|
||||||
"k. c #B29B93",
|
|
||||||
"l. c #BC9C92",
|
|
||||||
"z. c #ACA19D",
|
|
||||||
"x. c #B1A19D",
|
|
||||||
"c. c #BCA39B",
|
|
||||||
"v. c #A3A3A3",
|
|
||||||
"b. c #ABA5A3",
|
|
||||||
"n. c #AEA9A7",
|
|
||||||
"m. c #ABABAA",
|
|
||||||
"M. c #B3A5A1",
|
|
||||||
"N. c #B3A9A6",
|
|
||||||
"B. c #B3ADAA",
|
|
||||||
"V. c #B9A6A0",
|
|
||||||
"C. c #B9AAA5",
|
|
||||||
"Z. c #BAADA9",
|
|
||||||
"A. c #B4B0AF",
|
|
||||||
"S. c #BAB0AD",
|
|
||||||
"D. c #B4B3B3",
|
|
||||||
"F. c #BAB5B3",
|
|
||||||
"G. c #BDB8B6",
|
|
||||||
"H. c #BBBBBB",
|
|
||||||
"J. c #C39384",
|
|
||||||
"K. c #C0978A",
|
|
||||||
"L. c #C2998B",
|
|
||||||
"P. c #CA9483",
|
|
||||||
"I. c #CD9A8A",
|
|
||||||
"U. c #C19D92",
|
|
||||||
"Y. c #D69B89",
|
|
||||||
"T. c #DB9680",
|
|
||||||
"R. c #C2A095",
|
|
||||||
"E. c #C4A69C",
|
|
||||||
"W. c #CCA193",
|
|
||||||
"Q. c #C8A599",
|
|
||||||
"!. c #CBA99D",
|
|
||||||
"~. c #C6AEA6",
|
|
||||||
"^. c #CCACA2",
|
|
||||||
"/. c #CBB2AB",
|
|
||||||
"(. c #C3B8B5",
|
|
||||||
"). c #C2BDBC",
|
|
||||||
"_. c #C9B9B3",
|
|
||||||
"`. c #D3ADA0",
|
|
||||||
"'. c #D3B4A9",
|
|
||||||
"]. c #DCB2A4",
|
|
||||||
"[. c #DEB6A8",
|
|
||||||
"{. c #D1BFB9",
|
|
||||||
"}. c #D9BEB5",
|
|
||||||
"|. c #C5C0BE",
|
|
||||||
" X c #CDC0BC",
|
|
||||||
".X c #D2C1BB",
|
|
||||||
"XX c #DDC3BB",
|
|
||||||
"oX c #E0C5BC",
|
|
||||||
"OX c #E0C8BF",
|
|
||||||
"+X c #C2C2C2",
|
|
||||||
"@X c #CBC4C2",
|
|
||||||
"#X c #CDC8C6",
|
|
||||||
"$X c #CCCBCB",
|
|
||||||
"%X c #D2C6C2",
|
|
||||||
"&X c #D1CECD",
|
|
||||||
"*X c #DDC8C1",
|
|
||||||
"=X c #DECFCA",
|
|
||||||
"-X c #D9D1CE",
|
|
||||||
";X c #D3D3D3",
|
|
||||||
":X c #D9D5D4",
|
|
||||||
">X c #DED9D7",
|
|
||||||
",X c #DBDBDB",
|
|
||||||
"<X c #E1CAC3",
|
|
||||||
"1X c #E2CFC8",
|
|
||||||
"2X c #E1D3CE",
|
|
||||||
"3X c #E2D5D0",
|
|
||||||
"4X c #E5D8D3",
|
|
||||||
"5X c #E4DDDB",
|
|
||||||
"6X c #E8DBD6",
|
|
||||||
"7X c #EADEDA",
|
|
||||||
"8X c #E6E0DE",
|
|
||||||
"9X c #EBE0DC",
|
|
||||||
"0X c #E4E4E4",
|
|
||||||
"qX c #E8E2E0",
|
|
||||||
"wX c #EBEBEB",
|
|
||||||
"eX c #F0EAE8",
|
|
||||||
"rX c #F3F3F3",
|
|
||||||
"tX c #FEFEFE",
|
|
||||||
/* pixels */
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXrXrXtXrXrXrXrXrXrXrXtXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXrXtXrXrXrXwXwXrXwXrXrXrXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXrXrXrXwXwX0X0XqX0X0X0X0XwXwXwXrXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXrXtXrXwXwX2X[.[.].].].].].1XwXrXwXrXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXrXrXrXwX0X0XL.J b b b b b b b J '.0X0XwXwXrXrXrXrXrXrXrXrXrXrXtXrXrXrXtXrXrXrXrXrXrXrXrXrXrXrXrXrXrXrXrXrXtXtXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXrXrXwX0XXXt m b m B V N b b v >.;X0XwXwXwXwXrXwXwXrXrXrXrXtXrXtXrXrXrXwXrXrXrXrXrXrXrXrXrXrXrXwXrXrXwXrXrXrXtXtXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXrXrXrX0X,X'.S b b P l.z.M.k.w n b b g.;X,X,X,X0X0X0X0X0XwXwXwXwXwXwXwXwXwX0X0X0XwX0X0XwXwXwXwX0X0X0X0X0X0XwXwXwXwXrXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXrXrXrXwX0X:XT.m b A ] G.D.D.m.$.m b b $.$X&X.X}.XX>XOX}.oXXX<X0X0XwXwXwX0X2XXXoXXXoXOX5X0XwX0X1XoXXX5X*X}.}.oX<XqXrXrXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXrXrXwX0X,XL.b b D M.H.D.D.D.D.m.L b b W H.Z.# b Y / m b b b Z P.:X:X:X$X:.Z b b b b n :.;X;X;XR b A &.Z b b b b *.wXwXrXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXrXwX0X:X$.b b E B.H.H.D.D.D.D.P b b E H.V.. b U L v v n b b ( #X;X$X~.Y b m N m b b ! {.&X#XI b C R v v n b b ! 0XwXrXrXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXrXwX0X:X!.A b Z F.H.H.H.H.H.D.m.L b b e b.+.b b V k i.r.t n b b s.H.x v b L q.b.p.D b b t F.$.n b M l a.M.y b b A :X0XwXrXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXrXwX0X:XL.m b D H.).H.+XH.H.H.D.H b b 6 v.j b b - a.A.m.@.m b b h D.< b b w z.b.b.P b b q B.z b b @ B.D.m...v b G :X,XwXwXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXwX0X,X&X/ b b , D.H.+X+X+X+XH.f.B b b 5.8.M b M w.v.v.v.r.D b b h l v b b M V v b b q u.X b n @.v.m.v.j b b Q &X,X0XwXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXwX0X,X$X^ b b , H.H.+X+XH.H.H.s.N b n 7.7.v b B 8.v.v.v.w.M b b g r b b b n n n b b b b e y.O b n X.m.v.n.e b b u &X,X0XrXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXrX0X,X$X/ b b + F.H.H.H.+XH.d.b b M | 8.> c b @ 9.v.9.u., b b - 3.& b b 7 1.1.4.4.4.6.7.9.w.m b + t.v.m.p.D b b K.;X,X0XwXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXwX0X,X$X-.b b b i D.H.G.H.J.N b b = 9.9.5 c b B 7.9.v.y.b b m f 4.O b b 3 6.6.6.g 9 4 h u.h b b - b.m.m.s.b b N ~.;X,X0XwXrXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXwX0X,X;XE.G b b I z ] ] ] W n b H l 9.8.9 b b m e 6 r e b b # 0.y.< b b O 6 p 6 < # ; q.v.t b b 0 n.A.A.+.b b H _.;X,XwXwXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXwXwX,X;X#Xf.b b b b b b b b b - a.v.v.w.@ b b v b b b b b @ b.m.v.w.M b b b b b b v ..m.n.A b n g.H.H.H.4 b b [ &X,X0XwXrXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXwXwX0X:X$XZ.Q H v n b m B H E x n.m.m.q.B b v < . v N + E z m.m.m.b.e - M m v M - t k.D.m.; # - V.H.+XH.s # # K.:X,X0XwXrXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXrXwXwX,X,X$X+XG.Z.Z.B.C.S.F.H.H.H.D.D.j b b q v.b.a.n.B.H.H.+X+X+XH.H.D.Z.C.Z.Z.F.H.H.+X+XH.).H.$X&X&X;X$X#X#X:X,X0XwXrXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXrXrXwX0X,X;X#X+X+X+XH.H.+X+X+XH.H.H.D.e b n i n.m.D.H.H.+X#X$X$X+X+X+X+XH.H.H.H.+X+X+X$X&X&X&X$X;X;X;X:X;X:X,X,X0XwXwXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXrXrXwXwX,X,X;X;X$X$X$X;X;X&X;X$X#X+XF b v s.H.H.+X$X&X;X;X,X,X,X;X:X;X;X;X;X;X;X:X,X,X,X0X,X0X,X0X0X0X0X0X0X0XwXwXrXtXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXrXtXrXwXwX0X,X:X;X;X;X;X;X:X;X;X;X$X+XC b B k.+X+X$X$X;X,X,X0X0X0X0X0X;X,X,X,X,X,X,X,X,X0X0X0X0X0X0XwX0X0X0XwXwXrXrXrXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXrXrXrXrXwXwXwX0X0X0X0X0X0X0X,X,X:X^.^.!.$X$X;X,X,X0XwXwXwXwXwXwXwXwX0X0X0X0XwXwXwXwXwXwXrXrXwXrXrXrXrXrXrXrXrXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXrXrXrXrXwXwXwXwX0XwXwXwX0X0X,X:X;X$X&X&X;X,X,X0XwXwXwXrXrXrXrXrXwXwXwXwXwXwXwXrXrXrXwXrXrXrXrXrXrXrXrXrXrXtXrXtXtXrXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXrXrXrXrXrXrXrXrXrXwXwXwXwX0X,X0X0X0XwXwXrXrXrXrXrXrXrXrXrXrXrXrXrXrXwXrXrXrXrXrXtXrXrXrXtXrXrXrXrXrXrXrXrXrXtXtXtXrXrXtXtXtXtXrXrXtXrXrXtXrXtXrXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXrXtXtXrXtXrXrXrXrXrXrXwXwXwX0XwX0XwXwXwXrXrXrXtXtXrXrXrXrXrXrXrXrXwXrXwXrXwXwXrXrXrXrXrXrXrXrXrXrXrXrXrXrXrXrXrXrXrXtXrXrXtXtXrXrXrXrXrXrXrXrXrXrXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXrXrXwXrXrXrXrXrXrXtXrXtXrXrXrXrXrXwXwXwXwXwX0X0XwX0XwXwXwXwXwXwXwXrXwXwXwX0X0X0X0XwX0XwXwXrXrXrXwXrXwXwXwX0XwX0XwXwXwXrXrXrXrXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXrXrXrXrXrXrXrXtXtXrXrXtXrXrXeX7X7X9XwXwXwX5X3X3X3X2X2X2X5X0XwXwXwXwXwX8X3X3X2X2X2X2X2X3X6X6X7XwXwXwXwXwXwX7X1XXXOXOX1X8XwXwXrXrXrXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXtXtXtXrXrXrXwXT.T T :.,X,X-X` G G G G G G U _ J.-X,X,X,X[ G G G G G G G G G G _ >XwX0X,X&XI.R N b b b m ! `.5XwXrXrXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXtXtXtXrXtXrXrXrXwX0X' b b ] >X,X%XJ b b b b b b b b Q {.:X;X:Xq b b b b b b b b b b Y >X0X,X-X'.^ n b b b b b m *.1XwXwXrXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXrX0X0X%XL b b L.@X+X-.b b M L L L D b b b M V.+X(.N b b D H H H H H U U W.;X&X^.H b b n W -.-.W n b b J &XwXrXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXwXwX0X XF b b U.+X+X[ b b D z z j P v b b N U.H.S.m b m E Q t ^ ) / ) ) /.$X$X;.m b n A %.H.H.J.N b b N .XwXwXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXwXwX,X:X!.m b L N.D.m.* b b y v.v.v.v.p.n b M f.m.w b b D u.v.m.m.D.G.H.H.+X).g.b b B j.F.D.D.D.D.l.; F I /.0XwXrXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXrXwX,X:XU.n b E B.A.n.$ b b s v.9.v.v.r.n n M r.b.1 b b D u.v.m.m.D.D.H.H.).H.k b b # M.G.D.D.D.D.Z.t w u _.0XwXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXrXwXwX,X;X$XJ b m h b.v.i.m b M a 5.5.2.p M b c < 8.2.+ b b M o o o o # % j G.H.g.m b A M.D.D.D.B.M.M.M.M.Z.(.:X0XwXrXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXrXrXrXrXwX,X,X&X(.n b M 0.v.v.s b b b b b n b b c b M u.v.g M b b b b b b b b b i G.D.0 b b 8 D.D.H.G.P n b b n b U :X,XwXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXrXrXrXwX0X,X;X$XV.n b M w.v.9.< b b b b b b b b c H r 9.v.a n b * < < w w Q Q g.D.B.: b b r D.D.D.m.C b b b b b ) ;X0XwXrXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXrXrXrX6XP.=.K.;X#X+Xx n b D v.u.7.. b b M D . D & 2 q.b.b.v.v.< b b X 6.9.9.b.m.D.D.D.D.n.# b b f D.D.D.b.= 1 * N b n !.;X,XwXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXtXrXrXwX<X~ P x $X+XH.z b b - v.v.3.M b b < r r r k 0.a.m.m.m.v.# b b , 6.9.v.m.D.D.D.H.D.z.O b b s D.D.D.N.f l 9 v b M ~.;X,XwXrXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXtXrXwX0XY.n b e H.H.V.F b b p b.v.h v b v v.m.A.D.H.+X+X+XH.D.p.b b m p 9.v.m.D.D.H.H.H.D.N.- b b - m.A.D.A.m.a.B b b - (.:X0XwXrXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXwXwX0XY.n b ; Z.C.$.A b v 0.m.m.l n b M m.D.D.H.+X#X+X+XH.H.r.b b m < d l l l $.;.J.V.H.B.w b b C @.s.a.k.#.j n b b : ).:X,XwXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXrXwXwX0X'.N b b A B n b n z m.D.B.0 b b 9 H.H.+X$X;X:X;X$X$X+Xl b b b b b b b b b b b s.H.H.B.H b b b n Z Z b b V n b ] $X:X0XwXrXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXwX0X,X.XR b b b b b A P d.D.D.C.H b b j H.$X$X;X:X,X,X;X;X+X/ b b b b b b b b b b b a.H.H.D.u G b b b b b B H : v m ;.$X,XwXwXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXwXwX,X:X Xg.j 5 y s.C.H.H.+X+X|.E.Q.Q. X;X;X,X0XwXwX0X0X,X;X/.U.j.h.g.f.h.j.U.U.U.!.$X$X+X+XH.Z.g.y 4 6 l x.D.A.l.~.#X,X0XwXrXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXrXrXwX0X:X$XG.k.e.f.B.H.H.+X$X$X$X#X$X$X;X;X,X0XwXwXwXwX0X0X;X$X+XH.D.D.D.F.H.+X+X#X&X$X;X$X$X+X+XA.r.X.e.a.H.H.H.+X+X;X,X0XwXrXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXrXwX,X,X$X&X$X$X$X$X;X;X,X,X,X,X,X,X0XwXwXwXrXtXrXrXwXwX0X,X;X$X$X+X$X$X$X;X;X:X,X,X,X,X,X;X$X&X#X#X$X$X$X$X$X;X,X,X0XwXrXrXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXrXwXwX0X,X:X;X;X$X;X;X:X,X,X0X0X,X0X0X0XwXwXwXrXrXtXrXrXwXwX0X;X;X$X&X$X$X&X:X,X,X,X,X0X,X,X:X;X;X$X$X$X$X$X;X:X,X,X0XwXwXrXrXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXtXrXwXwXwX0X0X0X0X0X0XwXwXwXwXwXwXwXwXrXwXrXtXtXrXtXtXrXrXrXwX0X0X0X0X,X,X0X0X0X0XwXwXwXwXwXwX0X0X0X,X,X,X,X0X0XwXwXwXrXtXrXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXrXrXrXwXwX0X0X0X0X0XwXwXwXrXwXrXrXrXrXrXtXrXtXtXtXtXrXrXrXwXwXwX0X0X0X0X0X0X0XwXwXwXwXwXwXwXwXwX0X0X0X0XwXwXwXwXwXrXrXrXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXtXrXrXrXrXrXrXrXrXrXrXtXtXrXtXtXrXtXtXtXtXtXtXtXrXtXrXtXrXrXrXrXwXwXrXrXrXrXrXrXrXtXrXrXrXrXrXrXrXwXrXrXrXrXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXtXrXrXrXrXrXrXtXtXrXtXrXtXrXrXtXtXtXtXtXtXtXtXtXtXtXrXrXrXrXrXrXrXrXrXrXrXtXtXrXtXrXrXtXrXrXrXrXrXrXrXrXtXrXrXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX",
|
|
||||||
"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX"
|
|
||||||
};
|
|
|
@ -1,34 +0,0 @@
|
||||||
This viewer is conceived to open and display information and image content of J2K, JP2,
|
|
||||||
and MJ2 files.
|
|
||||||
The viewer application interface is divided into three main panels:
|
|
||||||
- a browsing pane;
|
|
||||||
- a viewing pane;
|
|
||||||
- a log/peek pane.
|
|
||||||
|
|
||||||
The browsing pane will present the markers or boxes hierarchy, with position (byte number where marker/box starts and stops) and length information (i.e., inner length as signalled by marker/box and total length, with marker/box sign included), in the following form:
|
|
||||||
|
|
||||||
filename
|
|
||||||
|
|
|
||||||
|_ #000: Marker/Box short name (Hex code)
|
|
||||||
| |
|
|
||||||
| |_ *** Marker/Box long name ***
|
|
||||||
| |_ startbyte > stopbyte, inner_length + marker/box sign length (total length)
|
|
||||||
| |_ Additional info, depending on the marker/box type
|
|
||||||
| |_ ...
|
|
||||||
|
|
|
||||||
|_ #001: Marker/Box short name (Hex code)
|
|
||||||
| |
|
|
||||||
| |_ ...
|
|
||||||
|
|
|
||||||
...
|
|
||||||
|
|
||||||
|
|
||||||
The viewing pane will display the decoded image contained in the JPEG 2000 file.
|
|
||||||
It should display correctly images as large as 4000x2000, provided that a couple of GB of RAM are available. Nothing is known about the display of larger sizes: let us know if you manage to get it working.
|
|
||||||
|
|
||||||
|
|
||||||
The log/peek pane is shared among two different subpanels:
|
|
||||||
|
|
||||||
- the log panel will report a lot of debugging info coming out from the wx GUI as well as from the openjpeg library
|
|
||||||
- the peek pane tries to give a peek on the codestream/file portion which is currently selected in the browsing pane. It shows both hex and ascii values corresponding to the marker/box section.
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
What is OpenJPEG ?
|
|
||||||
==================
|
|
||||||
The OpenJPEG library is an open-source JPEG 2000 codec written in C language. It has been developed in order to promote the use of JPEG 2000, the new still-image compression standard from the Joint Photographic Experts Group (JPEG). In addition to the basic codec, various other features are under development, among them the JP2 and MJ2 (Motion JPEG 2000) file formats, an indexing tool useful for the JPIP protocol, JPWL-tools for error-resilience, a Java-viewer for j2k-images, ...
|
|
||||||
|
|
||||||
Who can use the library ?
|
|
||||||
=========================
|
|
||||||
Anybody. As the OpenJPEG library is released under the BSD license, anybody can use or modify the library, even for commercial applications. The only restriction is to retain the copyright in the sources or the binaries documentation.
|
|
||||||
|
|
||||||
Who is developing the library ?
|
|
||||||
===============================
|
|
||||||
The library is developed by the Communications and Remote Sensing Lab (TELE), in the Université Catholique de Louvain (UCL). The JPWL module is developped and maintained by the Digital Signal Processing Lab (DSPLab) of the University of Perugia, Italy (UNIPG). As our purpose is to make OpenJPEG really useful for those interested in the image compression field, any feedback/advices are obviously welcome ! We will do our best to handle them quickly.
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
33
README.linux
33
README.linux
|
@ -1,33 +0,0 @@
|
||||||
Release Notes
|
|
||||||
--------------
|
|
||||||
This version of the library has been tested under the following OS:
|
|
||||||
- RedHat Linux 9.0
|
|
||||||
|
|
||||||
You should be able to link progams with the -lopenjpeg option after the library is compiled and installed.
|
|
||||||
You can also statically link with libopenjpeg.a.
|
|
||||||
If you use a really old version of gcc and it chokes on the CRs in the file, you can type 'make dos2unix'
|
|
||||||
to run all of the files through dos2unix which converts CRLF to LF. This no longer appears to be required
|
|
||||||
for RedHat 7.3 or 9.
|
|
||||||
|
|
||||||
Please let us know how this works for you under other Linux distributions or any other *nix.
|
|
||||||
|
|
||||||
Installation
|
|
||||||
------------
|
|
||||||
Note: You will need to have root privileges in order to install the library in
|
|
||||||
/usr/include and /usr/lib directories.
|
|
||||||
The installation process is as simple as this :
|
|
||||||
1) Enter the OpenJPEG directory
|
|
||||||
2) Build the distribution :
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
3) Clean all files produced during the build process
|
|
||||||
make clean
|
|
||||||
|
|
||||||
Simple codec compilation
|
|
||||||
------------------------
|
|
||||||
Once you've built the library, you might want to test it with a basic codec. To do this, go to the codec directory and use one of the following commands to build an encoder and decoder respectively:
|
|
||||||
|
|
||||||
gcc convert.c image_to_j2k.c -o image_to_j2k -lopenjpeg -I ../libopenjpeg/ -lm -ltiff
|
|
||||||
gcc convert.c j2k_to_image.c -o j2k_to_image -lopenjpeg -I ../libopenjpeg/ -lm -ltiff
|
|
||||||
|
|
||||||
You should add '-L..' to those lines if you did not use the 'install' target (and the 'clean' target neither...).
|
|
40
README.msvc
40
README.msvc
|
@ -1,40 +0,0 @@
|
||||||
How to compile the library under MS VC++ 6.0
|
|
||||||
--------------------------------------------
|
|
||||||
|
|
||||||
The library comes in two versions :
|
|
||||||
- a static library that can be linked against any C/C++ program
|
|
||||||
- a Dynamic Link Library (Windows DLL) that can be used in any C/C++ program and in most interpreted languages (e.g. VB, C#, ...).
|
|
||||||
|
|
||||||
In order to compile the library version *or* the DLL version, you will have to :
|
|
||||||
|
|
||||||
1) Open the MSVC workspace named LibOpenJPEG.dsw
|
|
||||||
2) Set the choosen target as the active project, that means :
|
|
||||||
a) Go to the Menu 'Build -> Set Active Configuration'
|
|
||||||
b) Choose one of the following configuration :
|
|
||||||
- DllOpenJPEG - Win32 Release => creates a DLL in release mode named OpenJPEG.dll
|
|
||||||
- DllOpenJPEG - Win32 Debug => creates a DLL in debug mode named OpenJPEGd.dll
|
|
||||||
- LibOpenJPEG - Win32 Release => creates a static library in release mode named LibOpenJPEG.lib
|
|
||||||
- LibOpenJPEG - Win32 Debug => creates a static library in debug mode named LibOpenJPEGd.lib
|
|
||||||
3) Build the project : Menu -> Build -> Rebuild All
|
|
||||||
|
|
||||||
The build process will create a directory named 'dist' that will contain all you need in order to use the library.
|
|
||||||
|
|
||||||
Simple codec compilation
|
|
||||||
------------------------
|
|
||||||
|
|
||||||
Once you've built the library, you might want to test it with a basic codec. To do this, go to the codec directory and use one of the following projects to build an encoder and decoder respectively:
|
|
||||||
- image_to_j2k.dsw
|
|
||||||
- j2k_to_image.dsw
|
|
||||||
|
|
||||||
IMPORTANT NOTE :
|
|
||||||
----------------
|
|
||||||
|
|
||||||
The encoder and decoder samples are configured to use the static version of the library. A link to the LibOpenJPEG static project is included in these projects so that you can build both a codec and the library in a single pass.
|
|
||||||
|
|
||||||
However, you MUST NOTE that in order to use LibOpenJPEG as a static library in your program, you NEED to add the following compiler directive to your project : OPJ_STATIC
|
|
||||||
Look at the menu 'Project -> Settings -> C/C++ tab -> preprocessor definition' to see how this is configured.
|
|
||||||
When using OpenJPEG as a DLL, this compiler directive MUST NOT be used.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
26
README.osx
26
README.osx
|
@ -1,26 +0,0 @@
|
||||||
Release Notes
|
|
||||||
--------------
|
|
||||||
This version of the library has been tested under OSX 10.3 using gcc 3.3.
|
|
||||||
|
|
||||||
While the makefiles will make a .dylib and a .a, it is recommended to simply staticly link with the .a file.
|
|
||||||
|
|
||||||
Installation
|
|
||||||
------------
|
|
||||||
Note: You will need to have root privileges in order to install the library in
|
|
||||||
/usr/include and /usr/lib directories.
|
|
||||||
The installation process is as simple as this :
|
|
||||||
1) Enter the OpenJPEG directory
|
|
||||||
2) Build the distribution :
|
|
||||||
make osx
|
|
||||||
make osxinstall
|
|
||||||
3) Clean all files produced during the build process
|
|
||||||
make osxclean
|
|
||||||
|
|
||||||
Simple codec compilation
|
|
||||||
------------------------
|
|
||||||
Once you've built the library, you might want to test it with a basic codec. To do this, go to the codec directory and either use the provided Makefile or use one of the following commands to build an encoder and decoder respectively:
|
|
||||||
|
|
||||||
gcc index.c convert.c image_to_j2k.c -o image_to_j2k -lopenjpeg -I ../libopenjpeg/ -lm -ltiff
|
|
||||||
gcc index.c convert.c j2k_to_image.c -o j2k_to_image -lopenjpeg -I ../libopenjpeg/ -lm -ltiff
|
|
||||||
|
|
||||||
You should add '-L..' to those lines if you did not use the 'install' target (and the 'clean' target neither...).
|
|
25
clean.bat
25
clean.bat
|
@ -1,25 +0,0 @@
|
||||||
rd Release /s /q
|
|
||||||
rd Debug /s /q
|
|
||||||
rd codec\Debug /s /q
|
|
||||||
rd codec\Release /s /q
|
|
||||||
rd dist /s /q
|
|
||||||
del *.pch /s /q
|
|
||||||
del *.ncb /s /q
|
|
||||||
del *.opt /s /q
|
|
||||||
del *.plg /s /q
|
|
||||||
del *.obj /s /q
|
|
||||||
del *.dll /s /q
|
|
||||||
del *.exe /s /q
|
|
||||||
del *.bsc /s /q
|
|
||||||
del *.bak /s /q
|
|
||||||
del *.pdb /s /q
|
|
||||||
del *.sql /s /q
|
|
||||||
del *.mdb /s /q
|
|
||||||
del *.lib /s /q
|
|
||||||
del *.exp /s /q
|
|
||||||
del *.ilk /s /q
|
|
||||||
del *.idb /s /q
|
|
||||||
del *.aps /s /q
|
|
||||||
del *.suo /s /q /a:h
|
|
||||||
del *.o /s /q
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
# Makefile for the main OpenJPEG codecs: j2k_to_image and image_to_j2k
|
|
||||||
|
|
||||||
CFLAGS = -O3 -lstdc++ # -g -p -pg
|
|
||||||
|
|
||||||
all: j2k_to_image image_to_j2k
|
|
||||||
|
|
||||||
j2k_to_image: j2k_to_image.c ../libopenjpeg.a
|
|
||||||
gcc $(CFLAGS) compat/getopt.c index.c convert.c j2k_to_image.c -o j2k_to_image -L.. -lopenjpeg -I ../libopenjpeg/ -lm -ltiff
|
|
||||||
|
|
||||||
image_to_j2k: image_to_j2k.c ../libopenjpeg.a
|
|
||||||
gcc $(CFLAGS) compat/getopt.c index.c convert.c image_to_j2k.c -o image_to_j2k -L.. -lopenjpeg -I ../libopenjpeg/ -lm -ltiff
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f j2k_to_image image_to_j2k
|
|
|
@ -1,118 +0,0 @@
|
||||||
# Microsoft Developer Studio Project File - Name="image_to_j2k" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=image_to_j2k - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "image_to_j2k.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "image_to_j2k.mak" CFG="image_to_j2k - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "image_to_j2k - Win32 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "image_to_j2k - Win32 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "image_to_j2k - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "Release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../libopenjpeg" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "OPJ_STATIC" /FD /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x40c /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x40c /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../libs/libtiff/libtiff.lib /nologo /subsystem:console /machine:I386 /nodefaultlib:"LIBC"
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "image_to_j2k - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug"
|
|
||||||
# PROP Intermediate_Dir "Debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../libopenjpeg" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "OPJ_STATIC" /FD /GZ /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x40c /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x40c /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../libs/libtiff/libtiff.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"LIBC" /nodefaultlib:"LIBCMT" /pdbtype:sept
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "image_to_j2k - Win32 Release"
|
|
||||||
# Name "image_to_j2k - Win32 Debug"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\convert.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\convert.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\compat\getopt.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\compat\getopt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\image_to_j2k.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\index.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\index.h
|
|
||||||
# End Source File
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
|
@ -1,44 +0,0 @@
|
||||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
|
||||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "LibOpenJPEG"=..\LibOpenJPEG.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "image_to_j2k"=.\image_to_j2k.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name LibOpenJPEG
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Global:
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<3>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
Binary file not shown.
|
@ -1,292 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8,00"
|
|
||||||
Name="image_to_j2k"
|
|
||||||
ProjectGUID="{81FBE6CF-1DFB-413F-8215-0851F8E2D252}"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory=".\Release"
|
|
||||||
IntermediateDirectory=".\Release"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TypeLibraryName=".\Release/image_to_j2k.tlb"
|
|
||||||
HeaderFileName=""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
AdditionalIncludeDirectories="../libopenjpeg"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;OPJ_STATIC;_CRT_SECURE_NO_DEPRECATE"
|
|
||||||
StringPooling="true"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
PrecompiledHeaderFile=".\Release/image_to_j2k.pch"
|
|
||||||
AssemblerListingLocation=".\Release/"
|
|
||||||
ObjectFile=".\Release/"
|
|
||||||
ProgramDataBaseFileName=".\Release/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1036"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="odbc32.lib odbccp32.lib ../libs/libtiff/libtiff.lib"
|
|
||||||
OutputFile=".\Release/image_to_j2k.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
IgnoreDefaultLibraryNames="LIBC"
|
|
||||||
ProgramDatabaseFile=".\Release/image_to_j2k.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile=".\Release/image_to_j2k.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory=".\Debug"
|
|
||||||
IntermediateDirectory=".\Debug"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TypeLibraryName=".\Debug/image_to_j2k.tlb"
|
|
||||||
HeaderFileName=""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="../libopenjpeg"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;OPJ_STATIC;_CRT_SECURE_NO_DEPRECATE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
PrecompiledHeaderFile=".\Debug/image_to_j2k.pch"
|
|
||||||
AssemblerListingLocation=".\Debug/"
|
|
||||||
ObjectFile=".\Debug/"
|
|
||||||
ProgramDataBaseFileName=".\Debug/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1036"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="odbc32.lib odbccp32.lib ../libs/libtiff/libtiff.lib"
|
|
||||||
OutputFile=".\Debug/image_to_j2k.exe"
|
|
||||||
LinkIncremental="2"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
IgnoreDefaultLibraryNames="LIBC,LIBCMT"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
ProgramDatabaseFile=".\Debug/image_to_j2k.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile=".\Debug/image_to_j2k.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath="convert.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="convert.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="compat\getopt.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="compat\getopt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="image_to_j2k.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\index.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\index.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,117 +0,0 @@
|
||||||
# Microsoft Developer Studio Project File - Name="j2k_to_image" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=j2k_to_image - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "j2k_to_image.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "j2k_to_image.mak" CFG="j2k_to_image - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "j2k_to_image - Win32 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "j2k_to_image - Win32 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "j2k_to_image - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "Release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../libopenjpeg" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "OPJ_STATIC" /FD /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x40c /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x40c /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../libs/libtiff/libtiff.lib /nologo /subsystem:console /machine:I386 /nodefaultlib:"libc"
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "j2k_to_image - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug"
|
|
||||||
# PROP Intermediate_Dir "Debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../libopenjpeg" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "OPJ_STATIC" /YX /FD /GZ /c
|
|
||||||
# ADD BASE RSC /l 0x40c /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x40c /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../libs/libtiff/libtiff.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libc" /nodefaultlib:"libcmt" /pdbtype:sept
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "j2k_to_image - Win32 Release"
|
|
||||||
# Name "j2k_to_image - Win32 Debug"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\convert.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\convert.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\compat\getopt.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\compat\getopt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\index.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\index.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\j2k_to_image.c
|
|
||||||
# End Source File
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
|
@ -1,44 +0,0 @@
|
||||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
|
||||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "LibOpenJPEG"=..\LibOpenJPEG.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "j2k_to_image"=.\j2k_to_image.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name LibOpenJPEG
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Global:
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<3>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
Binary file not shown.
|
@ -1,291 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8,00"
|
|
||||||
Name="j2k_to_image"
|
|
||||||
ProjectGUID="{28931669-81A2-4B90-8981-CD707C4E76E6}"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory=".\Debug"
|
|
||||||
IntermediateDirectory=".\Debug"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TypeLibraryName=".\Debug/j2k_to_image.tlb"
|
|
||||||
HeaderFileName=""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="../libopenjpeg"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;OPJ_STATIC;_CRT_SECURE_NO_DEPRECATE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
PrecompiledHeaderFile=".\Debug/j2k_to_image.pch"
|
|
||||||
AssemblerListingLocation=".\Debug/"
|
|
||||||
ObjectFile=".\Debug/"
|
|
||||||
ProgramDataBaseFileName=".\Debug/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1036"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="odbc32.lib odbccp32.lib ../libs/libtiff/libtiff.lib"
|
|
||||||
OutputFile=".\Debug/j2k_to_image.exe"
|
|
||||||
LinkIncremental="2"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
IgnoreDefaultLibraryNames="libc,libcmt"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
ProgramDatabaseFile=".\Debug/j2k_to_image.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile=".\Debug/j2k_to_image.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory=".\Release"
|
|
||||||
IntermediateDirectory=".\Release"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TypeLibraryName=".\Release/j2k_to_image.tlb"
|
|
||||||
HeaderFileName=""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="2"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
AdditionalIncludeDirectories="../libopenjpeg"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;OPJ_STATIC;_CRT_SECURE_NO_DEPRECATE"
|
|
||||||
StringPooling="true"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
PrecompiledHeaderFile=".\Release/j2k_to_image.pch"
|
|
||||||
AssemblerListingLocation=".\Release/"
|
|
||||||
ObjectFile=".\Release/"
|
|
||||||
ProgramDataBaseFileName=".\Release/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1036"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="odbc32.lib odbccp32.lib ../libs/libtiff/libtiff.lib"
|
|
||||||
OutputFile=".\Release/j2k_to_image.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
IgnoreDefaultLibraryNames="libc"
|
|
||||||
ProgramDatabaseFile=".\Release/j2k_to_image.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile=".\Release/j2k_to_image.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath="convert.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="convert.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="compat\getopt.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="compat\getopt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\index.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\index.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="j2k_to_image.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,55 +0,0 @@
|
||||||
# Makefile for the main JPWL OpenJPEG codecs: JPWL_ j2k_to_image and JPWL_image_to_j2k
|
|
||||||
|
|
||||||
ADD_DEFINITIONS(-DUSE_JPWL)
|
|
||||||
|
|
||||||
SET(OPJ_SRCS
|
|
||||||
../libopenjpeg/bio.c
|
|
||||||
../libopenjpeg/cio.c
|
|
||||||
../libopenjpeg/dwt.c
|
|
||||||
../libopenjpeg/event.c
|
|
||||||
../libopenjpeg/image.c
|
|
||||||
../libopenjpeg/j2k.c
|
|
||||||
../libopenjpeg/j2k_lib.c
|
|
||||||
../libopenjpeg/jp2.c
|
|
||||||
../libopenjpeg/jpt.c
|
|
||||||
../libopenjpeg/mct.c
|
|
||||||
../libopenjpeg/mqc.c
|
|
||||||
../libopenjpeg/openjpeg.c
|
|
||||||
../libopenjpeg/pi.c
|
|
||||||
../libopenjpeg/raw.c
|
|
||||||
../libopenjpeg/t1.c
|
|
||||||
../libopenjpeg/t2.c
|
|
||||||
../libopenjpeg/tcd.c
|
|
||||||
../libopenjpeg/tgt.c
|
|
||||||
)
|
|
||||||
SET(JPWL_SRCS crc.c jpwl.c jpwl_lib.c rs.c)
|
|
||||||
|
|
||||||
ADD_LIBRARY(openjpeg_JPWL ${JPWL_SRCS} ${OPJ_SRCS})
|
|
||||||
|
|
||||||
# Do the proper thing when building static...if only there was configured
|
|
||||||
# headers or def files instead
|
|
||||||
#IF(NOT BUILD_SHARED_LIBS)
|
|
||||||
# ADD_DEFINITIONS(-DOPJ_STATIC)
|
|
||||||
#ENDIF(NOT BUILD_SHARED_LIBS)
|
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(
|
|
||||||
${OPENJPEG_SOURCE_DIR}/libopenjpeg
|
|
||||||
)
|
|
||||||
|
|
||||||
FIND_PACKAGE(TIFF REQUIRED)
|
|
||||||
|
|
||||||
ADD_EXECUTABLE(JPWL_j2k_to_image
|
|
||||||
../codec/convert.c ../codec/j2k_to_image.c
|
|
||||||
)
|
|
||||||
TARGET_LINK_LIBRARIES(JPWL_j2k_to_image openjpeg_JPWL ${TIFF_LIBRARIES})
|
|
||||||
IF(UNIX)
|
|
||||||
TARGET_LINK_LIBRARIES(JPWL_j2k_to_image m)
|
|
||||||
ENDIF(UNIX)
|
|
||||||
|
|
||||||
ADD_EXECUTABLE(JPWL_image_to_j2k
|
|
||||||
../codec/convert.c ../codec/image_to_j2k.c)
|
|
||||||
TARGET_LINK_LIBRARIES(JPWL_image_to_j2k openjpeg_JPWL ${TIFF_LIBRARIES})
|
|
||||||
IF(UNIX)
|
|
||||||
TARGET_LINK_LIBRARIES(JPWL_image_to_j2k m)
|
|
||||||
ENDIF(UNIX)
|
|
||||||
|
|
|
@ -1,127 +0,0 @@
|
||||||
# Microsoft Developer Studio Project File - Name="JPWL_image_to_j2k" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=JPWL_image_to_j2k - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "JPWL_image_to_j2k.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "JPWL_image_to_j2k.mak" CFG="JPWL_image_to_j2k - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "JPWL_image_to_j2k - Win32 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "JPWL_image_to_j2k - Win32 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "JPWL_image_to_j2k - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "Release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../libopenjpeg" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "OPJ_STATIC" /D "USE_JPWL" /D "USE_JPSEC" /FR /FD /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x80c /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x80c /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib LibOpenJPEG_JPWL.lib ../libs/libtiff/libtiff.lib /nologo /subsystem:console /machine:I386 /libpath:"Release"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "JPWL_image_to_j2k - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug"
|
|
||||||
# PROP Intermediate_Dir "Debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../libopenjpeg" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "OPJ_STATIC" /D "USE_JPWL" /D "USE_JPSEC" /FR /FD /GZ /c
|
|
||||||
# ADD BASE RSC /l 0x80c /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x80c /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib LibOpenJPEG_JPWLd.lib ../libs/libtiff/libtiff.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcmtd.lib" /pdbtype:sept /libpath:"Debug"
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "JPWL_image_to_j2k - Win32 Release"
|
|
||||||
# Name "JPWL_image_to_j2k - Win32 Debug"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\convert.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\compat\getopt.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\image_to_j2k.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\index.c
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\convert.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\compat\getopt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\index.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\openjpeg.h
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
|
@ -1,44 +0,0 @@
|
||||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
|
||||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "JPWL_image_to_j2k"=".\JPWL_image_to_j2k.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name LibOpenJPEG_JPWL
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "LibOpenJPEG_JPWL"=".\LibOpenJPEG_JPWL.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Global:
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<3>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
|
@ -1,135 +0,0 @@
|
||||||
# Microsoft Developer Studio Project File - Name="JPWL_j2k_to_image" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=JPWL_j2k_to_image - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "JPWL_j2k_to_image.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "JPWL_j2k_to_image.mak" CFG="JPWL_j2k_to_image - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "JPWL_j2k_to_image - Win32 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "JPWL_j2k_to_image - Win32 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "JPWL_j2k_to_image - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "Release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../libopenjpeg" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "OPJ_STATIC" /D "USE_JPWL" /D "USE_JPSEC" /FD /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x80c /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x80c /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../libs/libtiff/libtiff.lib /nologo /subsystem:console /machine:I386
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "JPWL_j2k_to_image - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "JPWL_j2k_to_image___Win32_Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "JPWL_j2k_to_image___Win32_Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug"
|
|
||||||
# PROP Intermediate_Dir "Debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../libopenjpeg" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "OPJ_STATIC" /D "USE_JPWL" /D "USE_JPSEC" /YX /FD /GZ /c
|
|
||||||
# ADD BASE RSC /l 0x80c /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x80c /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../libs/libtiff/libtiff.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcmtd.lib" /pdbtype:sept
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "JPWL_j2k_to_image - Win32 Release"
|
|
||||||
# Name "JPWL_j2k_to_image - Win32 Debug"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\convert.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\compat\getopt.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\index.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\j2k_to_image.c
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\convert.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\crc.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\compat\getopt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\codec\index.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\jpwl.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\rs.h
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
|
@ -1,44 +0,0 @@
|
||||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
|
||||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "JPWL_j2k_to_image"=".\JPWL_j2k_to_image.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name LibOpenJPEG_JPWL
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "LibOpenJPEG_JPWL"=".\LibOpenJPEG_JPWL.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Global:
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<3>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
|
@ -1,282 +0,0 @@
|
||||||
# Microsoft Developer Studio Project File - Name="LibOpenJPEG_JPWL" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
|
||||||
|
|
||||||
CFG=LibOpenJPEG_JPWL - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "LibOpenJPEG_JPWL.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "LibOpenJPEG_JPWL.mak" CFG="LibOpenJPEG_JPWL - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "LibOpenJPEG_JPWL - Win32 Release" (based on "Win32 (x86) Static Library")
|
|
||||||
!MESSAGE "LibOpenJPEG_JPWL - Win32 Debug" (based on "Win32 (x86) Static Library")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "LibOpenJPEG_JPWL - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "LibOpenJPEG_JPWL___Win32_Release"
|
|
||||||
# PROP BASE Intermediate_Dir "LibOpenJPEG_JPWL___Win32_Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "Release"
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../libopenjpeg" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "OPJ_STATIC" /D "USE_JPWL" /D "USE_JPSEC" /FD /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x80c /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x80c /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LIB32=link.exe -lib
|
|
||||||
# ADD BASE LIB32 /nologo
|
|
||||||
# ADD LIB32 /nologo
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "LibOpenJPEG_JPWL - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "LibOpenJPEG_JPWL___Win32_Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "LibOpenJPEG_JPWL___Win32_Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug"
|
|
||||||
# PROP Intermediate_Dir "Debug"
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../libopenjpeg" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "OPJ_STATIC" /D "USE_JPWL" /D "USE_JPSEC" /FD /GZ /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x80c /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x80c /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LIB32=link.exe -lib
|
|
||||||
# ADD BASE LIB32 /nologo
|
|
||||||
# ADD LIB32 /nologo /out:"Debug\LibOpenJPEG_JPWLd.lib"
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "LibOpenJPEG_JPWL - Win32 Release"
|
|
||||||
# Name "LibOpenJPEG_JPWL - Win32 Debug"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\bio.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\cio.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\crc.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\dwt.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\event.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\image.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\j2k.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\j2k_lib.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\jp2.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\jpt.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\jpwl.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\jpwl_lib.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\mct.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\mqc.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\openjpeg.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\pi.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\raw.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\rs.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\t1.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\t2.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\tcd.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\tgt.c
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\bio.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\cio.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\crc.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\dwt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\event.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\fix.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\image.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\int.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\j2k.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\j2k_lib.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\jp2.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\jpt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\jpwl.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\mct.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\mqc.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\openjpeg.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\opj_includes.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\opj_malloc.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\pi.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\raw.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\rs.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\t1.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\t2.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\tcd.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\tgt.h
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
|
@ -1,83 +0,0 @@
|
||||||
# Linux makefile for OpenJPEG + JPWL
|
|
||||||
|
|
||||||
VER_MAJOR = 2
|
|
||||||
VER_MINOR = 1.2.0
|
|
||||||
|
|
||||||
JPWL_SRCS = ./crc.c ./jpwl.c ./jpwl_lib.c ./rs.c
|
|
||||||
SRCS = ../libopenjpeg/bio.c ../libopenjpeg/cio.c ../libopenjpeg/dwt.c ../libopenjpeg/event.c ../libopenjpeg/image.c ../libopenjpeg/j2k.c ../libopenjpeg/j2k_lib.c ../libopenjpeg/jp2.c ../libopenjpeg/jpt.c ../libopenjpeg/mct.c ../libopenjpeg/mqc.c ../libopenjpeg/openjpeg.c ../libopenjpeg/pi.c ../libopenjpeg/raw.c ../libopenjpeg/t1.c ../libopenjpeg/t2.c ../libopenjpeg/tcd.c ../libopenjpeg/tgt.c $(JPWL_SRCS)
|
|
||||||
INCLS = ../libopenjpeg/bio.h ../libopenjpeg/cio.h ../libopenjpeg/dwt.h ../libopenjpeg/event.h ../libopenjpeg/fix.h ../libopenjpeg/image.h ../libopenjpeg/int.h ../libopenjpeg/j2k.h ../libopenjpeg/j2k_lib.h ../libopenjpeg/jp2.h ../libopenjpeg/jpt.h ../libopenjpeg/mct.h ../libopenjpeg/mqc.h ../libopenjpeg/openjpeg.h ../libopenjpeg/pi.h ../libopenjpeg/raw.h ../libopenjpeg/t1.h ../libopenjpeg/t2.h ../libopenjpeg/tcd.h ../libopenjpeg/tgt.h ../libopenjpeg/opj_malloc.h ../libopenjpeg/opj_includes.h
|
|
||||||
INCLUDE = -Ilibopenjpeg_JPWL
|
|
||||||
|
|
||||||
# General configuration variables:
|
|
||||||
CC = gcc
|
|
||||||
AR = ar
|
|
||||||
|
|
||||||
PREFIX = /usr
|
|
||||||
INSTALL_LIBDIR = $(PREFIX)/lib
|
|
||||||
INSTALL_INCLUDE = $(PREFIX)/include
|
|
||||||
|
|
||||||
# Converts cr/lf to just lf
|
|
||||||
DOS2UNIX = dos2unix
|
|
||||||
|
|
||||||
COMPILERFLAGS = -Wall -O3 -ffast-math -std=c99 -fPIC
|
|
||||||
LIBRARIES = -lstdc++
|
|
||||||
|
|
||||||
MODULES = $(SRCS:.c=.o)
|
|
||||||
CFLAGS = $(COMPILERFLAGS) $(INCLUDE) -DUSE_JPWL
|
|
||||||
|
|
||||||
TARGET = openjpeg_JPWL
|
|
||||||
STATICLIB = lib$(TARGET).a
|
|
||||||
SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).so
|
|
||||||
LIBNAME = lib$(TARGET).so.$(VER_MAJOR)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
default: all
|
|
||||||
|
|
||||||
all: OpenJPEG_JPWL JPWL_image_to_j2k JPWL_j2k_to_image
|
|
||||||
|
|
||||||
dist: OpenJPEG_JPWL
|
|
||||||
install -d dist
|
|
||||||
install -m 644 $(STATICLIB) dist
|
|
||||||
install -m 755 $(SHAREDLIB) dist
|
|
||||||
ln -sf $(SHAREDLIB) dist/$(LIBNAME)
|
|
||||||
install libopenjpeg/openjpeg.h dist
|
|
||||||
|
|
||||||
dos2unix:
|
|
||||||
@$(DOS2UNIX) $(SRCS) $(INCLS)
|
|
||||||
|
|
||||||
OpenJPEG_JPWL: $(STATICLIB) $(SHAREDLIB)
|
|
||||||
|
|
||||||
JPWL_codec: JPWL_j2k_to_image JPWL_image_to_j2k $(STATICLIB)
|
|
||||||
|
|
||||||
.c.o:
|
|
||||||
$(CC) $(CFLAGS) -c $< -o $@
|
|
||||||
|
|
||||||
$(STATICLIB): $(MODULES)
|
|
||||||
$(AR) r $@ $(MODULES)
|
|
||||||
|
|
||||||
$(SHAREDLIB): $(MODULES)
|
|
||||||
$(CC) -s -shared -Wl,-soname,$(LIBNAME) -o $@ $(MODULES) $(LIBRARIES)
|
|
||||||
|
|
||||||
JPWL_j2k_to_image: ../codec/j2k_to_image.c
|
|
||||||
gcc $(CFLAGS) ../codec/compat/getopt.c ../codec/index.c ../codec/convert.c ../codec/j2k_to_image.c -o JPWL_j2k_to_image -I ../libopenjpeg/ -L . -lopenjpeg_JPWL -lm -ltiff
|
|
||||||
|
|
||||||
JPWL_image_to_j2k: ../codec/image_to_j2k.c
|
|
||||||
gcc $(CFLAGS) ../codec/compat/getopt.c ../codec/index.c ../codec/convert.c ../codec/image_to_j2k.c -o JPWL_image_to_j2k -I ../libopenjpeg/ -L . -lopenjpeg_JPWL -lm -ltiff
|
|
||||||
|
|
||||||
install: OpenJPEG
|
|
||||||
install -d '$(DESTDIR)$(INSTALL_LIBDIR)' '$(DESTDIR)$(INSTALL_INCLUDE)'
|
|
||||||
install -m 644 -o root -g root $(STATICLIB) '$(DESTDIR)$(INSTALL_LIBDIR)'
|
|
||||||
ranlib '$(DESTDIR)$(INSTALL_LIBDIR)/$(STATICLIB)'
|
|
||||||
install -m 755 -o root -g root $(SHAREDLIB) '$(DESTDIR)$(INSTALL_LIBDIR)'
|
|
||||||
ln -sf $(SHAREDLIB) '$(DESTDIR)$(INSTALL_LIBDIR)/$(LIBNAME)'
|
|
||||||
install -m 644 -o root -g root libopenjpeg/openjpeg.h '$(DESTDIR)$(INSTALL_INCLUDE)'
|
|
||||||
-ldconfig
|
|
||||||
|
|
||||||
cleanlib:
|
|
||||||
rm -rf core dist/ u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)
|
|
||||||
|
|
||||||
cleancodec:
|
|
||||||
rm -f JPWL_j2k_to_image JPWL_image_to_j2k JPWL_j2k_to_image.o JPWL_image_to_j2k.o
|
|
||||||
|
|
||||||
clean: cleanlib cleancodec
|
|
136
jpwl/README.txt
136
jpwl/README.txt
|
@ -1,136 +0,0 @@
|
||||||
===============================================================================
|
|
||||||
JPEG2000 Part 11 (ISO/IEC 15444-11 JPWL) Software
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Version 20061213
|
|
||||||
===============================================================================
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
1. Scope
|
|
||||||
=============
|
|
||||||
|
|
||||||
This document describes the installation and use of the JPWL module in the framework of OpenJPEG library.
|
|
||||||
|
|
||||||
This implementation has been developed from OpenJPEG implementation of JPEG2000 standard, and for this reason it is written in C language.
|
|
||||||
|
|
||||||
If you find some bugs or if you have problems using the encoder/decoder, please send an e-mail to jpwl@diei.unipg.it
|
|
||||||
|
|
||||||
|
|
||||||
2. Installing the code
|
|
||||||
==========================
|
|
||||||
|
|
||||||
The JPWL code is integrated with the standard OpenJPEG library and codecs: it is activated by setting the macro USE_JPWL to defined in the preprocessor configuration options of your preferred C compiler.
|
|
||||||
|
|
||||||
2.1. Compiling the source code in Windows
|
|
||||||
-------------------------------------------
|
|
||||||
|
|
||||||
The "jpwl" directory is already populated with a couple of Visual C++ 6.0 workspaces
|
|
||||||
|
|
||||||
* JPWL_image_to_j2k.dsw - Creates the encoder with JPWL functionalities
|
|
||||||
* JPWL_j2k_to_image.dsw - Creates the decoder with JPWL functionalities
|
|
||||||
|
|
||||||
2.2. Compiling the source code in Unix-like systems
|
|
||||||
-----------------------------------------------------
|
|
||||||
|
|
||||||
Under linux, enter the jpwl directory and type "make clean" and "make".
|
|
||||||
|
|
||||||
|
|
||||||
3. Running the JPWL software
|
|
||||||
=========================
|
|
||||||
|
|
||||||
The options available at the command line are exactly the same of the base OpenJPEG codecs. In addition, there is a "-W" switch that activates JPWL functionalities.
|
|
||||||
|
|
||||||
3.1. JPWL Encoder
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
-W : adoption of JPWL (Part 11) capabilities (-W params)
|
|
||||||
The parameters can be written and repeated in any order:
|
|
||||||
[h<tile><=type>,s<tile><=method>,a=<addr>,z=<size>,g=<range>,...
|
|
||||||
...,p<tile:pack><=type>]
|
|
||||||
|
|
||||||
h selects the header error protection (EPB): 'type' can be
|
|
||||||
[0=none 1,absent=predefined 16=CRC-16 32=CRC-32 37-128=RS]
|
|
||||||
if 'tile' is absent, it applies to main and tile headers
|
|
||||||
if 'tile' is present, it applies from that tile
|
|
||||||
onwards, up to the next h<tile> spec, or to the last tile
|
|
||||||
in the codestream (max. 16 specs)
|
|
||||||
|
|
||||||
p selects the packet error protection (EEP/UEP with EPBs)
|
|
||||||
to be applied to raw data: 'type' can be
|
|
||||||
[0=none 1,absent=predefined 16=CRC-16 32=CRC-32 37-128=RS]
|
|
||||||
if 'tile:pack' is absent, it starts from tile 0, packet 0
|
|
||||||
if 'tile:pack' is present, it applies from that tile
|
|
||||||
and that packet onwards, up to the next packet spec
|
|
||||||
or to the last packet in the last tile in the codestream
|
|
||||||
(max. 16 specs)
|
|
||||||
|
|
||||||
s enables sensitivity data insertion (ESD): 'method' can be
|
|
||||||
[-1=NO ESD 0=RELATIVE ERROR 1=MSE 2=MSE REDUCTION 3=PSNR
|
|
||||||
4=PSNR INCREMENT 5=MAXERR 6=TSE 7=RESERVED]
|
|
||||||
if 'tile' is absent, it applies to main header only
|
|
||||||
if 'tile' is present, it applies from that tile
|
|
||||||
onwards, up to the next s<tile> spec, or to the last tile
|
|
||||||
in the codestream (max. 16 specs)
|
|
||||||
|
|
||||||
g determines the addressing mode: <range> can be
|
|
||||||
[0=PACKET 1=BYTE RANGE 2=PACKET RANGE]
|
|
||||||
|
|
||||||
a determines the size of data addressing: <addr> can be
|
|
||||||
2/4 bytes (small/large codestreams). If not set, auto-mode
|
|
||||||
|
|
||||||
z determines the size of sensitivity values: <size> can be
|
|
||||||
1/2 bytes, for the transformed pseudo-floating point value
|
|
||||||
|
|
||||||
ex.:
|
|
||||||
h,h0=64,h3=16,h5=32,p0=78,p0:24=56,p1,p3:0=0,p3:20=32,s=0,s0=6,s3=-1,a=0,g=1,z=1
|
|
||||||
means
|
|
||||||
predefined EPB in MH, rs(64,32) from TPH 0 to TPH 2,
|
|
||||||
CRC-16 in TPH 3 and TPH 4, CRC-32 in remaining TPHs,
|
|
||||||
UEP rs(78,32) for packets 0 to 23 of tile 0,
|
|
||||||
UEP rs(56,32) for packets 24 to the last of tile 0,
|
|
||||||
UEP rs default for packets of tile 1,
|
|
||||||
no UEP for packets 0 to 19 of tile 3,
|
|
||||||
UEP CRC-32 for packets 20 of tile 3 to last tile,
|
|
||||||
relative sensitivity ESD for MH,
|
|
||||||
TSE ESD from TPH 0 to TPH 2, byte range with automatic
|
|
||||||
size of addresses and 1 byte for each sensitivity value
|
|
||||||
|
|
||||||
ex.:
|
|
||||||
h,s,p
|
|
||||||
means
|
|
||||||
default protection to headers (MH and TPHs) as well as
|
|
||||||
data packets, one ESD in MH
|
|
||||||
|
|
||||||
N.B.: use the following recommendations when specifying
|
|
||||||
the JPWL parameters list
|
|
||||||
- when you use UEP, always pair the 'p' option with 'h'
|
|
||||||
|
|
||||||
3.2. JPWL Decoder
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
-W <options>
|
|
||||||
Activates the JPWL correction capability, if the codestream complies.
|
|
||||||
Options can be a comma separated list of <param=val> tokens:
|
|
||||||
c, c=numcomps
|
|
||||||
numcomps is the number of expected components in the codestream
|
|
||||||
(search of first EPB rely upon this, default is 3)
|
|
||||||
|
|
||||||
|
|
||||||
4. Known bugs and limitations
|
|
||||||
===============================
|
|
||||||
|
|
||||||
4.1. Bugs
|
|
||||||
-----------
|
|
||||||
|
|
||||||
* It is not possible to save a JPWL encoded codestream using the wrapped file format (i.e. JP2): only raw file format (i.e. J2K) is working
|
|
||||||
|
|
||||||
4.2. Limitations
|
|
||||||
------------------
|
|
||||||
|
|
||||||
* When specifying an UEP protection, you need to activate even TPH protection for those tiles where there is a protection of the packets
|
|
||||||
* RED insertion is not currently implemented at the decoder
|
|
||||||
* JPWL at entropy coding level is not implemented
|
|
160
jpwl/crc.c
160
jpwl/crc.c
|
@ -1,160 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2001-2003, David Janssens
|
|
||||||
* Copyright (c) 2002-2003, Yannick Verschueren
|
|
||||||
* Copyright (c) 2003-2005, Francois Devaux and Antonin Descampe
|
|
||||||
* Copyright (c) 2005, Hervé Drolon, FreeImage Team
|
|
||||||
* Copyright (c) 2002-2005, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium
|
|
||||||
* Copyright (c) 2005-2006, Dept. of Electronic and Information Engineering, Universita' degli Studi di Perugia, Italy
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
|
|
||||||
#include "crc.h"
|
|
||||||
|
|
||||||
/**
|
|
||||||
@file crc.c
|
|
||||||
@brief Functions used to compute the 16- and 32-bit CRC of byte arrays
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** file: CRC16.CPP
|
|
||||||
*
|
|
||||||
* CRC - Cyclic Redundancy Check (16-bit)
|
|
||||||
*
|
|
||||||
* A CRC-checksum is used to be sure, the data hasn't changed or is false.
|
|
||||||
* To create a CRC-checksum, initialise a check-variable (unsigned short),
|
|
||||||
* and set this to zero. Than call for every byte in the file (e.g.) the
|
|
||||||
* procedure updateCRC16 with this check-variable as the first parameter,
|
|
||||||
* and the byte as the second. At the end, the check-variable contains the
|
|
||||||
* CRC-checksum.
|
|
||||||
*
|
|
||||||
* implemented by Michael Neumann, 14.06.1998
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
const unsigned short CRC16_table[256] = {
|
|
||||||
0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7,
|
|
||||||
0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef,
|
|
||||||
0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6,
|
|
||||||
0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de,
|
|
||||||
0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485,
|
|
||||||
0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d,
|
|
||||||
0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4,
|
|
||||||
0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc,
|
|
||||||
0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823,
|
|
||||||
0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b,
|
|
||||||
0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12,
|
|
||||||
0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a,
|
|
||||||
0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41,
|
|
||||||
0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49,
|
|
||||||
0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70,
|
|
||||||
0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78,
|
|
||||||
0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f,
|
|
||||||
0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067,
|
|
||||||
0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e,
|
|
||||||
0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256,
|
|
||||||
0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d,
|
|
||||||
0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,
|
|
||||||
0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c,
|
|
||||||
0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634,
|
|
||||||
0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab,
|
|
||||||
0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3,
|
|
||||||
0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a,
|
|
||||||
0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92,
|
|
||||||
0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9,
|
|
||||||
0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1,
|
|
||||||
0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8,
|
|
||||||
0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0
|
|
||||||
};
|
|
||||||
|
|
||||||
void updateCRC16(unsigned short *crc, unsigned char data) {
|
|
||||||
*crc = CRC16_table[(*crc >> 8) & 0xFF] ^ (*crc << 8) ^ data;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/** file: CRC32.CPP
|
|
||||||
*
|
|
||||||
* CRC - Cyclic Redundancy Check (32-bit)
|
|
||||||
*
|
|
||||||
* A CRC-checksum is used to be sure, the data hasn't changed or is false.
|
|
||||||
* To create a CRC-checksum, initialise a check-variable (unsigned long),
|
|
||||||
* and set this to zero. Than call for every byte in the file (e.g.) the
|
|
||||||
* procedure updateCRC32 with this check-variable as the first parameter,
|
|
||||||
* and the byte as the second. At the end, the check-variable contains the
|
|
||||||
* CRC-checksum.
|
|
||||||
*
|
|
||||||
* implemented by Michael Neumann, 14.06.1998
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
const unsigned long CRC32_table[256] = {
|
|
||||||
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
|
|
||||||
0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
|
|
||||||
0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2,
|
|
||||||
0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
|
|
||||||
0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
|
|
||||||
0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,
|
|
||||||
0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c,
|
|
||||||
0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
|
|
||||||
0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423,
|
|
||||||
0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
|
|
||||||
0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106,
|
|
||||||
0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
|
|
||||||
0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d,
|
|
||||||
0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
|
|
||||||
0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
|
|
||||||
0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
|
|
||||||
0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7,
|
|
||||||
0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
|
|
||||||
0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa,
|
|
||||||
0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
|
|
||||||
0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81,
|
|
||||||
0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
|
|
||||||
0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84,
|
|
||||||
0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
|
|
||||||
0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
|
|
||||||
0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
|
|
||||||
0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e,
|
|
||||||
0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
|
|
||||||
0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55,
|
|
||||||
0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
|
|
||||||
0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28,
|
|
||||||
0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
|
|
||||||
0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f,
|
|
||||||
0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
|
|
||||||
0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
|
|
||||||
0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
|
|
||||||
0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69,
|
|
||||||
0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
|
|
||||||
0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc,
|
|
||||||
0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
|
|
||||||
0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693,
|
|
||||||
0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
|
|
||||||
0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
|
|
||||||
};
|
|
||||||
|
|
||||||
void updateCRC32(unsigned long *crc, unsigned char data) {
|
|
||||||
*crc = CRC32_table[(unsigned char) *crc ^ data] ^ ((*crc >> 8) & 0x00FFFFFF);
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* USE_JPWL */
|
|
84
jpwl/crc.h
84
jpwl/crc.h
|
@ -1,84 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2001-2003, David Janssens
|
|
||||||
* Copyright (c) 2002-2003, Yannick Verschueren
|
|
||||||
* Copyright (c) 2003-2005, Francois Devaux and Antonin Descampe
|
|
||||||
* Copyright (c) 2005, Hervé Drolon, FreeImage Team
|
|
||||||
* Copyright (c) 2002-2005, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium
|
|
||||||
* Copyright (c) 2005-2006, Dept. of Electronic and Information Engineering, Universita' degli Studi di Perugia, Italy
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
|
|
||||||
/**
|
|
||||||
@file crc.h
|
|
||||||
@brief Functions used to compute the 16- and 32-bit CRC of byte arrays
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __CRC16_HEADER__
|
|
||||||
#define __CRC16_HEADER__
|
|
||||||
|
|
||||||
/** file: CRC16.HPP
|
|
||||||
*
|
|
||||||
* CRC - Cyclic Redundancy Check (16-bit)
|
|
||||||
*
|
|
||||||
* A CRC-checksum is used to be sure, the data hasn't changed or is false.
|
|
||||||
* To create a CRC-checksum, initialise a check-variable (unsigned short),
|
|
||||||
* and set this to zero. Than call for every byte in the file (e.g.) the
|
|
||||||
* procedure updateCRC16 with this check-variable as the first parameter,
|
|
||||||
* and the byte as the second. At the end, the check-variable contains the
|
|
||||||
* CRC-checksum.
|
|
||||||
*
|
|
||||||
* implemented by Michael Neumann, 14.06.1998
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void updateCRC16(unsigned short *, unsigned char);
|
|
||||||
|
|
||||||
#endif /* __CRC16_HEADER__ */
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef __CRC32_HEADER__
|
|
||||||
#define __CRC32_HEADER__
|
|
||||||
|
|
||||||
/** file: CRC32.HPP
|
|
||||||
*
|
|
||||||
* CRC - Cyclic Redundancy Check (32-bit)
|
|
||||||
*
|
|
||||||
* A CRC-checksum is used to be sure, the data hasn't changed or is false.
|
|
||||||
* To create a CRC-checksum, initialise a check-variable (unsigned short),
|
|
||||||
* and set this to zero. Than call for every byte in the file (e.g.) the
|
|
||||||
* procedure updateCRC32 with this check-variable as the first parameter,
|
|
||||||
* and the byte as the second. At the end, the check-variable contains the
|
|
||||||
* CRC-checksum.
|
|
||||||
*
|
|
||||||
* implemented by Michael Neumann, 14.06.1998
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void updateCRC32(unsigned long *, unsigned char);
|
|
||||||
|
|
||||||
#endif /* __CRC32_HEADER__ */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* USE_JPWL */
|
|
1357
jpwl/jpwl.c
1357
jpwl/jpwl.c
File diff suppressed because it is too large
Load Diff
425
jpwl/jpwl.h
425
jpwl/jpwl.h
|
@ -1,425 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2001-2003, David Janssens
|
|
||||||
* Copyright (c) 2002-2003, Yannick Verschueren
|
|
||||||
* Copyright (c) 2003-2005, Francois Devaux and Antonin Descampe
|
|
||||||
* Copyright (c) 2005, Hervé Drolon, FreeImage Team
|
|
||||||
* Copyright (c) 2002-2005, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium
|
|
||||||
* Copyright (c) 2005-2006, Dept. of Electronic and Information Engineering, Universita' degli Studi di Perugia, Italy
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#ifndef __JPWL_H
|
|
||||||
#define __JPWL_H
|
|
||||||
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
|
|
||||||
#include "crc.h"
|
|
||||||
#include "rs.h"
|
|
||||||
|
|
||||||
/**
|
|
||||||
@file jpwl.h
|
|
||||||
@brief The JPEG-2000 Part11 (JPWL) marker segments manager
|
|
||||||
|
|
||||||
The functions in JPWL.C have for goal to read/write the markers added by JPWL.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @defgroup JPWL JPWL - JPEG-2000 Part11 (JPWL) codestream manager */
|
|
||||||
/*@{*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
Assume a basic codestream structure, so you can resort better from uncorrected errors
|
|
||||||
*/
|
|
||||||
#define JPWL_ASSUME true
|
|
||||||
|
|
||||||
/**
|
|
||||||
EPB (Error Protection Block) Marker segment
|
|
||||||
*/
|
|
||||||
typedef struct jpwl_epb_ms {
|
|
||||||
/**@name Private fields set by epb_create */
|
|
||||||
/*@{*/
|
|
||||||
/** is the latest in header? */
|
|
||||||
bool latest;
|
|
||||||
/** is it in packed mode? */
|
|
||||||
bool packed;
|
|
||||||
/** TH where this marker has been placed (-1 means MH) */
|
|
||||||
int tileno;
|
|
||||||
/** index in current header (0-63) */
|
|
||||||
unsigned char index;
|
|
||||||
/** error protection method [-1=absent 0=none 1=predefined 16=CRC-16 32=CRC-32 37-128=RS] */
|
|
||||||
int hprot;
|
|
||||||
/** message word length of pre-data */
|
|
||||||
int k_pre;
|
|
||||||
/** code word length of pre-data */
|
|
||||||
int n_pre;
|
|
||||||
/** length of pre-data */
|
|
||||||
int pre_len;
|
|
||||||
/** message word length of post-data */
|
|
||||||
int k_post;
|
|
||||||
/** code word length of post-data */
|
|
||||||
int n_post;
|
|
||||||
/** length of post-data */
|
|
||||||
int post_len;
|
|
||||||
/*@}*/
|
|
||||||
/**@name Marker segment fields */
|
|
||||||
/*@{*/
|
|
||||||
/** two bytes for the length of EPB MS, exluding the marker itself (11 to 65535 bytes) */
|
|
||||||
unsigned short int Lepb;
|
|
||||||
/** single byte for the style */
|
|
||||||
unsigned char Depb;
|
|
||||||
/** four bytes, from 0 to 2^31-1 */
|
|
||||||
unsigned long int LDPepb;
|
|
||||||
/** four bytes, next error management method */
|
|
||||||
unsigned long int Pepb;
|
|
||||||
/** EPB data, variable size */
|
|
||||||
unsigned char *data;
|
|
||||||
/*@}*/
|
|
||||||
} jpwl_epb_ms_t;
|
|
||||||
|
|
||||||
/**
|
|
||||||
EPC (Error Protection Capability) Marker segment
|
|
||||||
*/
|
|
||||||
typedef struct jpwl_epc_ms {
|
|
||||||
/** is ESD active? */
|
|
||||||
bool esd_on;
|
|
||||||
/** is RED active? */
|
|
||||||
bool red_on;
|
|
||||||
/** is EPB active? */
|
|
||||||
bool epb_on;
|
|
||||||
/** are informative techniques active? */
|
|
||||||
bool info_on;
|
|
||||||
/**@name Marker segment fields */
|
|
||||||
/*@{*/
|
|
||||||
/** two bytes for the length of EPC MS, exluding the marker itself (9 to 65535 bytes) */
|
|
||||||
unsigned short int Lepc;
|
|
||||||
/** two bytes, CRC for the EPC, excluding Pcrc itself */
|
|
||||||
unsigned short int Pcrc;
|
|
||||||
/** four bytes, the codestream length from SOC to EOC */
|
|
||||||
unsigned long int DL;
|
|
||||||
/** one byte, signals JPWL techniques adoption */
|
|
||||||
unsigned char Pepc;
|
|
||||||
/** EPC data, variable length */
|
|
||||||
unsigned char *data;
|
|
||||||
/*@}*/
|
|
||||||
} jpwl_epc_ms_t;
|
|
||||||
|
|
||||||
/**
|
|
||||||
ESD (Error Sensitivity Descriptor) Marker segment
|
|
||||||
*/
|
|
||||||
typedef struct jpwl_esd_ms {
|
|
||||||
/** codestream addressing mode [0=packet, 1=byte range, 2=packet range, 3=reserved] */
|
|
||||||
unsigned char addrm;
|
|
||||||
/** size of codestream addresses [2/4 bytes] */
|
|
||||||
unsigned char ad_size;
|
|
||||||
/** type of sensitivity
|
|
||||||
[0=relative error, 1=MSE, 2=MSE reduction, 3=PSNR, 4=PSNR increment,
|
|
||||||
5=MAXERR (absolute peak error), 6=TSE (total squared error), 7=reserved */
|
|
||||||
unsigned char senst;
|
|
||||||
/** size of sensitivity data (1/2 bytes) */
|
|
||||||
unsigned char se_size;
|
|
||||||
/**@name Marker segment fields */
|
|
||||||
/*@{*/
|
|
||||||
/** two bytes for the length of ESD MS, exluding the marker itself (4 to 65535 bytes) */
|
|
||||||
unsigned short int Lesd;
|
|
||||||
/** two bytes, component of error sensitivity */
|
|
||||||
unsigned short int Cesd;
|
|
||||||
/** one byte, signals JPWL techniques adoption */
|
|
||||||
unsigned char Pesd;
|
|
||||||
/** ESD data, variable length */
|
|
||||||
unsigned char *data;
|
|
||||||
/*@}*/
|
|
||||||
/**@name Fields set by esd_create (only internal use) */
|
|
||||||
/*@{*/
|
|
||||||
/** number of components in the image */
|
|
||||||
int numcomps;
|
|
||||||
/** tile where this marker has been placed (-1 means MH) */
|
|
||||||
int tileno;
|
|
||||||
/** number of sensitivity values */
|
|
||||||
unsigned long int svalnum;
|
|
||||||
/** size of a single sensitivity pair (address+value) */
|
|
||||||
size_t sensval_size;
|
|
||||||
/*@}*/
|
|
||||||
} jpwl_esd_ms_t;
|
|
||||||
|
|
||||||
/**
|
|
||||||
RED (Residual Error Descriptor) Marker segment
|
|
||||||
*/
|
|
||||||
typedef struct jpwl_red_ms {
|
|
||||||
/** two bytes for the length of RED MS, exluding the marker itself (3 to 65535 bytes) */
|
|
||||||
unsigned short int Lred;
|
|
||||||
/** one byte, signals JPWL techniques adoption */
|
|
||||||
unsigned char Pred;
|
|
||||||
/** RED data, variable length */
|
|
||||||
unsigned char *data;
|
|
||||||
} jpwl_red_ms_t;
|
|
||||||
|
|
||||||
/**
|
|
||||||
Structure used to store JPWL markers temporary position and readyness
|
|
||||||
*/
|
|
||||||
typedef struct jpwl_marker {
|
|
||||||
/** marker value (J2K_MS_EPC, etc.) */
|
|
||||||
int id;
|
|
||||||
/** union keeping the pointer to the real marker struct */
|
|
||||||
union jpwl_marks {
|
|
||||||
/** pointer to EPB marker */
|
|
||||||
jpwl_epb_ms_t *epbmark;
|
|
||||||
/** pointer to EPC marker */
|
|
||||||
jpwl_epc_ms_t *epcmark;
|
|
||||||
/** pointer to ESD marker */
|
|
||||||
jpwl_esd_ms_t *esdmark;
|
|
||||||
/** pointer to RED marker */
|
|
||||||
jpwl_red_ms_t *redmark;
|
|
||||||
} m;
|
|
||||||
/** position where the marker should go, in the pre-JPWL codestream */
|
|
||||||
unsigned long int pos;
|
|
||||||
/** same as before, only written as a double, so we can sort it better */
|
|
||||||
double dpos;
|
|
||||||
/** length of the marker segment (marker excluded) */
|
|
||||||
unsigned short int len;
|
|
||||||
/** the marker length is ready or not? */
|
|
||||||
bool len_ready;
|
|
||||||
/** the marker position is ready or not? */
|
|
||||||
bool pos_ready;
|
|
||||||
/** the marker parameters are ready or not? */
|
|
||||||
bool parms_ready;
|
|
||||||
/** are the written data ready or not */
|
|
||||||
bool data_ready;
|
|
||||||
} jpwl_marker_t;
|
|
||||||
|
|
||||||
/**
|
|
||||||
Encode according to JPWL specs
|
|
||||||
@param j2k J2K handle
|
|
||||||
@param cio codestream handle
|
|
||||||
@param image image handle
|
|
||||||
*/
|
|
||||||
void jpwl_encode(opj_j2k_t *j2k, opj_cio_t *cio, opj_image_t *image);
|
|
||||||
|
|
||||||
/**
|
|
||||||
Prepare the list of JPWL markers, after the Part 1 codestream
|
|
||||||
has been finalized (index struct is full)
|
|
||||||
@param j2k J2K handle
|
|
||||||
@param cio codestream handle
|
|
||||||
@param image image handle
|
|
||||||
*/
|
|
||||||
void jpwl_prepare_marks(opj_j2k_t *j2k, opj_cio_t *cio, opj_image_t *image);
|
|
||||||
|
|
||||||
/**
|
|
||||||
Dump the list of JPWL markers, after it has been prepared
|
|
||||||
@param j2k J2K handle
|
|
||||||
@param cio codestream handle
|
|
||||||
@param image image handle
|
|
||||||
*/
|
|
||||||
void jpwl_dump_marks(opj_j2k_t *j2k, opj_cio_t *cio, opj_image_t *image);
|
|
||||||
|
|
||||||
/**
|
|
||||||
Read the EPC marker (Error Protection Capability)
|
|
||||||
@param j2k J2K handle
|
|
||||||
*/
|
|
||||||
void j2k_read_epc(opj_j2k_t *j2k);
|
|
||||||
|
|
||||||
/**
|
|
||||||
Write the EPC marker (Error Protection Capability), BUT the DL field is always set to 0
|
|
||||||
(this simplifies the management of EPBs and it is openly stated in the standard
|
|
||||||
as a possible value, mening that the information is not available) and the informative techniques
|
|
||||||
are not yet implemented
|
|
||||||
@param j2k J2K handle
|
|
||||||
*/
|
|
||||||
void j2k_write_epc(opj_j2k_t *j2k);
|
|
||||||
|
|
||||||
/**
|
|
||||||
Read the EPB marker (Error Protection Block)
|
|
||||||
@param j2k J2K handle
|
|
||||||
*/
|
|
||||||
void j2k_read_epb(opj_j2k_t *j2k);
|
|
||||||
|
|
||||||
/**
|
|
||||||
Write the EPB marker (Error Protection Block)
|
|
||||||
@param j2k J2K handle
|
|
||||||
*/
|
|
||||||
void j2k_write_epb(opj_j2k_t *j2k);
|
|
||||||
|
|
||||||
/**
|
|
||||||
Read the ESD marker (Error Sensitivity Descriptor)
|
|
||||||
@param j2k J2K handle
|
|
||||||
*/
|
|
||||||
void j2k_read_esd(opj_j2k_t *j2k);
|
|
||||||
|
|
||||||
/**
|
|
||||||
Read the RED marker (Residual Error Descriptor)
|
|
||||||
@param j2k J2K handle
|
|
||||||
*/
|
|
||||||
void j2k_read_red(opj_j2k_t *j2k);
|
|
||||||
|
|
||||||
/** create an EPB marker segment
|
|
||||||
@param j2k J2K compressor handle
|
|
||||||
@param latest it is the latest EPB in the header
|
|
||||||
@param packed EPB is in packed style
|
|
||||||
@param tileno tile number where the marker has been placed (-1 means MH)
|
|
||||||
@param idx current EPB running index
|
|
||||||
@param hprot applied protection type (-1/0,1,16,32,37-128)
|
|
||||||
@param pre_len length of pre-protected data
|
|
||||||
@param post_len length of post-protected data
|
|
||||||
@return returns the freshly created EPB
|
|
||||||
*/
|
|
||||||
jpwl_epb_ms_t *jpwl_epb_create(opj_j2k_t *j2k, bool latest, bool packed, int tileno, int idx, int hprot,
|
|
||||||
unsigned long int pre_len, unsigned long int post_len);
|
|
||||||
|
|
||||||
/** add a number of EPB marker segments
|
|
||||||
@param j2k J2K compressor handle
|
|
||||||
@param jwmarker pointer to the JPWL markers list
|
|
||||||
@param jwmarker_num pointer to the number of JPWL markers (gets updated)
|
|
||||||
@param latest it is the latest group of EPBs in the header
|
|
||||||
@param packed EPBs are in packed style
|
|
||||||
@param insideMH it is in the MH
|
|
||||||
@param idx pointer to the starting EPB running index (gets updated)
|
|
||||||
@param hprot applied protection type (-1/0,1,16,32,37-128)
|
|
||||||
@param place_pos place in original codestream where EPBs should go
|
|
||||||
@param tileno tile number of these EPBs
|
|
||||||
@param pre_len length of pre-protected data
|
|
||||||
@param post_len length of post-protected data
|
|
||||||
@return returns the length of all added markers
|
|
||||||
*/
|
|
||||||
int jpwl_epbs_add(opj_j2k_t *j2k, jpwl_marker_t *jwmarker, int *jwmarker_num,
|
|
||||||
bool latest, bool packed, bool insideMH, int *idx, int hprot,
|
|
||||||
double place_pos, int tileno,
|
|
||||||
unsigned long int pre_len, unsigned long int post_len);
|
|
||||||
|
|
||||||
/** add a number of ESD marker segments
|
|
||||||
@param j2k J2K compressor handle
|
|
||||||
@param jwmarker pointer to the JPWL markers list
|
|
||||||
@param jwmarker_num pointer to the number of JPWL markers (gets updated)
|
|
||||||
@param comps considered component (-1=average, 0/1/2/...=component no.)
|
|
||||||
@param addrm addressing mode (0=packet, 1=byte range, 2=packet range, 3=reserved)
|
|
||||||
@param ad_size size of addresses (2/4 bytes)
|
|
||||||
@param senst sensitivity type
|
|
||||||
@param se_size sensitivity values size (1/2 bytes)
|
|
||||||
@param place_pos place in original codestream where EPBs should go
|
|
||||||
@param tileno tile number of these EPBs
|
|
||||||
@return returns the length of all added markers
|
|
||||||
*/
|
|
||||||
int jpwl_esds_add(opj_j2k_t *j2k, jpwl_marker_t *jwmarker, int *jwmarker_num,
|
|
||||||
int comps, unsigned char addrm, unsigned char ad_size,
|
|
||||||
unsigned char senst, unsigned char se_size,
|
|
||||||
double place_pos, int tileno);
|
|
||||||
|
|
||||||
/** updates the information structure by modifying the positions and lengths
|
|
||||||
@param j2k J2K compressor handle
|
|
||||||
@param jwmarker pointer to JPWL markers list
|
|
||||||
@param jwmarker_num number of JPWL markers
|
|
||||||
@return returns true in case of success
|
|
||||||
*/
|
|
||||||
bool jpwl_update_info(opj_j2k_t *j2k, jpwl_marker_t *jwmarker, int jwmarker_num);
|
|
||||||
|
|
||||||
|
|
||||||
bool jpwl_esd_fill(opj_j2k_t *j2k, jpwl_esd_ms_t *esdmark, unsigned char *buf);
|
|
||||||
|
|
||||||
bool jpwl_epb_fill(opj_j2k_t *j2k, jpwl_epb_ms_t *epbmark, unsigned char *buf, unsigned char *post_buf);
|
|
||||||
|
|
||||||
void j2k_add_marker(opj_codestream_info_t *cstr_info, unsigned short int type, int pos, int len);
|
|
||||||
|
|
||||||
/** corrects the data in the JPWL codestream
|
|
||||||
@param j2k J2K compressor handle
|
|
||||||
@return true if correction is performed correctly
|
|
||||||
*/
|
|
||||||
bool jpwl_correct(opj_j2k_t *j2k);
|
|
||||||
|
|
||||||
/** corrects the data protected by an EPB
|
|
||||||
@param j2k J2K compressor handle
|
|
||||||
@param buffer pointer to the EPB position
|
|
||||||
@param type type of EPB: 0=MH, 1=TPH, 2=other, 3=auto
|
|
||||||
@param pre_len length of pre-data
|
|
||||||
@param post_len length of post_data
|
|
||||||
@param conn is a pointer to the length of all connected (packed) EPBs
|
|
||||||
@param L4_bufp is a pointer to the buffer pointer of redundancy data
|
|
||||||
@return returns true if correction could be succesfully performed
|
|
||||||
*/
|
|
||||||
bool jpwl_epb_correct(opj_j2k_t *j2k, unsigned char *buffer, int type, int pre_len, int post_len, int *conn,
|
|
||||||
unsigned char **L4_bufp);
|
|
||||||
|
|
||||||
/** check that a tile and its children have valid data
|
|
||||||
@param j2k J2K decompressor handle
|
|
||||||
@param tcd Tile decompressor handle
|
|
||||||
@param tileno number of the tile to check
|
|
||||||
*/
|
|
||||||
bool jpwl_check_tile(opj_j2k_t *j2k, opj_tcd_t *tcd, int tileno);
|
|
||||||
|
|
||||||
/** Macro functions for CRC computation */
|
|
||||||
|
|
||||||
/**
|
|
||||||
Computes the CRC-16, as stated in JPWL specs
|
|
||||||
@param CRC two bytes containing the CRC value (must be initialized with 0x0000)
|
|
||||||
@param DATA byte for which the CRC is computed; call this on every byte of the sequence
|
|
||||||
and get the CRC at the end
|
|
||||||
*/
|
|
||||||
#define jpwl_updateCRC16(CRC, DATA) updateCRC16(CRC, DATA)
|
|
||||||
|
|
||||||
/**
|
|
||||||
Computes the CRC-32, as stated in JPWL specs
|
|
||||||
@param CRC four bytes containing the CRC value (must be initialized with 0x00000000)
|
|
||||||
@param DATA byte for which the CRC is computed; call this on every byte of the sequence
|
|
||||||
and get the CRC at the end
|
|
||||||
*/
|
|
||||||
#define jpwl_updateCRC32(CRC, DATA) updateCRC32(CRC, DATA)
|
|
||||||
|
|
||||||
/**
|
|
||||||
Computes the minimum between two integers
|
|
||||||
@param a first integer to compare
|
|
||||||
@param b second integer to compare
|
|
||||||
@return returns the minimum integer between a and b
|
|
||||||
*/
|
|
||||||
#ifndef min
|
|
||||||
#define min(a,b) (((a) < (b)) ? (a) : (b))
|
|
||||||
#endif /* min */
|
|
||||||
|
|
||||||
/*@}*/
|
|
||||||
|
|
||||||
#endif /* USE_JPWL */
|
|
||||||
|
|
||||||
#ifdef USE_JPSEC
|
|
||||||
|
|
||||||
/** @defgroup JPSEC JPSEC - JPEG-2000 Part 8 (JPSEC) codestream manager */
|
|
||||||
/*@{*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
Read the SEC marker (SEcured Codestream)
|
|
||||||
@param j2k J2K handle
|
|
||||||
*/
|
|
||||||
void j2k_read_sec(opj_j2k_t *j2k);
|
|
||||||
|
|
||||||
/**
|
|
||||||
Write the SEC marker (SEcured Codestream)
|
|
||||||
@param j2k J2K handle
|
|
||||||
*/
|
|
||||||
void j2k_write_sec(opj_j2k_t *j2k);
|
|
||||||
|
|
||||||
/**
|
|
||||||
Read the INSEC marker (SEcured Codestream)
|
|
||||||
@param j2k J2K handle
|
|
||||||
*/
|
|
||||||
void j2k_read_insec(opj_j2k_t *j2k);
|
|
||||||
|
|
||||||
/*@}*/
|
|
||||||
|
|
||||||
#endif /* USE_JPSEC */
|
|
||||||
|
|
||||||
#endif /* __JPWL_H */
|
|
||||||
|
|
1796
jpwl/jpwl_lib.c
1796
jpwl/jpwl_lib.c
File diff suppressed because it is too large
Load Diff
594
jpwl/rs.c
594
jpwl/rs.c
|
@ -1,594 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2001-2003, David Janssens
|
|
||||||
* Copyright (c) 2002-2003, Yannick Verschueren
|
|
||||||
* Copyright (c) 2003-2005, Francois Devaux and Antonin Descampe
|
|
||||||
* Copyright (c) 2005, Hervé Drolon, FreeImage Team
|
|
||||||
* Copyright (c) 2002-2005, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium
|
|
||||||
* Copyright (c) 2005-2006, Dept. of Electronic and Information Engineering, Universita' degli Studi di Perugia, Italy
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
|
|
||||||
/**
|
|
||||||
@file rs.c
|
|
||||||
@brief Functions used to compute the Reed-Solomon parity and check of byte arrays
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Reed-Solomon coding and decoding
|
|
||||||
* Phil Karn (karn@ka9q.ampr.org) September 1996
|
|
||||||
*
|
|
||||||
* This file is derived from the program "new_rs_erasures.c" by Robert
|
|
||||||
* Morelos-Zaragoza (robert@spectra.eng.hawaii.edu) and Hari Thirumoorthy
|
|
||||||
* (harit@spectra.eng.hawaii.edu), Aug 1995
|
|
||||||
*
|
|
||||||
* I've made changes to improve performance, clean up the code and make it
|
|
||||||
* easier to follow. Data is now passed to the encoding and decoding functions
|
|
||||||
* through arguments rather than in global arrays. The decode function returns
|
|
||||||
* the number of corrected symbols, or -1 if the word is uncorrectable.
|
|
||||||
*
|
|
||||||
* This code supports a symbol size from 2 bits up to 16 bits,
|
|
||||||
* implying a block size of 3 2-bit symbols (6 bits) up to 65535
|
|
||||||
* 16-bit symbols (1,048,560 bits). The code parameters are set in rs.h.
|
|
||||||
*
|
|
||||||
* Note that if symbols larger than 8 bits are used, the type of each
|
|
||||||
* data array element switches from unsigned char to unsigned int. The
|
|
||||||
* caller must ensure that elements larger than the symbol range are
|
|
||||||
* not passed to the encoder or decoder.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include "rs.h"
|
|
||||||
|
|
||||||
/* This defines the type used to store an element of the Galois Field
|
|
||||||
* used by the code. Make sure this is something larger than a char if
|
|
||||||
* if anything larger than GF(256) is used.
|
|
||||||
*
|
|
||||||
* Note: unsigned char will work up to GF(256) but int seems to run
|
|
||||||
* faster on the Pentium.
|
|
||||||
*/
|
|
||||||
typedef int gf;
|
|
||||||
|
|
||||||
/* Primitive polynomials - see Lin & Costello, Appendix A,
|
|
||||||
* and Lee & Messerschmitt, p. 453.
|
|
||||||
*/
|
|
||||||
#if(MM == 2)/* Admittedly silly */
|
|
||||||
int Pp[MM+1] = { 1, 1, 1 };
|
|
||||||
|
|
||||||
#elif(MM == 3)
|
|
||||||
/* 1 + x + x^3 */
|
|
||||||
int Pp[MM+1] = { 1, 1, 0, 1 };
|
|
||||||
|
|
||||||
#elif(MM == 4)
|
|
||||||
/* 1 + x + x^4 */
|
|
||||||
int Pp[MM+1] = { 1, 1, 0, 0, 1 };
|
|
||||||
|
|
||||||
#elif(MM == 5)
|
|
||||||
/* 1 + x^2 + x^5 */
|
|
||||||
int Pp[MM+1] = { 1, 0, 1, 0, 0, 1 };
|
|
||||||
|
|
||||||
#elif(MM == 6)
|
|
||||||
/* 1 + x + x^6 */
|
|
||||||
int Pp[MM+1] = { 1, 1, 0, 0, 0, 0, 1 };
|
|
||||||
|
|
||||||
#elif(MM == 7)
|
|
||||||
/* 1 + x^3 + x^7 */
|
|
||||||
int Pp[MM+1] = { 1, 0, 0, 1, 0, 0, 0, 1 };
|
|
||||||
|
|
||||||
#elif(MM == 8)
|
|
||||||
/* 1+x^2+x^3+x^4+x^8 */
|
|
||||||
int Pp[MM+1] = { 1, 0, 1, 1, 1, 0, 0, 0, 1 };
|
|
||||||
|
|
||||||
#elif(MM == 9)
|
|
||||||
/* 1+x^4+x^9 */
|
|
||||||
int Pp[MM+1] = { 1, 0, 0, 0, 1, 0, 0, 0, 0, 1 };
|
|
||||||
|
|
||||||
#elif(MM == 10)
|
|
||||||
/* 1+x^3+x^10 */
|
|
||||||
int Pp[MM+1] = { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1 };
|
|
||||||
|
|
||||||
#elif(MM == 11)
|
|
||||||
/* 1+x^2+x^11 */
|
|
||||||
int Pp[MM+1] = { 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
|
|
||||||
|
|
||||||
#elif(MM == 12)
|
|
||||||
/* 1+x+x^4+x^6+x^12 */
|
|
||||||
int Pp[MM+1] = { 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1 };
|
|
||||||
|
|
||||||
#elif(MM == 13)
|
|
||||||
/* 1+x+x^3+x^4+x^13 */
|
|
||||||
int Pp[MM+1] = { 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
|
|
||||||
|
|
||||||
#elif(MM == 14)
|
|
||||||
/* 1+x+x^6+x^10+x^14 */
|
|
||||||
int Pp[MM+1] = { 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1 };
|
|
||||||
|
|
||||||
#elif(MM == 15)
|
|
||||||
/* 1+x+x^15 */
|
|
||||||
int Pp[MM+1] = { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
|
|
||||||
|
|
||||||
#elif(MM == 16)
|
|
||||||
/* 1+x+x^3+x^12+x^16 */
|
|
||||||
int Pp[MM+1] = { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1 };
|
|
||||||
|
|
||||||
#else
|
|
||||||
#error "MM must be in range 2-16"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Alpha exponent for the first root of the generator polynomial */
|
|
||||||
#define B0 0 /* Different from the default 1 */
|
|
||||||
|
|
||||||
/* index->polynomial form conversion table */
|
|
||||||
gf Alpha_to[NN + 1];
|
|
||||||
|
|
||||||
/* Polynomial->index form conversion table */
|
|
||||||
gf Index_of[NN + 1];
|
|
||||||
|
|
||||||
/* No legal value in index form represents zero, so
|
|
||||||
* we need a special value for this purpose
|
|
||||||
*/
|
|
||||||
#define A0 (NN)
|
|
||||||
|
|
||||||
/* Generator polynomial g(x)
|
|
||||||
* Degree of g(x) = 2*TT
|
|
||||||
* has roots @**B0, @**(B0+1), ... ,@^(B0+2*TT-1)
|
|
||||||
*/
|
|
||||||
/*gf Gg[NN - KK + 1];*/
|
|
||||||
gf Gg[NN - 1];
|
|
||||||
|
|
||||||
/* Compute x % NN, where NN is 2**MM - 1,
|
|
||||||
* without a slow divide
|
|
||||||
*/
|
|
||||||
static /*inline*/ gf
|
|
||||||
modnn(int x)
|
|
||||||
{
|
|
||||||
while (x >= NN) {
|
|
||||||
x -= NN;
|
|
||||||
x = (x >> MM) + (x & NN);
|
|
||||||
}
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*#define min(a,b) ((a) < (b) ? (a) : (b))*/
|
|
||||||
|
|
||||||
#define CLEAR(a,n) {\
|
|
||||||
int ci;\
|
|
||||||
for(ci=(n)-1;ci >=0;ci--)\
|
|
||||||
(a)[ci] = 0;\
|
|
||||||
}
|
|
||||||
|
|
||||||
#define COPY(a,b,n) {\
|
|
||||||
int ci;\
|
|
||||||
for(ci=(n)-1;ci >=0;ci--)\
|
|
||||||
(a)[ci] = (b)[ci];\
|
|
||||||
}
|
|
||||||
#define COPYDOWN(a,b,n) {\
|
|
||||||
int ci;\
|
|
||||||
for(ci=(n)-1;ci >=0;ci--)\
|
|
||||||
(a)[ci] = (b)[ci];\
|
|
||||||
}
|
|
||||||
|
|
||||||
void init_rs(int k)
|
|
||||||
{
|
|
||||||
KK = k;
|
|
||||||
if (KK >= NN) {
|
|
||||||
printf("KK must be less than 2**MM - 1\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
generate_gf();
|
|
||||||
gen_poly();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* generate GF(2**m) from the irreducible polynomial p(X) in p[0]..p[m]
|
|
||||||
lookup tables: index->polynomial form alpha_to[] contains j=alpha**i;
|
|
||||||
polynomial form -> index form index_of[j=alpha**i] = i
|
|
||||||
alpha=2 is the primitive element of GF(2**m)
|
|
||||||
HARI's COMMENT: (4/13/94) alpha_to[] can be used as follows:
|
|
||||||
Let @ represent the primitive element commonly called "alpha" that
|
|
||||||
is the root of the primitive polynomial p(x). Then in GF(2^m), for any
|
|
||||||
0 <= i <= 2^m-2,
|
|
||||||
@^i = a(0) + a(1) @ + a(2) @^2 + ... + a(m-1) @^(m-1)
|
|
||||||
where the binary vector (a(0),a(1),a(2),...,a(m-1)) is the representation
|
|
||||||
of the integer "alpha_to[i]" with a(0) being the LSB and a(m-1) the MSB. Thus for
|
|
||||||
example the polynomial representation of @^5 would be given by the binary
|
|
||||||
representation of the integer "alpha_to[5]".
|
|
||||||
Similarily, index_of[] can be used as follows:
|
|
||||||
As above, let @ represent the primitive element of GF(2^m) that is
|
|
||||||
the root of the primitive polynomial p(x). In order to find the power
|
|
||||||
of @ (alpha) that has the polynomial representation
|
|
||||||
a(0) + a(1) @ + a(2) @^2 + ... + a(m-1) @^(m-1)
|
|
||||||
we consider the integer "i" whose binary representation with a(0) being LSB
|
|
||||||
and a(m-1) MSB is (a(0),a(1),...,a(m-1)) and locate the entry
|
|
||||||
"index_of[i]". Now, @^index_of[i] is that element whose polynomial
|
|
||||||
representation is (a(0),a(1),a(2),...,a(m-1)).
|
|
||||||
NOTE:
|
|
||||||
The element alpha_to[2^m-1] = 0 always signifying that the
|
|
||||||
representation of "@^infinity" = 0 is (0,0,0,...,0).
|
|
||||||
Similarily, the element index_of[0] = A0 always signifying
|
|
||||||
that the power of alpha which has the polynomial representation
|
|
||||||
(0,0,...,0) is "infinity".
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
void
|
|
||||||
generate_gf(void)
|
|
||||||
{
|
|
||||||
register int i, mask;
|
|
||||||
|
|
||||||
mask = 1;
|
|
||||||
Alpha_to[MM] = 0;
|
|
||||||
for (i = 0; i < MM; i++) {
|
|
||||||
Alpha_to[i] = mask;
|
|
||||||
Index_of[Alpha_to[i]] = i;
|
|
||||||
/* If Pp[i] == 1 then, term @^i occurs in poly-repr of @^MM */
|
|
||||||
if (Pp[i] != 0)
|
|
||||||
Alpha_to[MM] ^= mask; /* Bit-wise EXOR operation */
|
|
||||||
mask <<= 1; /* single left-shift */
|
|
||||||
}
|
|
||||||
Index_of[Alpha_to[MM]] = MM;
|
|
||||||
/*
|
|
||||||
* Have obtained poly-repr of @^MM. Poly-repr of @^(i+1) is given by
|
|
||||||
* poly-repr of @^i shifted left one-bit and accounting for any @^MM
|
|
||||||
* term that may occur when poly-repr of @^i is shifted.
|
|
||||||
*/
|
|
||||||
mask >>= 1;
|
|
||||||
for (i = MM + 1; i < NN; i++) {
|
|
||||||
if (Alpha_to[i - 1] >= mask)
|
|
||||||
Alpha_to[i] = Alpha_to[MM] ^ ((Alpha_to[i - 1] ^ mask) << 1);
|
|
||||||
else
|
|
||||||
Alpha_to[i] = Alpha_to[i - 1] << 1;
|
|
||||||
Index_of[Alpha_to[i]] = i;
|
|
||||||
}
|
|
||||||
Index_of[0] = A0;
|
|
||||||
Alpha_to[NN] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Obtain the generator polynomial of the TT-error correcting, length
|
|
||||||
* NN=(2**MM -1) Reed Solomon code from the product of (X+@**(B0+i)), i = 0,
|
|
||||||
* ... ,(2*TT-1)
|
|
||||||
*
|
|
||||||
* Examples:
|
|
||||||
*
|
|
||||||
* If B0 = 1, TT = 1. deg(g(x)) = 2*TT = 2.
|
|
||||||
* g(x) = (x+@) (x+@**2)
|
|
||||||
*
|
|
||||||
* If B0 = 0, TT = 2. deg(g(x)) = 2*TT = 4.
|
|
||||||
* g(x) = (x+1) (x+@) (x+@**2) (x+@**3)
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
gen_poly(void)
|
|
||||||
{
|
|
||||||
register int i, j;
|
|
||||||
|
|
||||||
Gg[0] = Alpha_to[B0];
|
|
||||||
Gg[1] = 1; /* g(x) = (X+@**B0) initially */
|
|
||||||
for (i = 2; i <= NN - KK; i++) {
|
|
||||||
Gg[i] = 1;
|
|
||||||
/*
|
|
||||||
* Below multiply (Gg[0]+Gg[1]*x + ... +Gg[i]x^i) by
|
|
||||||
* (@**(B0+i-1) + x)
|
|
||||||
*/
|
|
||||||
for (j = i - 1; j > 0; j--)
|
|
||||||
if (Gg[j] != 0)
|
|
||||||
Gg[j] = Gg[j - 1] ^ Alpha_to[modnn((Index_of[Gg[j]]) + B0 + i - 1)];
|
|
||||||
else
|
|
||||||
Gg[j] = Gg[j - 1];
|
|
||||||
/* Gg[0] can never be zero */
|
|
||||||
Gg[0] = Alpha_to[modnn((Index_of[Gg[0]]) + B0 + i - 1)];
|
|
||||||
}
|
|
||||||
/* convert Gg[] to index form for quicker encoding */
|
|
||||||
for (i = 0; i <= NN - KK; i++)
|
|
||||||
Gg[i] = Index_of[Gg[i]];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* take the string of symbols in data[i], i=0..(k-1) and encode
|
|
||||||
* systematically to produce NN-KK parity symbols in bb[0]..bb[NN-KK-1] data[]
|
|
||||||
* is input and bb[] is output in polynomial form. Encoding is done by using
|
|
||||||
* a feedback shift register with appropriate connections specified by the
|
|
||||||
* elements of Gg[], which was generated above. Codeword is c(X) =
|
|
||||||
* data(X)*X**(NN-KK)+ b(X)
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
encode_rs(dtype *data, dtype *bb)
|
|
||||||
{
|
|
||||||
register int i, j;
|
|
||||||
gf feedback;
|
|
||||||
|
|
||||||
CLEAR(bb,NN-KK);
|
|
||||||
for (i = KK - 1; i >= 0; i--) {
|
|
||||||
#if (MM != 8)
|
|
||||||
if(data[i] > NN)
|
|
||||||
return -1; /* Illegal symbol */
|
|
||||||
#endif
|
|
||||||
feedback = Index_of[data[i] ^ bb[NN - KK - 1]];
|
|
||||||
if (feedback != A0) { /* feedback term is non-zero */
|
|
||||||
for (j = NN - KK - 1; j > 0; j--)
|
|
||||||
if (Gg[j] != A0)
|
|
||||||
bb[j] = bb[j - 1] ^ Alpha_to[modnn(Gg[j] + feedback)];
|
|
||||||
else
|
|
||||||
bb[j] = bb[j - 1];
|
|
||||||
bb[0] = Alpha_to[modnn(Gg[0] + feedback)];
|
|
||||||
} else { /* feedback term is zero. encoder becomes a
|
|
||||||
* single-byte shifter */
|
|
||||||
for (j = NN - KK - 1; j > 0; j--)
|
|
||||||
bb[j] = bb[j - 1];
|
|
||||||
bb[0] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Performs ERRORS+ERASURES decoding of RS codes. If decoding is successful,
|
|
||||||
* writes the codeword into data[] itself. Otherwise data[] is unaltered.
|
|
||||||
*
|
|
||||||
* Return number of symbols corrected, or -1 if codeword is illegal
|
|
||||||
* or uncorrectable.
|
|
||||||
*
|
|
||||||
* First "no_eras" erasures are declared by the calling program. Then, the
|
|
||||||
* maximum # of errors correctable is t_after_eras = floor((NN-KK-no_eras)/2).
|
|
||||||
* If the number of channel errors is not greater than "t_after_eras" the
|
|
||||||
* transmitted codeword will be recovered. Details of algorithm can be found
|
|
||||||
* in R. Blahut's "Theory ... of Error-Correcting Codes".
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
eras_dec_rs(dtype *data, int *eras_pos, int no_eras)
|
|
||||||
{
|
|
||||||
int deg_lambda, el, deg_omega;
|
|
||||||
int i, j, r;
|
|
||||||
gf u,q,tmp,num1,num2,den,discr_r;
|
|
||||||
gf recd[NN];
|
|
||||||
/* Err+Eras Locator poly and syndrome poly */
|
|
||||||
/*gf lambda[NN-KK + 1], s[NN-KK + 1];
|
|
||||||
gf b[NN-KK + 1], t[NN-KK + 1], omega[NN-KK + 1];
|
|
||||||
gf root[NN-KK], reg[NN-KK + 1], loc[NN-KK];*/
|
|
||||||
gf lambda[NN + 1], s[NN + 1];
|
|
||||||
gf b[NN + 1], t[NN + 1], omega[NN + 1];
|
|
||||||
gf root[NN], reg[NN + 1], loc[NN];
|
|
||||||
int syn_error, count;
|
|
||||||
|
|
||||||
/* data[] is in polynomial form, copy and convert to index form */
|
|
||||||
for (i = NN-1; i >= 0; i--){
|
|
||||||
#if (MM != 8)
|
|
||||||
if(data[i] > NN)
|
|
||||||
return -1; /* Illegal symbol */
|
|
||||||
#endif
|
|
||||||
recd[i] = Index_of[data[i]];
|
|
||||||
}
|
|
||||||
/* first form the syndromes; i.e., evaluate recd(x) at roots of g(x)
|
|
||||||
* namely @**(B0+i), i = 0, ... ,(NN-KK-1)
|
|
||||||
*/
|
|
||||||
syn_error = 0;
|
|
||||||
for (i = 1; i <= NN-KK; i++) {
|
|
||||||
tmp = 0;
|
|
||||||
for (j = 0; j < NN; j++)
|
|
||||||
if (recd[j] != A0) /* recd[j] in index form */
|
|
||||||
tmp ^= Alpha_to[modnn(recd[j] + (B0+i-1)*j)];
|
|
||||||
syn_error |= tmp; /* set flag if non-zero syndrome =>
|
|
||||||
* error */
|
|
||||||
/* store syndrome in index form */
|
|
||||||
s[i] = Index_of[tmp];
|
|
||||||
}
|
|
||||||
if (!syn_error) {
|
|
||||||
/*
|
|
||||||
* if syndrome is zero, data[] is a codeword and there are no
|
|
||||||
* errors to correct. So return data[] unmodified
|
|
||||||
*/
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
CLEAR(&lambda[1],NN-KK);
|
|
||||||
lambda[0] = 1;
|
|
||||||
if (no_eras > 0) {
|
|
||||||
/* Init lambda to be the erasure locator polynomial */
|
|
||||||
lambda[1] = Alpha_to[eras_pos[0]];
|
|
||||||
for (i = 1; i < no_eras; i++) {
|
|
||||||
u = eras_pos[i];
|
|
||||||
for (j = i+1; j > 0; j--) {
|
|
||||||
tmp = Index_of[lambda[j - 1]];
|
|
||||||
if(tmp != A0)
|
|
||||||
lambda[j] ^= Alpha_to[modnn(u + tmp)];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#ifdef ERASURE_DEBUG
|
|
||||||
/* find roots of the erasure location polynomial */
|
|
||||||
for(i=1;i<=no_eras;i++)
|
|
||||||
reg[i] = Index_of[lambda[i]];
|
|
||||||
count = 0;
|
|
||||||
for (i = 1; i <= NN; i++) {
|
|
||||||
q = 1;
|
|
||||||
for (j = 1; j <= no_eras; j++)
|
|
||||||
if (reg[j] != A0) {
|
|
||||||
reg[j] = modnn(reg[j] + j);
|
|
||||||
q ^= Alpha_to[reg[j]];
|
|
||||||
}
|
|
||||||
if (!q) {
|
|
||||||
/* store root and error location
|
|
||||||
* number indices
|
|
||||||
*/
|
|
||||||
root[count] = i;
|
|
||||||
loc[count] = NN - i;
|
|
||||||
count++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (count != no_eras) {
|
|
||||||
printf("\n lambda(x) is WRONG\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
#ifndef NO_PRINT
|
|
||||||
printf("\n Erasure positions as determined by roots of Eras Loc Poly:\n");
|
|
||||||
for (i = 0; i < count; i++)
|
|
||||||
printf("%d ", loc[i]);
|
|
||||||
printf("\n");
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
for(i=0;i<NN-KK+1;i++)
|
|
||||||
b[i] = Index_of[lambda[i]];
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Begin Berlekamp-Massey algorithm to determine error+erasure
|
|
||||||
* locator polynomial
|
|
||||||
*/
|
|
||||||
r = no_eras;
|
|
||||||
el = no_eras;
|
|
||||||
while (++r <= NN-KK) { /* r is the step number */
|
|
||||||
/* Compute discrepancy at the r-th step in poly-form */
|
|
||||||
discr_r = 0;
|
|
||||||
for (i = 0; i < r; i++){
|
|
||||||
if ((lambda[i] != 0) && (s[r - i] != A0)) {
|
|
||||||
discr_r ^= Alpha_to[modnn(Index_of[lambda[i]] + s[r - i])];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
discr_r = Index_of[discr_r]; /* Index form */
|
|
||||||
if (discr_r == A0) {
|
|
||||||
/* 2 lines below: B(x) <-- x*B(x) */
|
|
||||||
COPYDOWN(&b[1],b,NN-KK);
|
|
||||||
b[0] = A0;
|
|
||||||
} else {
|
|
||||||
/* 7 lines below: T(x) <-- lambda(x) - discr_r*x*b(x) */
|
|
||||||
t[0] = lambda[0];
|
|
||||||
for (i = 0 ; i < NN-KK; i++) {
|
|
||||||
if(b[i] != A0)
|
|
||||||
t[i+1] = lambda[i+1] ^ Alpha_to[modnn(discr_r + b[i])];
|
|
||||||
else
|
|
||||||
t[i+1] = lambda[i+1];
|
|
||||||
}
|
|
||||||
if (2 * el <= r + no_eras - 1) {
|
|
||||||
el = r + no_eras - el;
|
|
||||||
/*
|
|
||||||
* 2 lines below: B(x) <-- inv(discr_r) *
|
|
||||||
* lambda(x)
|
|
||||||
*/
|
|
||||||
for (i = 0; i <= NN-KK; i++)
|
|
||||||
b[i] = (lambda[i] == 0) ? A0 : modnn(Index_of[lambda[i]] - discr_r + NN);
|
|
||||||
} else {
|
|
||||||
/* 2 lines below: B(x) <-- x*B(x) */
|
|
||||||
COPYDOWN(&b[1],b,NN-KK);
|
|
||||||
b[0] = A0;
|
|
||||||
}
|
|
||||||
COPY(lambda,t,NN-KK+1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Convert lambda to index form and compute deg(lambda(x)) */
|
|
||||||
deg_lambda = 0;
|
|
||||||
for(i=0;i<NN-KK+1;i++){
|
|
||||||
lambda[i] = Index_of[lambda[i]];
|
|
||||||
if(lambda[i] != A0)
|
|
||||||
deg_lambda = i;
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* Find roots of the error+erasure locator polynomial. By Chien
|
|
||||||
* Search
|
|
||||||
*/
|
|
||||||
COPY(®[1],&lambda[1],NN-KK);
|
|
||||||
count = 0; /* Number of roots of lambda(x) */
|
|
||||||
for (i = 1; i <= NN; i++) {
|
|
||||||
q = 1;
|
|
||||||
for (j = deg_lambda; j > 0; j--)
|
|
||||||
if (reg[j] != A0) {
|
|
||||||
reg[j] = modnn(reg[j] + j);
|
|
||||||
q ^= Alpha_to[reg[j]];
|
|
||||||
}
|
|
||||||
if (!q) {
|
|
||||||
/* store root (index-form) and error location number */
|
|
||||||
root[count] = i;
|
|
||||||
loc[count] = NN - i;
|
|
||||||
count++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef DEBUG
|
|
||||||
printf("\n Final error positions:\t");
|
|
||||||
for (i = 0; i < count; i++)
|
|
||||||
printf("%d ", loc[i]);
|
|
||||||
printf("\n");
|
|
||||||
#endif
|
|
||||||
if (deg_lambda != count) {
|
|
||||||
/*
|
|
||||||
* deg(lambda) unequal to number of roots => uncorrectable
|
|
||||||
* error detected
|
|
||||||
*/
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* Compute err+eras evaluator poly omega(x) = s(x)*lambda(x) (modulo
|
|
||||||
* x**(NN-KK)). in index form. Also find deg(omega).
|
|
||||||
*/
|
|
||||||
deg_omega = 0;
|
|
||||||
for (i = 0; i < NN-KK;i++){
|
|
||||||
tmp = 0;
|
|
||||||
j = (deg_lambda < i) ? deg_lambda : i;
|
|
||||||
for(;j >= 0; j--){
|
|
||||||
if ((s[i + 1 - j] != A0) && (lambda[j] != A0))
|
|
||||||
tmp ^= Alpha_to[modnn(s[i + 1 - j] + lambda[j])];
|
|
||||||
}
|
|
||||||
if(tmp != 0)
|
|
||||||
deg_omega = i;
|
|
||||||
omega[i] = Index_of[tmp];
|
|
||||||
}
|
|
||||||
omega[NN-KK] = A0;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Compute error values in poly-form. num1 = omega(inv(X(l))), num2 =
|
|
||||||
* inv(X(l))**(B0-1) and den = lambda_pr(inv(X(l))) all in poly-form
|
|
||||||
*/
|
|
||||||
for (j = count-1; j >=0; j--) {
|
|
||||||
num1 = 0;
|
|
||||||
for (i = deg_omega; i >= 0; i--) {
|
|
||||||
if (omega[i] != A0)
|
|
||||||
num1 ^= Alpha_to[modnn(omega[i] + i * root[j])];
|
|
||||||
}
|
|
||||||
num2 = Alpha_to[modnn(root[j] * (B0 - 1) + NN)];
|
|
||||||
den = 0;
|
|
||||||
|
|
||||||
/* lambda[i+1] for i even is the formal derivative lambda_pr of lambda[i] */
|
|
||||||
for (i = min(deg_lambda,NN-KK-1) & ~1; i >= 0; i -=2) {
|
|
||||||
if(lambda[i+1] != A0)
|
|
||||||
den ^= Alpha_to[modnn(lambda[i+1] + i * root[j])];
|
|
||||||
}
|
|
||||||
if (den == 0) {
|
|
||||||
#ifdef DEBUG
|
|
||||||
printf("\n ERROR: denominator = 0\n");
|
|
||||||
#endif
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
/* Apply error to data */
|
|
||||||
if (num1 != 0) {
|
|
||||||
data[loc[j]] ^= Alpha_to[modnn(Index_of[num1] + Index_of[num2] + NN - Index_of[den])];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return count;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* USE_JPWL */
|
|
111
jpwl/rs.h
111
jpwl/rs.h
|
@ -1,111 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2001-2003, David Janssens
|
|
||||||
* Copyright (c) 2002-2003, Yannick Verschueren
|
|
||||||
* Copyright (c) 2003-2005, Francois Devaux and Antonin Descampe
|
|
||||||
* Copyright (c) 2005, Hervé Drolon, FreeImage Team
|
|
||||||
* Copyright (c) 2002-2005, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium
|
|
||||||
* Copyright (c) 2005-2006, Dept. of Electronic and Information Engineering, Universita' degli Studi di Perugia, Italy
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef USE_JPWL
|
|
||||||
|
|
||||||
/**
|
|
||||||
@file rs.h
|
|
||||||
@brief Functions used to compute Reed-Solomon parity and check of byte arrays
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __RS_HEADER__
|
|
||||||
#define __RS_HEADER__
|
|
||||||
|
|
||||||
/** Global definitions for Reed-Solomon encoder/decoder
|
|
||||||
* Phil Karn KA9Q, September 1996
|
|
||||||
*
|
|
||||||
* The parameters MM and KK specify the Reed-Solomon code parameters.
|
|
||||||
*
|
|
||||||
* Set MM to be the size of each code symbol in bits. The Reed-Solomon
|
|
||||||
* block size will then be NN = 2**M - 1 symbols. Supported values are
|
|
||||||
* defined in rs.c.
|
|
||||||
*
|
|
||||||
* Set KK to be the number of data symbols in each block, which must be
|
|
||||||
* less than the block size. The code will then be able to correct up
|
|
||||||
* to NN-KK erasures or (NN-KK)/2 errors, or combinations thereof with
|
|
||||||
* each error counting as two erasures.
|
|
||||||
*/
|
|
||||||
#define MM 8 /* RS code over GF(2**MM) - change to suit */
|
|
||||||
//static int KK;
|
|
||||||
int KK;
|
|
||||||
|
|
||||||
/* Original code */
|
|
||||||
/*#define KK 239*/ /* KK = number of information symbols */
|
|
||||||
|
|
||||||
#define NN ((1 << MM) - 1)
|
|
||||||
|
|
||||||
#if (MM <= 8)
|
|
||||||
typedef unsigned char dtype;
|
|
||||||
#else
|
|
||||||
typedef unsigned int dtype;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/** Initialization function */
|
|
||||||
void init_rs(int);
|
|
||||||
|
|
||||||
/** These two functions *must* be called in this order (e.g.,
|
|
||||||
* by init_rs()) before any encoding/decoding
|
|
||||||
*/
|
|
||||||
void generate_gf(void); /* Generate Galois Field */
|
|
||||||
void gen_poly(void); /* Generate generator polynomial */
|
|
||||||
|
|
||||||
/** Reed-Solomon encoding
|
|
||||||
* data[] is the input block, parity symbols are placed in bb[]
|
|
||||||
* bb[] may lie past the end of the data, e.g., for (255,223):
|
|
||||||
* encode_rs(&data[0],&data[223]);
|
|
||||||
*/
|
|
||||||
int encode_rs(dtype data[], dtype bb[]);
|
|
||||||
|
|
||||||
/** Reed-Solomon erasures-and-errors decoding
|
|
||||||
* The received block goes into data[], and a list of zero-origin
|
|
||||||
* erasure positions, if any, goes in eras_pos[] with a count in no_eras.
|
|
||||||
*
|
|
||||||
* The decoder corrects the symbols in place, if possible and returns
|
|
||||||
* the number of corrected symbols. If the codeword is illegal or
|
|
||||||
* uncorrectible, the data array is unchanged and -1 is returned
|
|
||||||
*/
|
|
||||||
int eras_dec_rs(dtype data[], int eras_pos[], int no_eras);
|
|
||||||
|
|
||||||
/**
|
|
||||||
Computes the minimum between two integers
|
|
||||||
@param a first integer to compare
|
|
||||||
@param b second integer to compare
|
|
||||||
@return returns the minimum integer between a and b
|
|
||||||
*/
|
|
||||||
#ifndef min
|
|
||||||
#define min(a,b) (((a) < (b)) ? (a) : (b))
|
|
||||||
#endif /* min */
|
|
||||||
|
|
||||||
#endif /* __RS_HEADER__ */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* USE_JPWL */
|
|
|
@ -1,42 +0,0 @@
|
||||||
# Makefile for the MJ2 codecs of the OpenJPEG library: frames_to_mj2, mj2_to_frames, extract_j2k_from_mj2 and wrap_j2k_in_mj2
|
|
||||||
|
|
||||||
# Headers file are located here:
|
|
||||||
INCLUDE_DIRECTORIES(
|
|
||||||
${OPENJPEG_SOURCE_DIR}/libopenjpeg
|
|
||||||
)
|
|
||||||
|
|
||||||
ADD_EXECUTABLE(frames_to_mj2
|
|
||||||
frames_to_mj2.c
|
|
||||||
compat/getopt.c
|
|
||||||
mj2_convert.c mj2.c )
|
|
||||||
TARGET_LINK_LIBRARIES(frames_to_mj2 ${OPJ_PREFIX}openjpeg)
|
|
||||||
IF(UNIX)
|
|
||||||
TARGET_LINK_LIBRARIES(frames_to_mj2 m)
|
|
||||||
ENDIF(UNIX)
|
|
||||||
|
|
||||||
ADD_EXECUTABLE(mj2_to_frames
|
|
||||||
mj2_to_frames.c
|
|
||||||
compat/getopt.c mj2_convert.c mj2.c )
|
|
||||||
TARGET_LINK_LIBRARIES(mj2_to_frames ${OPJ_PREFIX}openjpeg)
|
|
||||||
IF(UNIX)
|
|
||||||
TARGET_LINK_LIBRARIES(mj2_to_frames m)
|
|
||||||
ENDIF(UNIX)
|
|
||||||
|
|
||||||
ADD_EXECUTABLE(extract_j2k_from_mj2
|
|
||||||
extract_j2k_from_mj2.c
|
|
||||||
mj2.c )
|
|
||||||
TARGET_LINK_LIBRARIES(extract_j2k_from_mj2 ${OPJ_PREFIX}openjpeg)
|
|
||||||
IF(UNIX)
|
|
||||||
TARGET_LINK_LIBRARIES(extract_j2k_from_mj2 m)
|
|
||||||
ENDIF(UNIX)
|
|
||||||
|
|
||||||
ADD_EXECUTABLE(wrap_j2k_in_mj2
|
|
||||||
wrap_j2k_in_mj2.c
|
|
||||||
mj2.c )
|
|
||||||
TARGET_LINK_LIBRARIES(wrap_j2k_in_mj2 ${OPJ_PREFIX}openjpeg)
|
|
||||||
IF(UNIX)
|
|
||||||
TARGET_LINK_LIBRARIES(wrap_j2k_in_mj2 m)
|
|
||||||
ENDIF(UNIX)
|
|
||||||
|
|
||||||
INSTALL(TARGETS frames_to_mj2 mj2_to_frames extract_j2k_from_mj2 wrap_j2k_in_mj2
|
|
||||||
DESTINATION bin)
|
|
|
@ -1,196 +0,0 @@
|
||||||
# Microsoft Developer Studio Project File - Name="MJ2_Extractor" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=MJ2_Extractor - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "MJ2_Extractor.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "MJ2_Extractor.mak" CFG="MJ2_Extractor - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "MJ2_Extractor - Win32 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "MJ2_Extractor - Win32 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "MJ2_Extractor - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "Release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /W3 /GX /O2 /I "../libopenjpeg" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "OPJ_STATIC" /YX /FD /c
|
|
||||||
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x809 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /nodefaultlib:"libcmt"
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "MJ2_Extractor - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "MJ2_Extractor___Win32_Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "MJ2_Extractor___Win32_Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "MJ2_Extractor___Win32_Debug"
|
|
||||||
# PROP Intermediate_Dir "MJ2_Extractor___Win32_Debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /Gm /GX /ZI /Od /I "../libopenjpeg" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "OPJ_STATIC" /FR /YX /FD /GZ /c
|
|
||||||
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x809 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcmt" /pdbtype:sept
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "MJ2_Extractor - Win32 Release"
|
|
||||||
# Name "MJ2_Extractor - Win32 Debug"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\extract_j2k_from_mj2.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\mj2.c
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\mj2.h
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "OpenJPEG Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter ""
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\bio.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\cio.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\dwt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\event.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\fix.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\image.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\int.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\j2k.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\j2k_lib.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\jp2.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\jpt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\mct.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\mqc.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\openjpeg.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\opj_includes.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\pi.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\raw.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\t1.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\t2.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\tcd.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\tgt.h
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
|
@ -1,44 +0,0 @@
|
||||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
|
||||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "LibOpenJPEG"="..\LibOpenJPEG.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "MJ2_Extractor"=".\MJ2_Extractor.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name LibOpenJPEG
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Global:
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<3>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 9.00
|
|
||||||
# Visual Studio 2005
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MJ2_Extractor", "MJ2_Extractor.vcproj", "{BCBEB12A-B691-4B14-9DC5-193BCD01183D}"
|
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
|
||||||
{4F27AA53-4181-4A1A-8238-3931B0A41048} = {4F27AA53-4181-4A1A-8238-3931B0A41048}
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibOpenJPEG", "..\LibOpenJPEG.vcproj", "{4F27AA53-4181-4A1A-8238-3931B0A41048}"
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
Debug|Win32 = Debug|Win32
|
|
||||||
Release|Win32 = Release|Win32
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{BCBEB12A-B691-4B14-9DC5-193BCD01183D}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{BCBEB12A-B691-4B14-9DC5-193BCD01183D}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{BCBEB12A-B691-4B14-9DC5-193BCD01183D}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{BCBEB12A-B691-4B14-9DC5-193BCD01183D}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{4F27AA53-4181-4A1A-8238-3931B0A41048}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{4F27AA53-4181-4A1A-8238-3931B0A41048}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{4F27AA53-4181-4A1A-8238-3931B0A41048}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{4F27AA53-4181-4A1A-8238-3931B0A41048}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
|
@ -1,354 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8,00"
|
|
||||||
Name="MJ2_Extractor"
|
|
||||||
ProjectGUID="{BCBEB12A-B691-4B14-9DC5-193BCD01183D}"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory=".\Release"
|
|
||||||
IntermediateDirectory=".\Release"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TypeLibraryName=".\Release/MJ2_Extractor.tlb"
|
|
||||||
HeaderFileName=""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
AdditionalIncludeDirectories="../libopenjpeg"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;OPJ_STATIC;_CRT_SECURE_NO_DEPRECATE"
|
|
||||||
StringPooling="true"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
PrecompiledHeaderFile=".\Release/MJ2_Extractor.pch"
|
|
||||||
AssemblerListingLocation=".\Release/"
|
|
||||||
ObjectFile=".\Release/"
|
|
||||||
ProgramDataBaseFileName=".\Release/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="2057"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="odbc32.lib odbccp32.lib ../libs/libtiff/libtiff.lib"
|
|
||||||
OutputFile=".\Release/MJ2_Extractor.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
IgnoreDefaultLibraryNames="libc"
|
|
||||||
ProgramDatabaseFile=".\Release/MJ2_Extractor.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile=".\Release/MJ2_Extractor.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory=".\MJ2_Extractor___Win32_Debug"
|
|
||||||
IntermediateDirectory=".\MJ2_Extractor___Win32_Debug"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TypeLibraryName=".\MJ2_Extractor___Win32_Debug/MJ2_Extractor.tlb"
|
|
||||||
HeaderFileName=""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="../libopenjpeg"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;OPJ_STATIC;_CRT_SECURE_NO_DEPRECATE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
PrecompiledHeaderFile=".\MJ2_Extractor___Win32_Debug/MJ2_Extractor.pch"
|
|
||||||
AssemblerListingLocation=".\MJ2_Extractor___Win32_Debug/"
|
|
||||||
ObjectFile=".\MJ2_Extractor___Win32_Debug/"
|
|
||||||
ProgramDataBaseFileName=".\MJ2_Extractor___Win32_Debug/"
|
|
||||||
BrowseInformation="1"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="2057"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
OutputFile=".\MJ2_Extractor___Win32_Debug/MJ2_Extractor.exe"
|
|
||||||
LinkIncremental="2"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
IgnoreDefaultLibraryNames="libcmt"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
ProgramDatabaseFile=".\MJ2_Extractor___Win32_Debug/MJ2_Extractor.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile=".\MJ2_Extractor___Win32_Debug/MJ2_Extractor.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="extract_j2k_from_mj2.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="mj2.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="mj2.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="OpenJPEG Header Files"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\bio.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\cio.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\dwt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\event.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\fix.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\image.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\int.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\j2k.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\j2k_lib.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\jp2.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\jpt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\mct.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\mqc.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\openjpeg.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\opj_includes.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\pi.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\raw.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\t1.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\t2.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\tcd.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\libopenjpeg\tgt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,195 +0,0 @@
|
||||||
# Microsoft Developer Studio Project File - Name="MJ2_Wrapper" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=MJ2_Wrapper - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "MJ2_Wrapper.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "MJ2_Wrapper.mak" CFG="MJ2_Wrapper - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "MJ2_Wrapper - Win32 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "MJ2_Wrapper - Win32 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "MJ2_Wrapper - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "Release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../libopenjpeg" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "OPJ_STATIC" /FR /YX /FD /c
|
|
||||||
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x809 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "MJ2_Wrapper - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "MJ2_Wrapper___Win32_Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "MJ2_Wrapper___Win32_Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "MJ2_Wrapper___Win32_Debug"
|
|
||||||
# PROP Intermediate_Dir "MJ2_Wrapper___Win32_Debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /Gm /GX /ZI /Od /I "../libopenjpeg" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "OPJ_STATIC" /FR /YX /FD /GZ /c
|
|
||||||
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x809 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcmt" /pdbtype:sept
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "MJ2_Wrapper - Win32 Release"
|
|
||||||
# Name "MJ2_Wrapper - Win32 Debug"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\mj2.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\wrap_j2k_in_mj2.c
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\mj2.h
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "OpenJPEG Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter ""
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\bio.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\cio.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\dwt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\event.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\fix.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\image.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\int.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\j2k.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\j2k_lib.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\jp2.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\jpt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\mct.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\mqc.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\openjpeg.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\opj_includes.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\pi.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\raw.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\t1.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\t2.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\tcd.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\libopenjpeg\tgt.h
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue