schropredict

schropredict

Synopsis




#define             SCHRO_PREDICTION_LIST_LENGTH
#define             SCHRO_PREDICTION_METRIC_INVALID
                    SchroPredictionVector;
                    SchroPredictionList;
void                schro_encoder_motion_predict        (SchroEncoderTask *task);
void                schro_prediction_list_init          (SchroPredictionList *pred);
void                schro_prediction_list_insert        (SchroPredictionList *pred,
                                                         SchroPredictionVector *vec);
void                schro_prediction_list_scan          (SchroPredictionList *list,
                                                         SchroFrame *frame,
                                                         SchroFrame *ref,
                                                         int refnum,
                                                         int x,
                                                         int y,
                                                         int dx,
                                                         int dy,
                                                         int dist);
void                schro_encoder_global_prediction     (SchroEncoderTask *task);
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,
                                                         SchroFrame *frame,
                                                         SchroFrame *ref,
                                                         int dist);
void                schro_motion_field_inherit          (SchroMotionField *field,
                                                         SchroMotionField *parent);
void                schro_motion_field_copy             (SchroMotionField *field,
                                                         SchroMotionField *parent);
void                schro_motion_field_global_prediction
                                                        (SchroMotionField *mf,
                                                         SchroGlobalMotion *gm);

Description

Details

SCHRO_PREDICTION_LIST_LENGTH

#define SCHRO_PREDICTION_LIST_LENGTH 10


SCHRO_PREDICTION_METRIC_INVALID

#define SCHRO_PREDICTION_METRIC_INVALID (-1)


SchroPredictionVector

typedef struct {
  unsigned int pred_mode : 2;
  unsigned int using_global : 1;
  unsigned int split : 2;
  unsigned int common : 1;
  uint8_t dc[3];
  int16_t dx;
  int16_t dy;
  int metric;
  int cost;
} SchroPredictionVector;


SchroPredictionList

typedef struct {
  SchroPredictionVector vectors[SCHRO_PREDICTION_LIST_LENGTH];
} SchroPredictionList;


schro_encoder_motion_predict ()

void                schro_encoder_motion_predict        (SchroEncoderTask *task);

task :


schro_prediction_list_init ()

void                schro_prediction_list_init          (SchroPredictionList *pred);

pred :


schro_prediction_list_insert ()

void                schro_prediction_list_insert        (SchroPredictionList *pred,
                                                         SchroPredictionVector *vec);

pred :

vec :


schro_prediction_list_scan ()

void                schro_prediction_list_scan          (SchroPredictionList *list,
                                                         SchroFrame *frame,
                                                         SchroFrame *ref,
                                                         int refnum,
                                                         int x,
                                                         int y,
                                                         int dx,
                                                         int dy,
                                                         int dist);

list :

frame :

ref :

refnum :

x :

y :

dx :

dy :

dist :


schro_encoder_global_prediction ()

void                schro_encoder_global_prediction     (SchroEncoderTask *task);

task :


schro_motion_field_new ()

SchroMotionField*   schro_motion_field_new              (int x_num_blocks,
                                                         int y_num_blocks);

x_num_blocks :

y_num_blocks :

Returns :


schro_motion_field_free ()

void                schro_motion_field_free             (SchroMotionField *field);

field :


schro_motion_field_scan ()

void                schro_motion_field_scan             (SchroMotionField *field,
                                                         SchroFrame *frame,
                                                         SchroFrame *ref,
                                                         int dist);

field :

frame :

ref :

dist :


schro_motion_field_inherit ()

void                schro_motion_field_inherit          (SchroMotionField *field,
                                                         SchroMotionField *parent);

field :

parent :


schro_motion_field_copy ()

void                schro_motion_field_copy             (SchroMotionField *field,
                                                         SchroMotionField *parent);

field :

parent :


schro_motion_field_global_prediction ()

void                schro_motion_field_global_prediction
                                                        (SchroMotionField *mf,
                                                         SchroGlobalMotion *gm);

mf :

gm :