[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