DocumentationOverviewBuilding ASL Documentation Library Wiki Docs Indices Browse Perforce More InfoRelease NotesWiki Site Search License Success Stories Contributors MediaDownloadPerforce Depots SupportASL SourceForge HomeMailing Lists Discussion Forums Report Bugs Suggest Features Contribute to ASL RSSShort-text newsFull-text news File releases Other Adobe ProjectsAdobe AirAdobe GIL Adobe Labs Adobe Media Gallery Adobe XMP Tamarin project (Mozilla Foundation) Other ResourcesBoostRIAForge SGI STL |
dng_mosaic_info.hGo to the documentation of this file.00001 /*****************************************************************************/ 00002 // Copyright 2006-2007 Adobe Systems Incorporated 00003 // All Rights Reserved. 00004 // 00005 // NOTICE: Adobe permits you to use, modify, and distribute this file in 00006 // accordance with the terms of the Adobe license agreement accompanying it. 00007 /*****************************************************************************/ 00008 00009 /* $Id: //mondo/dng_sdk_1_2/dng_sdk/source/dng_mosaic_info.h#1 $ */ 00010 /* $DateTime: 2008/03/09 14:29:54 $ */ 00011 /* $Change: 431850 $ */ 00012 /* $Author: tknoll $ */ 00013 00018 /*****************************************************************************/ 00019 00020 #ifndef __dng_mosaic_info__ 00021 #define __dng_mosaic_info__ 00022 00023 /*****************************************************************************/ 00024 00025 #include "dng_classes.h" 00026 #include "dng_rect.h" 00027 #include "dng_sdk_limits.h" 00028 #include "dng_types.h" 00029 00030 /*****************************************************************************/ 00031 00036 00037 class dng_mosaic_info 00038 { 00039 00040 public: 00041 00043 00044 dng_point fCFAPatternSize; 00045 00047 00048 uint8 fCFAPattern [kMaxCFAPattern] [kMaxCFAPattern]; 00049 00051 00052 uint32 fColorPlanes; 00053 00054 uint8 fCFAPlaneColor [kMaxColorPlanes]; 00055 00063 00064 uint32 fCFALayout; 00065 00074 00075 uint32 fBayerGreenSplit; 00076 00077 protected: 00078 00079 dng_point fSrcSize; 00080 00081 dng_point fCroppedSize; 00082 00083 real64 fAspectRatio; 00084 00085 public: 00086 00087 dng_mosaic_info (); 00088 00089 virtual ~dng_mosaic_info (); 00090 00091 virtual void Parse (dng_host &host, 00092 dng_stream &stream, 00093 dng_info &info); 00094 00095 virtual void PostParse (dng_host &host, 00096 dng_negative &negative); 00097 00100 00101 bool IsColorFilterArray () const 00102 { 00103 return fCFAPatternSize != dng_point (0, 0); 00104 } 00105 00111 00112 virtual bool SetFourColorBayer (); 00113 00118 00119 virtual dng_point FullScale () const; 00120 00127 00128 virtual dng_point DownScale (uint32 minSize, 00129 uint32 prefSize, 00130 real64 cropFactor) const; 00131 00135 00136 virtual dng_point DstSize (const dng_point &downScale) const; 00137 00143 00144 virtual void InterpolateGeneric (dng_host &host, 00145 dng_negative &negative, 00146 const dng_image &srcImage, 00147 dng_image &dstImage, 00148 uint32 srcPlane = 0) const; 00149 00156 00157 virtual void InterpolateFast (dng_host &host, 00158 dng_negative &negative, 00159 const dng_image &srcImage, 00160 dng_image &dstImage, 00161 const dng_point &downScale, 00162 uint32 srcPlane = 0) const; 00163 00170 00171 virtual void Interpolate (dng_host &host, 00172 dng_negative &negative, 00173 const dng_image &srcImage, 00174 dng_image &dstImage, 00175 const dng_point &downScale, 00176 uint32 srcPlane = 0) const; 00177 00178 protected: 00179 00180 virtual bool IsSafeDownScale (const dng_point &downScale) const; 00181 00182 uint32 SizeForDownScale (const dng_point &downScale) const; 00183 00184 virtual bool ValidSizeDownScale (const dng_point &downScale, 00185 uint32 minSize) const; 00186 00187 }; 00188 00189 /*****************************************************************************/ 00190 00191 #endif 00192 00193 /*****************************************************************************/ | |||
