Skip to content
ameci-iis edited this page Apr 5, 2024 · 5 revisions

Introduction

The Fraunhofer MPEG-H decoder (mpeghdec) is a C/C++ implementation of the MPEG-H Audio standard as defined in ISO/IEC 23008-3:2022. MPEG-H Audio is the Next Generation Audio (NGA) codec for personalized and immersive sound. Please visit www.mpegh.com to learn more about MPEG-H Audio.

The mpeghdec software implementation provides 2 modules for the integration of MPEG-H Audio in consumer devices / consumer software:

  • MPEG-H decoder
  • MPEG-H UI manager

mpeghdec_overview

The MPEG-H decoder module, exposed by the include/mpeghdecoder.h API, is used to decode the MPEG-H Audio bitstream. The decoding can be performed to one of the supported MPEG-H Decoder Target Layouts and depends on a set of MPEG-H decoder parameters.

IMPORTANT
Please make sure to adapt the default target loudness and DRC effect type parameters according to the applicable device class.

The MPEG-H UI manager module, exposed by the include/mpeghUIManager.h API, is used to implement MPEG-H interactivity handling. To learn about MPEG-H interactivity, please visit the following resources:

Supported features

MPEG-H Audio Profile MPEG-H Audio Level
Baseline Level 4

Additional information about the supported transport formats can be found here.

Supported architectures

mpeghdec is built and tested using the following architectures and toolchains:

Architecture Toolchain
Windows x86
x86_64
VS2019
VS2017
macOS x86_64
arm64
apple-clang 12.0.5 (Intel)
apple-clang 13.1.6 (ARM)
Linux(Ubuntu 22.04) x86
x86_64
RISC-V
clang 14.0.0
Linux(Debian 11) x86
x86_64
arm32v7
arm64
clang 11.0.1
gcc 10.2.1
Android x86
x86_64
arm32v7
arm64
clang 14.0.0
iOS x86_64
arm64
apple-clang 12.0.5
Browser
(emscripten)
WASM emcc 3.1.33

Support for further platforms and architectures can be requested directly from Fraunhofer IIS.

Build instructions

See build instructions.

Command-line example programs

The mpeghdec provides the following command-line-based example programs:

Contributing

Contributions may be done through a pull request to the upstream repository.

  • Create a fork based on the latest master branch.
  • Apply changes to the fork.
  • Add the author names to AUTHORS.md.
  • Create a pull request to the upstream repository. The request must contain a detailed description of its purpose.

Links

License

Please see the LICENSE.txt file for the terms of use that apply to the software in this repository.

Fraunhofer supports the development of MPEG-H products and services by offering additional software, documentation, and technical advice. In addition, it operates the MPEG-H Trademark Program to ease interoperability testing of end-products. Please visit www.mpegh.com for more information.

For more information, please contact amm-info@iis.fraunhofer.de