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
2 2
3API changes, most recent first:3API changes, most recent first:
4 4
52024-12-05 - xxxxxxxxxx - lavu 59.48.100 - csp.h
6 Add av_csp_trc_func_inv_from_id().
7
52024-11-25 - xxxxxxxxxx - lsws 8.12.100 - swscale.h82024-11-25 - xxxxxxxxxx - lsws 8.12.100 - swscale.h
6 Allow using sws_frame_scale() dynamically, without first initializing the9 Allow using sws_frame_scale() dynamically, without first initializing the
7 SwsContext. Deprecate sws_init_context(). Add sws_frame_setup() instead.10 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
170 : a * pow(Lc, 0.45) - (a - 1.0);170 : a * pow(Lc, 0.45) - (a - 1.0);
171}171}
172 172
173static 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
173static double trc_gamma22(double Lc)183static double trc_gamma22(double Lc)
174{184{
175 return (0.0 > Lc) ? 0.0 : pow(Lc, 1.0/ 2.2);185 return (0.0 > Lc) ? 0.0 : pow(Lc, 1.0/ 2.2);
176}186}
177 187
188static double trc_gamma22_inv(double E)
189{
190 return (0.0 > E) ? 0.0 : pow(E, 2.2);
191}
192
178static double trc_gamma28(double Lc)193static double trc_gamma28(double Lc)
179{194{
180 return (0.0 > Lc) ? 0.0 : pow(Lc, 1.0/ 2.8);195 return (0.0 > Lc) ? 0.0 : pow(Lc, 1.0/ 2.8);
181}196}
182 197
198static double trc_gamma28_inv(double E)
199{
200 return (0.0 > E) ? 0.0 : pow(E, 2.8);
201}
202
183static double trc_smpte240M(double Lc)203static double trc_smpte240M(double Lc)
184{204{
185 const double a = 1.1115;205 const double a = 1.1115;
@@ -190,6 +210,16 @@ static double trc_smpte240M(double Lc) · 4 unmodified lines
190 : a * pow(Lc, 0.45) - (a - 1.0);210 : a * pow(Lc, 0.45) - (a - 1.0);
191}211}
192 212
213static 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
193static double trc_linear(double Lc)223static double trc_linear(double Lc)
194{224{
195 return Lc;225 return Lc;
@@ -200,12 +230,22 @@ static double trc_log(double Lc) · 4 unmodified lines
200 return (0.01 > Lc) ? 0.0 : 1.0 + log10(Lc) / 2.0;230 return (0.01 > Lc) ? 0.0 : 1.0 + log10(Lc) / 2.0;
201}231}
202 232
233static double trc_log_inv(double E)
234{
235 return (0.0 > E) ? 0.01 : pow(10.0, 2.0 * (E - 1.0));
236}
237
203static double trc_log_sqrt(double Lc)238static double trc_log_sqrt(double Lc)
204{239{
205 // sqrt(10) / 1000240 // sqrt(10) / 1000
206 return (0.00316227766 > Lc) ? 0.0 : 1.0 + log10(Lc) / 2.5;241 return (0.00316227766 > Lc) ? 0.0 : 1.0 + log10(Lc) / 2.5;
207}242}
208 243
244static 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
209static double trc_iec61966_2_4(double Lc)249static double trc_iec61966_2_4(double Lc)
210{250{
211 const double a = BT709_alpha;251 const double a = BT709_alpha;
@@ -216,6 +256,16 @@ static double trc_iec61966_2_4(double Lc) · 4 unmodified lines
216 : a * pow( Lc, 0.45) - (a - 1.0);256 : a * pow( Lc, 0.45) - (a - 1.0);
217}257}
218 258
259static 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
219static double trc_bt1361(double Lc)269static double trc_bt1361(double Lc)
220{270{
221 const double a = BT709_alpha;271 const double a = BT709_alpha;
@@ -226,6 +276,16 @@ static double trc_bt1361(double Lc) · 4 unmodified lines
226 : a * pow( Lc, 0.45) - (a - 1.0);276 : a * pow( Lc, 0.45) - (a - 1.0);
227}277}
228 278
279static 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
229static double trc_iec61966_2_1(double Lc)289static double trc_iec61966_2_1(double Lc)
230{290{
231 const double a = 1.055;291 const double a = 1.055;
@@ -236,13 +296,30 @@ static double trc_iec61966_2_1(double Lc) · 4 unmodified lines
236 : a * pow(Lc, 1.0 / 2.4) - (a - 1.0);296 : a * pow(Lc, 1.0 / 2.4) - (a - 1.0);
237}297}
238 298
299static 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
239static double trc_smpte_st2084(double Lc)316static double trc_smpte_st2084(double Lc)
240{317{
241 const double c1 = 3424.0 / 4096.0; // c3-c2 + 1318 const double c1 = PQ_c1;
242 const double c2 = 32.0 * 2413.0 / 4096.0;319 const double c2 = PQ_c2;
243 const double c3 = 32.0 * 2392.0 / 4096.0;320 const double c3 = PQ_c3;
244 const double m = 128.0 * 2523.0 / 4096.0;321 const double m = PQ_m;
245 const double n = 0.25 * 2610.0 / 4096.0;322 const double n = PQ_n;
246 const double L = Lc / 10000.0;323 const double L = Lc / 10000.0;
247 const double Ln = pow(L, n);324 const double Ln = pow(L, n);
248 325
@@ -251,24 +328,56 @@ static double trc_smpte_st2084(double Lc) · 2 unmodified lines
251 328
252}329}
253 330
331static 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
254static double trc_smpte_st428_1(double Lc)347static double trc_smpte_st428_1(double Lc)
255{348{
256 return (0.0 > Lc) ? 0.0349 return (0.0 > Lc) ? 0.0 : pow(DCI_L / DCI_P * Lc, 1.0 / 2.6);
257 : pow(48.0 * Lc / 52.37, 1.0 / 2.6);
258}350}
259 351
352static 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
260 360
261static double trc_arib_std_b67(double Lc) {361static double trc_arib_std_b67(double Lc) {
262 // The function uses the definition from HEVC, which assumes that the peak362 // The function uses the definition from HEVC, which assumes that the peak
263 // white is input level = 1. (this is equivalent to scaling E = Lc * 12 and363 // white is input level = 1. (this is equivalent to scaling E = Lc * 12 and
264 // using the definition from the ARIB STD-B67 spec)364 // using the definition from the ARIB STD-B67 spec)
265 const double a = 0.17883277;365 const double a = HLG_a;
266 const double b = 0.28466892;366 const double b = HLG_b;
267 const double c = 0.55991073;367 const double c = HLG_c;
268 return (0.0 > Lc) ? 0.0 :368 return (0.0 > Lc) ? 0.0 :
269 (Lc <= 1.0 / 12.0 ? sqrt(3.0 * Lc) : a * log(12.0 * Lc - b) + c);369 (Lc <= 1.0 / 12.0 ? sqrt(3.0 * Lc) : a * log(12.0 * Lc - b) + c);
270}370}
271 371
372static 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
272static const av_csp_trc_function trc_funcs[AVCOL_TRC_NB] = {381static const av_csp_trc_function trc_funcs[AVCOL_TRC_NB] = {
273 [AVCOL_TRC_BT709] = trc_bt709,382 [AVCOL_TRC_BT709] = trc_bt709,
274 [AVCOL_TRC_GAMMA22] = trc_gamma22,383 [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
294 return NULL;403 return NULL;
295 return trc_funcs[trc];404 return trc_funcs[trc];
296}405}
406
407static 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
426av_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
147 */147 */
148av_csp_trc_function av_csp_trc_func_from_id(enum AVColorTransferCharacteristic trc);148av_csp_trc_function av_csp_trc_func_from_id(enum AVColorTransferCharacteristic trc);
149 149
150/**
151 * Returns the mathematical inverse of the corresponding TRC function.
152 */
153av_csp_trc_function av_csp_trc_func_inv_from_id(enum AVColorTransferCharacteristic trc);
154
150/**155/**
151 * @}156 * @}
152 */157 */
libavutil/tests/color_utils.c+11−2
@@ -18,7 +18,9 @@ · 17 unmodified lines
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */19 */
20 20
21#include <math.h>
21#include <stdio.h>22#include <stdio.h>
23
22#include "libavutil/csp.h"24#include "libavutil/csp.h"
23#include "libavutil/macros.h"25#include "libavutil/macros.h"
24#include "libavutil/pixdesc.h"26#include "libavutil/pixdesc.h"
@@ -34,14 +36,21 @@ int main(int argc, char *argv[]) · 9 unmodified lines
34 36
35 for (enum AVColorTransferCharacteristic trc = 0; trc < AVCOL_TRC_NB; trc++) {37 for (enum AVColorTransferCharacteristic trc = 0; trc < AVCOL_TRC_NB; trc++) {
36 av_csp_trc_function func = av_csp_trc_func_from_id(trc);38 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);
37 const char *name = av_color_transfer_name(trc);40 const char *name = av_color_transfer_name(trc);
38 if (!func)41 if (!func)
39 continue;42 continue;
40 43
41 for (int i = 0; i < FF_ARRAY_ELEMS(test_data); i++) {44 for (int i = 0; i < FF_ARRAY_ELEMS(test_data); i++) {
42 double result = func(test_data[i]);45 double result = func(test_data[i]);
43 printf("trc=%s calling func(%f) expected=%f\n",46 double roundtrip = func_inv(result);
44 name, test_data[i], 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 }
45 }54 }
46 }55 }
47}56}
libavutil/version.h+2−2
@@ -79,8 +79,8 @@ · 78 unmodified lines
79 */79 */
80 80
81#define LIBAVUTIL_VERSION_MAJOR 5981#define LIBAVUTIL_VERSION_MAJOR 59
82#define LIBAVUTIL_VERSION_MINOR 4782#define LIBAVUTIL_VERSION_MINOR 48
83#define LIBAVUTIL_VERSION_MICRO 10183#define LIBAVUTIL_VERSION_MICRO 100
84 84
85#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \85#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
86 LIBAVUTIL_VERSION_MINOR, \86 LIBAVUTIL_VERSION_MINOR, \
tests/ref/fate/color_utils+304−304
@@ -1,304 +1,304 @@
1trc=bt709 calling func(-0.100000) expected=0.0000001trc=bt709 calling func(-0.100000) expected=0.000000 roundtrip=0.000000
2trc=bt709 calling func(-0.018054) expected=0.0000002trc=bt709 calling func(-0.018054) expected=0.000000 roundtrip=0.000000
3trc=bt709 calling func(-0.010000) expected=0.0000003trc=bt709 calling func(-0.010000) expected=0.000000 roundtrip=0.000000
4trc=bt709 calling func(-0.004490) expected=0.0000004trc=bt709 calling func(-0.004490) expected=0.000000 roundtrip=0.000000
5trc=bt709 calling func(0.000000) expected=0.0000005trc=bt709 calling func(0.000000) expected=0.000000 roundtrip=0.000000
6trc=bt709 calling func(0.003162) expected=0.0142306trc=bt709 calling func(0.003162) expected=0.014230 roundtrip=0.003162
7trc=bt709 calling func(0.005000) expected=0.0225007trc=bt709 calling func(0.005000) expected=0.022500 roundtrip=0.005000
8trc=bt709 calling func(0.009000) expected=0.0405008trc=bt709 calling func(0.009000) expected=0.040500 roundtrip=0.009000
9trc=bt709 calling func(0.015000) expected=0.0675009trc=bt709 calling func(0.015000) expected=0.067500 roundtrip=0.015000
10trc=bt709 calling func(0.100000) expected=0.29074810trc=bt709 calling func(0.100000) expected=0.290748 roundtrip=0.100000
11trc=bt709 calling func(1.000000) expected=1.00000011trc=bt709 calling func(1.000000) expected=1.000000 roundtrip=1.000000
12trc=bt709 calling func(52.370000) expected=6.42753112trc=bt709 calling func(52.370000) expected=6.427531 roundtrip=52.370000
13trc=bt709 calling func(125.098765) expected=9.55851713trc=bt709 calling func(125.098765) expected=9.558517 roundtrip=125.098765
14trc=bt709 calling func(1999.111230) expected=33.51249014trc=bt709 calling func(1999.111230) expected=33.512490 roundtrip=1999.111230
15trc=bt709 calling func(6945.443000) expected=58.76879415trc=bt709 calling func(6945.443000) expected=58.768794 roundtrip=6945.443000
16trc=bt709 calling func(15123.456700) expected=83.45291616trc=bt709 calling func(15123.456700) expected=83.452916 roundtrip=15123.456700
17trc=bt709 calling func(19845.889230) expected=94.32129717trc=bt709 calling func(19845.889230) expected=94.321297 roundtrip=19845.889230
18trc=bt709 calling func(98678.423100) expected=194.21956818trc=bt709 calling func(98678.423100) expected=194.219568 roundtrip=98678.423100
19trc=bt709 calling func(99999.899998) expected=195.38630619trc=bt709 calling func(99999.899998) expected=195.386306 roundtrip=99999.899998
20trc=bt470m calling func(-0.100000) expected=0.00000020trc=bt470m calling func(-0.100000) expected=0.000000 roundtrip=0.000000
21trc=bt470m calling func(-0.018054) expected=0.00000021trc=bt470m calling func(-0.018054) expected=0.000000 roundtrip=0.000000
22trc=bt470m calling func(-0.010000) expected=0.00000022trc=bt470m calling func(-0.010000) expected=0.000000 roundtrip=0.000000
23trc=bt470m calling func(-0.004490) expected=0.00000023trc=bt470m calling func(-0.004490) expected=0.000000 roundtrip=0.000000
24trc=bt470m calling func(0.000000) expected=0.00000024trc=bt470m calling func(0.000000) expected=0.000000 roundtrip=0.000000
25trc=bt470m calling func(0.003162) expected=0.07305325trc=bt470m calling func(0.003162) expected=0.073053 roundtrip=0.003162
26trc=bt470m calling func(0.005000) expected=0.08996626trc=bt470m calling func(0.005000) expected=0.089966 roundtrip=0.005000
27trc=bt470m calling func(0.009000) expected=0.11752027trc=bt470m calling func(0.009000) expected=0.117520 roundtrip=0.009000
28trc=bt470m calling func(0.015000) expected=0.14823528trc=bt470m calling func(0.015000) expected=0.148235 roundtrip=0.015000
29trc=bt470m calling func(0.100000) expected=0.35111929trc=bt470m calling func(0.100000) expected=0.351119 roundtrip=0.100000
30trc=bt470m calling func(1.000000) expected=1.00000030trc=bt470m calling func(1.000000) expected=1.000000 roundtrip=1.000000
31trc=bt470m calling func(52.370000) expected=6.04506831trc=bt470m calling func(52.370000) expected=6.045068 roundtrip=52.370000
32trc=bt470m calling func(125.098765) expected=8.98042432trc=bt470m calling func(125.098765) expected=8.980424 roundtrip=125.098765
33trc=bt470m calling func(1999.111230) expected=31.65049033trc=bt470m calling func(1999.111230) expected=31.650490 roundtrip=1999.111230
34trc=bt470m calling func(6945.443000) expected=55.74773834trc=bt470m calling func(6945.443000) expected=55.747738 roundtrip=6945.443000
35trc=bt470m calling func(15123.456700) expected=79.40382035trc=bt470m calling func(15123.456700) expected=79.403820 roundtrip=15123.456700
36trc=bt470m calling func(19845.889230) expected=89.84349136trc=bt470m calling func(19845.889230) expected=89.843491 roundtrip=19845.889230
37trc=bt470m calling func(98678.423100) expected=186.25202437trc=bt470m calling func(98678.423100) expected=186.252024 roundtrip=98678.423100
38trc=bt470m calling func(99999.899998) expected=187.38165738trc=bt470m calling func(99999.899998) expected=187.381657 roundtrip=99999.899998
39trc=bt470bg calling func(-0.100000) expected=0.00000039trc=bt470bg calling func(-0.100000) expected=0.000000 roundtrip=0.000000
40trc=bt470bg calling func(-0.018054) expected=0.00000040trc=bt470bg calling func(-0.018054) expected=0.000000 roundtrip=0.000000
41trc=bt470bg calling func(-0.010000) expected=0.00000041trc=bt470bg calling func(-0.010000) expected=0.000000 roundtrip=0.000000
42trc=bt470bg calling func(-0.004490) expected=0.00000042trc=bt470bg calling func(-0.004490) expected=0.000000 roundtrip=0.000000
43trc=bt470bg calling func(0.000000) expected=0.00000043trc=bt470bg calling func(0.000000) expected=0.000000 roundtrip=0.000000
44trc=bt470bg calling func(0.003162) expected=0.12798044trc=bt470bg calling func(0.003162) expected=0.127980 roundtrip=0.003162
45trc=bt470bg calling func(0.005000) expected=0.15073145trc=bt470bg calling func(0.005000) expected=0.150731 roundtrip=0.005000
46trc=bt470bg calling func(0.009000) expected=0.18594046trc=bt470bg calling func(0.009000) expected=0.185940 roundtrip=0.009000
47trc=bt470bg calling func(0.015000) expected=0.22315447trc=bt470bg calling func(0.015000) expected=0.223154 roundtrip=0.015000
48trc=bt470bg calling func(0.100000) expected=0.43939748trc=bt470bg calling func(0.100000) expected=0.439397 roundtrip=0.100000
49trc=bt470bg calling func(1.000000) expected=1.00000049trc=bt470bg calling func(1.000000) expected=1.000000 roundtrip=1.000000
50trc=bt470bg calling func(52.370000) expected=4.11110050trc=bt470bg calling func(52.370000) expected=4.111100 roundtrip=52.370000
51trc=bt470bg calling func(125.098765) expected=5.61072451trc=bt470bg calling func(125.098765) expected=5.610724 roundtrip=125.098765
52trc=bt470bg calling func(1999.111230) expected=15.09629452trc=bt470bg calling func(1999.111230) expected=15.096294 roundtrip=1999.111230
53trc=bt470bg calling func(6945.443000) expected=23.55242953trc=bt470bg calling func(6945.443000) expected=23.552429 roundtrip=6945.443000
54trc=bt470bg calling func(15123.456700) expected=31.09800554trc=bt470bg calling func(15123.456700) expected=31.098005 roundtrip=15123.456700
55trc=bt470bg calling func(19845.889230) expected=34.26749455trc=bt470bg calling func(19845.889230) expected=34.267494 roundtrip=19845.889230
56trc=bt470bg calling func(98678.423100) expected=60.76462056trc=bt470bg calling func(98678.423100) expected=60.764620 roundtrip=98678.423100
57trc=bt470bg calling func(99999.899998) expected=61.05400157trc=bt470bg calling func(99999.899998) expected=61.054001 roundtrip=99999.899998
58trc=smpte170m calling func(-0.100000) expected=0.00000058trc=smpte170m calling func(-0.100000) expected=0.000000 roundtrip=0.000000
59trc=smpte170m calling func(-0.018054) expected=0.00000059trc=smpte170m calling func(-0.018054) expected=0.000000 roundtrip=0.000000
60trc=smpte170m calling func(-0.010000) expected=0.00000060trc=smpte170m calling func(-0.010000) expected=0.000000 roundtrip=0.000000
61trc=smpte170m calling func(-0.004490) expected=0.00000061trc=smpte170m calling func(-0.004490) expected=0.000000 roundtrip=0.000000
62trc=smpte170m calling func(0.000000) expected=0.00000062trc=smpte170m calling func(0.000000) expected=0.000000 roundtrip=0.000000
63trc=smpte170m calling func(0.003162) expected=0.01423063trc=smpte170m calling func(0.003162) expected=0.014230 roundtrip=0.003162
64trc=smpte170m calling func(0.005000) expected=0.02250064trc=smpte170m calling func(0.005000) expected=0.022500 roundtrip=0.005000
65trc=smpte170m calling func(0.009000) expected=0.04050065trc=smpte170m calling func(0.009000) expected=0.040500 roundtrip=0.009000
66trc=smpte170m calling func(0.015000) expected=0.06750066trc=smpte170m calling func(0.015000) expected=0.067500 roundtrip=0.015000
67trc=smpte170m calling func(0.100000) expected=0.29074867trc=smpte170m calling func(0.100000) expected=0.290748 roundtrip=0.100000
68trc=smpte170m calling func(1.000000) expected=1.00000068trc=smpte170m calling func(1.000000) expected=1.000000 roundtrip=1.000000
69trc=smpte170m calling func(52.370000) expected=6.42753169trc=smpte170m calling func(52.370000) expected=6.427531 roundtrip=52.370000
70trc=smpte170m calling func(125.098765) expected=9.55851770trc=smpte170m calling func(125.098765) expected=9.558517 roundtrip=125.098765
71trc=smpte170m calling func(1999.111230) expected=33.51249071trc=smpte170m calling func(1999.111230) expected=33.512490 roundtrip=1999.111230
72trc=smpte170m calling func(6945.443000) expected=58.76879472trc=smpte170m calling func(6945.443000) expected=58.768794 roundtrip=6945.443000
73trc=smpte170m calling func(15123.456700) expected=83.45291673trc=smpte170m calling func(15123.456700) expected=83.452916 roundtrip=15123.456700
74trc=smpte170m calling func(19845.889230) expected=94.32129774trc=smpte170m calling func(19845.889230) expected=94.321297 roundtrip=19845.889230
75trc=smpte170m calling func(98678.423100) expected=194.21956875trc=smpte170m calling func(98678.423100) expected=194.219568 roundtrip=98678.423100
76trc=smpte170m calling func(99999.899998) expected=195.38630676trc=smpte170m calling func(99999.899998) expected=195.386306 roundtrip=99999.899998
77trc=smpte240m calling func(-0.100000) expected=0.00000077trc=smpte240m calling func(-0.100000) expected=0.000000 roundtrip=0.000000
78trc=smpte240m calling func(-0.018054) expected=0.00000078trc=smpte240m calling func(-0.018054) expected=0.000000 roundtrip=0.000000
79trc=smpte240m calling func(-0.010000) expected=0.00000079trc=smpte240m calling func(-0.010000) expected=0.000000 roundtrip=0.000000
80trc=smpte240m calling func(-0.004490) expected=0.00000080trc=smpte240m calling func(-0.004490) expected=0.000000 roundtrip=0.000000
81trc=smpte240m calling func(0.000000) expected=0.00000081trc=smpte240m calling func(0.000000) expected=0.000000 roundtrip=0.000000
82trc=smpte240m calling func(0.003162) expected=0.01264982trc=smpte240m calling func(0.003162) expected=0.012649 roundtrip=0.003162
83trc=smpte240m calling func(0.005000) expected=0.02000083trc=smpte240m calling func(0.005000) expected=0.020000 roundtrip=0.005000
84trc=smpte240m calling func(0.009000) expected=0.03600084trc=smpte240m calling func(0.009000) expected=0.036000 roundtrip=0.009000
85trc=smpte240m calling func(0.015000) expected=0.06000085trc=smpte240m calling func(0.015000) expected=0.060000 roundtrip=0.015000
86trc=smpte240m calling func(0.100000) expected=0.28287586trc=smpte240m calling func(0.100000) expected=0.282875 roundtrip=0.100000
87trc=smpte240m calling func(1.000000) expected=1.00000087trc=smpte240m calling func(1.000000) expected=1.000000 roundtrip=1.000000
88trc=smpte240m calling func(52.370000) expected=6.48778188trc=smpte240m calling func(52.370000) expected=6.487781 roundtrip=52.370000
89trc=smpte240m calling func(125.098765) expected=9.65352489trc=smpte240m calling func(125.098765) expected=9.653524 roundtrip=125.098765
90trc=smpte240m calling func(1999.111230) expected=33.87340890trc=smpte240m calling func(1999.111230) expected=33.873408 roundtrip=1999.111230
91trc=smpte240m calling func(6945.443000) expected=59.41007991trc=smpte240m calling func(6945.443000) expected=59.410079 roundtrip=6945.443000
92trc=smpte240m calling func(15123.456700) expected=84.36821692trc=smpte240m calling func(15123.456700) expected=84.368216 roundtrip=15123.456700
93trc=smpte240m calling func(19845.889230) expected=95.35724793trc=smpte240m calling func(19845.889230) expected=95.357247 roundtrip=19845.889230
94trc=smpte240m calling func(98678.423100) expected=196.36447794trc=smpte240m calling func(98678.423100) expected=196.364477 roundtrip=98678.423100
95trc=smpte240m calling func(99999.899998) expected=197.54416795trc=smpte240m calling func(99999.899998) expected=197.544167 roundtrip=99999.899998
96trc=linear calling func(-0.100000) expected=-0.10000096trc=linear calling func(-0.100000) expected=-0.100000 roundtrip=-0.100000
97trc=linear calling func(-0.018054) expected=-0.01805497trc=linear calling func(-0.018054) expected=-0.018054 roundtrip=-0.018054
98trc=linear calling func(-0.010000) expected=-0.01000098trc=linear calling func(-0.010000) expected=-0.010000 roundtrip=-0.010000
99trc=linear calling func(-0.004490) expected=-0.00449099trc=linear calling func(-0.004490) expected=-0.004490 roundtrip=-0.004490
100trc=linear calling func(0.000000) expected=0.000000100trc=linear calling func(0.000000) expected=0.000000 roundtrip=0.000000
101trc=linear calling func(0.003162) expected=0.003162101trc=linear calling func(0.003162) expected=0.003162 roundtrip=0.003162
102trc=linear calling func(0.005000) expected=0.005000102trc=linear calling func(0.005000) expected=0.005000 roundtrip=0.005000
103trc=linear calling func(0.009000) expected=0.009000103trc=linear calling func(0.009000) expected=0.009000 roundtrip=0.009000
104trc=linear calling func(0.015000) expected=0.015000104trc=linear calling func(0.015000) expected=0.015000 roundtrip=0.015000
105trc=linear calling func(0.100000) expected=0.100000105trc=linear calling func(0.100000) expected=0.100000 roundtrip=0.100000
106trc=linear calling func(1.000000) expected=1.000000106trc=linear calling func(1.000000) expected=1.000000 roundtrip=1.000000
107trc=linear calling func(52.370000) expected=52.370000107trc=linear calling func(52.370000) expected=52.370000 roundtrip=52.370000
108trc=linear calling func(125.098765) expected=125.098765108trc=linear calling func(125.098765) expected=125.098765 roundtrip=125.098765
109trc=linear calling func(1999.111230) expected=1999.111230109trc=linear calling func(1999.111230) expected=1999.111230 roundtrip=1999.111230
110trc=linear calling func(6945.443000) expected=6945.443000110trc=linear calling func(6945.443000) expected=6945.443000 roundtrip=6945.443000
111trc=linear calling func(15123.456700) expected=15123.456700111trc=linear calling func(15123.456700) expected=15123.456700 roundtrip=15123.456700
112trc=linear calling func(19845.889230) expected=19845.889230112trc=linear calling func(19845.889230) expected=19845.889230 roundtrip=19845.889230
113trc=linear calling func(98678.423100) expected=98678.423100113trc=linear calling func(98678.423100) expected=98678.423100 roundtrip=98678.423100
114trc=linear calling func(99999.899998) expected=99999.899998114trc=linear calling func(99999.899998) expected=99999.899998 roundtrip=99999.899998
115trc=log100 calling func(-0.100000) expected=0.000000115trc=log100 calling func(-0.100000) expected=0.000000 roundtrip=0.010000
116trc=log100 calling func(-0.018054) expected=0.000000116trc=log100 calling func(-0.018054) expected=0.000000 roundtrip=0.010000
117trc=log100 calling func(-0.010000) expected=0.000000117trc=log100 calling func(-0.010000) expected=0.000000 roundtrip=0.010000
118trc=log100 calling func(-0.004490) expected=0.000000118trc=log100 calling func(-0.004490) expected=0.000000 roundtrip=0.010000
119trc=log100 calling func(0.000000) expected=0.000000119trc=log100 calling func(0.000000) expected=0.000000 roundtrip=0.010000
120trc=log100 calling func(0.003162) expected=0.000000120trc=log100 calling func(0.003162) expected=0.000000 roundtrip=0.010000
121trc=log100 calling func(0.005000) expected=0.000000121trc=log100 calling func(0.005000) expected=0.000000 roundtrip=0.010000
122trc=log100 calling func(0.009000) expected=0.000000122trc=log100 calling func(0.009000) expected=0.000000 roundtrip=0.010000
123trc=log100 calling func(0.015000) expected=0.088046123trc=log100 calling func(0.015000) expected=0.088046 roundtrip=0.015000
124trc=log100 calling func(0.100000) expected=0.500000124trc=log100 calling func(0.100000) expected=0.500000 roundtrip=0.100000
125trc=log100 calling func(1.000000) expected=1.000000125trc=log100 calling func(1.000000) expected=1.000000 roundtrip=1.000000
126trc=log100 calling func(52.370000) expected=1.859541126trc=log100 calling func(52.370000) expected=1.859541 roundtrip=52.370000
127trc=log100 calling func(125.098765) expected=2.048627127trc=log100 calling func(125.098765) expected=2.048627 roundtrip=125.098765
128trc=log100 calling func(1999.111230) expected=2.650418128trc=log100 calling func(1999.111230) expected=2.650418 roundtrip=1999.111230
129trc=log100 calling func(6945.443000) expected=2.920850129trc=log100 calling func(6945.443000) expected=2.920850 roundtrip=6945.443000
130trc=log100 calling func(15123.456700) expected=3.089826130trc=log100 calling func(15123.456700) expected=3.089826 roundtrip=15123.456700
131trc=log100 calling func(19845.889230) expected=3.148835131trc=log100 calling func(19845.889230) expected=3.148835 roundtrip=19845.889230
132trc=log100 calling func(98678.423100) expected=3.497111132trc=log100 calling func(98678.423100) expected=3.497111 roundtrip=98678.423100
133trc=log100 calling func(99999.899998) expected=3.500000133trc=log100 calling func(99999.899998) expected=3.500000 roundtrip=99999.899998
134trc=log316 calling func(-0.100000) expected=0.000000134trc=log316 calling func(-0.100000) expected=0.000000 roundtrip=0.003162
135trc=log316 calling func(-0.018054) expected=0.000000135trc=log316 calling func(-0.018054) expected=0.000000 roundtrip=0.003162
136trc=log316 calling func(-0.010000) expected=0.000000136trc=log316 calling func(-0.010000) expected=0.000000 roundtrip=0.003162
137trc=log316 calling func(-0.004490) expected=0.000000137trc=log316 calling func(-0.004490) expected=0.000000 roundtrip=0.003162
138trc=log316 calling func(0.000000) expected=0.000000138trc=log316 calling func(0.000000) expected=0.000000 roundtrip=0.003162
139trc=log316 calling func(0.003162) expected=0.000000139trc=log316 calling func(0.003162) expected=0.000000 roundtrip=0.003162
140trc=log316 calling func(0.005000) expected=0.079588140trc=log316 calling func(0.005000) expected=0.079588 roundtrip=0.005000
141trc=log316 calling func(0.009000) expected=0.181697141trc=log316 calling func(0.009000) expected=0.181697 roundtrip=0.009000
142trc=log316 calling func(0.015000) expected=0.270437142trc=log316 calling func(0.015000) expected=0.270437 roundtrip=0.015000
143trc=log316 calling func(0.100000) expected=0.600000143trc=log316 calling func(0.100000) expected=0.600000 roundtrip=0.100000
144trc=log316 calling func(1.000000) expected=1.000000144trc=log316 calling func(1.000000) expected=1.000000 roundtrip=1.000000
145trc=log316 calling func(52.370000) expected=1.687633145trc=log316 calling func(52.370000) expected=1.687633 roundtrip=52.370000
146trc=log316 calling func(125.098765) expected=1.838901146trc=log316 calling func(125.098765) expected=1.838901 roundtrip=125.098765
147trc=log316 calling func(1999.111230) expected=2.320335147trc=log316 calling func(1999.111230) expected=2.320335 roundtrip=1999.111230
148trc=log316 calling func(6945.443000) expected=2.536680148trc=log316 calling func(6945.443000) expected=2.536680 roundtrip=6945.443000
149trc=log316 calling func(15123.456700) expected=2.671860149trc=log316 calling func(15123.456700) expected=2.671860 roundtrip=15123.456700
150trc=log316 calling func(19845.889230) expected=2.719068150trc=log316 calling func(19845.889230) expected=2.719068 roundtrip=19845.889230
151trc=log316 calling func(98678.423100) expected=2.997689151trc=log316 calling func(98678.423100) expected=2.997689 roundtrip=98678.423100
152trc=log316 calling func(99999.899998) expected=3.000000152trc=log316 calling func(99999.899998) expected=3.000000 roundtrip=99999.899998
153trc=iec61966-2-4 calling func(-0.100000) expected=-0.290748153trc=iec61966-2-4 calling func(-0.100000) expected=-0.290748 roundtrip=-0.100000
154trc=iec61966-2-4 calling func(-0.018054) expected=-0.081243154trc=iec61966-2-4 calling func(-0.018054) expected=-0.081243 roundtrip=-0.018054
155trc=iec61966-2-4 calling func(-0.010000) expected=-0.045000155trc=iec61966-2-4 calling func(-0.010000) expected=-0.045000 roundtrip=-0.010000
156trc=iec61966-2-4 calling func(-0.004490) expected=-0.020205156trc=iec61966-2-4 calling func(-0.004490) expected=-0.020205 roundtrip=-0.004490
157trc=iec61966-2-4 calling func(0.000000) expected=0.000000157trc=iec61966-2-4 calling func(0.000000) expected=0.000000 roundtrip=0.000000
158trc=iec61966-2-4 calling func(0.003162) expected=0.014230158trc=iec61966-2-4 calling func(0.003162) expected=0.014230 roundtrip=0.003162
159trc=iec61966-2-4 calling func(0.005000) expected=0.022500159trc=iec61966-2-4 calling func(0.005000) expected=0.022500 roundtrip=0.005000
160trc=iec61966-2-4 calling func(0.009000) expected=0.040500160trc=iec61966-2-4 calling func(0.009000) expected=0.040500 roundtrip=0.009000
161trc=iec61966-2-4 calling func(0.015000) expected=0.067500161trc=iec61966-2-4 calling func(0.015000) expected=0.067500 roundtrip=0.015000
162trc=iec61966-2-4 calling func(0.100000) expected=0.290748162trc=iec61966-2-4 calling func(0.100000) expected=0.290748 roundtrip=0.100000
163trc=iec61966-2-4 calling func(1.000000) expected=1.000000163trc=iec61966-2-4 calling func(1.000000) expected=1.000000 roundtrip=1.000000
164trc=iec61966-2-4 calling func(52.370000) expected=6.427531164trc=iec61966-2-4 calling func(52.370000) expected=6.427531 roundtrip=52.370000
165trc=iec61966-2-4 calling func(125.098765) expected=9.558517165trc=iec61966-2-4 calling func(125.098765) expected=9.558517 roundtrip=125.098765
166trc=iec61966-2-4 calling func(1999.111230) expected=33.512490166trc=iec61966-2-4 calling func(1999.111230) expected=33.512490 roundtrip=1999.111230
167trc=iec61966-2-4 calling func(6945.443000) expected=58.768794167trc=iec61966-2-4 calling func(6945.443000) expected=58.768794 roundtrip=6945.443000
168trc=iec61966-2-4 calling func(15123.456700) expected=83.452916168trc=iec61966-2-4 calling func(15123.456700) expected=83.452916 roundtrip=15123.456700
169trc=iec61966-2-4 calling func(19845.889230) expected=94.321297169trc=iec61966-2-4 calling func(19845.889230) expected=94.321297 roundtrip=19845.889230
170trc=iec61966-2-4 calling func(98678.423100) expected=194.219568170trc=iec61966-2-4 calling func(98678.423100) expected=194.219568 roundtrip=98678.423100
171trc=iec61966-2-4 calling func(99999.899998) expected=195.386306171trc=iec61966-2-4 calling func(99999.899998) expected=195.386306 roundtrip=99999.899998
172trc=bt1361e calling func(-0.100000) expected=-0.206787172trc=bt1361e calling func(-0.100000) expected=-0.206787 roundtrip=-0.100000
173trc=bt1361e calling func(-0.018054) expected=-0.109049173trc=bt1361e calling func(-0.018054) expected=-0.109049 roundtrip=-0.018054
174trc=bt1361e calling func(-0.010000) expected=-0.089387174trc=bt1361e calling func(-0.010000) expected=-0.089387 roundtrip=-0.010000
175trc=bt1361e calling func(-0.004490) expected=-0.020205175trc=bt1361e calling func(-0.004490) expected=-0.020205 roundtrip=-0.004490
176trc=bt1361e calling func(0.000000) expected=0.000000176trc=bt1361e calling func(0.000000) expected=0.000000 roundtrip=0.000000
177trc=bt1361e calling func(0.003162) expected=0.014230177trc=bt1361e calling func(0.003162) expected=0.014230 roundtrip=0.003162
178trc=bt1361e calling func(0.005000) expected=0.022500178trc=bt1361e calling func(0.005000) expected=0.022500 roundtrip=0.005000
179trc=bt1361e calling func(0.009000) expected=0.040500179trc=bt1361e calling func(0.009000) expected=0.040500 roundtrip=0.009000
180trc=bt1361e calling func(0.015000) expected=0.067500180trc=bt1361e calling func(0.015000) expected=0.067500 roundtrip=0.015000
181trc=bt1361e calling func(0.100000) expected=0.290748181trc=bt1361e calling func(0.100000) expected=0.290748 roundtrip=0.100000
182trc=bt1361e calling func(1.000000) expected=1.000000182trc=bt1361e calling func(1.000000) expected=1.000000 roundtrip=1.000000
183trc=bt1361e calling func(52.370000) expected=6.427531183trc=bt1361e calling func(52.370000) expected=6.427531 roundtrip=52.370000
184trc=bt1361e calling func(125.098765) expected=9.558517184trc=bt1361e calling func(125.098765) expected=9.558517 roundtrip=125.098765
185trc=bt1361e calling func(1999.111230) expected=33.512490185trc=bt1361e calling func(1999.111230) expected=33.512490 roundtrip=1999.111230
186trc=bt1361e calling func(6945.443000) expected=58.768794186trc=bt1361e calling func(6945.443000) expected=58.768794 roundtrip=6945.443000
187trc=bt1361e calling func(15123.456700) expected=83.452916187trc=bt1361e calling func(15123.456700) expected=83.452916 roundtrip=15123.456700
188trc=bt1361e calling func(19845.889230) expected=94.321297188trc=bt1361e calling func(19845.889230) expected=94.321297 roundtrip=19845.889230
189trc=bt1361e calling func(98678.423100) expected=194.219568189trc=bt1361e calling func(98678.423100) expected=194.219568 roundtrip=98678.423100
190trc=bt1361e calling func(99999.899998) expected=195.386306190trc=bt1361e calling func(99999.899998) expected=195.386306 roundtrip=99999.899998
191trc=iec61966-2-1 calling func(-0.100000) expected=0.000000191trc=iec61966-2-1 calling func(-0.100000) expected=0.000000 roundtrip=0.000000
192trc=iec61966-2-1 calling func(-0.018054) expected=0.000000192trc=iec61966-2-1 calling func(-0.018054) expected=0.000000 roundtrip=0.000000
193trc=iec61966-2-1 calling func(-0.010000) expected=0.000000193trc=iec61966-2-1 calling func(-0.010000) expected=0.000000 roundtrip=0.000000
194trc=iec61966-2-1 calling func(-0.004490) expected=0.000000194trc=iec61966-2-1 calling func(-0.004490) expected=0.000000 roundtrip=0.000000
195trc=iec61966-2-1 calling func(0.000000) expected=0.000000195trc=iec61966-2-1 calling func(0.000000) expected=0.000000 roundtrip=0.000000
196trc=iec61966-2-1 calling func(0.003162) expected=0.040849196trc=iec61966-2-1 calling func(0.003162) expected=0.040849 roundtrip=0.003162
197trc=iec61966-2-1 calling func(0.005000) expected=0.061009197trc=iec61966-2-1 calling func(0.005000) expected=0.061009 roundtrip=0.005000
198trc=iec61966-2-1 calling func(0.009000) expected=0.093202198trc=iec61966-2-1 calling func(0.009000) expected=0.093202 roundtrip=0.009000
199trc=iec61966-2-1 calling func(0.015000) expected=0.128354199trc=iec61966-2-1 calling func(0.015000) expected=0.128354 roundtrip=0.015000
200trc=iec61966-2-1 calling func(0.100000) expected=0.349190200trc=iec61966-2-1 calling func(0.100000) expected=0.349190 roundtrip=0.100000
201trc=iec61966-2-1 calling func(1.000000) expected=1.000000201trc=iec61966-2-1 calling func(1.000000) expected=1.000000 roundtrip=1.000000
202trc=iec61966-2-1 calling func(52.370000) expected=5.434552202trc=iec61966-2-1 calling func(52.370000) expected=5.434552 roundtrip=52.370000
203trc=iec61966-2-1 calling func(125.098765) expected=7.835561203trc=iec61966-2-1 calling func(125.098765) expected=7.835561 roundtrip=125.098765
204trc=iec61966-2-1 calling func(1999.111230) expected=24.983090204trc=iec61966-2-1 calling func(1999.111230) expected=24.983090 roundtrip=1999.111230
205trc=iec61966-2-1 calling func(6945.443000) expected=42.013863205trc=iec61966-2-1 calling func(6945.443000) expected=42.013863 roundtrip=6945.443000
206trc=iec61966-2-1 calling func(15123.456700) expected=58.125003206trc=iec61966-2-1 calling func(15123.456700) expected=58.125003 roundtrip=15123.456700
207trc=iec61966-2-1 calling func(19845.889230) expected=65.100117207trc=iec61966-2-1 calling func(19845.889230) expected=65.100117 roundtrip=19845.889230
208trc=iec61966-2-1 calling func(98678.423100) expected=127.054607208trc=iec61966-2-1 calling func(98678.423100) expected=127.054607 roundtrip=98678.423100
209trc=iec61966-2-1 calling func(99999.899998) expected=127.761115209trc=iec61966-2-1 calling func(99999.899998) expected=127.761115 roundtrip=99999.899998
210trc=bt2020-10 calling func(-0.100000) expected=0.000000210trc=bt2020-10 calling func(-0.100000) expected=0.000000 roundtrip=0.000000
211trc=bt2020-10 calling func(-0.018054) expected=0.000000211trc=bt2020-10 calling func(-0.018054) expected=0.000000 roundtrip=0.000000
212trc=bt2020-10 calling func(-0.010000) expected=0.000000212trc=bt2020-10 calling func(-0.010000) expected=0.000000 roundtrip=0.000000
213trc=bt2020-10 calling func(-0.004490) expected=0.000000213trc=bt2020-10 calling func(-0.004490) expected=0.000000 roundtrip=0.000000
214trc=bt2020-10 calling func(0.000000) expected=0.000000214trc=bt2020-10 calling func(0.000000) expected=0.000000 roundtrip=0.000000
215trc=bt2020-10 calling func(0.003162) expected=0.014230215trc=bt2020-10 calling func(0.003162) expected=0.014230 roundtrip=0.003162
216trc=bt2020-10 calling func(0.005000) expected=0.022500216trc=bt2020-10 calling func(0.005000) expected=0.022500 roundtrip=0.005000
217trc=bt2020-10 calling func(0.009000) expected=0.040500217trc=bt2020-10 calling func(0.009000) expected=0.040500 roundtrip=0.009000
218trc=bt2020-10 calling func(0.015000) expected=0.067500218trc=bt2020-10 calling func(0.015000) expected=0.067500 roundtrip=0.015000
219trc=bt2020-10 calling func(0.100000) expected=0.290748219trc=bt2020-10 calling func(0.100000) expected=0.290748 roundtrip=0.100000
220trc=bt2020-10 calling func(1.000000) expected=1.000000220trc=bt2020-10 calling func(1.000000) expected=1.000000 roundtrip=1.000000
221trc=bt2020-10 calling func(52.370000) expected=6.427531221trc=bt2020-10 calling func(52.370000) expected=6.427531 roundtrip=52.370000
222trc=bt2020-10 calling func(125.098765) expected=9.558517222trc=bt2020-10 calling func(125.098765) expected=9.558517 roundtrip=125.098765
223trc=bt2020-10 calling func(1999.111230) expected=33.512490223trc=bt2020-10 calling func(1999.111230) expected=33.512490 roundtrip=1999.111230
224trc=bt2020-10 calling func(6945.443000) expected=58.768794224trc=bt2020-10 calling func(6945.443000) expected=58.768794 roundtrip=6945.443000
225trc=bt2020-10 calling func(15123.456700) expected=83.452916225trc=bt2020-10 calling func(15123.456700) expected=83.452916 roundtrip=15123.456700
226trc=bt2020-10 calling func(19845.889230) expected=94.321297226trc=bt2020-10 calling func(19845.889230) expected=94.321297 roundtrip=19845.889230
227trc=bt2020-10 calling func(98678.423100) expected=194.219568227trc=bt2020-10 calling func(98678.423100) expected=194.219568 roundtrip=98678.423100
228trc=bt2020-10 calling func(99999.899998) expected=195.386306228trc=bt2020-10 calling func(99999.899998) expected=195.386306 roundtrip=99999.899998
229trc=bt2020-12 calling func(-0.100000) expected=0.000000229trc=bt2020-12 calling func(-0.100000) expected=0.000000 roundtrip=0.000000
230trc=bt2020-12 calling func(-0.018054) expected=0.000000230trc=bt2020-12 calling func(-0.018054) expected=0.000000 roundtrip=0.000000
231trc=bt2020-12 calling func(-0.010000) expected=0.000000231trc=bt2020-12 calling func(-0.010000) expected=0.000000 roundtrip=0.000000
232trc=bt2020-12 calling func(-0.004490) expected=0.000000232trc=bt2020-12 calling func(-0.004490) expected=0.000000 roundtrip=0.000000
233trc=bt2020-12 calling func(0.000000) expected=0.000000233trc=bt2020-12 calling func(0.000000) expected=0.000000 roundtrip=0.000000
234trc=bt2020-12 calling func(0.003162) expected=0.014230234trc=bt2020-12 calling func(0.003162) expected=0.014230 roundtrip=0.003162
235trc=bt2020-12 calling func(0.005000) expected=0.022500235trc=bt2020-12 calling func(0.005000) expected=0.022500 roundtrip=0.005000
236trc=bt2020-12 calling func(0.009000) expected=0.040500236trc=bt2020-12 calling func(0.009000) expected=0.040500 roundtrip=0.009000
237trc=bt2020-12 calling func(0.015000) expected=0.067500237trc=bt2020-12 calling func(0.015000) expected=0.067500 roundtrip=0.015000
238trc=bt2020-12 calling func(0.100000) expected=0.290748238trc=bt2020-12 calling func(0.100000) expected=0.290748 roundtrip=0.100000
239trc=bt2020-12 calling func(1.000000) expected=1.000000239trc=bt2020-12 calling func(1.000000) expected=1.000000 roundtrip=1.000000
240trc=bt2020-12 calling func(52.370000) expected=6.427531240trc=bt2020-12 calling func(52.370000) expected=6.427531 roundtrip=52.370000
241trc=bt2020-12 calling func(125.098765) expected=9.558517241trc=bt2020-12 calling func(125.098765) expected=9.558517 roundtrip=125.098765
242trc=bt2020-12 calling func(1999.111230) expected=33.512490242trc=bt2020-12 calling func(1999.111230) expected=33.512490 roundtrip=1999.111230
243trc=bt2020-12 calling func(6945.443000) expected=58.768794243trc=bt2020-12 calling func(6945.443000) expected=58.768794 roundtrip=6945.443000
244trc=bt2020-12 calling func(15123.456700) expected=83.452916244trc=bt2020-12 calling func(15123.456700) expected=83.452916 roundtrip=15123.456700
245trc=bt2020-12 calling func(19845.889230) expected=94.321297245trc=bt2020-12 calling func(19845.889230) expected=94.321297 roundtrip=19845.889230
246trc=bt2020-12 calling func(98678.423100) expected=194.219568246trc=bt2020-12 calling func(98678.423100) expected=194.219568 roundtrip=98678.423100
247trc=bt2020-12 calling func(99999.899998) expected=195.386306247trc=bt2020-12 calling func(99999.899998) expected=195.386306 roundtrip=99999.899998
248trc=smpte2084 calling func(-0.100000) expected=0.000000248trc=smpte2084 calling func(-0.100000) expected=0.000000 roundtrip=0.000000
249trc=smpte2084 calling func(-0.018054) expected=0.000000249trc=smpte2084 calling func(-0.018054) expected=0.000000 roundtrip=0.000000
250trc=smpte2084 calling func(-0.010000) expected=0.000000250trc=smpte2084 calling func(-0.010000) expected=0.000000 roundtrip=0.000000
251trc=smpte2084 calling func(-0.004490) expected=0.000000251trc=smpte2084 calling func(-0.004490) expected=0.000000 roundtrip=0.000000
252trc=smpte2084 calling func(0.000000) expected=0.000001252trc=smpte2084 calling func(0.000000) expected=0.000001 roundtrip=0.000000
253trc=smpte2084 calling func(0.003162) expected=0.011839253trc=smpte2084 calling func(0.003162) expected=0.011839 roundtrip=0.003162
254trc=smpte2084 calling func(0.005000) expected=0.015076254trc=smpte2084 calling func(0.005000) expected=0.015076 roundtrip=0.005000
255trc=smpte2084 calling func(0.009000) expected=0.020379255trc=smpte2084 calling func(0.009000) expected=0.020379 roundtrip=0.009000
256trc=smpte2084 calling func(0.015000) expected=0.026255256trc=smpte2084 calling func(0.015000) expected=0.026255 roundtrip=0.015000
257trc=smpte2084 calling func(0.100000) expected=0.062337257trc=smpte2084 calling func(0.100000) expected=0.062337 roundtrip=0.100000
258trc=smpte2084 calling func(1.000000) expected=0.149946258trc=smpte2084 calling func(1.000000) expected=0.149946 roundtrip=1.000000
259trc=smpte2084 calling func(52.370000) expected=0.444693259trc=smpte2084 calling func(52.370000) expected=0.444693 roundtrip=52.370000
260trc=smpte2084 calling func(125.098765) expected=0.530719260trc=smpte2084 calling func(125.098765) expected=0.530719 roundtrip=125.098765
261trc=smpte2084 calling func(1999.111230) expected=0.827376261trc=smpte2084 calling func(1999.111230) expected=0.827376 roundtrip=1999.111230
262trc=smpte2084 calling func(6945.443000) expected=0.961586262trc=smpte2084 calling func(6945.443000) expected=0.961586 roundtrip=6945.443000
263trc=smpte2084 calling func(15123.456700) expected=1.042921263trc=smpte2084 calling func(15123.456700) expected=1.042921 roundtrip=15123.456700
264trc=smpte2084 calling func(19845.889230) expected=1.070677264trc=smpte2084 calling func(19845.889230) expected=1.070677 roundtrip=19845.889230
265trc=smpte2084 calling func(98678.423100) expected=1.225908265trc=smpte2084 calling func(98678.423100) expected=1.225908 roundtrip=98678.423100
266trc=smpte2084 calling func(99999.899998) expected=1.227127266trc=smpte2084 calling func(99999.899998) expected=1.227127 roundtrip=99999.899998
267trc=smpte428 calling func(-0.100000) expected=0.000000267trc=smpte428 calling func(-0.100000) expected=0.000000 roundtrip=0.000000
268trc=smpte428 calling func(-0.018054) expected=0.000000268trc=smpte428 calling func(-0.018054) expected=0.000000 roundtrip=0.000000
269trc=smpte428 calling func(-0.010000) expected=0.000000269trc=smpte428 calling func(-0.010000) expected=0.000000 roundtrip=0.000000
270trc=smpte428 calling func(-0.004490) expected=0.000000270trc=smpte428 calling func(-0.004490) expected=0.000000 roundtrip=0.000000
271trc=smpte428 calling func(0.000000) expected=0.000000271trc=smpte428 calling func(0.000000) expected=0.000000 roundtrip=0.000000
272trc=smpte428 calling func(0.003162) expected=0.105659272trc=smpte428 calling func(0.003162) expected=0.105659 roundtrip=0.003162
273trc=smpte428 calling func(0.005000) expected=0.126018273trc=smpte428 calling func(0.005000) expected=0.126018 roundtrip=0.005000
274trc=smpte428 calling func(0.009000) expected=0.157985274trc=smpte428 calling func(0.009000) expected=0.157985 roundtrip=0.009000
275trc=smpte428 calling func(0.015000) expected=0.192284275trc=smpte428 calling func(0.015000) expected=0.192284 roundtrip=0.015000
276trc=smpte428 calling func(0.100000) expected=0.398869276trc=smpte428 calling func(0.100000) expected=0.398869 roundtrip=0.100000
277trc=smpte428 calling func(1.000000) expected=0.967043277trc=smpte428 calling func(1.000000) expected=0.967043 roundtrip=1.000000
278trc=smpte428 calling func(52.370000) expected=4.432321278trc=smpte428 calling func(52.370000) expected=4.432321 roundtrip=52.370000
279trc=smpte428 calling func(125.098765) expected=6.195572279trc=smpte428 calling func(125.098765) expected=6.195572 roundtrip=125.098765
280trc=smpte428 calling func(1999.111230) expected=17.988639280trc=smpte428 calling func(1999.111230) expected=17.988639 roundtrip=1999.111230
281trc=smpte428 calling func(6945.443000) expected=29.041734281trc=smpte428 calling func(6945.443000) expected=29.041734 roundtrip=6945.443000
282trc=smpte428 calling func(15123.456700) expected=39.174525282trc=smpte428 calling func(15123.456700) expected=39.174525 roundtrip=15123.456700
283trc=smpte428 calling func(19845.889230) expected=43.490646283trc=smpte428 calling func(19845.889230) expected=43.490646 roundtrip=19845.889230
284trc=smpte428 calling func(98678.423100) expected=80.593559284trc=smpte428 calling func(98678.423100) expected=80.593559 roundtrip=98678.423100
285trc=smpte428 calling func(99999.899998) expected=81.006971285trc=smpte428 calling func(99999.899998) expected=81.006971 roundtrip=99999.899998
286trc=arib-std-b67 calling func(-0.100000) expected=0.000000286trc=arib-std-b67 calling func(-0.100000) expected=0.000000 roundtrip=0.000000
287trc=arib-std-b67 calling func(-0.018054) expected=0.000000287trc=arib-std-b67 calling func(-0.018054) expected=0.000000 roundtrip=0.000000
288trc=arib-std-b67 calling func(-0.010000) expected=0.000000288trc=arib-std-b67 calling func(-0.010000) expected=0.000000 roundtrip=0.000000
289trc=arib-std-b67 calling func(-0.004490) expected=0.000000289trc=arib-std-b67 calling func(-0.004490) expected=0.000000 roundtrip=0.000000
290trc=arib-std-b67 calling func(0.000000) expected=0.000000290trc=arib-std-b67 calling func(0.000000) expected=0.000000 roundtrip=0.000000
291trc=arib-std-b67 calling func(0.003162) expected=0.097400291trc=arib-std-b67 calling func(0.003162) expected=0.097400 roundtrip=0.003162
292trc=arib-std-b67 calling func(0.005000) expected=0.122474292trc=arib-std-b67 calling func(0.005000) expected=0.122474 roundtrip=0.005000
293trc=arib-std-b67 calling func(0.009000) expected=0.164317293trc=arib-std-b67 calling func(0.009000) expected=0.164317 roundtrip=0.009000
294trc=arib-std-b67 calling func(0.015000) expected=0.212132294trc=arib-std-b67 calling func(0.015000) expected=0.212132 roundtrip=0.015000
295trc=arib-std-b67 calling func(0.100000) expected=0.544089295trc=arib-std-b67 calling func(0.100000) expected=0.544089 roundtrip=0.100000
296trc=arib-std-b67 calling func(1.000000) expected=1.000000296trc=arib-std-b67 calling func(1.000000) expected=1.000000 roundtrip=1.000000
297trc=arib-std-b67 calling func(52.370000) expected=1.712092297trc=arib-std-b67 calling func(52.370000) expected=1.712092 roundtrip=52.370000
298trc=arib-std-b67 calling func(125.098765) expected=1.867862298trc=arib-std-b67 calling func(125.098765) expected=1.867862 roundtrip=125.098765
299trc=arib-std-b67 calling func(1999.111230) expected=2.363502299trc=arib-std-b67 calling func(1999.111230) expected=2.363502 roundtrip=1999.111230
300trc=arib-std-b67 calling func(6945.443000) expected=2.586219300trc=arib-std-b67 calling func(6945.443000) expected=2.586219 roundtrip=6945.443000
301trc=arib-std-b67 calling func(15123.456700) expected=2.725380301trc=arib-std-b67 calling func(15123.456700) expected=2.725380 roundtrip=15123.456700
302trc=arib-std-b67 calling func(19845.889230) expected=2.773978302trc=arib-std-b67 calling func(19845.889230) expected=2.773978 roundtrip=19845.889230
303trc=arib-std-b67 calling func(98678.423100) expected=3.060803303trc=arib-std-b67 calling func(98678.423100) expected=3.060803 roundtrip=98678.423100
304trc=arib-std-b67 calling func(99999.899998) expected=3.063182304trc=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