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