[opus] VOIP: FEC and NARROWBAND

Jean-Marc Valin jmvalin at mozilla.com
Fri Feb 6 04:57:55 PST 2015


At this bitrate the encoder likely decides that it's better to put all
the bits in the normal packet than use FEC. When you enable FEC it
steals a lot of bits from the non-FEC content. Also, the use of FEC
depends on the reported percentage of packet loss. The more loss there
is, the lower the threshold for enabling FEC. Overall, the encoder
attempt to make the best decision on a packet-per-packet basis as to
whether FEC is useful considering the bit-rate, percentage of loss, and
the exact audio content.

Cheers,

	Jean-Marc

On 05/02/15 11:46 AM, Dragos Oancea wrote:
> Hello,
> 
> Is FEC supposed to work in NARROWBAND mode  (with
> maxaveragebitrate=12000; maxplaybackrate=8000 ) ?
> I am having some confusing results, it appears that FEC is enabled in
> the encoder, but the decoder cannot find any packet with FEC.
> 
> I am also wondering if this piece of code is correct (webrtc):
> 
> /* The following is to parse the LBRR flags. */
>   if (opus_packet_parse(payload, payload_length_bytes, NULL, frame_data,
>                         frame_sizes, NULL) < 0) {
>     return 0;
>   }
> 
>   if (frame_sizes[0] <= 1) {
>     return 0;
>   }
> 
>   for (n = 0; n < channels; n++) {
>     if (frame_data[0][0] & (0x80 >> ((n + 1) * (frames + 1) - 1)))
>       return 1;
>   }
> 
> Is this the way to detect is an Opus-encoded packet has FEC info about
> the previous packet ?
> 
> Does Opus support FEC n+2 too, like SILK ?
> 
> Thank you for this great codec!
> 
> Regards,
> Dragos Oancea
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> opus mailing list
> opus at xiph.org
> http://lists.xiph.org/mailman/listinfo/opus
> 


More information about the opus mailing list