This file is indexed.

/usr/include/schroedinger-1.0/schroedinger/schrometric.h is in libschroedinger-dev 1.0.11-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#ifndef SCHRO_METRIC_H
#define SCHRO_METRIC_H

#include <schroedinger/schroutils.h>
#include <schroedinger/schroframe.h>
#include <limits.h>

SCHRO_BEGIN_DECLS

typedef struct _SchroMetricScan SchroMetricScan;
typedef struct _SchroMetricInfo SchroMetricInfo;

#ifdef SCHRO_ENABLE_UNSTABLE_API

#define SCHRO_LIMIT_METRIC_SCAN 42

struct _SchroMetricInfo {
  SchroFrame *frame;
  SchroFrame *ref_frame;

  int block_width[3];
  int block_height[3];
  int h_shift[3];
  int v_shift[3];

  int (*metric) (SchroMetricInfo *info, int ref_x, int ref_y,
      int dx, int dy);
  int (*metric_right) (SchroMetricInfo *info, int ref_x, int ref_y,
      int dx, int dy);
  int (*metric_bottom) (SchroMetricInfo *info, int ref_x, int ref_y,
      int dx, int dy);
  int (*metric_corner) (SchroMetricInfo *info, int ref_x, int ref_y,
      int dx, int dy);

};

struct _SchroMetricScan {
  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];
};

#define SCHRO_METRIC_INVALID INT_MAX

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);

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);

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_info_init (SchroMetricInfo *info, SchroFrame *frame,
    SchroFrame *ref_frame, int block_width, int block_height);

int schro_metric_fast_block (SchroMetricInfo *info, int x, int y,
    int dx, int dy);
int schro_metric_fast_subsuperblock (SchroMetricInfo *info, int x, int y,
    int dx, int dy);
int schro_metric_fast_superblock (SchroMetricInfo *info, int x, int y,
    int dx, int dy);


#endif

SCHRO_END_DECLS

#endif