Skip to content

Class ebu_r128

class ebu_r128<T> dsp

template <typename T>
struct ebu_r128 { … }

EBU R128 loudness meter.

Computes momentary (M, 400 ms), short-term (S, 3 s), integrated (I) and loudness range (LRA) values for a multi-channel signal, per EBU Tech 3341 / R128 s2 and EBU R128 s3 (LRA).

constructor ebu_r128<T>(int, std::span<const speaker_type>, int)

ebu_r128(int sample_rate, std::span<const speaker_type> channels, int packet_size_factor = 1)

Construct the meter.

Parameters
sample_rate Sample rate in Hz.
channels Speaker roles for each input channel (L, R, C, Ls, Rs, LFE, ...).
packet_size_factor Refresh multiplier: 1 = 10 Hz, 2 = 20 Hz, 3 = 30 Hz (range [1..6]).

Fully qualified name: kfr::ebu_r128<T>::ebu_r128<T>(int, std::span<const speaker_type>, int)

Declared at dsp/ebu.hpp:369

function sample_rate()

int sample_rate() const

Return the configured sample rate in Hz.

Fully qualified name: kfr::ebu_r128<T>::sample_rate()

Declared at dsp/ebu.hpp:384

function packet_size()

size_t packet_size() const

Return the number of samples per packet (= sample_rate / refresh_rate).

Fully qualified name: kfr::ebu_r128<T>::packet_size()

Declared at dsp/ebu.hpp:387

function get_values(T &, T &, T &, T &, T &)

void get_values(T& loudness_momentary, T& loudness_short, T& loudness_intergrated, T& loudness_range_low,
                T& loudness_range_high)

Read all measured loudness values.

Parameters
loudness_momentary Out: momentary loudness M (400 ms), LUFS.
loudness_short Out: short-term loudness S (3 s), LUFS.
loudness_intergrated Out: integrated program loudness I, LUFS.
loudness_range_low Out: LRA 10 % percentile, LUFS.
loudness_range_high Out: LRA 95 % percentile, LUFS.

Note

LRA = loudness_range_high - loudness_range_low.

Fully qualified name: kfr::ebu_r128<T>::get_values(T &, T &, T &, T &, T &)

Declared at dsp/ebu.hpp:398

function operator[](size_t)

const ebu_channel<T>& operator[](size_t index) const

Access channel index (read-only).

Fully qualified name: kfr::ebu_r128<T>::operator[](size_t)

Declared at dsp/ebu.hpp:417

function count()

size_t count() const

Return the number of channels.

Fully qualified name: kfr::ebu_r128<T>::count()

Declared at dsp/ebu.hpp:419

function process_packet(const std::initializer_list<univector_dyn<T>> &)

void process_packet(const std::initializer_list<univector_dyn<T>>& source)

Process one packet for every channel.

Fully qualified name: kfr::ebu_r128<T>::process_packet(const std::initializer_list<univector_dyn<T>> &)

Declared at dsp/ebu.hpp:429

function process_packet(const std::initializer_list<univector_ref<T>> &)

void process_packet(const std::initializer_list<univector_ref<T>>& source)

Process one packet for every channel.

Fully qualified name: kfr::ebu_r128<T>::process_packet(const std::initializer_list<univector_ref<T>> &)

Declared at dsp/ebu.hpp:434

function process_packet(std::span<const univector_dyn<T>>)

void process_packet(std::span<const univector_dyn<T>> source)

Process one packet for every channel.

Fully qualified name: kfr::ebu_r128<T>::process_packet(std::span<const univector_dyn<T>>)

Declared at dsp/ebu.hpp:439

function process_packet(std::span<const univector_ref<T>>)

void process_packet(std::span<const univector_ref<T>> source)

Process one packet for every channel.

Fully qualified name: kfr::ebu_r128<T>::process_packet(std::span<const univector_ref<T>>)

Declared at dsp/ebu.hpp:444

function start()

void start()

(Re)start measurement: subsequent packets update the buffers.

Fully qualified name: kfr::ebu_r128<T>::start()

Declared at dsp/ebu.hpp:450

function stop()

void stop()

Pause measurement: packets are still filtered but buffers are frozen.

Fully qualified name: kfr::ebu_r128<T>::stop()

Declared at dsp/ebu.hpp:452

function running()

bool running() const

Return whether the meter is currently running (see start() , stop() ).

Fully qualified name: kfr::ebu_r128<T>::running()

Declared at dsp/ebu.hpp:454

function reset()

void reset()

Request a deferred reset of all channels and accumulators.

Fully qualified name: kfr::ebu_r128<T>::reset()

Declared at dsp/ebu.hpp:461

Fully qualified name: kfr::ebu_r128<T>

Declared at dsp/ebu.hpp:358

This file was generated by cxxdox, a C++ documentation generator based on MkDocs Material and libclang.