[FFmpeg-devel] libopus wrapper not supporting inband FEC

Amit Gandhi agandhi at bogen.com
Tue Jan 2 18:45:33 EET 2018


Does anyone happen to know why inband FEC option is not supported by libopus wrapper in ffmpeg while the packet_loss option is supported?

Looking into the code of encoder wrapper ~/libavcodec/libopusenc.c the line
ret = opus_multistream_encoder_ctl(enc, OPUS_SET_PACKET_LOSS_PERC(opts->packet_loss));

sets up the packet loss percentage in libopus but there is no reference to OPUS_SET_INBAND_FEC(...) libopus control in the wrapper.

Also looking into libopus the packet loss is used in conjunction with FEC settings i.e from opus-1.1.3/src/opus_encoder.c

/* When FEC is enabled and there's enough packet loss, use SILK */
if (st->silk_mode.useInBandFEC && st->silk_mode.packetLossPercentage > (128-voice_est)>>4)
          st->mode = MODE_SILK_ONLY;

Any help would be appreciated.


More information about the ffmpeg-devel mailing list