double bs1770_ctx_track_lufs(bs1770_ctx_t *ctx, double fs, int channels) { double lufs; bs1770_flush(&ctx->bs1770, fs, channels); lufs=bs1770_stats_get_lufs(&ctx->track); bs1770_stats_reset(&ctx->track); return lufs; }
double bs1770_ctx_track_lra(bs1770_ctx_t *ctx, double lower, double upper, double fs, int channels) { double lra; bs1770_flush(&ctx->bs1770, fs, channels); lra=bs1770_stats_get_lra(&ctx->track,lower,upper); bs1770_stats_reset(&ctx->track); return lra; }
double bs1770_track_lufs(bs1770_t *bs1770, double reference) { double lufs; bs1770_flush(bs1770); lufs=bs1770_hist_get_lufs(bs1770->lufs->track,reference); bs1770_hist_add(bs1770->lufs->album,bs1770->lufs->track); bs1770_hist_reset(bs1770->lufs->track); return lufs; }
double bs1770_track_lra(bs1770_t *bs1770, double lower, double upper) { double lra=0.0; if (NULL!=bs1770->lra) { bs1770_flush(bs1770); lra=bs1770_hist_get_lra(bs1770->lra->track,lower,upper); bs1770_hist_add(bs1770->lra->album,bs1770->lra->track); bs1770_hist_reset(bs1770->lra->track); } return lra; }