text: /*
   * Copyright 1993-2014 NVIDIA Corporation.  All rights reserved.
   *
   * Please refer to the NVIDIA end user license agreement (EULA) associated
   * with this source code for terms and conditions that govern your use of
   * this software. Any use, reproduction, disclosure, or distribution of
   * this software and related documentation outside the terms of the EULA
   * is strictly prohibited.
   *
   */
  
  #ifndef __SOBELFILTER_KERNELS_H_
  #define __SOBELFILTER_KERNELS_H_
  
  typedef unsigned char Pixel;
  
  // global determines which filter to invoke
  enum SobelDisplayMode
  {
      SOBELDISPLAY_IMAGE = 0,
      SOBELDISPLAY_SOBELTEX,
      SOBELDISPLAY_SOBELSHARED
  };
  
  // Enums to set up the function table
  // note: if you change these be sure to recompile those files
  // that include this header or ensure the .h is in the
  // dependencies for the related object files
  enum POINT_ENUM
  {
      SOBEL_FILTER=0,
      BOX_FILTER,
      LAST_POINT_FILTER
  };
  
  enum BLOCK_ENUM
  {
      THRESHOLD_FILTER = 0,
      NULL_FILTER,
      LAST_BLOCK_FILTER
  };
  
  extern enum SobelDisplayMode g_SobelDisplayMode;
  
  extern "C" void sobelFilter(Pixel *odata, int iw, int ih, enum SobelDisplayMode mode, float fScale, int blockOperation, int pointOperation);
  extern "C" void setupTexture(int iw, int ih, Pixel *data, int Bpp);
  extern "C" void deleteTexture(void);
  extern "C" void initFilter(void);
  void setupFunctionTables();
  
  #endif
  
  