Giter VIP home page Giter VIP logo

libebur128's Introduction

libebur128

libebur128 is a library that implements the EBU R 128 standard for loudness normalisation.

All source code is licensed under the MIT license. See COPYING file for details.

See also loudness-scanner tool.

News

v1.2.6 released:

  • Fix dynamic linking on Windows.

v1.2.5 released:

  • Remove BUILD_STATIC_LIBS build option. Instead the CMake-supported BUILD_SHARED_LIBS option is now honored as expected.
  • Various code cleanups, warning fixes and documentation improvements
  • Fix issue related to filter state indexing with high channel enums (#77)
  • Introduce limits for number of channels and maximum supported samplerate to avoid integer overflows
  • Fix error return code of ebur128_set_channel. The actual behavior is now aligned to the documentation (#90).

v1.2.4 released:

  • Fix broken ebur128_loudness_global_multiple() function. Since v1.1.0 it calculated the relative threshold just from the last state given to it, resulting in wrong values.
  • More tests
  • Fix some minor build issues
  • Fix uninitialized memory in ebur128_init(), possibly resulting in wrong values

v1.2.3 released:

  • Fix uninitialized memory access during true peak scanning (bug #72)

v1.2.2 released (v1.2.1 was mistagged):

  • Fix a null pointer dereference when doing true peak scanning of 192kHz data

v1.2.0 released:

  • New functions for real time loudness/peak monitoring:
    • ebur128_loudness_window()
    • ebur128_set_max_window()
    • ebur128_set_max_history()
    • ebur128_prev_sample_peak()
    • ebur128_prev_true_peak()
  • New FIR resampler for true peak calculation, removing Speex dependency
  • Add true peak conformance tests
  • Bug fixes

v1.1.0 released:

  • Add ebur128_relative_threshold()
  • Add channel definitions from ITU R-REC-BS 1770-4 to channel enum
  • Fix some minor build issues

v1.0.3 released:

  • Fix build with recent speexdsp
  • Correct license file name
  • CMake option to disable static library
  • minimal-example.c: do not hard code program name in usage

Features

  • Portable ANSI C code
  • Implements M, S and I modes
  • Implements loudness range measurement (EBU - TECH 3342)
  • True peak scanning
  • Supports all samplerates by recalculation of the filter coefficients

Installation

In the root folder, type:

mkdir build
cd build
cmake ..
make

If you want the git version, run simply:

git clone git://github.com/jiixyj/libebur128.git

Usage

Library usage should be pretty straightforward. All exported symbols are documented in the ebur128.h header file. For a usage example, see minimal-example.c in the tests folder.

On some operating systems, static libraries should be compiled as position independent code. You can enable that by turning on WITH_STATIC_PIC.

libebur128's People

Contributors

jiixyj avatar audionuma avatar andrewrk avatar bmatherly avatar cicku avatar kylophone avatar be-ing avatar hyeontaek avatar iunknwn avatar diogocp avatar epirat avatar sebastinas avatar l0calh05t avatar xorgy avatar astoeckel avatar adsun701 avatar dsedivec avatar rrrapha avatar yann-morin-1998 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.