Opened 4 weeks ago

Last modified 4 weeks ago

#7494 new defect

Error concealment is broken for 422 content

Reported by: cus Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: ec mpegvideo
Cc: cus Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:

Error concealment is broken on the chroma planes of a 4:2:2 mpeg2 video. It seems random data corrupts the chroma planes on the macroblocks which supposed to be corrected.

See the uploaded file.

How to reproduce:

./ffplay out2.m2v 
ffplay version N-92178-gf099946faf Copyright (c) 2003-2018 the FFmpeg developers
  built with gcc 7 (SUSE Linux)
  configuration: --disable-vaapi --enable-vdpau --enable-gpl --enable-libfreetype --enable-libzvbi --enable-libass --enable-frei0r --enable-openssl --enable-nonfree --enable-libx264 --enable-libfdk-aac --enable-nonfree --enable-libvorbis --enable-decklink --enable-libmp3lame --enable-libvpx --enable-libsrt --assert-level=2
  libavutil      56. 19.101 / 56. 19.101
  libavcodec     58. 33.100 / 58. 33.100
  libavformat    58. 19.100 / 58. 19.100
  libavdevice    58.  4.105 / 58.  4.105
  libavfilter     7. 33.101 /  7. 33.101
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
  libpostproc    55.  2.100 / 55.  2.100
Input #0, mpegvideo, from 'out2.m2v':B vq=    0KB sq=    0B f=0/0   
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: mpeg2video (4:2:2), yuv422p(tv, progressive), 640x480 [SAR 1:1 DAR 4:3], 25 fps, 25 tbr, 1200k tbn, 50 tbc
[mpeg2video @ 0x3ec06c0] skipped MB in I-frame at 29 9
[mpeg2video @ 0x3ec06c0] Warning MVs not available
[mpeg2video @ 0x3ec06c0] concealing 40 DC, 40 AC, 40 MV errors in I frame
   1.28 M-V:  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   

If you turn off error concealment, output is much better:

ffplay -ec 0 out2.m2v

I also have real-world samples showing the same symptom, but I cannot share those publicly.

Attachments (1)

out2.m2v (333.1 KB) - added by cus 4 weeks ago.
corrupt input file

Download all attachments as: .zip

Change History (2)

Changed 4 weeks ago by cus

corrupt input file

comment:1 Changed 4 weeks ago by cehoyos

The default behaviour is not a regression afaict, I can for example reproduce with 40c5fa26.

Note: See TracTickets for help on using tickets.