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_filter_task.hGo to the documentation of this file.00001 /*****************************************************************************/ 00002 // Copyright 2006 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/workarea/stern/camera_raw/dng_sdk/source/dng_filter_task.h#8 $ */ 00010 /* $DateTime: 2008/10/23 16:21:38 $ */ 00011 /* $Change: 515804 $ */ 00012 /* $Author: stern $ */ 00013 00018 /*****************************************************************************/ 00019 00020 #ifndef __dng_filter_task__ 00021 #define __dng_filter_task__ 00022 00023 /*****************************************************************************/ 00024 00025 #include "dng_area_task.h" 00026 #include "dng_auto_ptr.h" 00027 #include "dng_point.h" 00028 #include "dng_rect.h" 00029 #include "dng_sdk_limits.h" 00030 00031 /*****************************************************************************/ 00032 00034 00035 class dng_filter_task: public dng_area_task 00036 { 00037 00038 protected: 00039 00040 const dng_image &fSrcImage; 00041 00042 dng_image &fDstImage; 00043 00044 uint32 fSrcPlane; 00045 uint32 fSrcPlanes; 00046 uint32 fSrcPixelType; 00047 00048 uint32 fDstPlane; 00049 uint32 fDstPlanes; 00050 uint32 fDstPixelType; 00051 00052 dng_point fSrcRepeat; 00053 00054 AutoPtr<dng_memory_block> fSrcBuffer [kMaxMPThreads]; 00055 AutoPtr<dng_memory_block> fDstBuffer [kMaxMPThreads]; 00056 00057 public: 00058 00062 00063 dng_filter_task (const dng_image &srcImage, 00064 dng_image &dstImage); 00065 00066 virtual ~dng_filter_task (); 00067 00072 00073 virtual dng_rect SrcArea (const dng_rect &dstArea) 00074 { 00075 return dstArea; 00076 } 00077 00082 00083 virtual dng_point SrcTileSize (const dng_point &dstTileSize) 00084 { 00085 return SrcArea (dng_rect (dstTileSize)).Size (); 00086 } 00087 00095 00096 virtual void ProcessArea (uint32 threadIndex, 00097 dng_pixel_buffer &srcBuffer, 00098 dng_pixel_buffer &dstBuffer) = 0; 00099 00105 00106 virtual void Start (uint32 threadCount, 00107 const dng_point &tileSize, 00108 dng_memory_allocator *allocator, 00109 dng_abort_sniffer *sniffer); 00110 00118 00119 virtual void Process (uint32 threadIndex, 00120 const dng_rect &area, 00121 dng_abort_sniffer *sniffer); 00122 00123 }; 00124 00125 /*****************************************************************************/ 00126 00127 #endif 00128 00129 /*****************************************************************************/ |