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

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. #ifndef _MOT_UTIL_H_
  2. #define _MOT_UTIL_H_
  3. #include "limits.h"
  4. #include "momusys.h"
  5. /* search window for the 8x8 block MV; [-DEFAULT_8_WIN;DEFAULT_8_WIN] pixels
  6.    arround the 16x16 motion vector */
  7. //#define DEFAULT_8_WIN    2.0
  8. #define DEFAULT_8_WIN    1.0f
  9. #define B_SIZE           8
  10. /* big value, returned if the MV is not good enought (2^25) */
  11. #define MV_MAX_ERROR    0x2000000
  12. /* Point structure */
  13. typedef struct pixpoint
  14.   {
  15.   Int x;
  16.   Int y;
  17.   } PixPoint;
  18. #define EHUFF struct Modified_Encoder_Huffman
  19. EHUFF
  20. {
  21.   Int n;
  22.   Int *Hlen;
  23.   Int *Hcode;
  24. };
  25. #define  MVLEN(x,y)  (ABS(x) + ABS(y))
  26. #include "mom_structs.h"
  27. #include "vm_common_defs.h"
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif /* __cplusplus */
  31. Void   InterpolateImage _P_(( Image *input_image,
  32. Image *output_image,
  33. Int rounding_control
  34. ));
  35. Int   GetMotionImages _P_(( Image *imv16_w,
  36. Image *imv16_h,
  37. Image *imv8_w,
  38. Image *imv8_h,
  39. Image *imode16,
  40. Image **mv_x,
  41. Image **mv_y,
  42. Image **mode
  43. ));
  44. Int   ChooseMode _P_(( SInt *curr,
  45. Int x_pos,
  46. Int y_pos,
  47. Int min_SAD,
  48. UInt width
  49. ));
  50. Int   SAD_Macroblock _P_(( SInt *ii,
  51. SInt *act_block,
  52. UInt h_length,
  53. Int Min_FRAME
  54. ));
  55. Int   SAD_Block _P_(( SInt *ii,
  56. SInt *act_block,
  57. UInt h_length,
  58. Int min_sofar
  59. ));
  60. Void  LoadArea _P_(( SInt *im,
  61. Int x,
  62. Int y,
  63. Int x_size,
  64. Int y_size,
  65. Int lx,
  66. SInt *block
  67. ));
  68. Void   SetArea _P_(( SInt *block,
  69. Int x,
  70. Int y,
  71. Int x_size,
  72. Int y_size,
  73. Int lx,
  74. SInt *im
  75. ));
  76. #ifdef __cplusplus
  77. }
  78. #endif /* __cplusplus  */ 
  79. #endif /* _MOT_UTIL_H_ */