xiph / xiph/opus

Request for disabling features on low-resource embedded closed systems

Open
#299 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
3.3k
Forks
808
PR merge metrics
No merged PRs in 30d

Description

Hey.

We are using the celt encoder from this project with great success and we are using it in 100% custom mode on both encoder and decoder. Our embedded MCU has limited memory and to make the encoder perform good enough to run in realtime, we have to load most of the code into memory. The encode_with_ec in particular is rather bloated for our use case, as it handles all possible options. We dont use most of them.

So, the question is: Would it make sense to add compile time options to disable features? Like VBR, LFE, multi streams etc?

If there is a general interest in this, I dont mind doing some of the leg work.

I was thinking about adding a CMakeFile.txt option to enable/disable encoder CTL Id's that could be considered an additional feature.

Kind regards
Mikkel

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the encode_with_ec entry point and the proposed CMake configuration for compile-time controls. Determine how VBR, LFE, and multistream options would be separated, then define what disabled builds must exclude and how enabled modes should remain unaffected.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, cmake
Domain
audio-video-rtc, embedded-iot
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.