History

postproc/tests: Add test for temporal denoise

Michael Niedermayer committed 1 year ago

Commit 26bbca81 parent 75be6694 files · +461 −0Browse files

Unified · Split

4 files
  1. libpostproc/Makefile +1 −0
  2. libpostproc/tests/temptest.c +120 −0
  3. tests/fate/libpostproc.mak +4 −0
  4. tests/ref/fate/temptest +336 −0
libpostproc/Makefile+1−0
@@ -14,3 +14,4 @@ SHLIBOBJS-$(HAVE_GNU_WINDRES) += postprocres.o · 13 unmodified lines
14 14
15TESTPROGS = blocktest \15TESTPROGS = blocktest \
16 stripetest \16 stripetest \
17 temptest \
libpostproc/tests/temptest.c+120−0
@@ -0,0 +1,120 @@
1/*
2 * Copyright (c) 2025 Michael Niedermayer
3 *
4 * This file is part of FFmpeg.
5 *
6 * FFmpeg is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * FFmpeg is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with FFmpeg; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21#include "libavutil/frame.h"
22#include "libavutil/adler32.h"
23#include "libpostproc/postprocess.h"
24
25typedef const uint8_t *cuint8;
26
27static void stuff(AVFrame *frame, unsigned *state, int mul)
28{
29 for(int y=0; y<frame->height; y++) {
30 for(int x=0; x<frame->width; x++) {
31 *state= *state*1664525+1013904223;
32 frame->data[0][x + y*frame->linesize[0]] = x*x + (y-x)*mul + ((((x+y)&0xFF)* (int64_t)(*state))>>32);
33 }
34 }
35 for(int y=0; y<(frame->height+1)/2; y++) {
36 for(int x=0; x<(frame->width+1)/2; x++) {
37 *state= *state*1664525+1013904223;
38 frame->data[1][x + y*frame->linesize[1]] = x + y + ((mul*(int64_t)(*state))>>32);
39 frame->data[2][x + y*frame->linesize[2]] = mul*x - ((y*x*(int64_t)(*state))>>32);
40 }
41 }
42}
43
44static int64_t chksum(AVFrame *f)
45{
46 AVAdler a = 123;
47
48 for(int y=0; y<f->height; y++) {
49 a = av_adler32_update(a, &f->data[0][y*f->linesize[0]], f->width);
50 }
51 for(int y=0; y<(f->height+1)/2; y++) {
52 a = av_adler32_update(a, &f->data[1][y*f->linesize[1]], (f->width+1)/2);
53 a = av_adler32_update(a, &f->data[2][y*f->linesize[2]], (f->width+1)/2);
54 }
55
56 return a;
57}
58
59static int64_t test(int width, int height, const char *testname, int mul, int flags, int pict_type, int quality) {
60 AVFrame *in = av_frame_alloc();
61 AVFrame *out = av_frame_alloc();
62 pp_context *context = pp_get_context(width, height, flags);
63 pp_mode *mode = pp_get_mode_by_name_and_quality(testname, quality);
64 int64_t ret;
65
66 if (!in || !out || !context || !mode) {
67 ret = AVERROR(ENOMEM);
68 goto end;
69 }
70
71 in-> width = out->width = width;
72 in->height = out->height = height;
73 in->format = out->format = AV_PIX_FMT_YUV420P;
74
75 ret = av_frame_get_buffer(in, 0);
76 if (ret < 0)
77 goto end;
78
79 ret = av_frame_get_buffer(out, 0);
80 if (ret < 0)
81 goto end;
82
83 unsigned state = mul;
84 for(int f=0; f<10; f++) {
85 stuff(in, &state, mul);
86
87 pp_postprocess( (cuint8[]){in->data[0], in->data[1], in->data[2]}, in->linesize,
88 out->data, out->linesize,
89 width, height, NULL, 0,
90 mode, context, pict_type);
91
92 ret += chksum(out);
93 ret *= 1664525U;
94 }
95end:
96 av_frame_free(&in);
97 av_frame_free(&out);
98 pp_free_context(context);
99 pp_free_mode(mode);
100
101 return ret;
102}
103
104int main(int argc, char **argv) {
105
106 for(int a=0; a<600000; a= 17*a+1) {
107 for(int b=a; b<600000; b= 17*b+1) {
108 for(int c=b; c<600000; c= 17*c+1) {
109 for (int m=0; m<128; m = 3*m+1) {
110 char buf[100];
111 snprintf(buf, sizeof(buf), "be,tn:%d:%d:%d", a, b, c);
112 int64_t ret = test(352, 288, buf, m, PP_FORMAT_420, 0, 11);
113 printf("temptest %d %d %d %d result %"PRIX64"\n", a,b,c,m, ret);
114 }
115 }
116 }
117 }
118
119 return 0;
120}
tests/fate/libpostproc.mak+4−0
@@ -6,5 +6,9 @@ FATE_LIBPOSTPROC += fate-stripetest · 5 unmodified lines
6fate-stripetest: libpostproc/tests/stripetest$(EXESUF)6fate-stripetest: libpostproc/tests/stripetest$(EXESUF)
7fate-stripetest: CMD = run libpostproc/tests/stripetest$(EXESUF)7fate-stripetest: CMD = run libpostproc/tests/stripetest$(EXESUF)
8 8
9FATE_LIBPOSTPROC += fate-temptest
10fate-temptest: libpostproc/tests/temptest$(EXESUF)
11fate-temptest: CMD = run libpostproc/tests/temptest$(EXESUF)
12
9FATE-$(CONFIG_POSTPROC) += $(FATE_LIBPOSTPROC)13FATE-$(CONFIG_POSTPROC) += $(FATE_LIBPOSTPROC)
10fate-libpostproc: $(FATE_LIBPOSTPROC)14fate-libpostproc: $(FATE_LIBPOSTPROC)
tests/ref/fate/temptest+336−0
@@ -0,0 +1,336 @@
1temptest 0 0 0 0 result 4747FD2B6BCBD98D
2temptest 0 0 0 1 result B131E49BB453EC88
3temptest 0 0 0 4 result 38CC2AC032A60E8E
4temptest 0 0 0 13 result B2C1B45AE4547480
5temptest 0 0 0 40 result 7CCF1AC011E2ACEB
6temptest 0 0 0 121 result CEFAC9CA19A5F777
7temptest 0 0 1 0 result 4747FD2B6BCBD98D
8temptest 0 0 1 1 result B131E49BB453EC88
9temptest 0 0 1 4 result 38CC2AC032A60E8E
10temptest 0 0 1 13 result B2C1B45AE4547480
11temptest 0 0 1 40 result 7CCF1AC011E2ACEB
12temptest 0 0 1 121 result CEFAC9CA19A5F777
13temptest 0 0 18 0 result 4747FD2B6BCBD98D
14temptest 0 0 18 1 result B131E49BB453EC88
15temptest 0 0 18 4 result 38CC2AC032A60E8E
16temptest 0 0 18 13 result B2C1B45AE4547480
17temptest 0 0 18 40 result 7CCF1AC011E2ACEB
18temptest 0 0 18 121 result CEFAC9CA19A5F777
19temptest 0 0 307 0 result 4747FD2B6BCBD98D
20temptest 0 0 307 1 result B131E49BB453EC88
21temptest 0 0 307 4 result 9A1F4C627F31E806
22temptest 0 0 307 13 result B2C1B45AE4547480
23temptest 0 0 307 40 result 7CCF1AC011E2ACEB
24temptest 0 0 307 121 result CEFAC9CA19A5F777
25temptest 0 0 5220 0 result A3F4794F3A735E24
26temptest 0 0 5220 1 result 2FEB559286787E28
27temptest 0 0 5220 4 result E77D4EBDFA3E06BF
28temptest 0 0 5220 13 result D77446C32EEDD169
29temptest 0 0 5220 40 result 7CCF1AC011E2ACEB
30temptest 0 0 5220 121 result CEFAC9CA19A5F777
31temptest 0 0 88741 0 result FBDDA11DF717CD14
32temptest 0 0 88741 1 result FB7C8CEBFD07B08B
33temptest 0 0 88741 4 result 677BF6D89305A705
34temptest 0 0 88741 13 result AC256153D241FEAC
35temptest 0 0 88741 40 result 53E5C6EFC8DA58D1
36temptest 0 0 88741 121 result 284B4DD880549A05
37temptest 0 1 1 0 result 4747FD2B6BCBD98D
38temptest 0 1 1 1 result B131E49BB453EC88
39temptest 0 1 1 4 result 38CC2AC032A60E8E
40temptest 0 1 1 13 result B2C1B45AE4547480
41temptest 0 1 1 40 result 7CCF1AC011E2ACEB
42temptest 0 1 1 121 result CEFAC9CA19A5F777
43temptest 0 1 18 0 result 4747FD2B6BCBD98D
44temptest 0 1 18 1 result B131E49BB453EC88
45temptest 0 1 18 4 result 38CC2AC032A60E8E
46temptest 0 1 18 13 result B2C1B45AE4547480
47temptest 0 1 18 40 result 7CCF1AC011E2ACEB
48temptest 0 1 18 121 result CEFAC9CA19A5F777
49temptest 0 1 307 0 result 4747FD2B6BCBD98D
50temptest 0 1 307 1 result B131E49BB453EC88
51temptest 0 1 307 4 result 9A1F4C627F31E806
52temptest 0 1 307 13 result B2C1B45AE4547480
53temptest 0 1 307 40 result 7CCF1AC011E2ACEB
54temptest 0 1 307 121 result CEFAC9CA19A5F777
55temptest 0 1 5220 0 result A3F4794F3A735E24
56temptest 0 1 5220 1 result 2FEB559286787E28
57temptest 0 1 5220 4 result E77D4EBDFA3E06BF
58temptest 0 1 5220 13 result D77446C32EEDD169
59temptest 0 1 5220 40 result 7CCF1AC011E2ACEB
60temptest 0 1 5220 121 result CEFAC9CA19A5F777
61temptest 0 1 88741 0 result FBDDA11DF717CD14
62temptest 0 1 88741 1 result FB7C8CEBFD07B08B
63temptest 0 1 88741 4 result 677BF6D89305A705
64temptest 0 1 88741 13 result AC256153D241FEAC
65temptest 0 1 88741 40 result 53E5C6EFC8DA58D1
66temptest 0 1 88741 121 result 284B4DD880549A05
67temptest 0 18 18 0 result 4747FD2B6BCBD98D
68temptest 0 18 18 1 result B131E49BB453EC88
69temptest 0 18 18 4 result 38CC2AC032A60E8E
70temptest 0 18 18 13 result B2C1B45AE4547480
71temptest 0 18 18 40 result 7CCF1AC011E2ACEB
72temptest 0 18 18 121 result CEFAC9CA19A5F777
73temptest 0 18 307 0 result 4747FD2B6BCBD98D
74temptest 0 18 307 1 result B131E49BB453EC88
75temptest 0 18 307 4 result 9A1F4C627F31E806
76temptest 0 18 307 13 result B2C1B45AE4547480
77temptest 0 18 307 40 result 7CCF1AC011E2ACEB
78temptest 0 18 307 121 result CEFAC9CA19A5F777
79temptest 0 18 5220 0 result E2D79A25DEB7D8A0
80temptest 0 18 5220 1 result 6ECE76692ABCF8A4
81temptest 0 18 5220 4 result E77D4EBDFA3E06BF
82temptest 0 18 5220 13 result D77446C32EEDD169
83temptest 0 18 5220 40 result 7CCF1AC011E2ACEB
84temptest 0 18 5220 121 result CEFAC9CA19A5F777
85temptest 0 18 88741 0 result FBDDA11DF717CD14
86temptest 0 18 88741 1 result FB7C8CEBFD07B08B
87temptest 0 18 88741 4 result 677BF6D89305A705
88temptest 0 18 88741 13 result AC256153D241FEAC
89temptest 0 18 88741 40 result 53E5C6EFC8DA58D1
90temptest 0 18 88741 121 result 284B4DD880549A05
91temptest 0 307 307 0 result 4747FD2B6BCBD98D
92temptest 0 307 307 1 result B131E49BB453EC88
93temptest 0 307 307 4 result B17A67893E803FB9
94temptest 0 307 307 13 result B2C1B45AE4547480
95temptest 0 307 307 40 result 7CCF1AC011E2ACEB
96temptest 0 307 307 121 result CEFAC9CA19A5F777
97temptest 0 307 5220 0 result 555181C06E0FA1AA
98temptest 0 307 5220 1 result 3235D486256EC1AE
99temptest 0 307 5220 4 result 964FE2F503607C70
100temptest 0 307 5220 13 result D77446C32EEDD169
101temptest 0 307 5220 40 result 7CCF1AC011E2ACEB
102temptest 0 307 5220 121 result CEFAC9CA19A5F777
103temptest 0 307 88741 0 result 797EDCC74D223AE8
104temptest 0 307 88741 1 result 791DC89553121E5F
105temptest 0 307 88741 4 result 46E37B54A5142319
106temptest 0 307 88741 13 result AC256153D241FEAC
107temptest 0 307 88741 40 result 53E5C6EFC8DA58D1
108temptest 0 307 88741 121 result 284B4DD880549A05
109temptest 0 5220 5220 0 result 4A2207CA23BA4CC0
110temptest 0 5220 5220 1 result E5B4E54A5D48B507
111temptest 0 5220 5220 4 result EA39A4876A38648F
112temptest 0 5220 5220 13 result B6B4F5C1A6864CBD
113temptest 0 5220 5220 40 result 7CCF1AC011E2ACEB
114temptest 0 5220 5220 121 result CEFAC9CA19A5F777
115temptest 0 5220 88741 0 result 706EBAB75F0C52EA
116temptest 0 5220 88741 1 result D4F0475270F0795C
117temptest 0 5220 88741 4 result DF8A5296FD69B527
118temptest 0 5220 88741 13 result BB5686FA9BA23C7B
119temptest 0 5220 88741 40 result A9201E8DBD3B9B3
120temptest 0 5220 88741 121 result 284B4DD880549A05
121temptest 0 88741 88741 0 result CF4F8ABE751594E0
122temptest 0 88741 88741 1 result 9222D52614EFA86B
123temptest 0 88741 88741 4 result DFC399F2247B7714
124temptest 0 88741 88741 13 result 4781E2B92F5BD91B
125temptest 0 88741 88741 40 result 8986560C6636BCBA
126temptest 0 88741 88741 121 result 31FBA2F823230BBF
127temptest 1 1 1 0 result 4747FD2B6BCBD98D
128temptest 1 1 1 1 result B131E49BB453EC88
129temptest 1 1 1 4 result 38CC2AC032A60E8E
130temptest 1 1 1 13 result B2C1B45AE4547480
131temptest 1 1 1 40 result 7CCF1AC011E2ACEB
132temptest 1 1 1 121 result CEFAC9CA19A5F777
133temptest 1 1 18 0 result 4747FD2B6BCBD98D
134temptest 1 1 18 1 result B131E49BB453EC88
135temptest 1 1 18 4 result 38CC2AC032A60E8E
136temptest 1 1 18 13 result B2C1B45AE4547480
137temptest 1 1 18 40 result 7CCF1AC011E2ACEB
138temptest 1 1 18 121 result CEFAC9CA19A5F777
139temptest 1 1 307 0 result 4747FD2B6BCBD98D
140temptest 1 1 307 1 result B131E49BB453EC88
141temptest 1 1 307 4 result 9A1F4C627F31E806
142temptest 1 1 307 13 result B2C1B45AE4547480
143temptest 1 1 307 40 result 7CCF1AC011E2ACEB
144temptest 1 1 307 121 result CEFAC9CA19A5F777
145temptest 1 1 5220 0 result A3F4794F3A735E24
146temptest 1 1 5220 1 result 2FEB559286787E28
147temptest 1 1 5220 4 result E77D4EBDFA3E06BF
148temptest 1 1 5220 13 result D77446C32EEDD169
149temptest 1 1 5220 40 result 7CCF1AC011E2ACEB
150temptest 1 1 5220 121 result CEFAC9CA19A5F777
151temptest 1 1 88741 0 result FBDDA11DF717CD14
152temptest 1 1 88741 1 result FB7C8CEBFD07B08B
153temptest 1 1 88741 4 result 677BF6D89305A705
154temptest 1 1 88741 13 result AC256153D241FEAC
155temptest 1 1 88741 40 result 53E5C6EFC8DA58D1
156temptest 1 1 88741 121 result 284B4DD880549A05
157temptest 1 18 18 0 result 4747FD2B6BCBD98D
158temptest 1 18 18 1 result B131E49BB453EC88
159temptest 1 18 18 4 result 38CC2AC032A60E8E
160temptest 1 18 18 13 result B2C1B45AE4547480
161temptest 1 18 18 40 result 7CCF1AC011E2ACEB
162temptest 1 18 18 121 result CEFAC9CA19A5F777
163temptest 1 18 307 0 result 4747FD2B6BCBD98D
164temptest 1 18 307 1 result B131E49BB453EC88
165temptest 1 18 307 4 result 9A1F4C627F31E806
166temptest 1 18 307 13 result B2C1B45AE4547480
167temptest 1 18 307 40 result 7CCF1AC011E2ACEB
168temptest 1 18 307 121 result CEFAC9CA19A5F777
169temptest 1 18 5220 0 result E2D79A25DEB7D8A0
170temptest 1 18 5220 1 result 6ECE76692ABCF8A4
171temptest 1 18 5220 4 result E77D4EBDFA3E06BF
172temptest 1 18 5220 13 result D77446C32EEDD169
173temptest 1 18 5220 40 result 7CCF1AC011E2ACEB
174temptest 1 18 5220 121 result CEFAC9CA19A5F777
175temptest 1 18 88741 0 result FBDDA11DF717CD14
176temptest 1 18 88741 1 result FB7C8CEBFD07B08B
177temptest 1 18 88741 4 result 677BF6D89305A705
178temptest 1 18 88741 13 result AC256153D241FEAC
179temptest 1 18 88741 40 result 53E5C6EFC8DA58D1
180temptest 1 18 88741 121 result 284B4DD880549A05
181temptest 1 307 307 0 result 4747FD2B6BCBD98D
182temptest 1 307 307 1 result B131E49BB453EC88
183temptest 1 307 307 4 result B17A67893E803FB9
184temptest 1 307 307 13 result B2C1B45AE4547480
185temptest 1 307 307 40 result 7CCF1AC011E2ACEB
186temptest 1 307 307 121 result CEFAC9CA19A5F777
187temptest 1 307 5220 0 result 555181C06E0FA1AA
188temptest 1 307 5220 1 result 3235D486256EC1AE
189temptest 1 307 5220 4 result 964FE2F503607C70
190temptest 1 307 5220 13 result D77446C32EEDD169
191temptest 1 307 5220 40 result 7CCF1AC011E2ACEB
192temptest 1 307 5220 121 result CEFAC9CA19A5F777
193temptest 1 307 88741 0 result 797EDCC74D223AE8
194temptest 1 307 88741 1 result 791DC89553121E5F
195temptest 1 307 88741 4 result 46E37B54A5142319
196temptest 1 307 88741 13 result AC256153D241FEAC
197temptest 1 307 88741 40 result 53E5C6EFC8DA58D1
198temptest 1 307 88741 121 result 284B4DD880549A05
199temptest 1 5220 5220 0 result 4A2207CA23BA4CC0
200temptest 1 5220 5220 1 result E5B4E54A5D48B507
201temptest 1 5220 5220 4 result EA39A4876A38648F
202temptest 1 5220 5220 13 result B6B4F5C1A6864CBD
203temptest 1 5220 5220 40 result 7CCF1AC011E2ACEB
204temptest 1 5220 5220 121 result CEFAC9CA19A5F777
205temptest 1 5220 88741 0 result 706EBAB75F0C52EA
206temptest 1 5220 88741 1 result D4F0475270F0795C
207temptest 1 5220 88741 4 result DF8A5296FD69B527
208temptest 1 5220 88741 13 result BB5686FA9BA23C7B
209temptest 1 5220 88741 40 result A9201E8DBD3B9B3
210temptest 1 5220 88741 121 result 284B4DD880549A05
211temptest 1 88741 88741 0 result CF4F8ABE751594E0
212temptest 1 88741 88741 1 result 9222D52614EFA86B
213temptest 1 88741 88741 4 result DFC399F2247B7714
214temptest 1 88741 88741 13 result 4781E2B92F5BD91B
215temptest 1 88741 88741 40 result 8986560C6636BCBA
216temptest 1 88741 88741 121 result 31FBA2F823230BBF
217temptest 18 18 18 0 result 4747FD2B6BCBD98D
218temptest 18 18 18 1 result B131E49BB453EC88
219temptest 18 18 18 4 result 38CC2AC032A60E8E
220temptest 18 18 18 13 result B2C1B45AE4547480
221temptest 18 18 18 40 result 7CCF1AC011E2ACEB
222temptest 18 18 18 121 result CEFAC9CA19A5F777
223temptest 18 18 307 0 result 4747FD2B6BCBD98D
224temptest 18 18 307 1 result B131E49BB453EC88
225temptest 18 18 307 4 result 9A1F4C627F31E806
226temptest 18 18 307 13 result B2C1B45AE4547480
227temptest 18 18 307 40 result 7CCF1AC011E2ACEB
228temptest 18 18 307 121 result CEFAC9CA19A5F777
229temptest 18 18 5220 0 result E2D79A25DEB7D8A0
230temptest 18 18 5220 1 result 6ECE76692ABCF8A4
231temptest 18 18 5220 4 result E77D4EBDFA3E06BF
232temptest 18 18 5220 13 result D77446C32EEDD169
233temptest 18 18 5220 40 result 7CCF1AC011E2ACEB
234temptest 18 18 5220 121 result CEFAC9CA19A5F777
235temptest 18 18 88741 0 result FBDDA11DF717CD14
236temptest 18 18 88741 1 result FB7C8CEBFD07B08B
237temptest 18 18 88741 4 result 677BF6D89305A705
238temptest 18 18 88741 13 result AC256153D241FEAC
239temptest 18 18 88741 40 result 53E5C6EFC8DA58D1
240temptest 18 18 88741 121 result 284B4DD880549A05
241temptest 18 307 307 0 result 4747FD2B6BCBD98D
242temptest 18 307 307 1 result B131E49BB453EC88
243temptest 18 307 307 4 result B17A67893E803FB9
244temptest 18 307 307 13 result B2C1B45AE4547480
245temptest 18 307 307 40 result 7CCF1AC011E2ACEB
246temptest 18 307 307 121 result CEFAC9CA19A5F777
247temptest 18 307 5220 0 result 555181C06E0FA1AA
248temptest 18 307 5220 1 result 3235D486256EC1AE
249temptest 18 307 5220 4 result 964FE2F503607C70
250temptest 18 307 5220 13 result D77446C32EEDD169
251temptest 18 307 5220 40 result 7CCF1AC011E2ACEB
252temptest 18 307 5220 121 result CEFAC9CA19A5F777
253temptest 18 307 88741 0 result 797EDCC74D223AE8
254temptest 18 307 88741 1 result 791DC89553121E5F
255temptest 18 307 88741 4 result 46E37B54A5142319
256temptest 18 307 88741 13 result AC256153D241FEAC
257temptest 18 307 88741 40 result 53E5C6EFC8DA58D1
258temptest 18 307 88741 121 result 284B4DD880549A05
259temptest 18 5220 5220 0 result 4A2207CA23BA4CC0
260temptest 18 5220 5220 1 result E5B4E54A5D48B507
261temptest 18 5220 5220 4 result EA39A4876A38648F
262temptest 18 5220 5220 13 result B6B4F5C1A6864CBD
263temptest 18 5220 5220 40 result 7CCF1AC011E2ACEB
264temptest 18 5220 5220 121 result CEFAC9CA19A5F777
265temptest 18 5220 88741 0 result 706EBAB75F0C52EA
266temptest 18 5220 88741 1 result D4F0475270F0795C
267temptest 18 5220 88741 4 result DF8A5296FD69B527
268temptest 18 5220 88741 13 result BB5686FA9BA23C7B
269temptest 18 5220 88741 40 result A9201E8DBD3B9B3
270temptest 18 5220 88741 121 result 284B4DD880549A05
271temptest 18 88741 88741 0 result CF4F8ABE751594E0
272temptest 18 88741 88741 1 result 9222D52614EFA86B
273temptest 18 88741 88741 4 result DFC399F2247B7714
274temptest 18 88741 88741 13 result 4781E2B92F5BD91B
275temptest 18 88741 88741 40 result 8986560C6636BCBA
276temptest 18 88741 88741 121 result 31FBA2F823230BBF
277temptest 307 307 307 0 result 4747FD2B6BCBD98D
278temptest 307 307 307 1 result B131E49BB453EC88
279temptest 307 307 307 4 result 8B1D395E5808B6DC
280temptest 307 307 307 13 result B2C1B45AE4547480
281temptest 307 307 307 40 result 7CCF1AC011E2ACEB
282temptest 307 307 307 121 result CEFAC9CA19A5F777
283temptest 307 307 5220 0 result A69033A091FC2080
284temptest 307 307 5220 1 result 32870FE3DE014084
285temptest 307 307 5220 4 result B2649AC2BCF207E4
286temptest 307 307 5220 13 result D77446C32EEDD169
287temptest 307 307 5220 40 result 7CCF1AC011E2ACEB
288temptest 307 307 5220 121 result CEFAC9CA19A5F777
289temptest 307 307 88741 0 result 6148B9F1437BB580
290temptest 307 307 88741 1 result 6F49A40209698F7
291temptest 307 307 88741 4 result 9E9DD518954D5E5
292temptest 307 307 88741 13 result AC256153D241FEAC
293temptest 307 307 88741 40 result 53E5C6EFC8DA58D1
294temptest 307 307 88741 121 result 284B4DD880549A05
295temptest 307 5220 5220 0 result 2A63D0D557F45750
296temptest 307 5220 5220 1 result 9254608D71205E52
297temptest 307 5220 5220 4 result E46F831B8295F417
298temptest 307 5220 5220 13 result B6B4F5C1A6864CBD
299temptest 307 5220 5220 40 result 7CCF1AC011E2ACEB
300temptest 307 5220 5220 121 result CEFAC9CA19A5F777
301temptest 307 5220 88741 0 result EADD24BF32F80792
302temptest 307 5220 88741 1 result DABC179FB1931BE8
303temptest 307 5220 88741 4 result 8AA934A713F0D4AD
304temptest 307 5220 88741 13 result BB5686FA9BA23C7B
305temptest 307 5220 88741 40 result A9201E8DBD3B9B3
306temptest 307 5220 88741 121 result 284B4DD880549A05
307temptest 307 88741 88741 0 result 1A2909BF51BC6E28
308temptest 307 88741 88741 1 result 6614127EF76D81B3
309temptest 307 88741 88741 4 result 9B0BC4A00B7DB1F2
310temptest 307 88741 88741 13 result 4781E2B92F5BD91B
311temptest 307 88741 88741 40 result 8986560C6636BCBA
312temptest 307 88741 88741 121 result 31FBA2F823230BBF
313temptest 5220 5220 5220 0 result 7FE69B4F88AD274B
314temptest 5220 5220 5220 1 result 2262574F78791826
315temptest 5220 5220 5220 4 result 597A21AB80E82FAC
316temptest 5220 5220 5220 13 result 7F930A71275853B8
317temptest 5220 5220 5220 40 result 7CCF1AC011E2ACEB
318temptest 5220 5220 5220 121 result CEFAC9CA19A5F777
319temptest 5220 5220 88741 0 result D5F7F8D19289D7C3
320temptest 5220 5220 88741 1 result CD3256F7DFF12EE2
321temptest 5220 5220 88741 4 result 84E2DB3DECECD065
322temptest 5220 5220 88741 13 result A751FC922A9A8365
323temptest 5220 5220 88741 40 result 2FA93067097FB349
324temptest 5220 5220 88741 121 result 284B4DD880549A05
325temptest 5220 88741 88741 0 result 684F350A49E03B23
326temptest 5220 88741 88741 1 result 6E9FD32757E3AD46
327temptest 5220 88741 88741 4 result 5F4C037B5CFEDACB
328temptest 5220 88741 88741 13 result 6B03209BFA60079D
329temptest 5220 88741 88741 40 result 8986560C6636BCBA
330temptest 5220 88741 88741 121 result 31FBA2F823230BBF
331temptest 88741 88741 88741 0 result B1D4DA59CAAF6224
332temptest 88741 88741 88741 1 result 42DD8F9FBDC2D6C0
333temptest 88741 88741 88741 4 result B40B6B1CAD3A609F
334temptest 88741 88741 88741 13 result 221AA124FEFA141C
335temptest 88741 88741 88741 40 result FC31041053B7B237
336temptest 88741 88741 88741 121 result CB3E66FC05552055

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t