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