Opened 6 years ago

Closed 5 years ago

Last modified 4 years ago

#7494 closed defect (fixed)

Error concealment is broken for 422 content

Reported by: Marton Balint Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: mpeg2video
Cc: Marton Balint 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 Marton Balint 6 years ago.
corrupt input file

Download all attachments as: .zip

Change History (5)

by Marton Balint, 6 years ago

Attachment: out2.m2v added

corrupt input file

comment:1 by Carl Eugen Hoyos, 6 years ago

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

comment:2 by Marton Balint, 5 years ago

Resolution: fixed
Status: newclosed

comment:3 by Carl Eugen Hoyos, 4 years ago

Keywords: mpeg2video added; mpegvideo removed

comment:4 by Carl Eugen Hoyos, 4 years ago

Keywords: ec removed
Note: See TracTickets for help on using tickets.