Comments (4)
Opus is trying to optimize for whatever packet loss rate you set with OPUS_SET_PACKET_LOSS_PERC. If you tell it to optimize for the no-loss (0%) case, then there's no point in wasting bits for DRED. The exact loss you specify will influence the amount of DRED used. If in doubt, you can always try with 20% and see from there.
As for your third question, I don't understand it.
from opus.
Thanks a lot, that explains it. From my previous understanding, OPUS_SET_PACKET_LOSS_PERC was only relevant for LBRR, so that hadn‘t been obvious for me from the documentation.
Regarding my third question. The docs state: „ OPUS_SET_DRED_DURATION: If non-zero, enables Deep Redundancy (DRED) and use the specified maximum number of 10-ms redundant frames.“
Do I interpret it correctly that if I set this value to 50, I get 500ms of DRED data per frame, even if I choose to encode frames of 20ms or 5ms length?
I also noticed from experimenting that the amount of DRED data (in milliseconds) available is limited by bitrate, is that correct?
from opus.
OPUS_SET_DRED_DURATION is always in units of 10 ms, but things are more complicated underneath anyway. And it specifies the maximum the application allows. There may be less than that due to available bitrate.
from opus.
Thanks, that's all I needed to know!
from opus.
Related Issues (20)
- Missing opus 1.5 github release HOT 4
- Windows: Meson build fails with nnet_avx2.c compiled without AVX2 HOT 23
- Compiling libopus 1.5.1 with Linux fails on ARM Cortex-A53 and Cortex-A55 HOT 21
- opus 1.5.1-1 seems to be incompatible with musescore 4.2.1 HOT 1
- Undefined reference to opus_select_arch HOT 2
- opus_repacketizer_cat sometimes fails
- Limiting the stack allocation request HOT 2
- Please update opus-tools to support new features
- Deep PLC performance on Android HOT 16
- Compiling with CMake for Windows/MSVC only supports DLL runtime libraries HOT 9
- Added the OPUS_SET_INBAND_FEC(2) option HOT 1
- Please provide an option to not depend on downloading model data HOT 10
- v1.5.2 compile warnings
- Error: Range coder state mismatch between encoder and decoder in frame 1: 0x f3b1240 vs 0x40123b0f HOT 1
- Opus.lib: 1.3.1 version crashing in some windows machines in opus_encoder_create HOT 2
- Opus 1.5.x and main compilation failing with GCC 8.5.0 HOT 1
- Opus not building on Ubuntu 24.04
- No way to turn off the PLC/FEC?
- Floating Point libraries failing to build when targeting Fixed Point support only. MSVC 2017 v141 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opus.