[mythtv] Corrupted ac3 audio handling in 0.22

Tom Dexter digitalaudiorock at gmail.com
Thu Feb 25 21:53:18 UTC 2010


On Thu, Feb 25, 2010 at 3:58 PM, Tom Dexter <digitalaudiorock at gmail.com> wrote:
> Back in 0.21 I submitted an ffmpeg patch that prevented loud audio
> chirps in corrupted ac3 audio:
>
> http://bugs.mythtv.org/trac/ticket/5220
>
> That essentially replaced the loud chirps with silence (complete
> dropout of the audio).
>
> It appears that since then, ffmpeg now has the some sort of error
> concealment (as was noted in the TODO comment on the original fix).  I
> believe this is controlled via this bitmask in
> libs/libmythtv/avformatdecoder.cpp:
>
> enc->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK;
>
> ...as per this (in libs/libavcodec/avcodec.h):
>
>    /**
>     * error concealment flags
>     * - encoding: unused
>     * - decoding: Set by user.
>     */
>    int error_concealment;
> #define FF_EC_GUESS_MVS   1
> #define FF_EC_DEBLOCK     2
>
> ...though I don't know anything about either one.
>
> I've noticed that since upgrading, when I have any bad ac3 (from bad
> weather reception for example), rather than getting silence I get a
> real annoying mid-range tone.  While it's much better than the full
> scale chirps that would about knock you off your seat, it's _way_ more
> annoying than dropouts.
>
> Has anyone else noticed this, or is anyone clear on those flags?  Thanks.
>
> Tom
>

It appears (I believe) that that bitmask only affects video handling.
It appears that now, when the ac3 has a crc mismatch, they end up
setting the audio channels in a different manner, but continuing with
the decode of the audio rather than dropping the frame.

Tom


More information about the mythtv-dev mailing list