compat/cuda: fix ulong size on cygwin
authorTimo Rothenpieler <timo@rothenpieler.org>
Mon, 27 Feb 2017 22:57:42 +0000 (23:57 +0100)
committerTimo Rothenpieler <timo@rothenpieler.org>
Wed, 1 Mar 2017 11:08:34 +0000 (12:08 +0100)
compat/cuda/dynlink_cuviddec.h
compat/cuda/dynlink_nvcuvid.h

index 9ff2741..4d23764 100644 (file)
 extern "C" {
 #endif /* __cplusplus */
 
+#if defined(__CYGWIN__)
+typedef unsigned int tcu_ulong;
+#else
+typedef unsigned long tcu_ulong;
+#endif
+
 typedef void *CUvideodecoder;
 typedef struct _CUcontextlock_st *CUvideoctxlock;
 
@@ -125,14 +131,14 @@ typedef enum cudaVideoCreateFlags_enum {
  */
 typedef struct _CUVIDDECODECREATEINFO
 {
-    unsigned long ulWidth;              /**< Coded Sequence Width */
-    unsigned long ulHeight;             /**< Coded Sequence Height */
-    unsigned long ulNumDecodeSurfaces;  /**< Maximum number of internal decode surfaces */
+    tcu_ulong ulWidth;                  /**< Coded Sequence Width */
+    tcu_ulong ulHeight;                 /**< Coded Sequence Height */
+    tcu_ulong ulNumDecodeSurfaces;      /**< Maximum number of internal decode surfaces */
     cudaVideoCodec CodecType;           /**< cudaVideoCodec_XXX */
     cudaVideoChromaFormat ChromaFormat; /**< cudaVideoChromaFormat_XXX (only 4:2:0 is currently supported) */
-    unsigned long ulCreationFlags;      /**< Decoder creation flags (cudaVideoCreateFlags_XXX) */
-    unsigned long bitDepthMinus8;
-    unsigned long Reserved1[4];         /**< Reserved for future use - set to zero */
+    tcu_ulong ulCreationFlags;          /**< Decoder creation flags (cudaVideoCreateFlags_XXX) */
+    tcu_ulong bitDepthMinus8;
+    tcu_ulong Reserved1[4];             /**< Reserved for future use - set to zero */
     /**
     * area of the frame that should be displayed
     */
@@ -145,9 +151,9 @@ typedef struct _CUVIDDECODECREATEINFO
 
     cudaVideoSurfaceFormat OutputFormat;       /**< cudaVideoSurfaceFormat_XXX */
     cudaVideoDeinterlaceMode DeinterlaceMode;  /**< cudaVideoDeinterlaceMode_XXX */
-    unsigned long ulTargetWidth;               /**< Post-processed Output Width (Should be aligned to 2) */
-    unsigned long ulTargetHeight;              /**< Post-processed Output Height (Should be aligbed to 2) */
-    unsigned long ulNumOutputSurfaces;         /**< Maximum number of output surfaces simultaneously mapped */
+    tcu_ulong ulTargetWidth;                   /**< Post-processed Output Width (Should be aligned to 2) */
+    tcu_ulong ulTargetHeight;                  /**< Post-processed Output Height (Should be aligbed to 2) */
+    tcu_ulong ulNumOutputSurfaces;             /**< Maximum number of output surfaces simultaneously mapped */
     CUvideoctxlock vidLock;                    /**< If non-NULL, context lock used for synchronizing ownership of the cuda context */
     /**
     * target rectangle in the output frame (for aspect ratio conversion)
@@ -159,7 +165,7 @@ typedef struct _CUVIDDECODECREATEINFO
         short right;
         short bottom;
     } target_rect;
-    unsigned long Reserved2[5];                /**< Reserved for future use - set to zero */
+    tcu_ulong Reserved2[5];                    /**< Reserved for future use - set to zero */
 } CUVIDDECODECREATEINFO;
 
 /*!
index 6c197e0..53e0a7b 100644 (file)
@@ -173,8 +173,8 @@ typedef enum {
  */
 typedef struct _CUVIDSOURCEDATAPACKET
 {
-    unsigned long flags;            /**< Combination of CUVID_PKT_XXX flags */
-    unsigned long payload_size;     /**< number of bytes in the payload (may be zero if EOS flag is set) */
+    tcu_ulong flags;                /**< Combination of CUVID_PKT_XXX flags */
+    tcu_ulong payload_size;         /**< number of bytes in the payload (may be zero if EOS flag is set) */
     const unsigned char *payload;   /**< Pointer to packet payload data (may be NULL if EOS flag is set) */
     CUvideotimestamp timestamp;     /**< Presentation timestamp (10MHz clock), only valid if CUVID_PKT_TIMESTAMP flag is set */
 } CUVIDSOURCEDATAPACKET;