[FFmpeg-trac] #5579(avcodec:new): Random green block artifacts when decoding H264 streams

FFmpeg trac at avcodec.org
Thu May 19 21:37:15 CEST 2016

#5579: Random green block artifacts when decoding H264 streams
             Reporter:  anouar       |                     Type:  defect
               Status:  new          |                 Priority:  critical
            Component:  avcodec      |                  Version:  git-
             Keywords:  H264 field   |  master
  coding, temporal direct mode,      |               Blocked By:
  green block artifacts              |  Reproduced by developer:  0
             Blocking:               |
Analyzed by developer:  0            |
 Summary of the bug:
 I'm seeing random green blocks coding mismatch when I decode a field coded
 H264 stream with ffmpeg or when I play it with ffplay (same problem with
 VLC). Please find the sample stream
 “h264_field_coding_green_block_artifacts.264” under upload.ffmpeg.org ftp
 server to reproduce the problem.
 Also, I have noticed if I decode the stream many times with ffmpeg, the
 problem doesn't occur on the same frame, and it's random. So, you might
 need to decoded the attached stream 2 or 3 times to see the problem.
 I have confirmed that the uploaded sample stream is decoded properly with
 latest JM reference decoder (JM 19.0), Windows Media Player and
 VanguardVideo VCT v1.6, also I have analyzed it with many stream analyzer
 tools like Elecard StreamEye v4.3 and Sencore CMA v5.0 and all of them
 didn't report any syntax error and they are able to decode the stream
 I did couple of tests to narrow down the problem and I have found that
 avcodec library has problem decoding h264 field coding streams with
 temporal direct mode.

 Attached please find a snapshot of the problem.

 How to reproduce:
 % ffmpeg -i h264_field_coding_green_block_artifacts.264
 % ffplay -i h264_field_coding_green_block_artifacts.264

 I'm using this windows 64 bit ffmpeg version:
 Zeranoe FFmpeg Build Version: git-af3e944 (2016-05-17)
 libavutil      55. 24.100 / 55. 24.100
 libavcodec     57. 42.100 / 57. 42.100
 libavformat    57. 36.100 / 57. 36.100
 libavdevice    57.  0.101 / 57.  0.101
 libavfilter     6. 45.100 /  6. 45.100
 libswscale      4.  1.100 /  4.  1.100
 libswresample   2.  0.101 /  2.  0.101
 libpostproc    54.  0.100 / 54.  0.100

 Also I have built the latest ffmpeg code from git (git-641dccc2aa
 2016-05-18) on Cygwin and I'm seeing the same issue.

Ticket URL: <https://trac.ffmpeg.org/ticket/5579>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker

More information about the FFmpeg-trac mailing list