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
93
94
95
96
97
98
99
100
| /*
| * Copyright 2011 The LibYuv Project Authors. All rights reserved.
| *
| * Use of this source code is governed by a BSD-style license
| * that can be found in the LICENSE file in the root of the source
| * tree. An additional intellectual property rights grant can be found
| * in the file PATENTS. All contributing project authors may
| * be found in the AUTHORS file in the root of the source tree.
| */
|
| #ifndef INCLUDE_LIBYUV_COMPARE_H_
| #define INCLUDE_LIBYUV_COMPARE_H_
|
| #include "libyuv/basic_types.h"
|
| #ifdef __cplusplus
| namespace libyuv {
| extern "C" {
| #endif
|
| // Compute a hash for specified memory. Seed of 5381 recommended.
| LIBYUV_API
| uint32 HashDjb2(const uint8* src, uint64 count, uint32 seed);
|
| // Scan an opaque argb image and return fourcc based on alpha offset.
| // Returns FOURCC_ARGB, FOURCC_BGRA, or 0 if unknown.
| LIBYUV_API
| uint32 ARGBDetect(const uint8* argb, int stride_argb, int width, int height);
|
| // Sum Square Error - used to compute Mean Square Error or PSNR.
| LIBYUV_API
| uint64 ComputeSumSquareError(const uint8* src_a, const uint8* src_b, int count);
|
| LIBYUV_API
| uint64 ComputeSumSquareErrorPlane(const uint8* src_a,
| int stride_a,
| const uint8* src_b,
| int stride_b,
| int width,
| int height);
|
| static const int kMaxPsnr = 128;
|
| LIBYUV_API
| double SumSquareErrorToPsnr(uint64 sse, uint64 count);
|
| LIBYUV_API
| double CalcFramePsnr(const uint8* src_a,
| int stride_a,
| const uint8* src_b,
| int stride_b,
| int width,
| int height);
|
| LIBYUV_API
| double I420Psnr(const uint8* src_y_a,
| int stride_y_a,
| const uint8* src_u_a,
| int stride_u_a,
| const uint8* src_v_a,
| int stride_v_a,
| const uint8* src_y_b,
| int stride_y_b,
| const uint8* src_u_b,
| int stride_u_b,
| const uint8* src_v_b,
| int stride_v_b,
| int width,
| int height);
|
| LIBYUV_API
| double CalcFrameSsim(const uint8* src_a,
| int stride_a,
| const uint8* src_b,
| int stride_b,
| int width,
| int height);
|
| LIBYUV_API
| double I420Ssim(const uint8* src_y_a,
| int stride_y_a,
| const uint8* src_u_a,
| int stride_u_a,
| const uint8* src_v_a,
| int stride_v_a,
| const uint8* src_y_b,
| int stride_y_b,
| const uint8* src_u_b,
| int stride_u_b,
| const uint8* src_v_b,
| int stride_v_b,
| int width,
| int height);
|
| #ifdef __cplusplus
| } // extern "C"
| } // namespace libyuv
| #endif
|
| #endif // INCLUDE_LIBYUV_COMPARE_H_
|
|