summaryrefslogtreecommitdiff
path: root/gpr/source/lib/dng_sdk/dng_bottlenecks.h
diff options
context:
space:
mode:
Diffstat (limited to 'gpr/source/lib/dng_sdk/dng_bottlenecks.h')
-rw-r--r--gpr/source/lib/dng_sdk/dng_bottlenecks.h1715
1 files changed, 1715 insertions, 0 deletions
diff --git a/gpr/source/lib/dng_sdk/dng_bottlenecks.h b/gpr/source/lib/dng_sdk/dng_bottlenecks.h
new file mode 100644
index 0000000..ff8cbb0
--- /dev/null
+++ b/gpr/source/lib/dng_sdk/dng_bottlenecks.h
@@ -0,0 +1,1715 @@
+/*****************************************************************************/
+// Copyright 2006-2007 Adobe Systems Incorporated
+// All Rights Reserved.
+//
+// NOTICE: Adobe permits you to use, modify, and distribute this file in
+// accordance with the terms of the Adobe license agreement accompanying it.
+/*****************************************************************************/
+
+/* $Id: //mondo/dng_sdk_1_4/dng_sdk/source/dng_bottlenecks.h#1 $ */
+/* $DateTime: 2012/05/30 13:28:51 $ */
+/* $Change: 832332 $ */
+/* $Author: tknoll $ */
+
+/** \file
+ * Indirection mechanism for performance-critical routines that might be replaced
+ * with hand-optimized or hardware-specific implementations.
+ */
+
+/*****************************************************************************/
+
+#ifndef __dng_bottlenecks__
+#define __dng_bottlenecks__
+
+/*****************************************************************************/
+
+#include "dng_classes.h"
+#include "dng_types.h"
+
+/*****************************************************************************/
+
+typedef void (ZeroBytesProc)
+ (void *dPtr,
+ uint32 count);
+
+typedef void (CopyBytesProc)
+ (const void *sPtr,
+ void *dPtr,
+ uint32 count);
+
+/*****************************************************************************/
+
+typedef void (SwapBytes16Proc)
+ (uint16 *dPtr,
+ uint32 count);
+
+typedef void (SwapBytes32Proc)
+ (uint32 *dPtr,
+ uint32 count);
+
+/*****************************************************************************/
+
+typedef void (SetArea8Proc)
+ (uint8 *dPtr,
+ uint8 value,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 rowStep,
+ int32 colStep,
+ int32 planeStep);
+
+typedef void (SetArea16Proc)
+ (uint16 *dPtr,
+ uint16 value,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 rowStep,
+ int32 colStep,
+ int32 planeStep);
+
+typedef void (SetArea32Proc)
+ (uint32 *dPtr,
+ uint32 value,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 rowStep,
+ int32 colStep,
+ int32 planeStep);
+
+/*****************************************************************************/
+
+typedef void (CopyArea8Proc)
+ (const uint8 *sPtr,
+ uint8 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep);
+
+typedef void (CopyArea16Proc)
+ (const uint16 *sPtr,
+ uint16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep);
+
+typedef void (CopyArea32Proc)
+ (const uint32 *sPtr,
+ uint32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep);
+
+typedef void (CopyArea8_16Proc)
+ (const uint8 *sPtr,
+ uint16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep);
+
+typedef void (CopyArea8_S16Proc)
+ (const uint8 *sPtr,
+ int16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep);
+
+typedef void (CopyArea8_32Proc)
+ (const uint8 *sPtr,
+ uint32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep);
+
+typedef void (CopyArea16_S16Proc)
+ (const uint16 *sPtr,
+ int16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep);
+
+typedef void (CopyArea16_32Proc)
+ (const uint16 *sPtr,
+ uint32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep);
+
+typedef void (CopyArea8_R32Proc)
+ (const uint8 *sPtr,
+ real32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep,
+ uint32 pixelRange);
+
+typedef void (CopyArea16_R32Proc)
+ (const uint16 *sPtr,
+ real32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep,
+ uint32 pixelRange);
+
+typedef void (CopyAreaS16_R32Proc)
+ (const int16 *sPtr,
+ real32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep,
+ uint32 pixelRange);
+
+typedef void (CopyAreaR32_8Proc)
+ (const real32 *sPtr,
+ uint8 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep,
+ uint32 pixelRange);
+
+typedef void (CopyAreaR32_16Proc)
+ (const real32 *sPtr,
+ uint16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep,
+ uint32 pixelRange);
+
+typedef void (CopyAreaR32_S16Proc)
+ (const real32 *sPtr,
+ int16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep,
+ uint32 pixelRange);
+
+/*****************************************************************************/
+
+typedef void (RepeatArea8Proc)
+ (const uint8 *sPtr,
+ uint8 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 rowStep,
+ int32 colStep,
+ int32 planeStep,
+ uint32 repeatV,
+ uint32 repeatH,
+ uint32 phaseV,
+ uint32 phaseH);
+
+typedef void (RepeatArea16Proc)
+ (const uint16 *sPtr,
+ uint16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 rowStep,
+ int32 colStep,
+ int32 planeStep,
+ uint32 repeatV,
+ uint32 repeatH,
+ uint32 phaseV,
+ uint32 phaseH);
+
+typedef void (RepeatArea32Proc)
+ (const uint32 *sPtr,
+ uint32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 rowStep,
+ int32 colStep,
+ int32 planeStep,
+ uint32 repeatV,
+ uint32 repeatH,
+ uint32 phaseV,
+ uint32 phaseH);
+
+/*****************************************************************************/
+
+typedef void (ShiftRight16Proc)
+ (uint16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 rowStep,
+ int32 colStep,
+ int32 planeStep,
+ uint32 shift);
+
+/*****************************************************************************/
+
+typedef void (BilinearRow16Proc)
+ (const uint16 *sPtr,
+ uint16 *dPtr,
+ uint32 cols,
+ uint32 patPhase,
+ uint32 patCount,
+ const uint32 * kernCounts,
+ const int32 * const * kernOffsets,
+ const uint16 * const * kernWeights,
+ uint32 sShift);
+
+typedef void (BilinearRow32Proc)
+ (const real32 *sPtr,
+ real32 *dPtr,
+ uint32 cols,
+ uint32 patPhase,
+ uint32 patCount,
+ const uint32 * kernCounts,
+ const int32 * const * kernOffsets,
+ const real32 * const * kernWeights,
+ uint32 sShift);
+
+/*****************************************************************************/
+
+typedef void (BaselineABCtoRGBProc)
+ (const real32 *sPtrA,
+ const real32 *sPtrB,
+ const real32 *sPtrC,
+ real32 *dPtrR,
+ real32 *dPtrG,
+ real32 *dPtrB,
+ uint32 count,
+ const dng_vector &cameraWhite,
+ const dng_matrix &cameraToRGB);
+
+typedef void (BaselineABCDtoRGBProc)
+ (const real32 *sPtrA,
+ const real32 *sPtrB,
+ const real32 *sPtrC,
+ const real32 *sPtrD,
+ real32 *dPtrR,
+ real32 *dPtrG,
+ real32 *dPtrB,
+ uint32 count,
+ const dng_vector &cameraWhite,
+ const dng_matrix &cameraToRGB);
+
+/*****************************************************************************/
+
+typedef void (BaselineHueSatMapProc)
+ (const real32 *sPtrR,
+ const real32 *sPtrG,
+ const real32 *sPtrB,
+ real32 *dPtrR,
+ real32 *dPtrG,
+ real32 *dPtrB,
+ uint32 count,
+ const dng_hue_sat_map &lut,
+ const dng_1d_table *encodeTable,
+ const dng_1d_table *decodeTable);
+
+/*****************************************************************************/
+
+typedef void (BaselineGrayToRGBProc)
+ (const real32 *sPtrR,
+ const real32 *sPtrG,
+ const real32 *sPtrB,
+ real32 *dPtrG,
+ uint32 count,
+ const dng_matrix &matrix);
+
+typedef void (BaselineRGBtoRGBProc)
+ (const real32 *sPtrR,
+ const real32 *sPtrG,
+ const real32 *sPtrB,
+ real32 *dPtrR,
+ real32 *dPtrG,
+ real32 *dPtrB,
+ uint32 count,
+ const dng_matrix &matrix);
+
+/*****************************************************************************/
+
+typedef void (Baseline1DTableProc)
+ (const real32 *sPtr,
+ real32 *dPtr,
+ uint32 count,
+ const dng_1d_table &table);
+
+/*****************************************************************************/
+
+typedef void (BaselineRGBToneProc)
+ (const real32 *sPtrR,
+ const real32 *sPtrG,
+ const real32 *sPtrB,
+ real32 *dPtrR,
+ real32 *dPtrG,
+ real32 *dPtrB,
+ uint32 count,
+ const dng_1d_table &table);
+
+/*****************************************************************************/
+
+typedef void (ResampleDown16Proc)
+ (const uint16 *sPtr,
+ uint16 *dPtr,
+ uint32 sCount,
+ int32 sRowStep,
+ const int16 *wPtr,
+ uint32 wCount,
+ uint32 pixelRange);
+
+typedef void (ResampleDown32Proc)
+ (const real32 *sPtr,
+ real32 *dPtr,
+ uint32 sCount,
+ int32 sRowStep,
+ const real32 *wPtr,
+ uint32 wCount);
+
+/*****************************************************************************/
+
+typedef void (ResampleAcross16Proc)
+ (const uint16 *sPtr,
+ uint16 *dPtr,
+ uint32 dCount,
+ const int32 *coord,
+ const int16 *wPtr,
+ uint32 wCount,
+ uint32 wStep,
+ uint32 pixelRange);
+
+typedef void (ResampleAcross32Proc)
+ (const real32 *sPtr,
+ real32 *dPtr,
+ uint32 dCount,
+ const int32 *coord,
+ const real32 *wPtr,
+ uint32 wCount,
+ uint32 wStep);
+
+/*****************************************************************************/
+
+typedef bool (EqualBytesProc)
+ (const void *sPtr,
+ const void *dPtr,
+ uint32 count);
+
+typedef bool (EqualArea8Proc)
+ (const uint8 *sPtr,
+ const uint8 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep);
+
+typedef bool (EqualArea16Proc)
+ (const uint16 *sPtr,
+ const uint16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep);
+
+typedef bool (EqualArea32Proc)
+ (const uint32 *sPtr,
+ const uint32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep);
+
+/*****************************************************************************/
+
+typedef void (VignetteMask16Proc)
+ (uint16 *mPtr,
+ uint32 rows,
+ uint32 cols,
+ int32 rowStep,
+ int64 offsetH,
+ int64 offsetV,
+ int64 stepH,
+ int64 stepV,
+ uint32 tBits,
+ const uint16 *table);
+
+typedef void (Vignette16Proc)
+ (int16 *sPtr,
+ const uint16 *mPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sPlaneStep,
+ int32 mRowStep,
+ uint32 mBits);
+
+/*****************************************************************************/
+
+typedef void (Vignette32Proc)
+ (real32 *sPtr,
+ const uint16 *mPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sPlaneStep,
+ int32 mRowStep,
+ uint32 mBits);
+
+/*****************************************************************************/
+
+typedef void (MapArea16Proc)
+ (uint16 *dPtr,
+ uint32 count0,
+ uint32 count1,
+ uint32 count2,
+ int32 step0,
+ int32 step1,
+ int32 step2,
+ const uint16 *map);
+
+/*****************************************************************************/
+
+struct dng_suite
+ {
+ ZeroBytesProc *ZeroBytes;
+ CopyBytesProc *CopyBytes;
+ SwapBytes16Proc *SwapBytes16;
+ SwapBytes32Proc *SwapBytes32;
+ SetArea8Proc *SetArea8;
+ SetArea16Proc *SetArea16;
+ SetArea32Proc *SetArea32;
+ CopyArea8Proc *CopyArea8;
+ CopyArea16Proc *CopyArea16;
+ CopyArea32Proc *CopyArea32;
+ CopyArea8_16Proc *CopyArea8_16;
+ CopyArea8_S16Proc *CopyArea8_S16;
+ CopyArea8_32Proc *CopyArea8_32;
+ CopyArea16_S16Proc *CopyArea16_S16;
+ CopyArea16_32Proc *CopyArea16_32;
+ CopyArea8_R32Proc *CopyArea8_R32;
+ CopyArea16_R32Proc *CopyArea16_R32;
+ CopyAreaS16_R32Proc *CopyAreaS16_R32;
+ CopyAreaR32_8Proc *CopyAreaR32_8;
+ CopyAreaR32_16Proc *CopyAreaR32_16;
+ CopyAreaR32_S16Proc *CopyAreaR32_S16;
+ RepeatArea8Proc *RepeatArea8;
+ RepeatArea16Proc *RepeatArea16;
+ RepeatArea32Proc *RepeatArea32;
+ ShiftRight16Proc *ShiftRight16;
+ BilinearRow16Proc *BilinearRow16;
+ BilinearRow32Proc *BilinearRow32;
+ BaselineABCtoRGBProc *BaselineABCtoRGB;
+ BaselineABCDtoRGBProc *BaselineABCDtoRGB;
+ BaselineHueSatMapProc *BaselineHueSatMap;
+ BaselineGrayToRGBProc *BaselineRGBtoGray;
+ BaselineRGBtoRGBProc *BaselineRGBtoRGB;
+ Baseline1DTableProc *Baseline1DTable;
+ BaselineRGBToneProc *BaselineRGBTone;
+ ResampleDown16Proc *ResampleDown16;
+ ResampleDown32Proc *ResampleDown32;
+ ResampleAcross16Proc *ResampleAcross16;
+ ResampleAcross32Proc *ResampleAcross32;
+ EqualBytesProc *EqualBytes;
+ EqualArea8Proc *EqualArea8;
+ EqualArea16Proc *EqualArea16;
+ EqualArea32Proc *EqualArea32;
+ VignetteMask16Proc *VignetteMask16;
+ Vignette16Proc *Vignette16;
+ Vignette32Proc *Vignette32;
+ MapArea16Proc *MapArea16;
+ };
+
+/*****************************************************************************/
+
+extern dng_suite gDNGSuite;
+
+/*****************************************************************************/
+
+inline void DoZeroBytes (void *dPtr,
+ uint32 count)
+ {
+
+ (gDNGSuite.ZeroBytes) (dPtr,
+ count);
+
+ }
+
+inline void DoCopyBytes (const void *sPtr,
+ void *dPtr,
+ uint32 count)
+ {
+
+ (gDNGSuite.CopyBytes) (sPtr,
+ dPtr,
+ count);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoSwapBytes16 (uint16 *dPtr,
+ uint32 count)
+ {
+
+ (gDNGSuite.SwapBytes16) (dPtr,
+ count);
+
+ }
+
+inline void DoSwapBytes32 (uint32 *dPtr,
+ uint32 count)
+ {
+
+ (gDNGSuite.SwapBytes32) (dPtr,
+ count);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoSetArea8 (uint8 *dPtr,
+ uint8 value,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 rowStep,
+ int32 colStep,
+ int32 planeStep)
+ {
+
+ (gDNGSuite.SetArea8) (dPtr,
+ value,
+ rows,
+ cols,
+ planes,
+ rowStep,
+ colStep,
+ planeStep);
+
+ }
+
+inline void DoSetArea16 (uint16 *dPtr,
+ uint16 value,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 rowStep,
+ int32 colStep,
+ int32 planeStep)
+ {
+
+ (gDNGSuite.SetArea16) (dPtr,
+ value,
+ rows,
+ cols,
+ planes,
+ rowStep,
+ colStep,
+ planeStep);
+
+ }
+
+inline void DoSetArea32 (uint32 *dPtr,
+ uint32 value,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 rowStep,
+ int32 colStep,
+ int32 planeStep)
+ {
+
+ (gDNGSuite.SetArea32) (dPtr,
+ value,
+ rows,
+ cols,
+ planes,
+ rowStep,
+ colStep,
+ planeStep);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoCopyArea8 (const uint8 *sPtr,
+ uint8 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep)
+ {
+
+ (gDNGSuite.CopyArea8) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep);
+
+ }
+
+inline void DoCopyArea16 (const uint16 *sPtr,
+ uint16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep)
+ {
+
+ (gDNGSuite.CopyArea16) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep);
+
+ }
+
+inline void DoCopyArea32 (const uint32 *sPtr,
+ uint32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep)
+ {
+
+ (gDNGSuite.CopyArea32) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep);
+
+ }
+
+inline void DoCopyArea8_16 (const uint8 *sPtr,
+ uint16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep)
+ {
+
+ (gDNGSuite.CopyArea8_16) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep);
+
+ }
+
+inline void DoCopyArea8_S16 (const uint8 *sPtr,
+ int16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep)
+ {
+
+ (gDNGSuite.CopyArea8_S16) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep);
+
+ }
+
+inline void DoCopyArea8_32 (const uint8 *sPtr,
+ uint32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep)
+ {
+
+ (gDNGSuite.CopyArea8_32) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep);
+
+ }
+
+inline void DoCopyArea16_S16 (const uint16 *sPtr,
+ int16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep)
+ {
+
+ (gDNGSuite.CopyArea16_S16) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep);
+
+ }
+
+inline void DoCopyArea16_32 (const uint16 *sPtr,
+ uint32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep)
+ {
+
+ (gDNGSuite.CopyArea16_32) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep);
+
+ }
+
+inline void DoCopyArea8_R32 (const uint8 *sPtr,
+ real32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep,
+ uint32 pixelRange)
+ {
+
+ (gDNGSuite.CopyArea8_R32) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep,
+ pixelRange);
+
+ }
+
+inline void DoCopyArea16_R32 (const uint16 *sPtr,
+ real32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep,
+ uint32 pixelRange)
+ {
+
+ (gDNGSuite.CopyArea16_R32) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep,
+ pixelRange);
+
+ }
+
+inline void DoCopyAreaS16_R32 (const int16 *sPtr,
+ real32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep,
+ uint32 pixelRange)
+ {
+
+ (gDNGSuite.CopyAreaS16_R32) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep,
+ pixelRange);
+
+ }
+
+inline void DoCopyAreaR32_8 (const real32 *sPtr,
+ uint8 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep,
+ uint32 pixelRange)
+ {
+
+ (gDNGSuite.CopyAreaR32_8) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep,
+ pixelRange);
+
+ }
+
+inline void DoCopyAreaR32_16 (const real32 *sPtr,
+ uint16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep,
+ uint32 pixelRange)
+ {
+
+ (gDNGSuite.CopyAreaR32_16) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep,
+ pixelRange);
+
+ }
+
+inline void DoCopyAreaR32_S16 (const real32 *sPtr,
+ int16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep,
+ uint32 pixelRange)
+ {
+
+ (gDNGSuite.CopyAreaR32_S16) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep,
+ pixelRange);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoRepeatArea8 (const uint8 *sPtr,
+ uint8 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 rowStep,
+ int32 colStep,
+ int32 planeStep,
+ uint32 repeatV,
+ uint32 repeatH,
+ uint32 phaseV,
+ uint32 phaseH)
+ {
+
+ (gDNGSuite.RepeatArea8) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ rowStep,
+ colStep,
+ planeStep,
+ repeatV,
+ repeatH,
+ phaseV,
+ phaseH);
+
+ }
+
+inline void DoRepeatArea16 (const uint16 *sPtr,
+ uint16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 rowStep,
+ int32 colStep,
+ int32 planeStep,
+ uint32 repeatV,
+ uint32 repeatH,
+ uint32 phaseV,
+ uint32 phaseH)
+ {
+
+ (gDNGSuite.RepeatArea16) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ rowStep,
+ colStep,
+ planeStep,
+ repeatV,
+ repeatH,
+ phaseV,
+ phaseH);
+
+ }
+
+inline void DoRepeatArea32 (const uint32 *sPtr,
+ uint32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 rowStep,
+ int32 colStep,
+ int32 planeStep,
+ uint32 repeatV,
+ uint32 repeatH,
+ uint32 phaseV,
+ uint32 phaseH)
+ {
+
+ (gDNGSuite.RepeatArea32) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ rowStep,
+ colStep,
+ planeStep,
+ repeatV,
+ repeatH,
+ phaseV,
+ phaseH);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoShiftRight16 (uint16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 rowStep,
+ int32 colStep,
+ int32 planeStep,
+ uint32 shift)
+ {
+
+ (gDNGSuite.ShiftRight16) (dPtr,
+ rows,
+ cols,
+ planes,
+ rowStep,
+ colStep,
+ planeStep,
+ shift);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoBilinearRow16 (const uint16 *sPtr,
+ uint16 *dPtr,
+ uint32 cols,
+ uint32 patPhase,
+ uint32 patCount,
+ const uint32 * kernCounts,
+ const int32 * const * kernOffsets,
+ const uint16 * const * kernWeights,
+ uint32 sShift)
+ {
+
+ (gDNGSuite.BilinearRow16) (sPtr,
+ dPtr,
+ cols,
+ patPhase,
+ patCount,
+ kernCounts,
+ kernOffsets,
+ kernWeights,
+ sShift);
+
+ }
+
+inline void DoBilinearRow32 (const real32 *sPtr,
+ real32 *dPtr,
+ uint32 cols,
+ uint32 patPhase,
+ uint32 patCount,
+ const uint32 * kernCounts,
+ const int32 * const * kernOffsets,
+ const real32 * const * kernWeights,
+ uint32 sShift)
+ {
+
+ (gDNGSuite.BilinearRow32) (sPtr,
+ dPtr,
+ cols,
+ patPhase,
+ patCount,
+ kernCounts,
+ kernOffsets,
+ kernWeights,
+ sShift);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoBaselineABCtoRGB (const real32 *sPtrA,
+ const real32 *sPtrB,
+ const real32 *sPtrC,
+ real32 *dPtrR,
+ real32 *dPtrG,
+ real32 *dPtrB,
+ uint32 count,
+ const dng_vector &cameraWhite,
+ const dng_matrix &cameraToRGB)
+ {
+
+ (gDNGSuite.BaselineABCtoRGB) (sPtrA,
+ sPtrB,
+ sPtrC,
+ dPtrR,
+ dPtrG,
+ dPtrB,
+ count,
+ cameraWhite,
+ cameraToRGB);
+
+ }
+
+inline void DoBaselineABCDtoRGB (const real32 *sPtrA,
+ const real32 *sPtrB,
+ const real32 *sPtrC,
+ const real32 *sPtrD,
+ real32 *dPtrR,
+ real32 *dPtrG,
+ real32 *dPtrB,
+ uint32 count,
+ const dng_vector &cameraWhite,
+ const dng_matrix &cameraToRGB)
+ {
+
+ (gDNGSuite.BaselineABCDtoRGB) (sPtrA,
+ sPtrB,
+ sPtrC,
+ sPtrD,
+ dPtrR,
+ dPtrG,
+ dPtrB,
+ count,
+ cameraWhite,
+ cameraToRGB);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoBaselineHueSatMap (const real32 *sPtrR,
+ const real32 *sPtrG,
+ const real32 *sPtrB,
+ real32 *dPtrR,
+ real32 *dPtrG,
+ real32 *dPtrB,
+ uint32 count,
+ const dng_hue_sat_map &lut,
+ const dng_1d_table *encodeTable,
+ const dng_1d_table *decodeTable)
+ {
+
+ (gDNGSuite.BaselineHueSatMap) (sPtrR,
+ sPtrG,
+ sPtrB,
+ dPtrR,
+ dPtrG,
+ dPtrB,
+ count,
+ lut,
+ encodeTable,
+ decodeTable);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoBaselineRGBtoGray (const real32 *sPtrR,
+ const real32 *sPtrG,
+ const real32 *sPtrB,
+ real32 *dPtrG,
+ uint32 count,
+ const dng_matrix &matrix)
+ {
+
+ (gDNGSuite.BaselineRGBtoGray) (sPtrR,
+ sPtrG,
+ sPtrB,
+ dPtrG,
+ count,
+ matrix);
+
+ }
+
+inline void DoBaselineRGBtoRGB (const real32 *sPtrR,
+ const real32 *sPtrG,
+ const real32 *sPtrB,
+ real32 *dPtrR,
+ real32 *dPtrG,
+ real32 *dPtrB,
+ uint32 count,
+ const dng_matrix &matrix)
+ {
+
+ (gDNGSuite.BaselineRGBtoRGB) (sPtrR,
+ sPtrG,
+ sPtrB,
+ dPtrR,
+ dPtrG,
+ dPtrB,
+ count,
+ matrix);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoBaseline1DTable (const real32 *sPtr,
+ real32 *dPtr,
+ uint32 count,
+ const dng_1d_table &table)
+ {
+
+ (gDNGSuite.Baseline1DTable) (sPtr,
+ dPtr,
+ count,
+ table);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoBaselineRGBTone (const real32 *sPtrR,
+ const real32 *sPtrG,
+ const real32 *sPtrB,
+ real32 *dPtrR,
+ real32 *dPtrG,
+ real32 *dPtrB,
+ uint32 count,
+ const dng_1d_table &table)
+ {
+
+ (gDNGSuite.BaselineRGBTone) (sPtrR,
+ sPtrG,
+ sPtrB,
+ dPtrR,
+ dPtrG,
+ dPtrB,
+ count,
+ table);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoResampleDown16 (const uint16 *sPtr,
+ uint16 *dPtr,
+ uint32 sCount,
+ int32 sRowStep,
+ const int16 *wPtr,
+ uint32 wCount,
+ uint32 pixelRange)
+ {
+
+ (gDNGSuite.ResampleDown16) (sPtr,
+ dPtr,
+ sCount,
+ sRowStep,
+ wPtr,
+ wCount,
+ pixelRange);
+
+ }
+
+inline void DoResampleDown32 (const real32 *sPtr,
+ real32 *dPtr,
+ uint32 sCount,
+ int32 sRowStep,
+ const real32 *wPtr,
+ uint32 wCount)
+ {
+
+ (gDNGSuite.ResampleDown32) (sPtr,
+ dPtr,
+ sCount,
+ sRowStep,
+ wPtr,
+ wCount);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoResampleAcross16 (const uint16 *sPtr,
+ uint16 *dPtr,
+ uint32 dCount,
+ const int32 *coord,
+ const int16 *wPtr,
+ uint32 wCount,
+ uint32 wStep,
+ uint32 pixelRange)
+ {
+
+ (gDNGSuite.ResampleAcross16) (sPtr,
+ dPtr,
+ dCount,
+ coord,
+ wPtr,
+ wCount,
+ wStep,
+ pixelRange);
+
+ }
+
+inline void DoResampleAcross32 (const real32 *sPtr,
+ real32 *dPtr,
+ uint32 dCount,
+ const int32 *coord,
+ const real32 *wPtr,
+ uint32 wCount,
+ uint32 wStep)
+ {
+
+ (gDNGSuite.ResampleAcross32) (sPtr,
+ dPtr,
+ dCount,
+ coord,
+ wPtr,
+ wCount,
+ wStep);
+
+ }
+
+/*****************************************************************************/
+
+inline bool DoEqualBytes (const void *sPtr,
+ const void *dPtr,
+ uint32 count)
+ {
+
+ return (gDNGSuite.EqualBytes) (sPtr,
+ dPtr,
+ count);
+
+ }
+
+inline bool DoEqualArea8 (const uint8 *sPtr,
+ const uint8 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep)
+ {
+
+ return (gDNGSuite.EqualArea8) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep);
+
+ }
+
+inline bool DoEqualArea16 (const uint16 *sPtr,
+ const uint16 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep)
+ {
+
+ return (gDNGSuite.EqualArea16) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep);
+
+ }
+
+inline bool DoEqualArea32 (const uint32 *sPtr,
+ const uint32 *dPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sColStep,
+ int32 sPlaneStep,
+ int32 dRowStep,
+ int32 dColStep,
+ int32 dPlaneStep)
+ {
+
+ return (gDNGSuite.EqualArea32) (sPtr,
+ dPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sColStep,
+ sPlaneStep,
+ dRowStep,
+ dColStep,
+ dPlaneStep);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoVignetteMask16 (uint16 *mPtr,
+ uint32 rows,
+ uint32 cols,
+ int32 rowStep,
+ int64 offsetH,
+ int64 offsetV,
+ int64 stepH,
+ int64 stepV,
+ uint32 tBits,
+ const uint16 *table)
+ {
+
+ (gDNGSuite.VignetteMask16) (mPtr,
+ rows,
+ cols,
+ rowStep,
+ offsetH,
+ offsetV,
+ stepH,
+ stepV,
+ tBits,
+ table);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoVignette16 (int16 *sPtr,
+ const uint16 *mPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sPlaneStep,
+ int32 mRowStep,
+ uint32 mBits)
+ {
+
+ (gDNGSuite.Vignette16) (sPtr,
+ mPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sPlaneStep,
+ mRowStep,
+ mBits);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoVignette32 (real32 *sPtr,
+ const uint16 *mPtr,
+ uint32 rows,
+ uint32 cols,
+ uint32 planes,
+ int32 sRowStep,
+ int32 sPlaneStep,
+ int32 mRowStep,
+ uint32 mBits)
+ {
+
+ (gDNGSuite.Vignette32) (sPtr,
+ mPtr,
+ rows,
+ cols,
+ planes,
+ sRowStep,
+ sPlaneStep,
+ mRowStep,
+ mBits);
+
+ }
+
+/*****************************************************************************/
+
+inline void DoMapArea16 (uint16 *dPtr,
+ uint32 count0,
+ uint32 count1,
+ uint32 count2,
+ int32 step0,
+ int32 step1,
+ int32 step2,
+ const uint16 *map)
+ {
+
+ (gDNGSuite.MapArea16) (dPtr,
+ count0,
+ count1,
+ count2,
+ step0,
+ step1,
+ step2,
+ map);
+
+ }
+
+/*****************************************************************************/
+
+#endif
+
+/*****************************************************************************/