(a, b)
| 507 | } |
| 508 | |
| 509 | function compare(a, b) { |
| 510 | const sa = stats(a); |
| 511 | const sb = stats(b); |
| 512 | let corr = 0; |
| 513 | let mse = 0; |
| 514 | for (let i = 0; i < a.length; i += 1) { |
| 515 | corr += ((a[i] - sa.mean) / sa.std) * ((b[i] - sb.mean) / sb.std); |
| 516 | const d = (a[i] - b[i]) / 255; |
| 517 | mse += d * d; |
| 518 | } |
| 519 | corr /= a.length; |
| 520 | mse /= a.length; |
| 521 | return { corr, mse }; |
| 522 | } |
| 523 | |
| 524 | function toneRecommendation(video1Frames, video2Frames, trimEnd1, trimStart2, fps) { |
| 525 | const v1Index = Math.max(0, video1Frames.length - trimEnd1 - 1); |
no test coverage detected