![]() |
![]() |
![]() |
Schroedinger Reference Manual | ![]() |
---|---|---|---|---|
SchroMotion; #define SCHRO_MOTION_GET_BLOCK (motion,x,y) void schro_motion_dc_prediction (SchroMotion *motion, int x, int y, int *pred); void schro_motion_vector_prediction (SchroMotion *motion, int x, int y, int *pred_x, int *pred_y, int mode); int schro_motion_split_prediction (SchroMotion *motion, int x, int y); int schro_motion_get_mode_prediction (SchroMotion *motion, int x, int y); int schro_motion_block_estimate_entropy (SchroMotion *motion, int i, int j); void schro_motion_copy_from (SchroMotion *motion, int i, int j, SchroBlock *block); void schro_motion_copy_to (SchroMotion *motion, int i, int j, SchroBlock *block); int schro_motion_estimate_entropy (SchroMotion *motion); void schro_motion_field_lshift (SchroMotionField *mf, int n); void schro_motion_free (SchroMotion *motion); int schro_motion_get_global_prediction (SchroMotion *motion, int x, int y); SchroMotion* schro_motion_new (SchroParams *params, SchroUpsampledFrame *ref1, SchroUpsampledFrame *ref2); void schro_motion_render (SchroMotion *motion, SchroFrame *dest, SchroFrame *addframe, int add, SchroFrame *output_frame); void schro_motion_render_cuda (SchroMotion *motion, SchroFrame *dest); void schro_motion_render_ref (SchroMotion *motion, SchroFrame *dest, SchroFrame *addframe, int add, SchroFrame *output_frame); int schro_motion_superblock_estimate_entropy (SchroMotion *motion, int i, int j); int schro_motion_superblock_try_estimate_entropy (SchroMotion *motion, int i, int j, SchroBlock *block); int schro_motion_vector_is_equal (SchroMotionVector *mv1, SchroMotionVector *mv2); SchroMotionField* schro_motion_field_new (int x_num_blocks, int y_num_blocks); void schro_motion_field_free (SchroMotionField *field); void schro_motion_field_scan (SchroMotionField *field, SchroParams *params, SchroFrame *frame, SchroFrame *ref, int dist); void schro_motion_field_inherit (SchroMotionField *field, SchroMotionField *parent); void schro_motion_field_copy (SchroMotionField *field, SchroMotionField *parent); int schro_motion_verify (SchroMotion *mf);
typedef struct { SchroUpsampledFrame *src1; SchroUpsampledFrame *src2; SchroMotionVector *motion_vectors; SchroParams *params; uint8_t *tmpdata; int ref_weight_precision; int ref1_weight; int ref2_weight; int mv_precision; int xoffset; int yoffset; int xbsep; int ybsep; int xblen; int yblen; SchroFrameData block; SchroFrameData alloc_block; SchroFrameData obmc_weight; SchroFrameData alloc_block_ref[2]; SchroFrameData block_ref[2]; int weight_x[SCHRO_LIMIT_BLOCK_SIZE]; int weight_y[SCHRO_LIMIT_BLOCK_SIZE]; int width; int height; int max_fast_x; int max_fast_y; schro_bool simple_weight; schro_bool oneref_noscale; } SchroMotion;
void schro_motion_dc_prediction (SchroMotion *motion, int x, int y, int *pred);
motion : |
|
x : |
|
y : |
|
pred : |
void schro_motion_vector_prediction (SchroMotion *motion, int x, int y, int *pred_x, int *pred_y, int mode);
motion : |
|
x : |
|
y : |
|
pred_x : |
|
pred_y : |
|
mode : |
int schro_motion_split_prediction (SchroMotion *motion, int x, int y);
motion : |
|
x : |
|
y : |
|
Returns : |
int schro_motion_get_mode_prediction (SchroMotion *motion, int x, int y);
motion : |
|
x : |
|
y : |
|
Returns : |
int schro_motion_block_estimate_entropy (SchroMotion *motion, int i, int j);
motion : |
|
i : |
|
j : |
|
Returns : |
void schro_motion_copy_from (SchroMotion *motion, int i, int j, SchroBlock *block);
motion : |
|
i : |
|
j : |
|
block : |
void schro_motion_copy_to (SchroMotion *motion, int i, int j, SchroBlock *block);
motion : |
|
i : |
|
j : |
|
block : |
int schro_motion_estimate_entropy (SchroMotion *motion);
motion : |
|
Returns : |
int schro_motion_get_global_prediction (SchroMotion *motion, int x, int y);
motion : |
|
x : |
|
y : |
|
Returns : |
SchroMotion* schro_motion_new (SchroParams *params, SchroUpsampledFrame *ref1, SchroUpsampledFrame *ref2);
params : |
|
ref1 : |
|
ref2 : |
|
Returns : |
void schro_motion_render (SchroMotion *motion, SchroFrame *dest, SchroFrame *addframe, int add, SchroFrame *output_frame);
motion : |
|
dest : |
|
addframe : |
|
add : |
|
output_frame : |
void schro_motion_render_cuda (SchroMotion *motion, SchroFrame *dest);
motion : |
|
dest : |
void schro_motion_render_ref (SchroMotion *motion, SchroFrame *dest, SchroFrame *addframe, int add, SchroFrame *output_frame);
motion : |
|
dest : |
|
addframe : |
|
add : |
|
output_frame : |
int schro_motion_superblock_estimate_entropy (SchroMotion *motion, int i, int j);
motion : |
|
i : |
|
j : |
|
Returns : |
int schro_motion_superblock_try_estimate_entropy (SchroMotion *motion, int i, int j, SchroBlock *block);
motion : |
|
i : |
|
j : |
|
block : |
|
Returns : |
int schro_motion_vector_is_equal (SchroMotionVector *mv1, SchroMotionVector *mv2);
mv1 : |
|
mv2 : |
|
Returns : |
SchroMotionField* schro_motion_field_new (int x_num_blocks, int y_num_blocks);
x_num_blocks : |
|
y_num_blocks : |
|
Returns : |
void schro_motion_field_scan (SchroMotionField *field, SchroParams *params, SchroFrame *frame, SchroFrame *ref, int dist);
field : |
|
params : |
|
frame : |
|
ref : |
|
dist : |
void schro_motion_field_inherit (SchroMotionField *field, SchroMotionField *parent);
field : |
|
parent : |
void schro_motion_field_copy (SchroMotionField *field, SchroMotionField *parent);
field : |
|
parent : |