1 | *************** |
---|
2 | *** 1,5 **** |
---|
3 | /****************************************************************************** |
---|
4 | - * $Id: mrsiddataset.cpp 12686 2007-11-09 19:31:29Z warmerdam $ |
---|
5 | * |
---|
6 | * Project: Multi-resolution Seamless Image Database (MrSID) |
---|
7 | * Purpose: Read/write LizardTech's MrSID file format - Version 4+ SDK. |
---|
8 | --- 1,5 ---- |
---|
9 | /****************************************************************************** |
---|
10 | + * $Id$ |
---|
11 | * |
---|
12 | * Project: Multi-resolution Seamless Image Database (MrSID) |
---|
13 | * Purpose: Read/write LizardTech's MrSID file format - Version 4+ SDK. |
---|
14 | *************** |
---|
15 | *** 37,43 **** |
---|
16 | #include <geo_normalize.h> |
---|
17 | #include <geovalues.h> |
---|
18 | |
---|
19 | - CPL_CVSID("$Id: mrsiddataset.cpp 12686 2007-11-09 19:31:29Z warmerdam $"); |
---|
20 | |
---|
21 | CPL_C_START |
---|
22 | double GTIFAngleToDD( double dfAngle, int nUOMAngle ); |
---|
23 | --- 37,43 ---- |
---|
24 | #include <geo_normalize.h> |
---|
25 | #include <geovalues.h> |
---|
26 | |
---|
27 | + CPL_CVSID("$Id$"); |
---|
28 | |
---|
29 | CPL_C_START |
---|
30 | double GTIFAngleToDD( double dfAngle, int nUOMAngle ); |
---|
31 | *************** |
---|
32 | *** 161,167 **** |
---|
33 | { |
---|
34 | friend class MrSIDRasterBand; |
---|
35 | |
---|
36 | LTIImageReader *poImageReader; |
---|
37 | |
---|
38 | #ifdef MRSID_ESDK |
---|
39 | LTIGeoFileImageWriter *poImageWriter; |
---|
40 | --- 161,171 ---- |
---|
41 | { |
---|
42 | friend class MrSIDRasterBand; |
---|
43 | |
---|
44 | + #if defined(LTI_SDK_MAJOR) && LTI_SDK_MAJOR >= 7 |
---|
45 | + MrSIDImageReader *poImageReader; |
---|
46 | + #else |
---|
47 | LTIImageReader *poImageReader; |
---|
48 | + #endif |
---|
49 | |
---|
50 | #ifdef MRSID_ESDK |
---|
51 | LTIGeoFileImageWriter *poImageWriter; |
---|
52 | *************** |
---|
53 | *** 690,696 **** |
---|
54 | if ( poLTINav ) |
---|
55 | delete poLTINav; |
---|
56 | if ( poImageReader && !bIsOverview ) |
---|
57 | delete poImageReader; |
---|
58 | |
---|
59 | if ( pszProjection ) |
---|
60 | CPLFree( pszProjection ); |
---|
61 | --- 694,707 ---- |
---|
62 | if ( poLTINav ) |
---|
63 | delete poLTINav; |
---|
64 | if ( poImageReader && !bIsOverview ) |
---|
65 | + #if defined(LTI_SDK_MAJOR) && LTI_SDK_MAJOR >= 7 |
---|
66 | + { |
---|
67 | + poImageReader->release(); |
---|
68 | + poImageReader = NULL; |
---|
69 | + } |
---|
70 | + #else |
---|
71 | delete poImageReader; |
---|
72 | + #endif |
---|
73 | |
---|
74 | if ( pszProjection ) |
---|
75 | CPLFree( pszProjection ); |
---|
76 | *************** |
---|
77 | *** 1250,1255 **** |
---|
78 | /* -------------------------------------------------------------------- */ |
---|
79 | MrSIDDataset *poDS; |
---|
80 | const LTFileSpec oFileSpec( poOpenInfo->pszFilename ); |
---|
81 | |
---|
82 | poDS = new MrSIDDataset(); |
---|
83 | #ifdef MRSID_J2K |
---|
84 | --- 1261,1267 ---- |
---|
85 | /* -------------------------------------------------------------------- */ |
---|
86 | MrSIDDataset *poDS; |
---|
87 | const LTFileSpec oFileSpec( poOpenInfo->pszFilename ); |
---|
88 | + LT_STATUS eStat; |
---|
89 | |
---|
90 | poDS = new MrSIDDataset(); |
---|
91 | #ifdef MRSID_J2K |
---|
92 | *************** |
---|
93 | *** 1257,1265 **** |
---|
94 | poDS->poImageReader = new LTIDLLReader<J2KImageReader>( oFileSpec, true ); |
---|
95 | else |
---|
96 | #endif |
---|
97 | poDS->poImageReader = new LTIDLLReader<MrSIDImageReader>( oFileSpec, false ); |
---|
98 | |
---|
99 | - if ( !LT_SUCCESS( poDS->poImageReader->initialize() ) ) |
---|
100 | { |
---|
101 | delete poDS; |
---|
102 | CPLError( CE_Failure, CPLE_AppDefined, |
---|
103 | --- 1269,1289 ---- |
---|
104 | poDS->poImageReader = new LTIDLLReader<J2KImageReader>( oFileSpec, true ); |
---|
105 | else |
---|
106 | #endif |
---|
107 | + #if defined(LTI_SDK_MAJOR) && LTI_SDK_MAJOR >= 7 |
---|
108 | + { |
---|
109 | + poDS->poImageReader = MrSIDImageReader::create(); |
---|
110 | + } |
---|
111 | + |
---|
112 | + eStat = poDS->poImageReader->initialize( oFileSpec, true ); |
---|
113 | + #else |
---|
114 | + { |
---|
115 | poDS->poImageReader = new LTIDLLReader<MrSIDImageReader>( oFileSpec, false ); |
---|
116 | + } |
---|
117 | + |
---|
118 | + eStat = poDS->poImageReader->initialize(); |
---|
119 | + #endif |
---|
120 | |
---|
121 | + if ( !LT_SUCCESS(eStat) ) |
---|
122 | { |
---|
123 | delete poDS; |
---|
124 | CPLError( CE_Failure, CPLE_AppDefined, |
---|