|
Orion Poplawski |
b703dcb |
diff -up gdcm-2.0.18/Examples/Cxx/CMakeLists.txt.charls gdcm-2.0.18/Examples/Cxx/CMakeLists.txt
|
|
Orion Poplawski |
b703dcb |
--- gdcm-2.0.18/Examples/Cxx/CMakeLists.txt.charls 2011-06-29 01:08:45.000000000 -0600
|
|
Orion Poplawski |
b703dcb |
+++ gdcm-2.0.18/Examples/Cxx/CMakeLists.txt 2011-11-02 09:33:12.023845136 -0600
|
|
Orion Poplawski |
b703dcb |
@@ -107,7 +107,7 @@ ENDIF(GDCM_BUILD_TESTING)
|
|
Orion Poplawski |
b703dcb |
FOREACH(example ${EXAMPLES_SRCS})
|
|
Orion Poplawski |
b703dcb |
ADD_EXECUTABLE(${example} ${example}.cxx)
|
|
Orion Poplawski |
b703dcb |
IF(${example} STREQUAL "FixJAIBugJPEGLS")
|
|
Orion Poplawski |
b703dcb |
- TARGET_LINK_LIBRARIES(${example} gdcmMSFF gdcmcharls)
|
|
Orion Poplawski |
b703dcb |
+ TARGET_LINK_LIBRARIES(${example} gdcmMSFF ${GDCM_CHARLS_LIBRARIES})
|
|
Orion Poplawski |
b703dcb |
ELSE()
|
|
Orion Poplawski |
b703dcb |
TARGET_LINK_LIBRARIES(${example} gdcmMSFF)
|
|
Orion Poplawski |
b703dcb |
ENDIF()
|
|
Orion Poplawski |
0ae9dc7 |
diff -up gdcm-2.0.18/Examples/Cxx/FixJAIBugJPEGLS.cxx.charls gdcm-2.0.18/Examples/Cxx/FixJAIBugJPEGLS.cxx
|
|
Orion Poplawski |
0ae9dc7 |
--- gdcm-2.0.18/Examples/Cxx/FixJAIBugJPEGLS.cxx.charls 2011-06-29 01:08:45.000000000 -0600
|
|
Orion Poplawski |
b2fed2e |
+++ gdcm-2.0.18/Examples/Cxx/FixJAIBugJPEGLS.cxx 2011-11-02 09:15:59.630494712 -0600
|
|
Orion Poplawski |
0ae9dc7 |
@@ -17,8 +17,7 @@
|
|
Orion Poplawski |
0ae9dc7 |
|
|
Orion Poplawski |
0ae9dc7 |
#include <fstream>
|
|
Orion Poplawski |
0ae9dc7 |
|
|
Orion Poplawski |
0ae9dc7 |
-#include "gdcmcharls/stdafx.h"
|
|
Orion Poplawski |
0ae9dc7 |
-#include "gdcmcharls/interface.h"
|
|
Orion Poplawski |
0ae9dc7 |
+#include "gdcm_charls.h"
|
|
Orion Poplawski |
0ae9dc7 |
|
|
Orion Poplawski |
0ae9dc7 |
/*
|
|
Orion Poplawski |
0ae9dc7 |
* This small example should show how one can handle the famous JAI-JPEGLS bug
|
|
Orion Poplawski |
c2ef216 |
@@ -67,7 +66,11 @@ int main(int argc, char *argv[])
|
|
Orion Poplawski |
c2ef216 |
char *buffer = &vbuffer[0];
|
|
Orion Poplawski |
c2ef216 |
sf->GetBuffer(buffer, totalLen);
|
|
Orion Poplawski |
c2ef216 |
|
|
Orion Poplawski |
c2ef216 |
+#ifdef GDCM_USE_SYSTEM_CHARLS
|
|
Orion Poplawski |
c2ef216 |
+ JlsParameters metadata;
|
|
Orion Poplawski |
c2ef216 |
+#else
|
|
Orion Poplawski |
c2ef216 |
JlsParamaters metadata;
|
|
Orion Poplawski |
c2ef216 |
+#endif
|
|
Orion Poplawski |
c2ef216 |
if (JpegLsReadHeader(buffer, totalLen, &metadata) != OK)
|
|
Orion Poplawski |
c2ef216 |
{
|
|
Orion Poplawski |
c2ef216 |
std::cerr << "Cant parse jpegls" << std::endl;
|
|
Orion Poplawski |
b2fed2e |
@@ -156,15 +159,24 @@ int main(int argc, char *argv[])
|
|
Orion Poplawski |
c2ef216 |
const char *pbyteCompressed = &vbuffer[0];
|
|
Orion Poplawski |
c2ef216 |
unsigned int cbyteCompressed = vbuffer.size(); // updated legnth
|
|
Orion Poplawski |
c2ef216 |
|
|
Orion Poplawski |
c2ef216 |
+#ifdef GDCM_USE_SYSTEM_CHARLS
|
|
Orion Poplawski |
c2ef216 |
+ JlsParameters params = {0};
|
|
Orion Poplawski |
c2ef216 |
+#else
|
|
Orion Poplawski |
c2ef216 |
JlsParamaters params = {0};
|
|
Orion Poplawski |
c2ef216 |
+#endif
|
|
Orion Poplawski |
c2ef216 |
JpegLsReadHeader(pbyteCompressed, cbyteCompressed, ¶ms);
|
|
Orion Poplawski |
c2ef216 |
|
|
Orion Poplawski |
c2ef216 |
std::vector<BYTE> rgbyteOut;
|
|
Orion Poplawski |
b2fed2e |
//rgbyteOut.resize( image.GetBufferLength() );
|
|
Orion Poplawski |
b2fed2e |
rgbyteOut.resize(params.height *params.width * ((params.bitspersample + 7) / 8) * params.components);
|
|
Orion Poplawski |
b2fed2e |
|
|
Orion Poplawski |
b2fed2e |
+#ifdef GDCM_USE_SYSTEM_CHARLS
|
|
Orion Poplawski |
b2fed2e |
+ JLS_ERROR result =
|
|
Orion Poplawski |
b2fed2e |
+ JpegLsDecode(&rgbyteOut[0], rgbyteOut.size(), pbyteCompressed, cbyteCompressed, ¶ms );
|
|
Orion Poplawski |
b2fed2e |
+#else
|
|
Orion Poplawski |
b2fed2e |
JLS_ERROR result =
|
|
Orion Poplawski |
b2fed2e |
JpegLsDecode(&rgbyteOut[0], rgbyteOut.size(), pbyteCompressed, cbyteCompressed );
|
|
Orion Poplawski |
b2fed2e |
+#endif
|
|
Orion Poplawski |
b2fed2e |
if (result != OK)
|
|
Orion Poplawski |
b2fed2e |
{
|
|
Orion Poplawski |
b2fed2e |
std::cerr << "Could not patch JAI-JPEGLS" << std::endl;
|