![]() |
![]() |
![]() |
Schroedinger Reference Manual | ![]() |
---|---|---|---|---|
SchroMetricScan; #define SCHRO_METRIC_INVALID int schro_metric_absdiff_u8 (uint8_t *a, int a_stride, uint8_t *b, int b_stride, int width, int height); int schro_metric_haar (uint8_t *src1, int stride1, uint8_t *src2, int stride2, int width, int height); int schro_metric_haar_const (uint8_t *data, int stride, int dc_value, int width, int height); int schro_metric_abssum_s16 (int16_t *data, int stride, int width, int height); int schro_metric_sum_u8 (uint8_t *data, int stride, int width, int height); int schro_metric_get (SchroFrameData *src1, SchroFrameData *src2, int width, int height); int schro_metric_get_biref (SchroFrameData *fd, SchroFrameData *src1, int weight1, SchroFrameData *src2, int weight2, int shift, int width, int height); int schro_metric_get_dc (SchroFrameData *src, int value, int width, int height); void schro_metric_scan_do_scan (SchroMetricScan *scan); int schro_metric_scan_get_min (SchroMetricScan *scan, int *dx, int *dy, uint32_t *chroma_metric); void schro_metric_scan_setup (SchroMetricScan *scan, int dx, int dy, int dist, int use_chroma);
typedef struct { SchroFrame *frame; SchroFrame *ref_frame; int block_width; int block_height; int x, y; int ref_x, ref_y; int scan_width; int scan_height; int gravity_scale; int gravity_x, gravity_y; int use_chroma; /* output */ uint32_t metrics[SCHRO_LIMIT_METRIC_SCAN*SCHRO_LIMIT_METRIC_SCAN]; uint32_t chroma_metrics[SCHRO_LIMIT_METRIC_SCAN*SCHRO_LIMIT_METRIC_SCAN]; } SchroMetricScan;
int schro_metric_absdiff_u8 (uint8_t *a, int a_stride, uint8_t *b, int b_stride, int width, int height);
a : |
|
a_stride : |
|
b : |
|
b_stride : |
|
width : |
|
height : |
|
Returns : |
int schro_metric_haar (uint8_t *src1, int stride1, uint8_t *src2, int stride2, int width, int height);
src1 : |
|
stride1 : |
|
src2 : |
|
stride2 : |
|
width : |
|
height : |
|
Returns : |
int schro_metric_haar_const (uint8_t *data, int stride, int dc_value, int width, int height);
data : |
|
stride : |
|
dc_value : |
|
width : |
|
height : |
|
Returns : |
int schro_metric_abssum_s16 (int16_t *data, int stride, int width, int height);
data : |
|
stride : |
|
width : |
|
height : |
|
Returns : |
int schro_metric_sum_u8 (uint8_t *data, int stride, int width, int height);
data : |
|
stride : |
|
width : |
|
height : |
|
Returns : |
int schro_metric_get (SchroFrameData *src1, SchroFrameData *src2, int width, int height);
src1 : |
|
src2 : |
|
width : |
|
height : |
|
Returns : |
int schro_metric_get_biref (SchroFrameData *fd, SchroFrameData *src1, int weight1, SchroFrameData *src2, int weight2, int shift, int width, int height);
fd : |
|
src1 : |
|
weight1 : |
|
src2 : |
|
weight2 : |
|
shift : |
|
width : |
|
height : |
|
Returns : |
int schro_metric_get_dc (SchroFrameData *src, int value, int width, int height);
src : |
|
value : |
|
width : |
|
height : |
|
Returns : |
int schro_metric_scan_get_min (SchroMetricScan *scan, int *dx, int *dy, uint32_t *chroma_metric);
scan : |
|
dx : |
|
dy : |
|
chroma_metric : |
|
Returns : |
void schro_metric_scan_setup (SchroMetricScan *scan, int dx, int dy, int dist, int use_chroma);
scan : |
|
dx : |
|
dy : |
|
dist : |
|
use_chroma : |