[FFmpeg-trac] #1071(avcodec:new): Error return code from hardware decoder is ignored in h264 decoder

FFmpeg trac at avcodec.org
Thu Mar 15 07:49:09 CET 2012

#1071: Error return code from hardware decoder is ignored in h264 decoder
             Reporter:  wl2776       |                     Type:  defect
               Status:  new          |                 Priority:  important
            Component:  avcodec      |                  Version:  git-
             Keywords:  h264         |  master
  hardware acceleration decoding     |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
 The function field_end(), located in the file libavcodec/h264.c


 Lines 2528 - 2531 contain call to the end_frame function, processing its
 return code and writing diagnostic message.

 However, the function return code, stored in the variable err, doesn't
 depend on this error code.

 Moreover, return code of the function field_end is entirely ignored.
 This function is called from

 static int decode_frame()
 (file libavcodec/h264.c, line 4037


 static int decode_slice_header()
 (file libavcodec/h264.c, line 2621

 So, when an application calls avcodec_decode_video2() and the hardware
 decoder cannot decode frame, the application anyway receives got_picture =
 1, but the frame is bad.

 It my case the frame is filled with zeros, resulting in green rectangles.

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

More information about the FFmpeg-trac mailing list