15
12
typedef struct _SchroMotionField SchroMotionField;
16
13
typedef struct _SchroMotion SchroMotion;
17
14
typedef struct _SchroMotionScan SchroMotionScan;
18
typedef struct _SchroMotionFuncs SchroMotionFuncs;
20
16
#ifdef SCHRO_ENABLE_UNSTABLE_API
21
17
struct _SchroMotionVector {
43
38
SchroMotionVector *motion_vectors;
46
struct _SchroMotionFuncs {
47
OrcProgram *block_accumulate;
48
OrcProgram *block_accumulate_scaled;
49
OrcProgram *block_accumulate_dc;
50
OrcProgram *block_accumulate_avg;
51
OrcProgram *block_accumulate_biref;
54
41
struct _SchroMotion {
55
42
SchroUpsampledFrame *src1;
56
43
SchroUpsampledFrame *src2;
96
80
void schro_motion_free (SchroMotion *motion);
98
82
int schro_motion_verify (SchroMotion *mf);
99
void schro_motion_render_ref (SchroMotion *motion, SchroFrame *dest,
100
SchroFrame *addframe, int add, SchroFrame *output_frame);
101
void schro_motion_render (SchroMotion *motion, SchroFrame *dest,
102
SchroFrame *addframe, int add, SchroFrame *output_frame);
83
void schro_motion_render_ref (SchroMotion *motion, SchroFrame *dest);
84
void schro_motion_render (SchroMotion *motion, SchroFrame *dest);
103
85
void schro_motion_init_obmc_weight (SchroMotion *motion);
105
void schro_motion_render_fast (SchroMotion *motion, SchroFrame *dest,
106
SchroFrame *addframe, int add, SchroFrame *output_frame);
87
void schro_motion_render_fast (SchroMotion *motion, SchroFrame *dest);
107
88
int schro_motion_render_fast_allowed (SchroMotion *motion);
109
void schro_mf_vector_prediction (SchroMotionField* mf,
110
int x, int y, int *pred_x, int *pred_y, int mode);
112
90
void schro_motion_vector_prediction (SchroMotion *motion,
113
91
int x, int y, int *pred_x, int *pred_y, int mode);
114
92
int schro_motion_split_prediction (SchroMotion *motion, int x, int y);