Author: post
Date: 2012-07-10 00:55:16 +0200 (Tue, 10 Jul 2012)
New Revision: 435

Modified:
   RawSpeed/ArwDecoder.cpp
   RawSpeed/ArwDecoder.h
   RawSpeed/Cr2Decoder.cpp
   RawSpeed/Cr2Decoder.h
   RawSpeed/DngDecoder.cpp
   RawSpeed/DngDecoder.h
   RawSpeed/NefDecoder.cpp
   RawSpeed/NefDecoder.h
   RawSpeed/OrfDecoder.cpp
   RawSpeed/OrfDecoder.h
   RawSpeed/PefDecoder.cpp
   RawSpeed/PefDecoder.h
   RawSpeed/RawDecoder.cpp
   RawSpeed/RawDecoder.h
   RawSpeed/Rw2Decoder.cpp
   RawSpeed/Rw2Decoder.h
   RawSpeed/SrwDecoder.cpp
   RawSpeed/SrwDecoder.h
Log:
Encapsulate Support Check and reading Metadata.

Modified: RawSpeed/ArwDecoder.cpp
===================================================================
--- RawSpeed/ArwDecoder.cpp     2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/ArwDecoder.cpp     2012-07-09 22:55:16 UTC (rev 435)
@@ -172,7 +172,7 @@
   ThrowRDE("Unsupported bit depth");
 }
 
