Opened 6 years ago

Closed 6 years ago

#3809 closed defect (fixed)

Low-resolution MPEG-2 decoding incorrectly

Reported by: qyot27 Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: mpeg2video regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no


Summary of the bug:
Low-resolution (here defined as VCD resolution, 352x240) MPEG-2 files are being decoded incorrectly in git master. The effect seems like the bottom-most row of macroblocks in the image are smeared.

It occurs with low-res MPEG-2 streams encoded by HCenc, in which case it seems any output plays back incorrectly, regardless of the presence of soft pulldown. Low-res MPEG-2 streams encoded by FFmpeg work on playback initially, but if soft pulldown is applied afterward, even these streams begin showing the same problem. On a hardware DVD player the playback is correct.

Using git bisect, the issue was introduced in commit 76b5e99 in January. Prior to this commit, the streams decode correctly, and commenting out the changes made in that commit from current git master also clears up the issue. Of course, I recognize that the commit was made for a reason, so it's probably more that a better check of some kind is necessary.

How to reproduce:

$ ./ffmpeg -i ../low_resolution_soft_pulldown.m2v
 ffmpeg version N-65043-ga06c14a Copyright (c) 2000-2014 the FFmpeg developers
  built on Jul 28 2014 05:17:31 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --enable-gpl --enable-version3 --disable-doc --optflags=-O0
  libavutil      52. 92.101 / 52. 92.101
  libavcodec     55. 70.100 / 55. 70.100
  libavformat    55. 49.100 / 55. 49.100
  libavdevice    55. 13.102 / 55. 13.102
  libavfilter     4. 11.102 /  4. 11.102
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
[mpeg1video @ 0x9e8db80] Warning MVs not available
[mpeg1video @ 0x9e8db80] concealing 44 DC, 44 AC, 44 MV errors in I frame
Input #0, mpegvideo, from '../low_resolution_soft_pulldown.m2v':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: mpeg2video (Main), yuv420p(tv), 352x240 [SAR 10:11 DAR 4:3], max. 2000 kb/s, 29.97 fps, 59.94 tbr, 1200k tbn, 59.94 tbc
At least one output file must be specified

These particular warnings are repeated extensively during playback in ffplay or during conversion:
[mpeg1video @ 03f5e6e0] Warning MVs not available
[mpeg1video @ 03f5e6e0] concealing 44 DC, 44 AC, 44 MV errors in I frame

Attachments (1)

low_resolution_soft_pulldown.m2v (1.2 MB) - added by qyot27 6 years ago.

Download all attachments as: .zip

Change History (3)

Changed 6 years ago by qyot27

comment:1 Changed 6 years ago by cehoyos

  • Keywords mpeg2video regression added; mpeg12dec removed
  • Priority changed from normal to important
  • Reproduced by developer set
  • Status changed from new to open

comment:2 Changed 6 years ago by michael

  • Resolution set to fixed
  • Status changed from open to closed
Note: See TracTickets for help on using tickets.