Skip to content

Latest commit

 

History

History
90 lines (71 loc) · 3.35 KB

build_instructions.md

File metadata and controls

90 lines (71 loc) · 3.35 KB

Build instructions

Prerequisites for building the encoder

All platforms

  • Bazelisk: iamf-tools uses the Bazel build system, via bazelisk. See Bazelisk installation instructions. For further information on Bazel, see Getting started.
  • CMake: required to build some dependencies. See CMake's Download page to install.
  • Clang 13+ or GCC 10+ for Linux-like systems or MSVC for Windows.

Additional Windows prerequisites

Windows requires some additional prerequisites:

Building the encoder

Building the encoder binary:

bazelisk build -c opt //iamf/cli:encoder_main

Running built-in tests:

bazelisk test -c opt //iamf/...

Test suite

iamf/cli/testdata covers a wide variety of IAMF features. These samples can be used as encoder input. After encoding the resultant .iamf files can be used to assist in testing or debugging an IAMF-compliant decoder.

See the separate README.md for further documentation.

Folder structure

  • <root> - Project-level files like the license, README (this file), and BUILD files.
  • iamf/
    • common/ - Common utility files.
      • tests/ - Unit tests for files under common/.
    • cli/ - Files related to the command line interface (CLI) to generate and write an IA Sequence.
      • adm_to_user_metadata/ - Components to convert ADM files to protocol buffers which can be used for input to the encoder.
      • codec/ - Files that encode or decode substreams with codec-specific libraries.
        • tests/ - Unit tests for files under codec/.
      • obu_to_proto/ - Components to convert classes under iamf/obu to protocol buffers.
      • proto/ - Protocol buffers defining the data scheme for the input files under iamf/cli/testdata/ or user-created ones.
      • proto_to_obu/ - Components to convert protocol buffers to classes under iamf/obu.
      • testdata/ - Sample input files to the encoder. See also Test Suite.
      • tests/ - Unit tests for files under iamf/cli/.
      • user_metadata_builder/ - Files to help build a UserMetadata.
    • obu/ - Files relating to IAMF Open Bitstream Units (OBU)s.
      • decoder_config/ - Files relating codec-specific decoder configs.
        • tests/ - Unit tests for files under decoder_config/.
      • tests/ - Unit tests for files under obu/.
  • external/ - Custom *.BUILD files for external dependencies.
  • docs/ - Documentation.

Contributing

If you have improvements or fixes, we would love to have your contributions. See CONTRIBUTING.md for details.