<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div dir="ltr" id="yui_3_16_0_1_1423561830758_48248"><span id="yui_3_16_0_1_1423561830758_48252">Hi,</span></div><div dir="ltr" id="yui_3_16_0_1_1423561830758_48246"><span><br></span></div><div dir="ltr" id="yui_3_16_0_1_1423561830758_48242"><span id="yui_3_16_0_1_1423561830758_48244">Thank you very much for your answer.</span></div><div dir="ltr" id="yui_3_16_0_1_1423561830758_48235"><br></div><div dir="ltr" id="yui_3_16_0_1_1423561830758_48235">So the size of the audio payload would be the same with or without FEC ?</div><div dir="ltr" id="yui_3_16_0_1_1423561830758_48234">I have tested with OPUS_SET_PACKET_LOSS_PERC(20) , I imagined that at this packet loss there should be a lot of FEC , even if i'm</div><div dir="ltr" id="yui_3_16_0_1_1423561830758_48234">testing in NARROWBAND mode.</div><div dir="ltr" id="yui_3_16_0_1_1423561830758_48232"><br></div><div dir="ltr" id="yui_3_16_0_1_1423561830758_48254">Regards,</div><div dir="ltr" id="yui_3_16_0_1_1423561830758_48255">Dragos Oancea</div><div id="yui_3_16_0_1_1423561830758_48230"><br></div> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_1_1423561830758_48082"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_1_1423561830758_48081"> <div dir="ltr" id="yui_3_16_0_1_1423561830758_48228"> <hr size="1"> <font size="2" face="Arial" id="yui_3_16_0_1_1423561830758_48227"> <b><span style="font-weight:bold;">From:</span></b> Jean-Marc Valin <jmvalin@mozilla.com><br> <b><span style="font-weight: bold;">To:</span></b> Dragos Oancea <droancea@yahoo.com>; "opus@xiph.org" <opus@xiph.org> <br> <b><span style="font-weight: bold;">Sent:</span></b> Friday, February 6, 2015 1:57 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [opus] VOIP: FEC and NARROWBAND<br> </font> </div> <div class="y_msg_container" id="yui_3_16_0_1_1423561830758_48080"><br>At this bitrate the encoder likely decides that it's better to put all<br clear="none">the bits in the normal packet than use FEC. When you enable FEC it<br clear="none">steals a lot of bits from the non-FEC content. Also, the use of FEC<br clear="none">depends on the reported percentage of packet loss. The more loss there<br clear="none">is, the lower the threshold for enabling FEC. Overall, the encoder<br clear="none">attempt to make the best decision on a packet-per-packet basis as to<br clear="none">whether FEC is useful considering the bit-rate, percentage of loss, and<br clear="none">the exact audio content.<br clear="none"><br clear="none">Cheers,<br clear="none"><br clear="none"> Jean-Marc<br clear="none"><div class="qtdSeparateBR"><br><br></div><div class="yqt8237513175" id="yqtfd38093"><br clear="none">On 05/02/15 11:46 AM, Dragos Oancea wrote:<br clear="none">> Hello,<br clear="none">> <br clear="none">> Is FEC supposed to work in NARROWBAND mode (with<br clear="none">> maxaveragebitrate=12000; maxplaybackrate=8000 ) ?<br clear="none">> I am having some confusing results, it appears that FEC is enabled in<br clear="none">> the encoder, but the decoder cannot find any packet with FEC.<br clear="none">> <br clear="none">> I am also wondering if this piece of code is correct (webrtc):<br clear="none">> <br clear="none">> /* The following is to parse the LBRR flags. */<br clear="none">> if (opus_packet_parse(payload, payload_length_bytes, NULL, frame_data,<br clear="none">> frame_sizes, NULL) < 0) {<br clear="none">> return 0;<br clear="none">> }<br clear="none">> <br clear="none">> if (frame_sizes[0] <= 1) {<br clear="none">> return 0;<br clear="none">> }<br clear="none">> <br clear="none">> for (n = 0; n < channels; n++) {<br clear="none">> if (frame_data[0][0] & (0x80 >> ((n + 1) * (frames + 1) - 1)))<br clear="none">> return 1;<br clear="none">> }<br clear="none">> <br clear="none">> Is this the way to detect is an Opus-encoded packet has FEC info about<br clear="none">> the previous packet ?<br clear="none">> <br clear="none">> Does Opus support FEC n+2 too, like SILK ?<br clear="none">> <br clear="none">> Thank you for this great codec!<br clear="none">> <br clear="none">> Regards,<br clear="none">> Dragos Oancea</div><br clear="none">> <br clear="none">> <br clear="none">> <br clear="none">> <br clear="none">> <br clear="none">> <br clear="none">> <br clear="none">> _______________________________________________<br clear="none">> opus mailing list<br clear="none">> <a shape="rect" ymailto="mailto:opus@xiph.org" href="mailto:opus@xiph.org">opus@xiph.org</a><br clear="none">> <a shape="rect" href="http://lists.xiph.org/mailman/listinfo/opus" target="_blank">http://lists.xiph.org/mailman/listinfo/opus</a><div class="yqt8237513175" id="yqtfd96665"><br clear="none">> <br clear="none"></div><br><br></div> </div> </div> </div></body></html>