[FFmpeg-devel] [PATCH 1/1] avcodec/libopusdec: Enable FEC/PLC

Lynne dev at lynne.ee
Tue Feb 16 21:15:04 EET 2021


Feb 16, 2021, 20:07 by ceffmpeg at gmail.com:

> Am Di., 16. Feb. 2021 um 15:02 Uhr schrieb Philip-Dylan Gleonec
> <philip-dylan.gleonec at savoirfairelinux.com>:
>
>>
>> Adds FEC/PLC support to libopus. The lost packets are detected as a
>> discontinuity in the audio stream. When a discontinuity is used, this
>> patch tries to decode the FEC data. If FEC data is present in the
>> packet, it is decoded, otherwise audio is re-created through PLC.
>>
>> This patch is based on Steinar H. Gunderson contribution, and corrects
>> the pts computation: all pts are expressed in samples instead of time.
>> This patch also adds an option "decode_fec" which enables or disables
>> FEC decoding. This option is disabled by default to keep consistent
>> behaviour with former versions.
>>
>
> Could you elaborate?
> I would have expected that the normal use case is not have a
> lossy input and that the new feature is always useful if data
> was lost.
>
> Or is there no way to distinguish between a stream with
> unusual timestamps and a stream with packet loss?
>

Streams can switch between being FEC encoded and not on
a per-frame basis. Opus streams can have odd timestamps
since the frame size is somewhat variable. So no way to
check purely on timestamps.

So it being an init-time option is fine.

I'd like to have the original patch author review this, could
someone CC him?


More information about the ffmpeg-devel mailing list