def.h
上传用户:panstart
上传日期:2022-04-12
资源大小:199k
文件大小:5k
源码类别:

IP电话/视频会议

开发平台:

C++ Builder

  1. ////////////////////////////////////////////////////////////////////////////
  2. //
  3. //
  4. //    Project     : VideoNet version 1.1.
  5. //    Description : Peer to Peer Video Conferencing over the LAN.
  6. //   Author      : Nagareshwar Y Talekar ( nsry2002@yahoo.co.in)
  7. //    Date        : 15-6-2004.
  8. //
  9. //    I have converted origional fast h.263 encoder library from C to C++ 
  10. //   so that it can be integrated into any windows application easily.
  11. //   I have removed some of unnecessary codes/files from the
  12. //   fast h263 library.Also moved definitions and declarations
  13. //   in their proper .h and .cpp files.
  14. //
  15. //    File description : 
  16. //    Name    : def.h
  17. //
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #if !defined _DEF_H
  21. #define _DEF_H
  22. #include <stdio.h>
  23. #include <stdlib.h>
  24. #include <string.h>
  25. #include <limits.h>
  26. #include <assert.h>
  27. #include <sys/types.h>
  28. // Simple macros....for mathematical function...
  29. #define sign(a)   ((a) < 0 ? -1 : 1)
  30. #define Int(a)          ((a) < 0 ? (int)(a-0.5) : (int)(a))
  31. #define mnint(a) ((a) < 0 ? (int)(a - 0.5) : (int)(a + 0.5))
  32. #define mfloor(a)       ((a) < 0 ? (int)(a - 0.5) : (int)(a))
  33. #define mmax(a, b)   ((a) > (b) ? (a) : (b))
  34. #define mmin(a, b)   ((a) < (b) ? (a) : (b))
  35. #define limit(x) 
  36.     if (x > 255) x = 255; 
  37.     if (x <   0)   x = 0; 
  38. }
  39. /* This should not be changed */
  40. #define MB_SIZE 16
  41. /* Compression parameter structure */
  42. #define CPARAM_INTER TRUE
  43. #define CPARAM_INTRA FALSE
  44. #define CPARAM_EXHAUSTIVE TRUE
  45. #define CPARAM_LOGARITHMIC FALSE
  46. #define CPARAM_ADVANCED TRUE
  47. #define CPARAM_NOADVANCED FALSE
  48. #define CPARAM_QCIF 0
  49. #define CPARAM_CIF 1
  50. #define CPARAM_4CIF 2
  51. #define CPARAM_16CIF 3
  52. #define CPARAM_SQCIF 4
  53. #define CPARAM_OTHER 99
  54. #define CPARAM_DEFAULT_INTER_Q 8
  55. #define CPARAM_DEFAULT_INTRA_Q 8
  56. #define CPARAM_DEFAULT_SEARCHWINDOW 3
  57. #define CPARAM_DEFAULT_INTER CPARAM_INTRA
  58. #define CPARAM_DEFAULT_SEARCH_METHOD CPARAM_LOGARITHMIC
  59. #define CPARAM_DEFAULT_ADVANCED_METHOD CPARAM_NOADVANCED
  60. #define CPARAM_DEFAULT_FORMAT CPARAM_QCIF
  61. /* Definitions for AVA */
  62. #define XTILESIZE 8
  63. #define YTILESIZE 8
  64. #define QCIF_YWIDTH 176
  65. #define QCIF_YHEIGHT 144
  66. #define QCIF_UWIDTH 88
  67. #define QCIF_UHEIGHT 72
  68. #define QCIF_VWIDTH 88
  69. #define QCIF_VHEIGHT 72
  70. #define QCIFXTILES 22
  71. #define QCIFYTILES 18
  72. #define SQCIF_YWIDTH 128
  73. #define SQCIF_YHEIGHT 96
  74. #define SQCIFXTILES 16
  75. #define SQCIFYTILES 12
  76. #define CIF4_YWIDTH 704
  77. #define CIF4_YHEIGHT 576
  78. #define CIF16_YWIDTH 1408
  79. #define CIF16_YHEIGHT 1152
  80. #define CIF_YWIDTH 352
  81. #define CIF_YHEIGHT 288
  82. #define CIF_UWIDTH 176
  83. #define CIF_UHEIGHT 144
  84. #define CIF_VWIDTH 176
  85. #define CIF_VHEIGHT 144
  86. #define CIFXTILES 44
  87. #define CIFYTILES 36
  88. #define YES 1
  89. #define NO 0
  90. #define DEF_UMV_MODE   NO
  91. #define DEF_SAC_MODE   NO
  92. #define DEF_ADV_MODE   NO
  93. #define DEF_PBF_MODE   NO
  94. #define DEF_ORIG_SKIP      0
  95. #define DEF_FRAMESKIP      2   
  96. /* headerlength on concatenated 4:1:1 YUV input file */
  97. #define DEF_HEADERLENGTH   0
  98. /* insert sync after each DEF_INSERT_SYNC for increased error robustness
  99.  * 0 means do not insert extra syncs */
  100. #define DEF_INSERT_SYNC   0
  101. /* Parameters from TMN */
  102. #define PREF_NULL_VEC 100
  103. #define PREF_16_VEC 200
  104. #define PREF_PBDELTA_NULL_VEC 50
  105. #define PSC 1
  106. #define PSC_LENGTH 17
  107. #define ESCAPE                          7167
  108. #define PCT_INTER                       1
  109. #define PCT_INTRA                       0
  110. #define ON                              1
  111. #define OFF                             0
  112. #define SF_SQCIF                        1  /* 001 */
  113. #define SF_QCIF                         2  /* 010 */
  114. #define SF_CIF                          3  /* 011 */
  115. #define SF_4CIF                         4  /* 100 */
  116. #define SF_16CIF                        5  /* 101 */
  117. #define MODE_INTER                      0
  118. #define MODE_INTER_Q                    1
  119. #define MODE_INTER4V                    2
  120. #define MODE_INTRA                      3
  121. #define MODE_INTRA_Q                    4
  122. #define MODE_SKIP 5 /* Created by Roalt */
  123. #define PBMODE_NORMAL                   0
  124. #define PBMODE_MVDB                     1
  125. #define PBMODE_CBPB_MVDB                2
  126. #define NO_VEC                          999
  127. /* added by Roalt */
  128. #define DEF_SPIRAL_SEARCH 0
  129. #define DEF_LOGARITHMIC_SEARCH 1
  130. #define DEF_WRITE_TRACE   NO
  131. #ifndef FALSE
  132. #define FALSE (0)
  133. #endif
  134. #ifndef TRUE
  135. #define TRUE (1)
  136. #endif
  137. #ifndef FASTIDCT
  138. /* global declarations for idctref */
  139. void init_idctref (void);
  140. void idctref (int *coeff, int *block);
  141. #endif
  142. #ifdef VERYFASTIDCT
  143. void init_idct(void);
  144. #endif
  145. #endif