momusys.h
上传用户:enenge
上传日期:2007-01-08
资源大小:96k
文件大小:7k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1.                                              /********************************/
  2. #ifndef _MOMUSYS_H_                          /* TO AVOID REENTERING CODE     */
  3.                                              /********************************/
  4.                                              /********************************/
  5. # define _MOMUSYS_H_                   /* NOW IMPOSSIBLE TO REENTER    */
  6.                                              /********************************/
  7. #   include "non_unix.h"
  8.                                              /********************************/
  9. #   if defined(C_ANSI) || defined(__STDC__)  /* IF C ANSI MODE IS SUPPORTED  */
  10. #      define  C_IS_ANSI                     /********************************/
  11. #      define  _C_ANSI_ 
  12. #   endif
  13.                                              /********************************/
  14. #   include <stdio.h>                        /* SURE ALL Def. ARE DEFINED !  */
  15. #   include <stdlib.h>                       /* SURE ALL Def. ARE DEFINED !  */
  16. #   include <math.h>                         /********************************/
  17.                                              /********************************/
  18. #   if defined (SYSV) || defined (__STDC__) 
  19. #      include <string.h>                    /********************************/
  20. #      define bzero(s1, length)             memset(s1, '', length)
  21. #      define bcopy(s1, s2, length)         memcpy(s1, s2  , length)
  22. #      define bcmp(s1, s2, length)          memcmp(s1, s2, length)
  23. #      define memzero(s1, length)           memset(s1, '', length)
  24. #      define index(s1, c)                  strchr(s1, c)
  25. #      define rindex(s1, c)                 strrchr(s1, c)
  26. #   else
  27. #      include <strings.h>
  28. #      define strchr(s1, c)                 index(s1, c)
  29. #      define strrchr(s1, c)                rindex(s1, c)
  30. #      define memcpy(s1, s2 , length)       bcopy(s1, s2, length)
  31. #      define memzero(s1, length)           bzero(s1, length)
  32. #      define memcmp(s1, s2, length)        bcmp(s1, s2, length)
  33. #   endif
  34.                                              /********************************/
  35. #   if !defined(FALSE) || ((FALSE)!= 0)      /* TO AVOID MULTIPLE DEFINE     */
  36. #      define  FALSE           0             /* AND BE SURE FALSE = 0        */
  37. #   endif                                    /********************************/
  38. #   if !defined(TRUE)  || ((TRUE) != 1)      /* TO AVOID MULTIPLE DEFINE     */
  39. #      define  TRUE            1             /* AND BE SURE TRUE = 1         */
  40. #   endif                                    /********************************/
  41. #   ifndef     NULL
  42. #      define  NULL            0
  43. #   endif
  44.                      /**************************************/
  45.                      /**** GENERAL TYPES DEFINITIONS *******/
  46.                      /**************************************/
  47. #define Const const
  48.     typedef void                 Void       ;
  49.     typedef char                 Char       ;
  50.     typedef const    char        C_Char     ;
  51.     typedef unsigned char        Byte       ;
  52.     typedef Const    Byte        C_Byte     ;
  53.     typedef unsigned char        UChar      ;
  54.     typedef Const    UChar       C_UChar    ;
  55.  
  56.     typedef short    int         Short      ;
  57.     typedef short    int         SInt       ;
  58.     typedef unsigned short       UShort     ;
  59.     typedef unsigned short       USInt      ;
  60.     typedef Const    short       C_Short    ;
  61.     typedef Const    short       C_SInt     ;
  62.     typedef Const    UShort      C_UShort   ;
  63.     typedef Const    UShort      C_USInt    ;
  64.     typedef int                  Int        ;
  65.     typedef long     int         LInt       ;
  66.     typedef Const    int         C_Int      ;
  67.     typedef unsigned int         U_Int      ;
  68.     typedef unsigned int         UInt       ;
  69.     typedef unsigned long int    ULInt      ;
  70.     typedef Const    UInt        C_UInt     ;
  71.     typedef float                Float      ;
  72.     typedef Const    float       C_Float    ;
  73.     typedef double               Double     ;
  74.     typedef Const    double      C_Double   ;
  75.     typedef FILE                 File       ;
  76. /* Alternatibe type redefinition */
  77. #if 0
  78.     typedef long            INT32;
  79.     typedef int             INT32;
  80.     typedef short           INT16;
  81.     typedef char            INT8;
  82.     typedef unsigned int    UINT32;
  83.     typedef unsigned short  UINT16;
  84.     typedef unsigned char   UINT8;
  85.  
  86. #   if __STDC__ 
  87.         typedef signed char INT8;
  88. #   else
  89.         typedef char        INT8;
  90. #   endif
  91.     typedef unsigned long   BITS32;
  92.     typedef unsigned short  BITS16;
  93.     typedef unsigned char   BYTE;
  94.     
  95.     typedef unsigned char   BOOL;
  96. #endif
  97.                      /**************************************/
  98.                      /**** GENERAL MACRO DEFINITIONS *******/
  99.                      /**************************************/
  100. #   ifndef MAX
  101. #   define  MAX(a,b)              (((a) > (b)) ? (a) : (b))
  102. #   endif
  103. #   ifndef MIN
  104. #   define  MIN(a,b)              (((a) < (b)) ? (a) : (b))
  105. #   endif
  106. #   define  CLIP(a,i,s)           (((a) > (s)) ? (s) : MAX(a,i))
  107. #   define  INT(a)                ((Int) (floor((Double) a)))
  108. # define MNINT(a)       ((a) < 0 ? (Int)(a - 0.5) : (Int)(a + 0.5))
  109. # define MAX3(x,y,z)         MAX(MAX(x,y),z)
  110. # define MIN3(x,y,z)         MIN(MIN(x,y),z)
  111. # define MEDIAN(x,y,z)      ((x)+(y)+(z)-MAX3(x,y,z)-MIN3(x,y,z))
  112. #   define  POW2(a)               ((a)*(a))
  113. #   define  SQUARE(a)             ((a)*(a))
  114. #   define  POW3(a)               ((a)*(a)*(a))
  115. #   define  CUBE(a)               ((a)*(a)*(a))
  116. #   define  ABS(x)                (((x) < 0) ? -(x) : (x))
  117. #   define  SIGN(x)               (((x) < 0) ? -1 : 1)
  118. #   define  EVEN(a)               ((a) % 2) == 0)
  119. #   define  ODD(a)                ((a) % 2) == 1)
  120. #   define  STRLEN(P_string)      ((P_string==NULL) ? strlen(P_string) : -1)
  121. #   define  TYPE_MALLOC(type,nb) ((type *) malloc(sizeof(type)*nb))
  122. #   define  NEW(type)             ((type *) malloc(sizeof(type)   ))
  123. #define MOMCHECK(a) if ((a) == 0) fprintf(stdout, "MOMCHECK failed in file %s, line %in", __FILE__, __LINE__)
  124.                                              /********************************/
  125. #   ifdef C_IS_ANSI                          /* IF C ANSI MODE IS SUPPORTED  */
  126.                                              /********************************/
  127. #      define _ANSI_ARGS_(argv)   argv       /* MACRO FOR PROTOTYPING        */
  128. #      define _P_(argv)           argv       /* <=> _ANSI_ARGS, BUT SHORTER! */
  129.                                              /********************************/
  130. #   else                                     /* IF C ANSI IS NOT SUPPORTED   */
  131.                                              /********************************/
  132. #      define _ANSI_ARGS_(argv)   ()         /* MACRO FOR PROTOTYPING        */
  133. #      define _P_(argv)           ()         /* <=> _ANSI_ARGS, BUT SHORTER! */
  134.                                              /********************************/
  135. #   endif
  136. #include "mom_structs.h"
  137. #endif /* _MOMUSYS_H_ */                     /* End _MOMUSYS_H_              */
  138.                                              /********************************/