00001
00002 #ifndef _MOT_UTIL_H_
00003 #define _MOT_UTIL_H_
00004
00005 #include "limits.h"
00006 #include "momusys.h"
00007
00008
00009
00010
00011 #define DEFAULT_8_WIN 1.0f
00012
00013 #define B_SIZE 8
00014
00015
00016 #define MV_MAX_ERROR 0x2000000
00017
00018
00019
00020 typedef struct pixpoint
00021 {
00022 Int x;
00023 Int y;
00024 } PixPoint;
00025
00026 #define EHUFF struct Modified_Encoder_Huffman
00027
00028 EHUFF
00029 {
00030 Int n;
00031 Int *Hlen;
00032 Int *Hcode;
00033 };
00034
00035 #define MVLEN(x,y) (ABS(x) + ABS(y))
00036
00037 #include "mom_structs.h"
00038 #include "vm_common_defs.h"
00039
00040
00041 #ifdef __cplusplus
00042 extern "C" {
00043 #endif
00044
00045 Void InterpolateImage _P_(( Image *input_image,
00046 Image *output_image,
00047 Int rounding_control
00048 ));
00049 Int GetMotionImages _P_(( Image *imv16_w,
00050 Image *imv16_h,
00051 Image *imv8_w,
00052 Image *imv8_h,
00053 Image *imode16,
00054 Image **mv_x,
00055 Image **mv_y,
00056 Image **mode
00057 ));
00058 Int ChooseMode _P_(( SInt *curr,
00059 Int x_pos,
00060 Int y_pos,
00061 Int min_SAD,
00062 UInt width
00063 ));
00064 Int SAD_Macroblock _P_(( SInt *ii,
00065 SInt *act_block,
00066 UInt h_length,
00067 Int Min_FRAME
00068 ));
00069 Int SAD_Block _P_(( SInt *ii,
00070 SInt *act_block,
00071 UInt h_length,
00072 Int min_sofar
00073 ));
00074 Void LoadArea _P_(( SInt *im,
00075 Int x,
00076 Int y,
00077 Int x_size,
00078 Int y_size,
00079 Int lx,
00080 SInt *block
00081 ));
00082 Void SetArea _P_(( SInt *block,
00083 Int x,
00084 Int y,
00085 Int x_size,
00086 Int y_size,
00087 Int lx,
00088 SInt *im
00089 ));
00090
00091 #ifdef __cplusplus
00092 }
00093 #endif
00094
00095
00096 #endif