History

avutil/csp: add av_csp_trc_inv_from_id()

Mathematical inverse of av_csp_trc_from_id(), plus testing to make sure it roundtrips correctly with the corresponding TRC.

Niklas Haas committed 1 year ago

Commit bf0a6c41 parent 28f21776 files · +470 −318Browse files

Unified · Split

6 files
  1. doc/APIchanges +3 −0
  2. libavutil/csp.c +145 −10
  3. libavutil/csp.h +5 −0
  4. libavutil/tests/color_utils.c +11 −2
  5. libavutil/version.h +2 −2
  6. tests/ref/fate/color_utils +304 −304
doc/APIchanges+3−0
@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07 · 1 unmodified line
22
33 API changes, most recent first:
44
5+2024-12-05 - xxxxxxxxxx - lavu 59.48.100 - csp.h
6+ Add av_csp_trc_func_inv_from_id().
7+
58 2024-11-25 - xxxxxxxxxx - lsws 8.12.100 - swscale.h
69 Allow using sws_frame_scale() dynamically, without first initializing the
710 SwsContext. Deprecate sws_init_context(). Add sws_frame_setup() instead.
libavutil/csp.c+145−10
@@ -170,16 +170,36 @@ static double trc_bt709(double Lc) · 169 unmodified lines
170170 : a * pow(Lc, 0.45) - (a - 1.0);
171171 }
172172
173+static double trc_bt709_inv(double E)
174+{
175+ const double a = BT709_alpha;
176+ const double b = 4.500 * BT709_beta;
177+
178+ return (0.0 > E) ? 0.0
179+ : ( b > E) ? E / 4.500
180+ : pow((E + (a - 1.0)) / a, 1.0 / 0.45);
181+}
182+
173183 static double trc_gamma22(double Lc)
174184 {
175185 return (0.0 > Lc) ? 0.0 : pow(Lc, 1.0/ 2.2);
176186 }
177187
188+static double trc_gamma22_inv(double E)
189+{
190+ return (0.0 > E) ? 0.0 : pow(E, 2.2);
191+}
192+
178193 static double trc_gamma28(double Lc)
179194 {
180195 return (0.0 > Lc) ? 0.0 : pow(Lc, 1.0/ 2.8);
181196 }
182197
198+static double trc_gamma28_inv(double E)
199+{
200+ return (0.0 > E) ? 0.0 : pow(E, 2.8);
201+}
202+
183203 static double trc_smpte240M(double Lc)
184204 {
185205 const double a = 1.1115;
@@ -190,6 +210,16 @@ static double trc_smpte240M(double Lc) · 4 unmodified lines
190210 : a * pow(Lc, 0.45) - (a - 1.0);
191211 }
192212
213+static double trc_smpte240M_inv(double E)
214+{
215+ const double a = 1.1115;
216+ const double b = 4.000 * 0.0228;
217+
218+ return (0.0 > E) ? 0.0
219+ : ( b > E) ? E / 4.000
220+ : pow((E + (a - 1.0)) / a, 1.0 / 0.45);
221+}
222+
193223 static double trc_linear(double Lc)
194224 {
195225 return Lc;
@@ -200,12 +230,22 @@ static double trc_log(double Lc) · 4 unmodified lines
200230 return (0.01 > Lc) ? 0.0 : 1.0 + log10(Lc) / 2.0;
201231 }
202232
233+static double trc_log_inv(double E)
234+{
235+ return (0.0 > E) ? 0.01 : pow(10.0, 2.0 * (E - 1.0));
236+}
237+
203238 static double trc_log_sqrt(double Lc)
204239 {
205240 // sqrt(10) / 1000
206241 return (0.00316227766 > Lc) ? 0.0 : 1.0 + log10(Lc) / 2.5;
207242 }
208243
244+static double trc_log_sqrt_inv(double E)
245+{
246+ return (0.0 > E) ? 0.00316227766 : pow(10.0, 2.5 * (E - 1.0));
247+}
248+
209249 static double trc_iec61966_2_4(double Lc)
210250 {
211251 const double a = BT709_alpha;
@@ -216,6 +256,16 @@ static double trc_iec61966_2_4(double Lc) · 4 unmodified lines
216256 : a * pow( Lc, 0.45) - (a - 1.0);
217257 }
218258
259+static double trc_iec61966_2_4_inv(double E)
260+{
261+ const double a = BT709_alpha;
262+ const double b = 4.500 * BT709_beta;
263+
264+ return (-b >= E) ? -pow((-E + (a - 1.0)) / a, 1.0 / 0.45)
265+ : ( b > E) ? E / 4.500
266+ : pow(( E + (a - 1.0)) / a, 1.0 / 0.45);
267+}
268+
219269 static double trc_bt1361(double Lc)
220270 {
221271 const double a = BT709_alpha;
@@ -226,6 +276,16 @@ static double trc_bt1361(double Lc) · 4 unmodified lines
226276 : a * pow( Lc, 0.45) - (a - 1.0);
227277 }
228278
279+static double trc_bt1361_inv(double E)
280+{
281+ const double a = BT709_alpha;
282+ const double b = 4.500 * BT709_beta;
283+
284+ return (-0.02025 >= E) ? -pow((-4.0 * E - (a - 1.0)) / a, 1.0 / 0.45) / 4.0
285+ : ( b > E) ? E / 4.500
286+ : pow(( E + (a - 1.0)) / a, 1.0 / 0.45);
287+}
288+
229289 static double trc_iec61966_2_1(double Lc)
230290 {
231291 const double a = 1.055;
@@ -236,13 +296,30 @@ static double trc_iec61966_2_1(double Lc) · 4 unmodified lines
236296 : a * pow(Lc, 1.0 / 2.4) - (a - 1.0);
237297 }
238298
299+static double trc_iec61966_2_1_inv(double E)
300+{
301+ const double a = 1.055;
302+ const double b = 12.92 * 0.0031308;
303+
304+ return (0.0 > E) ? 0.0
305+ : ( b > E) ? E / 12.92
306+ : pow((E + (a - 1.0)) / a, 2.4);
307+ return E;
308+}
309+
310+#define PQ_c1 ( 3424.0 / 4096.0) /* c3-c2 + 1 */
311+#define PQ_c2 ( 32.0 * 2413.0 / 4096.0)
312+#define PQ_c3 ( 32.0 * 2392.0 / 4096.0)
313+#define PQ_m (128.0 * 2523.0 / 4096.0)
314+#define PQ_n ( 0.25 * 2610.0 / 4096.0)
315+
239316 static double trc_smpte_st2084(double Lc)
240317 {
241− const double c1 = 3424.0 / 4096.0; // c3-c2 + 1
242− const double c2 = 32.0 * 2413.0 / 4096.0;
243− const double c3 = 32.0 * 2392.0 / 4096.0;
244− const double m = 128.0 * 2523.0 / 4096.0;
245− const double n = 0.25 * 2610.0 / 4096.0;
318+ const double c1 = PQ_c1;
319+ const double c2 = PQ_c2;
320+ const double c3 = PQ_c3;
321+ const double m = PQ_m;
322+ const double n = PQ_n;
246323 const double L = Lc / 10000.0;
247324 const double Ln = pow(L, n);
248325
@@ -251,24 +328,56 @@ static double trc_smpte_st2084(double Lc) · 2 unmodified lines
251328
252329 }
253330
331+static double trc_smpte_st2084_inv(double E)
332+{
333+ const double c1 = PQ_c1;
334+ const double c2 = PQ_c2;
335+ const double c3 = PQ_c3;
336+ const double m = PQ_m;
337+ const double n = PQ_n;
338+ const double Em = pow(E, 1.0 / m);
339+
340+ return (c1 > Em) ? 0.0
341+ : 10000.0 * pow((Em - c1) / (c2 - c3 * Em), 1.0 / n);
342+}
343+
344+#define DCI_L 48.00
345+#define DCI_P 52.37
346+
254347 static double trc_smpte_st428_1(double Lc)
255348 {
256− return (0.0 > Lc) ? 0.0
257− : pow(48.0 * Lc / 52.37, 1.0 / 2.6);
349+ return (0.0 > Lc) ? 0.0 : pow(DCI_L / DCI_P * Lc, 1.0 / 2.6);
258350 }
259351
352+static double trc_smpte_st428_1_inv(double E)
353+{
354+ return (0.0 > E) ? 0.0 : DCI_P / DCI_L * pow(E, 2.6);
355+}
356+
357+#define HLG_a 0.17883277
358+#define HLG_b 0.28466892
359+#define HLG_c 0.55991073
260360
261361 static double trc_arib_std_b67(double Lc) {
262362 // The function uses the definition from HEVC, which assumes that the peak
263363 // white is input level = 1. (this is equivalent to scaling E = Lc * 12 and
264364 // using the definition from the ARIB STD-B67 spec)
265− const double a = 0.17883277;
266− const double b = 0.28466892;
267− const double c = 0.55991073;
365+ const double a = HLG_a;
366+ const double b = HLG_b;
367+ const double c = HLG_c;
268368 return (0.0 > Lc) ? 0.0 :
269369 (Lc <= 1.0 / 12.0 ? sqrt(3.0 * Lc) : a * log(12.0 * Lc - b) + c);
270370 }
271371
372+static double trc_arib_std_b67_inv(double E)
373+{
374+ const double a = HLG_a;
375+ const double b = HLG_b;
376+ const double c = HLG_c;
377+ return (0.0 > E) ? 0.0 :
378+ (E <= 0.5 ? E * E / 3.0 : (exp((E - c) / a) + b) / 12.0);
379+}
380+
272381 static const av_csp_trc_function trc_funcs[AVCOL_TRC_NB] = {
273382 [AVCOL_TRC_BT709] = trc_bt709,
274383 [AVCOL_TRC_GAMMA22] = trc_gamma22,
@@ -294,3 +403,29 @@ av_csp_trc_function av_csp_trc_func_from_id(enum AVColorTransferCharacteristic t · 19 unmodified lines
294403 return NULL;
295404 return trc_funcs[trc];
296405 }
406+
407+static const av_csp_trc_function trc_inv_funcs[AVCOL_TRC_NB] = {
408+ [AVCOL_TRC_BT709] = trc_bt709_inv,
409+ [AVCOL_TRC_GAMMA22] = trc_gamma22_inv,
410+ [AVCOL_TRC_GAMMA28] = trc_gamma28_inv,
411+ [AVCOL_TRC_SMPTE170M] = trc_bt709_inv,
412+ [AVCOL_TRC_SMPTE240M] = trc_smpte240M_inv,
413+ [AVCOL_TRC_LINEAR] = trc_linear,
414+ [AVCOL_TRC_LOG] = trc_log_inv,
415+ [AVCOL_TRC_LOG_SQRT] = trc_log_sqrt_inv,
416+ [AVCOL_TRC_IEC61966_2_4] = trc_iec61966_2_4_inv,
417+ [AVCOL_TRC_BT1361_ECG] = trc_bt1361_inv,
418+ [AVCOL_TRC_IEC61966_2_1] = trc_iec61966_2_1_inv,
419+ [AVCOL_TRC_BT2020_10] = trc_bt709_inv,
420+ [AVCOL_TRC_BT2020_12] = trc_bt709_inv,
421+ [AVCOL_TRC_SMPTE2084] = trc_smpte_st2084_inv,
422+ [AVCOL_TRC_SMPTE428] = trc_smpte_st428_1_inv,
423+ [AVCOL_TRC_ARIB_STD_B67] = trc_arib_std_b67_inv,
424+};
425+
426+av_csp_trc_function av_csp_trc_func_inv_from_id(enum AVColorTransferCharacteristic trc)
427+{
428+ if (trc >= AVCOL_TRC_NB)
429+ return NULL;
430+ return trc_inv_funcs[trc];
431+}
libavutil/csp.h+5−0
@@ -147,6 +147,11 @@ double av_csp_approximate_trc_gamma(enum AVColorTransferCharacteristic trc); · 146 unmodified lines
147147 */
148148 av_csp_trc_function av_csp_trc_func_from_id(enum AVColorTransferCharacteristic trc);
149149
150+/**
151+ * Returns the mathematical inverse of the corresponding TRC function.
152+ */
153+av_csp_trc_function av_csp_trc_func_inv_from_id(enum AVColorTransferCharacteristic trc);
154+
150155 /**
151156 * @}
152157 */
libavutil/tests/color_utils.c+11−2
@@ -18,7 +18,9 @@ · 17 unmodified lines
1818 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1919 */
2020
21+#include <math.h>
2122 #include <stdio.h>
23+
2224 #include "libavutil/csp.h"
2325 #include "libavutil/macros.h"
2426 #include "libavutil/pixdesc.h"
@@ -34,14 +36,21 @@ int main(int argc, char *argv[]) · 9 unmodified lines
3436
3537 for (enum AVColorTransferCharacteristic trc = 0; trc < AVCOL_TRC_NB; trc++) {
3638 av_csp_trc_function func = av_csp_trc_func_from_id(trc);
39+ av_csp_trc_function func_inv = av_csp_trc_func_inv_from_id(trc);
3740 const char *name = av_color_transfer_name(trc);
3841 if (!func)
3942 continue;
4043
4144 for (int i = 0; i < FF_ARRAY_ELEMS(test_data); i++) {
4245 double result = func(test_data[i]);
43− printf("trc=%s calling func(%f) expected=%f\n",
44− name, test_data[i], result);
46+ double roundtrip = func_inv(result);
47+ printf("trc=%s calling func(%f) expected=%f roundtrip=%f\n",
48+ name, test_data[i], result, roundtrip);
49+
50+ if (result > 0.0 && fabs(roundtrip - test_data[i]) > 1e-8) {
51+ printf(" FAIL\n");
52+ return 1;
53+ }
4554 }
4655 }
4756 }
libavutil/version.h+2−2
@@ -79,8 +79,8 @@ · 78 unmodified lines
7979 */
8080
8181 #define LIBAVUTIL_VERSION_MAJOR 59
82−#define LIBAVUTIL_VERSION_MINOR 47
83−#define LIBAVUTIL_VERSION_MICRO 101
82+#define LIBAVUTIL_VERSION_MINOR 48
83+#define LIBAVUTIL_VERSION_MICRO 100
8484
8585 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
8686 LIBAVUTIL_VERSION_MINOR, \
tests/ref/fate/color_utils+304−304
@@ -1,304 +1,304 @@
1−trc=bt709 calling func(-0.100000) expected=0.000000
2−trc=bt709 calling func(-0.018054) expected=0.000000
3−trc=bt709 calling func(-0.010000) expected=0.000000
4−trc=bt709 calling func(-0.004490) expected=0.000000
5−trc=bt709 calling func(0.000000) expected=0.000000
6−trc=bt709 calling func(0.003162) expected=0.014230
7−trc=bt709 calling func(0.005000) expected=0.022500
8−trc=bt709 calling func(0.009000) expected=0.040500
9−trc=bt709 calling func(0.015000) expected=0.067500
10−trc=bt709 calling func(0.100000) expected=0.290748
11−trc=bt709 calling func(1.000000) expected=1.000000
12−trc=bt709 calling func(52.370000) expected=6.427531
13−trc=bt709 calling func(125.098765) expected=9.558517
14−trc=bt709 calling func(1999.111230) expected=33.512490
15−trc=bt709 calling func(6945.443000) expected=58.768794
16−trc=bt709 calling func(15123.456700) expected=83.452916
17−trc=bt709 calling func(19845.889230) expected=94.321297
18−trc=bt709 calling func(98678.423100) expected=194.219568
19−trc=bt709 calling func(99999.899998) expected=195.386306
20−trc=bt470m calling func(-0.100000) expected=0.000000
21−trc=bt470m calling func(-0.018054) expected=0.000000
22−trc=bt470m calling func(-0.010000) expected=0.000000
23−trc=bt470m calling func(-0.004490) expected=0.000000
24−trc=bt470m calling func(0.000000) expected=0.000000
25−trc=bt470m calling func(0.003162) expected=0.073053
26−trc=bt470m calling func(0.005000) expected=0.089966
27−trc=bt470m calling func(0.009000) expected=0.117520
28−trc=bt470m calling func(0.015000) expected=0.148235
29−trc=bt470m calling func(0.100000) expected=0.351119
30−trc=bt470m calling func(1.000000) expected=1.000000
31−trc=bt470m calling func(52.370000) expected=6.045068
32−trc=bt470m calling func(125.098765) expected=8.980424
33−trc=bt470m calling func(1999.111230) expected=31.650490
34−trc=bt470m calling func(6945.443000) expected=55.747738
35−trc=bt470m calling func(15123.456700) expected=79.403820
36−trc=bt470m calling func(19845.889230) expected=89.843491
37−trc=bt470m calling func(98678.423100) expected=186.252024
38−trc=bt470m calling func(99999.899998) expected=187.381657
39−trc=bt470bg calling func(-0.100000) expected=0.000000
40−trc=bt470bg calling func(-0.018054) expected=0.000000
41−trc=bt470bg calling func(-0.010000) expected=0.000000
42−trc=bt470bg calling func(-0.004490) expected=0.000000
43−trc=bt470bg calling func(0.000000) expected=0.000000
44−trc=bt470bg calling func(0.003162) expected=0.127980
45−trc=bt470bg calling func(0.005000) expected=0.150731
46−trc=bt470bg calling func(0.009000) expected=0.185940
47−trc=bt470bg calling func(0.015000) expected=0.223154
48−trc=bt470bg calling func(0.100000) expected=0.439397
49−trc=bt470bg calling func(1.000000) expected=1.000000
50−trc=bt470bg calling func(52.370000) expected=4.111100
51−trc=bt470bg calling func(125.098765) expected=5.610724
52−trc=bt470bg calling func(1999.111230) expected=15.096294
53−trc=bt470bg calling func(6945.443000) expected=23.552429
54−trc=bt470bg calling func(15123.456700) expected=31.098005
55−trc=bt470bg calling func(19845.889230) expected=34.267494
56−trc=bt470bg calling func(98678.423100) expected=60.764620
57−trc=bt470bg calling func(99999.899998) expected=61.054001
58−trc=smpte170m calling func(-0.100000) expected=0.000000
59−trc=smpte170m calling func(-0.018054) expected=0.000000
60−trc=smpte170m calling func(-0.010000) expected=0.000000
61−trc=smpte170m calling func(-0.004490) expected=0.000000
62−trc=smpte170m calling func(0.000000) expected=0.000000
63−trc=smpte170m calling func(0.003162) expected=0.014230
64−trc=smpte170m calling func(0.005000) expected=0.022500
65−trc=smpte170m calling func(0.009000) expected=0.040500
66−trc=smpte170m calling func(0.015000) expected=0.067500
67−trc=smpte170m calling func(0.100000) expected=0.290748
68−trc=smpte170m calling func(1.000000) expected=1.000000
69−trc=smpte170m calling func(52.370000) expected=6.427531
70−trc=smpte170m calling func(125.098765) expected=9.558517
71−trc=smpte170m calling func(1999.111230) expected=33.512490
72−trc=smpte170m calling func(6945.443000) expected=58.768794
73−trc=smpte170m calling func(15123.456700) expected=83.452916
74−trc=smpte170m calling func(19845.889230) expected=94.321297
75−trc=smpte170m calling func(98678.423100) expected=194.219568
76−trc=smpte170m calling func(99999.899998) expected=195.386306
77−trc=smpte240m calling func(-0.100000) expected=0.000000
78−trc=smpte240m calling func(-0.018054) expected=0.000000
79−trc=smpte240m calling func(-0.010000) expected=0.000000
80−trc=smpte240m calling func(-0.004490) expected=0.000000
81−trc=smpte240m calling func(0.000000) expected=0.000000
82−trc=smpte240m calling func(0.003162) expected=0.012649
83−trc=smpte240m calling func(0.005000) expected=0.020000
84−trc=smpte240m calling func(0.009000) expected=0.036000
85−trc=smpte240m calling func(0.015000) expected=0.060000
86−trc=smpte240m calling func(0.100000) expected=0.282875
87−trc=smpte240m calling func(1.000000) expected=1.000000
88−trc=smpte240m calling func(52.370000) expected=6.487781
89−trc=smpte240m calling func(125.098765) expected=9.653524
90−trc=smpte240m calling func(1999.111230) expected=33.873408
91−trc=smpte240m calling func(6945.443000) expected=59.410079
92−trc=smpte240m calling func(15123.456700) expected=84.368216
93−trc=smpte240m calling func(19845.889230) expected=95.357247
94−trc=smpte240m calling func(98678.423100) expected=196.364477
95−trc=smpte240m calling func(99999.899998) expected=197.544167
96−trc=linear calling func(-0.100000) expected=-0.100000
97−trc=linear calling func(-0.018054) expected=-0.018054
98−trc=linear calling func(-0.010000) expected=-0.010000
99−trc=linear calling func(-0.004490) expected=-0.004490
100−trc=linear calling func(0.000000) expected=0.000000
101−trc=linear calling func(0.003162) expected=0.003162
102−trc=linear calling func(0.005000) expected=0.005000
103−trc=linear calling func(0.009000) expected=0.009000
104−trc=linear calling func(0.015000) expected=0.015000
105−trc=linear calling func(0.100000) expected=0.100000
106−trc=linear calling func(1.000000) expected=1.000000
107−trc=linear calling func(52.370000) expected=52.370000
108−trc=linear calling func(125.098765) expected=125.098765
109−trc=linear calling func(1999.111230) expected=1999.111230
110−trc=linear calling func(6945.443000) expected=6945.443000
111−trc=linear calling func(15123.456700) expected=15123.456700
112−trc=linear calling func(19845.889230) expected=19845.889230
113−trc=linear calling func(98678.423100) expected=98678.423100
114−trc=linear calling func(99999.899998) expected=99999.899998
115−trc=log100 calling func(-0.100000) expected=0.000000
116−trc=log100 calling func(-0.018054) expected=0.000000
117−trc=log100 calling func(-0.010000) expected=0.000000
118−trc=log100 calling func(-0.004490) expected=0.000000
119−trc=log100 calling func(0.000000) expected=0.000000
120−trc=log100 calling func(0.003162) expected=0.000000
121−trc=log100 calling func(0.005000) expected=0.000000
122−trc=log100 calling func(0.009000) expected=0.000000
123−trc=log100 calling func(0.015000) expected=0.088046
124−trc=log100 calling func(0.100000) expected=0.500000
125−trc=log100 calling func(1.000000) expected=1.000000
126−trc=log100 calling func(52.370000) expected=1.859541
127−trc=log100 calling func(125.098765) expected=2.048627
128−trc=log100 calling func(1999.111230) expected=2.650418
129−trc=log100 calling func(6945.443000) expected=2.920850
130−trc=log100 calling func(15123.456700) expected=3.089826
131−trc=log100 calling func(19845.889230) expected=3.148835
132−trc=log100 calling func(98678.423100) expected=3.497111
133−trc=log100 calling func(99999.899998) expected=3.500000
134−trc=log316 calling func(-0.100000) expected=0.000000
135−trc=log316 calling func(-0.018054) expected=0.000000
136−trc=log316 calling func(-0.010000) expected=0.000000
137−trc=log316 calling func(-0.004490) expected=0.000000
138−trc=log316 calling func(0.000000) expected=0.000000
139−trc=log316 calling func(0.003162) expected=0.000000
140−trc=log316 calling func(0.005000) expected=0.079588
141−trc=log316 calling func(0.009000) expected=0.181697
142−trc=log316 calling func(0.015000) expected=0.270437
143−trc=log316 calling func(0.100000) expected=0.600000
144−trc=log316 calling func(1.000000) expected=1.000000
145−trc=log316 calling func(52.370000) expected=1.687633
146−trc=log316 calling func(125.098765) expected=1.838901
147−trc=log316 calling func(1999.111230) expected=2.320335
148−trc=log316 calling func(6945.443000) expected=2.536680
149−trc=log316 calling func(15123.456700) expected=2.671860
150−trc=log316 calling func(19845.889230) expected=2.719068
151−trc=log316 calling func(98678.423100) expected=2.997689
152−trc=log316 calling func(99999.899998) expected=3.000000
153−trc=iec61966-2-4 calling func(-0.100000) expected=-0.290748
154−trc=iec61966-2-4 calling func(-0.018054) expected=-0.081243
155−trc=iec61966-2-4 calling func(-0.010000) expected=-0.045000
156−trc=iec61966-2-4 calling func(-0.004490) expected=-0.020205
157−trc=iec61966-2-4 calling func(0.000000) expected=0.000000
158−trc=iec61966-2-4 calling func(0.003162) expected=0.014230
159−trc=iec61966-2-4 calling func(0.005000) expected=0.022500
160−trc=iec61966-2-4 calling func(0.009000) expected=0.040500
161−trc=iec61966-2-4 calling func(0.015000) expected=0.067500
162−trc=iec61966-2-4 calling func(0.100000) expected=0.290748
163−trc=iec61966-2-4 calling func(1.000000) expected=1.000000
164−trc=iec61966-2-4 calling func(52.370000) expected=6.427531
165−trc=iec61966-2-4 calling func(125.098765) expected=9.558517
166−trc=iec61966-2-4 calling func(1999.111230) expected=33.512490
167−trc=iec61966-2-4 calling func(6945.443000) expected=58.768794
168−trc=iec61966-2-4 calling func(15123.456700) expected=83.452916
169−trc=iec61966-2-4 calling func(19845.889230) expected=94.321297
170−trc=iec61966-2-4 calling func(98678.423100) expected=194.219568
171−trc=iec61966-2-4 calling func(99999.899998) expected=195.386306
172−trc=bt1361e calling func(-0.100000) expected=-0.206787
173−trc=bt1361e calling func(-0.018054) expected=-0.109049
174−trc=bt1361e calling func(-0.010000) expected=-0.089387
175−trc=bt1361e calling func(-0.004490) expected=-0.020205
176−trc=bt1361e calling func(0.000000) expected=0.000000
177−trc=bt1361e calling func(0.003162) expected=0.014230
178−trc=bt1361e calling func(0.005000) expected=0.022500
179−trc=bt1361e calling func(0.009000) expected=0.040500
180−trc=bt1361e calling func(0.015000) expected=0.067500
181−trc=bt1361e calling func(0.100000) expected=0.290748
182−trc=bt1361e calling func(1.000000) expected=1.000000
183−trc=bt1361e calling func(52.370000) expected=6.427531
184−trc=bt1361e calling func(125.098765) expected=9.558517
185−trc=bt1361e calling func(1999.111230) expected=33.512490
186−trc=bt1361e calling func(6945.443000) expected=58.768794
187−trc=bt1361e calling func(15123.456700) expected=83.452916
188−trc=bt1361e calling func(19845.889230) expected=94.321297
189−trc=bt1361e calling func(98678.423100) expected=194.219568
190−trc=bt1361e calling func(99999.899998) expected=195.386306
191−trc=iec61966-2-1 calling func(-0.100000) expected=0.000000
192−trc=iec61966-2-1 calling func(-0.018054) expected=0.000000
193−trc=iec61966-2-1 calling func(-0.010000) expected=0.000000
194−trc=iec61966-2-1 calling func(-0.004490) expected=0.000000
195−trc=iec61966-2-1 calling func(0.000000) expected=0.000000
196−trc=iec61966-2-1 calling func(0.003162) expected=0.040849
197−trc=iec61966-2-1 calling func(0.005000) expected=0.061009
198−trc=iec61966-2-1 calling func(0.009000) expected=0.093202
199−trc=iec61966-2-1 calling func(0.015000) expected=0.128354
200−trc=iec61966-2-1 calling func(0.100000) expected=0.349190
201−trc=iec61966-2-1 calling func(1.000000) expected=1.000000
202−trc=iec61966-2-1 calling func(52.370000) expected=5.434552
203−trc=iec61966-2-1 calling func(125.098765) expected=7.835561
204−trc=iec61966-2-1 calling func(1999.111230) expected=24.983090
205−trc=iec61966-2-1 calling func(6945.443000) expected=42.013863
206−trc=iec61966-2-1 calling func(15123.456700) expected=58.125003
207−trc=iec61966-2-1 calling func(19845.889230) expected=65.100117
208−trc=iec61966-2-1 calling func(98678.423100) expected=127.054607
209−trc=iec61966-2-1 calling func(99999.899998) expected=127.761115
210−trc=bt2020-10 calling func(-0.100000) expected=0.000000
211−trc=bt2020-10 calling func(-0.018054) expected=0.000000
212−trc=bt2020-10 calling func(-0.010000) expected=0.000000
213−trc=bt2020-10 calling func(-0.004490) expected=0.000000
214−trc=bt2020-10 calling func(0.000000) expected=0.000000
215−trc=bt2020-10 calling func(0.003162) expected=0.014230
216−trc=bt2020-10 calling func(0.005000) expected=0.022500
217−trc=bt2020-10 calling func(0.009000) expected=0.040500
218−trc=bt2020-10 calling func(0.015000) expected=0.067500
219−trc=bt2020-10 calling func(0.100000) expected=0.290748
220−trc=bt2020-10 calling func(1.000000) expected=1.000000
221−trc=bt2020-10 calling func(52.370000) expected=6.427531
222−trc=bt2020-10 calling func(125.098765) expected=9.558517
223−trc=bt2020-10 calling func(1999.111230) expected=33.512490
224−trc=bt2020-10 calling func(6945.443000) expected=58.768794
225−trc=bt2020-10 calling func(15123.456700) expected=83.452916
226−trc=bt2020-10 calling func(19845.889230) expected=94.321297
227−trc=bt2020-10 calling func(98678.423100) expected=194.219568
228−trc=bt2020-10 calling func(99999.899998) expected=195.386306
229−trc=bt2020-12 calling func(-0.100000) expected=0.000000
230−trc=bt2020-12 calling func(-0.018054) expected=0.000000
231−trc=bt2020-12 calling func(-0.010000) expected=0.000000
232−trc=bt2020-12 calling func(-0.004490) expected=0.000000
233−trc=bt2020-12 calling func(0.000000) expected=0.000000
234−trc=bt2020-12 calling func(0.003162) expected=0.014230
235−trc=bt2020-12 calling func(0.005000) expected=0.022500
236−trc=bt2020-12 calling func(0.009000) expected=0.040500
237−trc=bt2020-12 calling func(0.015000) expected=0.067500
238−trc=bt2020-12 calling func(0.100000) expected=0.290748
239−trc=bt2020-12 calling func(1.000000) expected=1.000000
240−trc=bt2020-12 calling func(52.370000) expected=6.427531
241−trc=bt2020-12 calling func(125.098765) expected=9.558517
242−trc=bt2020-12 calling func(1999.111230) expected=33.512490
243−trc=bt2020-12 calling func(6945.443000) expected=58.768794
244−trc=bt2020-12 calling func(15123.456700) expected=83.452916
245−trc=bt2020-12 calling func(19845.889230) expected=94.321297
246−trc=bt2020-12 calling func(98678.423100) expected=194.219568
247−trc=bt2020-12 calling func(99999.899998) expected=195.386306
248−trc=smpte2084 calling func(-0.100000) expected=0.000000
249−trc=smpte2084 calling func(-0.018054) expected=0.000000
250−trc=smpte2084 calling func(-0.010000) expected=0.000000
251−trc=smpte2084 calling func(-0.004490) expected=0.000000
252−trc=smpte2084 calling func(0.000000) expected=0.000001
253−trc=smpte2084 calling func(0.003162) expected=0.011839
254−trc=smpte2084 calling func(0.005000) expected=0.015076
255−trc=smpte2084 calling func(0.009000) expected=0.020379
256−trc=smpte2084 calling func(0.015000) expected=0.026255
257−trc=smpte2084 calling func(0.100000) expected=0.062337
258−trc=smpte2084 calling func(1.000000) expected=0.149946
259−trc=smpte2084 calling func(52.370000) expected=0.444693
260−trc=smpte2084 calling func(125.098765) expected=0.530719
261−trc=smpte2084 calling func(1999.111230) expected=0.827376
262−trc=smpte2084 calling func(6945.443000) expected=0.961586
263−trc=smpte2084 calling func(15123.456700) expected=1.042921
264−trc=smpte2084 calling func(19845.889230) expected=1.070677
265−trc=smpte2084 calling func(98678.423100) expected=1.225908
266−trc=smpte2084 calling func(99999.899998) expected=1.227127
267−trc=smpte428 calling func(-0.100000) expected=0.000000
268−trc=smpte428 calling func(-0.018054) expected=0.000000
269−trc=smpte428 calling func(-0.010000) expected=0.000000
270−trc=smpte428 calling func(-0.004490) expected=0.000000
271−trc=smpte428 calling func(0.000000) expected=0.000000
272−trc=smpte428 calling func(0.003162) expected=0.105659
273−trc=smpte428 calling func(0.005000) expected=0.126018
274−trc=smpte428 calling func(0.009000) expected=0.157985
275−trc=smpte428 calling func(0.015000) expected=0.192284
276−trc=smpte428 calling func(0.100000) expected=0.398869
277−trc=smpte428 calling func(1.000000) expected=0.967043
278−trc=smpte428 calling func(52.370000) expected=4.432321
279−trc=smpte428 calling func(125.098765) expected=6.195572
280−trc=smpte428 calling func(1999.111230) expected=17.988639
281−trc=smpte428 calling func(6945.443000) expected=29.041734
282−trc=smpte428 calling func(15123.456700) expected=39.174525
283−trc=smpte428 calling func(19845.889230) expected=43.490646
284−trc=smpte428 calling func(98678.423100) expected=80.593559
285−trc=smpte428 calling func(99999.899998) expected=81.006971
286−trc=arib-std-b67 calling func(-0.100000) expected=0.000000
287−trc=arib-std-b67 calling func(-0.018054) expected=0.000000
288−trc=arib-std-b67 calling func(-0.010000) expected=0.000000
289−trc=arib-std-b67 calling func(-0.004490) expected=0.000000
290−trc=arib-std-b67 calling func(0.000000) expected=0.000000
291−trc=arib-std-b67 calling func(0.003162) expected=0.097400
292−trc=arib-std-b67 calling func(0.005000) expected=0.122474
293−trc=arib-std-b67 calling func(0.009000) expected=0.164317
294−trc=arib-std-b67 calling func(0.015000) expected=0.212132
295−trc=arib-std-b67 calling func(0.100000) expected=0.544089
296−trc=arib-std-b67 calling func(1.000000) expected=1.000000
297−trc=arib-std-b67 calling func(52.370000) expected=1.712092
298−trc=arib-std-b67 calling func(125.098765) expected=1.867862
299−trc=arib-std-b67 calling func(1999.111230) expected=2.363502
300−trc=arib-std-b67 calling func(6945.443000) expected=2.586219
301−trc=arib-std-b67 calling func(15123.456700) expected=2.725380
302−trc=arib-std-b67 calling func(19845.889230) expected=2.773978
303−trc=arib-std-b67 calling func(98678.423100) expected=3.060803
304−trc=arib-std-b67 calling func(99999.899998) expected=3.063182
1+trc=bt709 calling func(-0.100000) expected=0.000000 roundtrip=0.000000
2+trc=bt709 calling func(-0.018054) expected=0.000000 roundtrip=0.000000
3+trc=bt709 calling func(-0.010000) expected=0.000000 roundtrip=0.000000
4+trc=bt709 calling func(-0.004490) expected=0.000000 roundtrip=0.000000
5+trc=bt709 calling func(0.000000) expected=0.000000 roundtrip=0.000000
6+trc=bt709 calling func(0.003162) expected=0.014230 roundtrip=0.003162
7+trc=bt709 calling func(0.005000) expected=0.022500 roundtrip=0.005000
8+trc=bt709 calling func(0.009000) expected=0.040500 roundtrip=0.009000
9+trc=bt709 calling func(0.015000) expected=0.067500 roundtrip=0.015000
10+trc=bt709 calling func(0.100000) expected=0.290748 roundtrip=0.100000
11+trc=bt709 calling func(1.000000) expected=1.000000 roundtrip=1.000000
12+trc=bt709 calling func(52.370000) expected=6.427531 roundtrip=52.370000
13+trc=bt709 calling func(125.098765) expected=9.558517 roundtrip=125.098765
14+trc=bt709 calling func(1999.111230) expected=33.512490 roundtrip=1999.111230
15+trc=bt709 calling func(6945.443000) expected=58.768794 roundtrip=6945.443000
16+trc=bt709 calling func(15123.456700) expected=83.452916 roundtrip=15123.456700
17+trc=bt709 calling func(19845.889230) expected=94.321297 roundtrip=19845.889230
18+trc=bt709 calling func(98678.423100) expected=194.219568 roundtrip=98678.423100
19+trc=bt709 calling func(99999.899998) expected=195.386306 roundtrip=99999.899998
20+trc=bt470m calling func(-0.100000) expected=0.000000 roundtrip=0.000000
21+trc=bt470m calling func(-0.018054) expected=0.000000 roundtrip=0.000000
22+trc=bt470m calling func(-0.010000) expected=0.000000 roundtrip=0.000000
23+trc=bt470m calling func(-0.004490) expected=0.000000 roundtrip=0.000000
24+trc=bt470m calling func(0.000000) expected=0.000000 roundtrip=0.000000
25+trc=bt470m calling func(0.003162) expected=0.073053 roundtrip=0.003162
26+trc=bt470m calling func(0.005000) expected=0.089966 roundtrip=0.005000
27+trc=bt470m calling func(0.009000) expected=0.117520 roundtrip=0.009000
28+trc=bt470m calling func(0.015000) expected=0.148235 roundtrip=0.015000
29+trc=bt470m calling func(0.100000) expected=0.351119 roundtrip=0.100000
30+trc=bt470m calling func(1.000000) expected=1.000000 roundtrip=1.000000
31+trc=bt470m calling func(52.370000) expected=6.045068 roundtrip=52.370000
32+trc=bt470m calling func(125.098765) expected=8.980424 roundtrip=125.098765
33+trc=bt470m calling func(1999.111230) expected=31.650490 roundtrip=1999.111230
34+trc=bt470m calling func(6945.443000) expected=55.747738 roundtrip=6945.443000
35+trc=bt470m calling func(15123.456700) expected=79.403820 roundtrip=15123.456700
36+trc=bt470m calling func(19845.889230) expected=89.843491 roundtrip=19845.889230
37+trc=bt470m calling func(98678.423100) expected=186.252024 roundtrip=98678.423100
38+trc=bt470m calling func(99999.899998) expected=187.381657 roundtrip=99999.899998
39+trc=bt470bg calling func(-0.100000) expected=0.000000 roundtrip=0.000000
40+trc=bt470bg calling func(-0.018054) expected=0.000000 roundtrip=0.000000
41+trc=bt470bg calling func(-0.010000) expected=0.000000 roundtrip=0.000000
42+trc=bt470bg calling func(-0.004490) expected=0.000000 roundtrip=0.000000
43+trc=bt470bg calling func(0.000000) expected=0.000000 roundtrip=0.000000
44+trc=bt470bg calling func(0.003162) expected=0.127980 roundtrip=0.003162
45+trc=bt470bg calling func(0.005000) expected=0.150731 roundtrip=0.005000
46+trc=bt470bg calling func(0.009000) expected=0.185940 roundtrip=0.009000
47+trc=bt470bg calling func(0.015000) expected=0.223154 roundtrip=0.015000
48+trc=bt470bg calling func(0.100000) expected=0.439397 roundtrip=0.100000
49+trc=bt470bg calling func(1.000000) expected=1.000000 roundtrip=1.000000
50+trc=bt470bg calling func(52.370000) expected=4.111100 roundtrip=52.370000
51+trc=bt470bg calling func(125.098765) expected=5.610724 roundtrip=125.098765
52+trc=bt470bg calling func(1999.111230) expected=15.096294 roundtrip=1999.111230
53+trc=bt470bg calling func(6945.443000) expected=23.552429 roundtrip=6945.443000
54+trc=bt470bg calling func(15123.456700) expected=31.098005 roundtrip=15123.456700
55+trc=bt470bg calling func(19845.889230) expected=34.267494 roundtrip=19845.889230
56+trc=bt470bg calling func(98678.423100) expected=60.764620 roundtrip=98678.423100
57+trc=bt470bg calling func(99999.899998) expected=61.054001 roundtrip=99999.899998
58+trc=smpte170m calling func(-0.100000) expected=0.000000 roundtrip=0.000000
59+trc=smpte170m calling func(-0.018054) expected=0.000000 roundtrip=0.000000
60+trc=smpte170m calling func(-0.010000) expected=0.000000 roundtrip=0.000000
61+trc=smpte170m calling func(-0.004490) expected=0.000000 roundtrip=0.000000
62+trc=smpte170m calling func(0.000000) expected=0.000000 roundtrip=0.000000
63+trc=smpte170m calling func(0.003162) expected=0.014230 roundtrip=0.003162
64+trc=smpte170m calling func(0.005000) expected=0.022500 roundtrip=0.005000
65+trc=smpte170m calling func(0.009000) expected=0.040500 roundtrip=0.009000
66+trc=smpte170m calling func(0.015000) expected=0.067500 roundtrip=0.015000
67+trc=smpte170m calling func(0.100000) expected=0.290748 roundtrip=0.100000
68+trc=smpte170m calling func(1.000000) expected=1.000000 roundtrip=1.000000
69+trc=smpte170m calling func(52.370000) expected=6.427531 roundtrip=52.370000
70+trc=smpte170m calling func(125.098765) expected=9.558517 roundtrip=125.098765
71+trc=smpte170m calling func(1999.111230) expected=33.512490 roundtrip=1999.111230
72+trc=smpte170m calling func(6945.443000) expected=58.768794 roundtrip=6945.443000
73+trc=smpte170m calling func(15123.456700) expected=83.452916 roundtrip=15123.456700
74+trc=smpte170m calling func(19845.889230) expected=94.321297 roundtrip=19845.889230
75+trc=smpte170m calling func(98678.423100) expected=194.219568 roundtrip=98678.423100
76+trc=smpte170m calling func(99999.899998) expected=195.386306 roundtrip=99999.899998
77+trc=smpte240m calling func(-0.100000) expected=0.000000 roundtrip=0.000000
78+trc=smpte240m calling func(-0.018054) expected=0.000000 roundtrip=0.000000
79+trc=smpte240m calling func(-0.010000) expected=0.000000 roundtrip=0.000000
80+trc=smpte240m calling func(-0.004490) expected=0.000000 roundtrip=0.000000
81+trc=smpte240m calling func(0.000000) expected=0.000000 roundtrip=0.000000
82+trc=smpte240m calling func(0.003162) expected=0.012649 roundtrip=0.003162
83+trc=smpte240m calling func(0.005000) expected=0.020000 roundtrip=0.005000
84+trc=smpte240m calling func(0.009000) expected=0.036000 roundtrip=0.009000
85+trc=smpte240m calling func(0.015000) expected=0.060000 roundtrip=0.015000
86+trc=smpte240m calling func(0.100000) expected=0.282875 roundtrip=0.100000
87+trc=smpte240m calling func(1.000000) expected=1.000000 roundtrip=1.000000
88+trc=smpte240m calling func(52.370000) expected=6.487781 roundtrip=52.370000
89+trc=smpte240m calling func(125.098765) expected=9.653524 roundtrip=125.098765
90+trc=smpte240m calling func(1999.111230) expected=33.873408 roundtrip=1999.111230
91+trc=smpte240m calling func(6945.443000) expected=59.410079 roundtrip=6945.443000
92+trc=smpte240m calling func(15123.456700) expected=84.368216 roundtrip=15123.456700
93+trc=smpte240m calling func(19845.889230) expected=95.357247 roundtrip=19845.889230
94+trc=smpte240m calling func(98678.423100) expected=196.364477 roundtrip=98678.423100
95+trc=smpte240m calling func(99999.899998) expected=197.544167 roundtrip=99999.899998
96+trc=linear calling func(-0.100000) expected=-0.100000 roundtrip=-0.100000
97+trc=linear calling func(-0.018054) expected=-0.018054 roundtrip=-0.018054
98+trc=linear calling func(-0.010000) expected=-0.010000 roundtrip=-0.010000
99+trc=linear calling func(-0.004490) expected=-0.004490 roundtrip=-0.004490
100+trc=linear calling func(0.000000) expected=0.000000 roundtrip=0.000000
101+trc=linear calling func(0.003162) expected=0.003162 roundtrip=0.003162
102+trc=linear calling func(0.005000) expected=0.005000 roundtrip=0.005000
103+trc=linear calling func(0.009000) expected=0.009000 roundtrip=0.009000
104+trc=linear calling func(0.015000) expected=0.015000 roundtrip=0.015000
105+trc=linear calling func(0.100000) expected=0.100000 roundtrip=0.100000
106+trc=linear calling func(1.000000) expected=1.000000 roundtrip=1.000000
107+trc=linear calling func(52.370000) expected=52.370000 roundtrip=52.370000
108+trc=linear calling func(125.098765) expected=125.098765 roundtrip=125.098765
109+trc=linear calling func(1999.111230) expected=1999.111230 roundtrip=1999.111230
110+trc=linear calling func(6945.443000) expected=6945.443000 roundtrip=6945.443000
111+trc=linear calling func(15123.456700) expected=15123.456700 roundtrip=15123.456700
112+trc=linear calling func(19845.889230) expected=19845.889230 roundtrip=19845.889230
113+trc=linear calling func(98678.423100) expected=98678.423100 roundtrip=98678.423100
114+trc=linear calling func(99999.899998) expected=99999.899998 roundtrip=99999.899998
115+trc=log100 calling func(-0.100000) expected=0.000000 roundtrip=0.010000
116+trc=log100 calling func(-0.018054) expected=0.000000 roundtrip=0.010000
117+trc=log100 calling func(-0.010000) expected=0.000000 roundtrip=0.010000
118+trc=log100 calling func(-0.004490) expected=0.000000 roundtrip=0.010000
119+trc=log100 calling func(0.000000) expected=0.000000 roundtrip=0.010000
120+trc=log100 calling func(0.003162) expected=0.000000 roundtrip=0.010000
121+trc=log100 calling func(0.005000) expected=0.000000 roundtrip=0.010000
122+trc=log100 calling func(0.009000) expected=0.000000 roundtrip=0.010000
123+trc=log100 calling func(0.015000) expected=0.088046 roundtrip=0.015000
124+trc=log100 calling func(0.100000) expected=0.500000 roundtrip=0.100000
125+trc=log100 calling func(1.000000) expected=1.000000 roundtrip=1.000000
126+trc=log100 calling func(52.370000) expected=1.859541 roundtrip=52.370000
127+trc=log100 calling func(125.098765) expected=2.048627 roundtrip=125.098765
128+trc=log100 calling func(1999.111230) expected=2.650418 roundtrip=1999.111230
129+trc=log100 calling func(6945.443000) expected=2.920850 roundtrip=6945.443000
130+trc=log100 calling func(15123.456700) expected=3.089826 roundtrip=15123.456700
131+trc=log100 calling func(19845.889230) expected=3.148835 roundtrip=19845.889230
132+trc=log100 calling func(98678.423100) expected=3.497111 roundtrip=98678.423100
133+trc=log100 calling func(99999.899998) expected=3.500000 roundtrip=99999.899998
134+trc=log316 calling func(-0.100000) expected=0.000000 roundtrip=0.003162
135+trc=log316 calling func(-0.018054) expected=0.000000 roundtrip=0.003162
136+trc=log316 calling func(-0.010000) expected=0.000000 roundtrip=0.003162
137+trc=log316 calling func(-0.004490) expected=0.000000 roundtrip=0.003162
138+trc=log316 calling func(0.000000) expected=0.000000 roundtrip=0.003162
139+trc=log316 calling func(0.003162) expected=0.000000 roundtrip=0.003162
140+trc=log316 calling func(0.005000) expected=0.079588 roundtrip=0.005000
141+trc=log316 calling func(0.009000) expected=0.181697 roundtrip=0.009000
142+trc=log316 calling func(0.015000) expected=0.270437 roundtrip=0.015000
143+trc=log316 calling func(0.100000) expected=0.600000 roundtrip=0.100000
144+trc=log316 calling func(1.000000) expected=1.000000 roundtrip=1.000000
145+trc=log316 calling func(52.370000) expected=1.687633 roundtrip=52.370000
146+trc=log316 calling func(125.098765) expected=1.838901 roundtrip=125.098765
147+trc=log316 calling func(1999.111230) expected=2.320335 roundtrip=1999.111230
148+trc=log316 calling func(6945.443000) expected=2.536680 roundtrip=6945.443000
149+trc=log316 calling func(15123.456700) expected=2.671860 roundtrip=15123.456700
150+trc=log316 calling func(19845.889230) expected=2.719068 roundtrip=19845.889230
151+trc=log316 calling func(98678.423100) expected=2.997689 roundtrip=98678.423100
152+trc=log316 calling func(99999.899998) expected=3.000000 roundtrip=99999.899998
153+trc=iec61966-2-4 calling func(-0.100000) expected=-0.290748 roundtrip=-0.100000
154+trc=iec61966-2-4 calling func(-0.018054) expected=-0.081243 roundtrip=-0.018054
155+trc=iec61966-2-4 calling func(-0.010000) expected=-0.045000 roundtrip=-0.010000
156+trc=iec61966-2-4 calling func(-0.004490) expected=-0.020205 roundtrip=-0.004490
157+trc=iec61966-2-4 calling func(0.000000) expected=0.000000 roundtrip=0.000000
158+trc=iec61966-2-4 calling func(0.003162) expected=0.014230 roundtrip=0.003162
159+trc=iec61966-2-4 calling func(0.005000) expected=0.022500 roundtrip=0.005000
160+trc=iec61966-2-4 calling func(0.009000) expected=0.040500 roundtrip=0.009000
161+trc=iec61966-2-4 calling func(0.015000) expected=0.067500 roundtrip=0.015000
162+trc=iec61966-2-4 calling func(0.100000) expected=0.290748 roundtrip=0.100000
163+trc=iec61966-2-4 calling func(1.000000) expected=1.000000 roundtrip=1.000000
164+trc=iec61966-2-4 calling func(52.370000) expected=6.427531 roundtrip=52.370000
165+trc=iec61966-2-4 calling func(125.098765) expected=9.558517 roundtrip=125.098765
166+trc=iec61966-2-4 calling func(1999.111230) expected=33.512490 roundtrip=1999.111230
167+trc=iec61966-2-4 calling func(6945.443000) expected=58.768794 roundtrip=6945.443000
168+trc=iec61966-2-4 calling func(15123.456700) expected=83.452916 roundtrip=15123.456700
169+trc=iec61966-2-4 calling func(19845.889230) expected=94.321297 roundtrip=19845.889230
170+trc=iec61966-2-4 calling func(98678.423100) expected=194.219568 roundtrip=98678.423100
171+trc=iec61966-2-4 calling func(99999.899998) expected=195.386306 roundtrip=99999.899998
172+trc=bt1361e calling func(-0.100000) expected=-0.206787 roundtrip=-0.100000
173+trc=bt1361e calling func(-0.018054) expected=-0.109049 roundtrip=-0.018054
174+trc=bt1361e calling func(-0.010000) expected=-0.089387 roundtrip=-0.010000
175+trc=bt1361e calling func(-0.004490) expected=-0.020205 roundtrip=-0.004490
176+trc=bt1361e calling func(0.000000) expected=0.000000 roundtrip=0.000000
177+trc=bt1361e calling func(0.003162) expected=0.014230 roundtrip=0.003162
178+trc=bt1361e calling func(0.005000) expected=0.022500 roundtrip=0.005000
179+trc=bt1361e calling func(0.009000) expected=0.040500 roundtrip=0.009000
180+trc=bt1361e calling func(0.015000) expected=0.067500 roundtrip=0.015000
181+trc=bt1361e calling func(0.100000) expected=0.290748 roundtrip=0.100000
182+trc=bt1361e calling func(1.000000) expected=1.000000 roundtrip=1.000000
183+trc=bt1361e calling func(52.370000) expected=6.427531 roundtrip=52.370000
184+trc=bt1361e calling func(125.098765) expected=9.558517 roundtrip=125.098765
185+trc=bt1361e calling func(1999.111230) expected=33.512490 roundtrip=1999.111230
186+trc=bt1361e calling func(6945.443000) expected=58.768794 roundtrip=6945.443000
187+trc=bt1361e calling func(15123.456700) expected=83.452916 roundtrip=15123.456700
188+trc=bt1361e calling func(19845.889230) expected=94.321297 roundtrip=19845.889230
189+trc=bt1361e calling func(98678.423100) expected=194.219568 roundtrip=98678.423100
190+trc=bt1361e calling func(99999.899998) expected=195.386306 roundtrip=99999.899998
191+trc=iec61966-2-1 calling func(-0.100000) expected=0.000000 roundtrip=0.000000
192+trc=iec61966-2-1 calling func(-0.018054) expected=0.000000 roundtrip=0.000000
193+trc=iec61966-2-1 calling func(-0.010000) expected=0.000000 roundtrip=0.000000
194+trc=iec61966-2-1 calling func(-0.004490) expected=0.000000 roundtrip=0.000000
195+trc=iec61966-2-1 calling func(0.000000) expected=0.000000 roundtrip=0.000000
196+trc=iec61966-2-1 calling func(0.003162) expected=0.040849 roundtrip=0.003162
197+trc=iec61966-2-1 calling func(0.005000) expected=0.061009 roundtrip=0.005000
198+trc=iec61966-2-1 calling func(0.009000) expected=0.093202 roundtrip=0.009000
199+trc=iec61966-2-1 calling func(0.015000) expected=0.128354 roundtrip=0.015000
200+trc=iec61966-2-1 calling func(0.100000) expected=0.349190 roundtrip=0.100000
201+trc=iec61966-2-1 calling func(1.000000) expected=1.000000 roundtrip=1.000000
202+trc=iec61966-2-1 calling func(52.370000) expected=5.434552 roundtrip=52.370000
203+trc=iec61966-2-1 calling func(125.098765) expected=7.835561 roundtrip=125.098765
204+trc=iec61966-2-1 calling func(1999.111230) expected=24.983090 roundtrip=1999.111230
205+trc=iec61966-2-1 calling func(6945.443000) expected=42.013863 roundtrip=6945.443000
206+trc=iec61966-2-1 calling func(15123.456700) expected=58.125003 roundtrip=15123.456700
207+trc=iec61966-2-1 calling func(19845.889230) expected=65.100117 roundtrip=19845.889230
208+trc=iec61966-2-1 calling func(98678.423100) expected=127.054607 roundtrip=98678.423100
209+trc=iec61966-2-1 calling func(99999.899998) expected=127.761115 roundtrip=99999.899998
210+trc=bt2020-10 calling func(-0.100000) expected=0.000000 roundtrip=0.000000
211+trc=bt2020-10 calling func(-0.018054) expected=0.000000 roundtrip=0.000000
212+trc=bt2020-10 calling func(-0.010000) expected=0.000000 roundtrip=0.000000
213+trc=bt2020-10 calling func(-0.004490) expected=0.000000 roundtrip=0.000000
214+trc=bt2020-10 calling func(0.000000) expected=0.000000 roundtrip=0.000000
215+trc=bt2020-10 calling func(0.003162) expected=0.014230 roundtrip=0.003162
216+trc=bt2020-10 calling func(0.005000) expected=0.022500 roundtrip=0.005000
217+trc=bt2020-10 calling func(0.009000) expected=0.040500 roundtrip=0.009000
218+trc=bt2020-10 calling func(0.015000) expected=0.067500 roundtrip=0.015000
219+trc=bt2020-10 calling func(0.100000) expected=0.290748 roundtrip=0.100000
220+trc=bt2020-10 calling func(1.000000) expected=1.000000 roundtrip=1.000000
221+trc=bt2020-10 calling func(52.370000) expected=6.427531 roundtrip=52.370000
222+trc=bt2020-10 calling func(125.098765) expected=9.558517 roundtrip=125.098765
223+trc=bt2020-10 calling func(1999.111230) expected=33.512490 roundtrip=1999.111230
224+trc=bt2020-10 calling func(6945.443000) expected=58.768794 roundtrip=6945.443000
225+trc=bt2020-10 calling func(15123.456700) expected=83.452916 roundtrip=15123.456700
226+trc=bt2020-10 calling func(19845.889230) expected=94.321297 roundtrip=19845.889230
227+trc=bt2020-10 calling func(98678.423100) expected=194.219568 roundtrip=98678.423100
228+trc=bt2020-10 calling func(99999.899998) expected=195.386306 roundtrip=99999.899998
229+trc=bt2020-12 calling func(-0.100000) expected=0.000000 roundtrip=0.000000
230+trc=bt2020-12 calling func(-0.018054) expected=0.000000 roundtrip=0.000000
231+trc=bt2020-12 calling func(-0.010000) expected=0.000000 roundtrip=0.000000
232+trc=bt2020-12 calling func(-0.004490) expected=0.000000 roundtrip=0.000000
233+trc=bt2020-12 calling func(0.000000) expected=0.000000 roundtrip=0.000000
234+trc=bt2020-12 calling func(0.003162) expected=0.014230 roundtrip=0.003162
235+trc=bt2020-12 calling func(0.005000) expected=0.022500 roundtrip=0.005000
236+trc=bt2020-12 calling func(0.009000) expected=0.040500 roundtrip=0.009000
237+trc=bt2020-12 calling func(0.015000) expected=0.067500 roundtrip=0.015000
238+trc=bt2020-12 calling func(0.100000) expected=0.290748 roundtrip=0.100000
239+trc=bt2020-12 calling func(1.000000) expected=1.000000 roundtrip=1.000000
240+trc=bt2020-12 calling func(52.370000) expected=6.427531 roundtrip=52.370000
241+trc=bt2020-12 calling func(125.098765) expected=9.558517 roundtrip=125.098765
242+trc=bt2020-12 calling func(1999.111230) expected=33.512490 roundtrip=1999.111230
243+trc=bt2020-12 calling func(6945.443000) expected=58.768794 roundtrip=6945.443000
244+trc=bt2020-12 calling func(15123.456700) expected=83.452916 roundtrip=15123.456700
245+trc=bt2020-12 calling func(19845.889230) expected=94.321297 roundtrip=19845.889230
246+trc=bt2020-12 calling func(98678.423100) expected=194.219568 roundtrip=98678.423100
247+trc=bt2020-12 calling func(99999.899998) expected=195.386306 roundtrip=99999.899998
248+trc=smpte2084 calling func(-0.100000) expected=0.000000 roundtrip=0.000000
249+trc=smpte2084 calling func(-0.018054) expected=0.000000 roundtrip=0.000000
250+trc=smpte2084 calling func(-0.010000) expected=0.000000 roundtrip=0.000000
251+trc=smpte2084 calling func(-0.004490) expected=0.000000 roundtrip=0.000000
252+trc=smpte2084 calling func(0.000000) expected=0.000001 roundtrip=0.000000
253+trc=smpte2084 calling func(0.003162) expected=0.011839 roundtrip=0.003162
254+trc=smpte2084 calling func(0.005000) expected=0.015076 roundtrip=0.005000
255+trc=smpte2084 calling func(0.009000) expected=0.020379 roundtrip=0.009000
256+trc=smpte2084 calling func(0.015000) expected=0.026255 roundtrip=0.015000
257+trc=smpte2084 calling func(0.100000) expected=0.062337 roundtrip=0.100000
258+trc=smpte2084 calling func(1.000000) expected=0.149946 roundtrip=1.000000
259+trc=smpte2084 calling func(52.370000) expected=0.444693 roundtrip=52.370000
260+trc=smpte2084 calling func(125.098765) expected=0.530719 roundtrip=125.098765
261+trc=smpte2084 calling func(1999.111230) expected=0.827376 roundtrip=1999.111230
262+trc=smpte2084 calling func(6945.443000) expected=0.961586 roundtrip=6945.443000
263+trc=smpte2084 calling func(15123.456700) expected=1.042921 roundtrip=15123.456700
264+trc=smpte2084 calling func(19845.889230) expected=1.070677 roundtrip=19845.889230
265+trc=smpte2084 calling func(98678.423100) expected=1.225908 roundtrip=98678.423100
266+trc=smpte2084 calling func(99999.899998) expected=1.227127 roundtrip=99999.899998
267+trc=smpte428 calling func(-0.100000) expected=0.000000 roundtrip=0.000000
268+trc=smpte428 calling func(-0.018054) expected=0.000000 roundtrip=0.000000
269+trc=smpte428 calling func(-0.010000) expected=0.000000 roundtrip=0.000000
270+trc=smpte428 calling func(-0.004490) expected=0.000000 roundtrip=0.000000
271+trc=smpte428 calling func(0.000000) expected=0.000000 roundtrip=0.000000
272+trc=smpte428 calling func(0.003162) expected=0.105659 roundtrip=0.003162
273+trc=smpte428 calling func(0.005000) expected=0.126018 roundtrip=0.005000
274+trc=smpte428 calling func(0.009000) expected=0.157985 roundtrip=0.009000
275+trc=smpte428 calling func(0.015000) expected=0.192284 roundtrip=0.015000
276+trc=smpte428 calling func(0.100000) expected=0.398869 roundtrip=0.100000
277+trc=smpte428 calling func(1.000000) expected=0.967043 roundtrip=1.000000
278+trc=smpte428 calling func(52.370000) expected=4.432321 roundtrip=52.370000
279+trc=smpte428 calling func(125.098765) expected=6.195572 roundtrip=125.098765
280+trc=smpte428 calling func(1999.111230) expected=17.988639 roundtrip=1999.111230
281+trc=smpte428 calling func(6945.443000) expected=29.041734 roundtrip=6945.443000
282+trc=smpte428 calling func(15123.456700) expected=39.174525 roundtrip=15123.456700
283+trc=smpte428 calling func(19845.889230) expected=43.490646 roundtrip=19845.889230
284+trc=smpte428 calling func(98678.423100) expected=80.593559 roundtrip=98678.423100
285+trc=smpte428 calling func(99999.899998) expected=81.006971 roundtrip=99999.899998
286+trc=arib-std-b67 calling func(-0.100000) expected=0.000000 roundtrip=0.000000
287+trc=arib-std-b67 calling func(-0.018054) expected=0.000000 roundtrip=0.000000
288+trc=arib-std-b67 calling func(-0.010000) expected=0.000000 roundtrip=0.000000
289+trc=arib-std-b67 calling func(-0.004490) expected=0.000000 roundtrip=0.000000
290+trc=arib-std-b67 calling func(0.000000) expected=0.000000 roundtrip=0.000000
291+trc=arib-std-b67 calling func(0.003162) expected=0.097400 roundtrip=0.003162
292+trc=arib-std-b67 calling func(0.005000) expected=0.122474 roundtrip=0.005000
293+trc=arib-std-b67 calling func(0.009000) expected=0.164317 roundtrip=0.009000
294+trc=arib-std-b67 calling func(0.015000) expected=0.212132 roundtrip=0.015000
295+trc=arib-std-b67 calling func(0.100000) expected=0.544089 roundtrip=0.100000
296+trc=arib-std-b67 calling func(1.000000) expected=1.000000 roundtrip=1.000000
297+trc=arib-std-b67 calling func(52.370000) expected=1.712092 roundtrip=52.370000
298+trc=arib-std-b67 calling func(125.098765) expected=1.867862 roundtrip=125.098765
299+trc=arib-std-b67 calling func(1999.111230) expected=2.363502 roundtrip=1999.111230
300+trc=arib-std-b67 calling func(6945.443000) expected=2.586219 roundtrip=6945.443000
301+trc=arib-std-b67 calling func(15123.456700) expected=2.725380 roundtrip=15123.456700
302+trc=arib-std-b67 calling func(19845.889230) expected=2.773978 roundtrip=19845.889230
303+trc=arib-std-b67 calling func(98678.423100) expected=3.060803 roundtrip=98678.423100
304+trc=arib-std-b67 calling func(99999.899998) expected=3.063182 roundtrip=99999.899998

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