-
-#ifdef DCPOMATIC_HAVE_EBUR128_PATCHED_FFMPEG
- _filters.push_back (new Filter ("ebur128", "ebur128", "audio", "ebur128=peak=true"));
- _ebur128->setup (_filters);
-#endif
-
- for (int i = 0; i < film->audio_channels(); ++i) {
- _sample_peak[i] = 0;
- _sample_peak_frame[i] = 0;
- }
-
- if (!_from_zero) {
- _start = _playlist->start().get_value_or(DCPTime());
- }
-
- /* XXX: is this right? Especially for more than 5.1? */
- vector<double> channel_corrections(film->audio_channels(), 1);
- add_if_required (channel_corrections, 4, -3); // Ls
- add_if_required (channel_corrections, 5, -3); // Rs
- add_if_required (channel_corrections, 6, -144); // HI
- add_if_required (channel_corrections, 7, -144); // VI
- add_if_required (channel_corrections, 8, -3); // Lc
- add_if_required (channel_corrections, 9, -3); // Rc
- add_if_required (channel_corrections, 10, -3); // Lc
- add_if_required (channel_corrections, 11, -3); // Rc
- add_if_required (channel_corrections, 12, -144); // DBox
- add_if_required (channel_corrections, 13, -144); // Sync
- add_if_required (channel_corrections, 14, -144); // Sign Language
- add_if_required (channel_corrections, 15, -144); // Unused
-
- _leqm.reset(new leqm_nrt::Calculator(
- film->audio_channels(),
- film->audio_frame_rate(),
- 24,
- channel_corrections,
- 850, // suggested by leqm_nrt CLI source
- 64, // suggested by leqm_nrt CLI source
- boost::thread::hardware_concurrency()
- ));