-void ArwDecoder::checkSupport(CameraMetaData *meta) {
+void ArwDecoder::checkSupportInternal(CameraMetaData *meta) {
   vector<TiffIFD*> data = mRootIFD->getIFDsWithTag(MODEL);
   if (data.empty())
     ThrowRDE("ARW Support check: Model name found");
@@ -181,7 +181,7 @@
   this->checkCameraSupported(meta, make, model, "");
 }
 
-void ArwDecoder::decodeMetaData(CameraMetaData *meta) {
+void ArwDecoder::decodeMetaDataInternal(CameraMetaData *meta) {
   //Default
   int iso = 0;
 

Modified: RawSpeed/ArwDecoder.h
===================================================================
--- RawSpeed/ArwDecoder.h       2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/ArwDecoder.h       2012-07-09 22:55:16 UTC (rev 435)
@@ -36,8 +36,8 @@
   ArwDecoder(TiffIFD *rootIFD, FileMap* file);
   virtual ~ArwDecoder(void);
   virtual RawImage decodeRawInternal();
-  virtual void checkSupport(CameraMetaData *meta);
-  virtual void decodeMetaData(CameraMetaData *meta);
+  virtual void checkSupportInternal(CameraMetaData *meta);
+  virtual void decodeMetaDataInternal(CameraMetaData *meta);
   virtual void decodeThreaded(RawDecoderThread* t);
 protected:
   void DecodeARW(ByteStream &input, uint32 w, uint32 h);

Modified: RawSpeed/Cr2Decoder.cpp
===================================================================
--- RawSpeed/Cr2Decoder.cpp     2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/Cr2Decoder.cpp     2012-07-09 22:55:16 UTC (rev 435)
@@ -134,7 +134,7 @@
   return mRaw;
 }
 
-void Cr2Decoder::checkSupport(CameraMetaData *meta) {
+void Cr2Decoder::checkSupportInternal(CameraMetaData *meta) {
   vector<TiffIFD*> data = mRootIFD->getIFDsWithTag(MODEL);
   if (data.empty())
     ThrowRDE("CR2 Support check: Model name found");
@@ -145,7 +145,7 @@
   this->checkCameraSupported(meta, make, model, "");
 }
 
-void Cr2Decoder::decodeMetaData(CameraMetaData *meta) {
+void Cr2Decoder::decodeMetaDataInternal(CameraMetaData *meta) {
   int iso = 0;
   mRaw->cfa.setCFA(CFA_RED, CFA_GREEN, CFA_GREEN2, CFA_BLUE);
   vector<TiffIFD*> data = mRootIFD->getIFDsWithTag(MODEL);

Modified: RawSpeed/Cr2Decoder.h
===================================================================
--- RawSpeed/Cr2Decoder.h       2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/Cr2Decoder.h       2012-07-09 22:55:16 UTC (rev 435)
@@ -34,8 +34,8 @@
 public:
   Cr2Decoder(TiffIFD *rootIFD, FileMap* file);
   virtual RawImage decodeRawInternal();
-  virtual void checkSupport(CameraMetaData *meta);
-  virtual void decodeMetaData(CameraMetaData *meta);
+  virtual void checkSupportInternal(CameraMetaData *meta);
+  virtual void decodeMetaDataInternal(CameraMetaData *meta);
   virtual ~Cr2Decoder(void);
 protected:
   int sraw_coeffs[3];

Modified: RawSpeed/DngDecoder.cpp
===================================================================
--- RawSpeed/DngDecoder.cpp     2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/DngDecoder.cpp     2012-07-09 22:55:16 UTC (rev 435)
@@ -394,10 +394,10 @@
   return mRaw;
 }
 
-void DngDecoder::decodeMetaData(CameraMetaData *meta) {
+void DngDecoder::decodeMetaDataInternal(CameraMetaData *meta) {
 }
 
-void DngDecoder::checkSupport(CameraMetaData *meta) {
+void DngDecoder::checkSupportInternal(CameraMetaData *meta) {
   vector<TiffIFD*> data = mRootIFD->getIFDsWithTag(MODEL);
   if (data.empty())
     ThrowRDE("DNG Support check: Model name found");

Modified: RawSpeed/DngDecoder.h
===================================================================
--- RawSpeed/DngDecoder.h       2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/DngDecoder.h       2012-07-09 22:55:16 UTC (rev 435)
@@ -35,8 +35,8 @@
   DngDecoder(TiffIFD *rootIFD, FileMap* file);
   virtual ~DngDecoder(void);
   virtual RawImage decodeRawInternal();
-  virtual void decodeMetaData(CameraMetaData *meta);
-  virtual void checkSupport(CameraMetaData *meta);
+  virtual void decodeMetaDataInternal(CameraMetaData *meta);
+  virtual void checkSupportInternal(CameraMetaData *meta);
 protected:
   TiffIFD *mRootIFD;
   bool mFixLjpeg;

Modified: RawSpeed/NefDecoder.cpp
===================================================================
--- RawSpeed/NefDecoder.cpp     2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/NefDecoder.cpp     2012-07-09 22:55:16 UTC (rev 435)
@@ -329,7 +329,7 @@
     }*/
 }
 
-void NefDecoder::checkSupport(CameraMetaData *meta) {
+void NefDecoder::checkSupportInternal(CameraMetaData *meta) {
   vector<TiffIFD*> data = mRootIFD->getIFDsWithTag(MODEL);
   if (data.empty())
     ThrowRDE("NEF Support check: Model name found");
@@ -338,7 +338,7 @@
   this->checkCameraSupported(meta, make, model, "");
 }
 
-void NefDecoder::decodeMetaData(CameraMetaData *meta) {
+void NefDecoder::decodeMetaDataInternal(CameraMetaData *meta) {
   int iso = 0;
   mRaw->cfa.setCFA(CFA_RED, CFA_GREEN, CFA_GREEN2, CFA_BLUE);
 

Modified: RawSpeed/NefDecoder.h
===================================================================
--- RawSpeed/NefDecoder.h       2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/NefDecoder.h       2012-07-09 22:55:16 UTC (rev 435)
@@ -38,8 +38,8 @@
   NefDecoder(TiffIFD *rootIFD, FileMap* file);
   virtual ~NefDecoder(void);
   virtual RawImage decodeRawInternal();
-  virtual void decodeMetaData(CameraMetaData *meta);
-  virtual void checkSupport(CameraMetaData *meta);
+  virtual void decodeMetaDataInternal(CameraMetaData *meta);
+  virtual void checkSupportInternal(CameraMetaData *meta);
   TiffIFD *mRootIFD;
 private:
   bool D100IsCompressed(uint32 offset);

Modified: RawSpeed/OrfDecoder.cpp
===================================================================
--- RawSpeed/OrfDecoder.cpp     2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/OrfDecoder.cpp     2012-07-09 22:55:16 UTC (rev 435)
@@ -245,7 +245,7 @@
   }
 }
 
-void OrfDecoder::checkSupport(CameraMetaData *meta) {
+void OrfDecoder::checkSupportInternal(CameraMetaData *meta) {
   vector<TiffIFD*> data = mRootIFD->getIFDsWithTag(MODEL);
   if (data.empty())
     ThrowRDE("ORF Support check: Model name found");
@@ -256,7 +256,7 @@
   this->checkCameraSupported(meta, make, model, "");
 }
 
-void OrfDecoder::decodeMetaData(CameraMetaData *meta) {
+void OrfDecoder::decodeMetaDataInternal(CameraMetaData *meta) {
   int iso = 0;
   mRaw->cfa.setCFA(CFA_RED, CFA_GREEN, CFA_GREEN, CFA_BLUE);
   vector<TiffIFD*> data = mRootIFD->getIFDsWithTag(MODEL);

Modified: RawSpeed/OrfDecoder.h
===================================================================
--- RawSpeed/OrfDecoder.h       2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/OrfDecoder.h       2012-07-09 22:55:16 UTC (rev 435)
@@ -37,8 +37,8 @@
   OrfDecoder(TiffIFD *rootIFD, FileMap* file);
   virtual ~OrfDecoder(void);
   virtual RawImage decodeRawInternal();
-  virtual void decodeMetaData(CameraMetaData *meta);
-  virtual void checkSupport(CameraMetaData *meta);
+  virtual void decodeMetaDataInternal(CameraMetaData *meta);
+  virtual void checkSupportInternal(CameraMetaData *meta);
 private:
   void decodeCompressed(ByteStream& s,uint32 w, uint32 h);
   TiffIFD *mRootIFD;

Modified: RawSpeed/PefDecoder.cpp
===================================================================
--- RawSpeed/PefDecoder.cpp     2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/PefDecoder.cpp     2012-07-09 22:55:16 UTC (rev 435)
@@ -81,7 +81,7 @@
   return mRaw;
 }
 
-void PefDecoder::checkSupport(CameraMetaData *meta) {
+void PefDecoder::checkSupportInternal(CameraMetaData *meta) {
   vector<TiffIFD*> data = mRootIFD->getIFDsWithTag(MODEL);
   if (data.empty())
     ThrowRDE("PEF Support check: Model name found");
@@ -93,7 +93,7 @@
   this->checkCameraSupported(meta, make, model, "");
 }
 
-void PefDecoder::decodeMetaData(CameraMetaData *meta) {
+void PefDecoder::decodeMetaDataInternal(CameraMetaData *meta) {
   int iso = 0;
   mRaw->cfa.setCFA(CFA_RED, CFA_GREEN, CFA_GREEN2, CFA_BLUE);
   vector<TiffIFD*> data = mRootIFD->getIFDsWithTag(MODEL);

Modified: RawSpeed/PefDecoder.h
===================================================================
--- RawSpeed/PefDecoder.h       2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/PefDecoder.h       2012-07-09 22:55:16 UTC (rev 435)
@@ -35,8 +35,8 @@
   PefDecoder(TiffIFD *rootIFD, FileMap* file);
   virtual ~PefDecoder(void);
   virtual RawImage decodeRawInternal();
-  virtual void decodeMetaData(CameraMetaData *meta);
-  virtual void checkSupport(CameraMetaData *meta);
+  virtual void decodeMetaDataInternal(CameraMetaData *meta);
+  virtual void checkSupportInternal(CameraMetaData *meta);
   TiffIFD *mRootIFD;
 };
 

Modified: RawSpeed/RawDecoder.cpp
===================================================================
--- RawSpeed/RawDecoder.cpp     2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/RawDecoder.cpp     2012-07-09 22:55:16 UTC (rev 435)
@@ -315,4 +315,17 @@
   return NULL;
 }
 
+void RawDecoder::decodeMetaData(CameraMetaData *meta)
+{
+  try {
+    return decodeMetaDataInternal(meta);
+  } catch (TiffParserException &e) {
+    ThrowRDE("%s", e.what());
+  } catch (FileIOException &e) {
+    ThrowRDE("%s", e.what());
+  } catch (IOException &e) {
+    ThrowRDE("%s", e.what());
+  }
+}
+
 } // namespace RawSpeed
\ No newline at end of file

Modified: RawSpeed/RawDecoder.h
===================================================================
--- RawSpeed/RawDecoder.h       2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/RawDecoder.h       2012-07-09 22:55:16 UTC (rev 435)
@@ -61,7 +61,7 @@
   /* A RawDecoderException will be thrown if the camera isn't supported */
   /* Unknown cameras does NOT generate any specific feedback */
   /* This function must be overridden by actual decoders */
-  virtual void checkSupport(CameraMetaData *meta) = 0;
+  void checkSupport(CameraMetaData *meta);
 
   /* Attempt to decode the image */
   /* A RawDecoderException will be thrown if the image cannot be decoded, */
@@ -75,7 +75,7 @@
   /* If meta-data is set during load, this function can be empty. */
   /* The image is expected to be cropped after this, but black/whitelevel */
   /* compensation is not expected to be applied to the image */
-  virtual void decodeMetaData(CameraMetaData *meta) = 0;
+  void decodeMetaData(CameraMetaData *meta);
 
   /* Called function for filters that are capable of doing simple 
multi-threaded decode */
   /* The delivered class gives information on what part of the image should be 
decoded. */
@@ -103,6 +103,8 @@
   /* and there will not be any data in the mRaw image. */
   /* This function must be overridden by actual decoders. */
   virtual RawImage decodeRawInternal() = 0;
+  virtual void decodeMetaDataInternal(CameraMetaData *meta) = 0;
+  virtual void checkSupportInternal(CameraMetaData *meta) = 0;
 
   /* Helper function for decoders - splits the image vertically and starts of 
decoder threads */
   /* The function returns when all threads are done */

Modified: RawSpeed/Rw2Decoder.cpp
===================================================================
--- RawSpeed/Rw2Decoder.cpp     2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/Rw2Decoder.cpp     2012-07-09 22:55:16 UTC (rev 435)
@@ -164,7 +164,7 @@
   }
 }
 
-void Rw2Decoder::checkSupport(CameraMetaData *meta) {
+void Rw2Decoder::checkSupportInternal(CameraMetaData *meta) {
   vector<TiffIFD*> data = mRootIFD->getIFDsWithTag(MODEL);
   if (data.empty())
     ThrowRDE("RW2 Support check: Model name found");
@@ -175,7 +175,7 @@
     this->checkCameraSupported(meta, make, model, "");
 }
 
-void Rw2Decoder::decodeMetaData(CameraMetaData *meta) {
+void Rw2Decoder::decodeMetaDataInternal(CameraMetaData *meta) {
   mRaw->cfa.setCFA(CFA_BLUE, CFA_GREEN, CFA_GREEN2, CFA_RED);
   vector<TiffIFD*> data = mRootIFD->getIFDsWithTag(MODEL);
 

Modified: RawSpeed/Rw2Decoder.h
===================================================================
--- RawSpeed/Rw2Decoder.h       2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/Rw2Decoder.h       2012-07-09 22:55:16 UTC (rev 435)
@@ -48,8 +48,8 @@
   Rw2Decoder(TiffIFD *rootIFD, FileMap* file);
   virtual ~Rw2Decoder(void);
   RawImage decodeRawInternal();
-  virtual void decodeMetaData(CameraMetaData *meta);
-  virtual void checkSupport(CameraMetaData *meta);
+  virtual void decodeMetaDataInternal(CameraMetaData *meta);
+  virtual void checkSupportInternal(CameraMetaData *meta);
   TiffIFD *mRootIFD;
 protected:
   virtual void decodeThreaded(RawDecoderThread* t);

Modified: RawSpeed/SrwDecoder.cpp
===================================================================
--- RawSpeed/SrwDecoder.cpp     2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/SrwDecoder.cpp     2012-07-09 22:55:16 UTC (rev 435)
@@ -76,7 +76,7 @@
   return mRaw;
 }
 
-void SrwDecoder::checkSupport(CameraMetaData *meta) {
+void SrwDecoder::checkSupportInternal(CameraMetaData *meta) {
   vector<TiffIFD*> data = mRootIFD->getIFDsWithTag(MODEL);
   if (data.empty())
     ThrowRDE("Srw Support check: Model name found");
@@ -87,7 +87,7 @@
   this->checkCameraSupported(meta, make, model, "");
 }
 
-void SrwDecoder::decodeMetaData(CameraMetaData *meta) {
+void SrwDecoder::decodeMetaDataInternal(CameraMetaData *meta) {
   mRaw->cfa.setCFA(CFA_RED, CFA_GREEN, CFA_GREEN2, CFA_BLUE);
   vector<TiffIFD*> data = mRootIFD->getIFDsWithTag(MODEL);
 

Modified: RawSpeed/SrwDecoder.h
===================================================================
--- RawSpeed/SrwDecoder.h       2012-07-09 22:38:19 UTC (rev 434)
+++ RawSpeed/SrwDecoder.h       2012-07-09 22:55:16 UTC (rev 435)
@@ -37,8 +37,8 @@
   SrwDecoder(TiffIFD *rootIFD, FileMap* file);
   virtual ~SrwDecoder(void);
   virtual RawImage decodeRawInternal();
-  virtual void decodeMetaData(CameraMetaData *meta);
-  virtual void checkSupport(CameraMetaData *meta);
+  virtual void decodeMetaDataInternal(CameraMetaData *meta);
+  virtual void checkSupportInternal(CameraMetaData *meta);
 private:
   TiffIFD *mRootIFD;
 };


_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit

Reply via email to