[FFmpeg-trac] #2695(avcodec:new): Occasional Access Violation: H264 with bad streams

FFmpeg trac at avcodec.org
Fri Jun 21 09:18:15 CEST 2013


#2695: Occasional Access Violation: H264 with bad streams
-------------------------------------+-----------------------------------
             Reporter:  BlackWarren  |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:  avcodec
              Version:  git-master   |               Resolution:
             Keywords:  h264 crash   |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-----------------------------------

Comment (by BlackWarren):

 Possible patch:

 diff --git a/libavcodec/h264_mb_template.c b/libavcodec/h264_mb_template.c
 index 15cb3c9..0173334 100644
 --- a/libavcodec/h264_mb_template.c
 +++ b/libavcodec/h264_mb_template.c
 @@ -158,8 +158,17 @@ static av_noinline void
 FUNC(hl_decode_mb)(H264Context *h)
                                 uvlinesize, 1, 0, SIMPLE, PIXEL_SHIFT);

              if (SIMPLE || !CONFIG_GRAY || !(h->flags & CODEC_FLAG_GRAY))
 {
 -                h->hpc.pred8x8[h->chroma_pred_mode](dest_cb, uvlinesize);
 -                h->hpc.pred8x8[h->chroma_pred_mode](dest_cr, uvlinesize);
 +                if (mb_y <= 0 &&
 +                    (
 +                        h->chroma_pred_mode == TOP_DC_PRED8x8 ||
 +                        h->chroma_pred_mode == DC_PRED8x8 ||
 +                        h->chroma_pred_mode == VERT_PRED8x8)
 +                    ) {
 +                    av_log(NULL, AV_LOG_WARNING, "Skipping prediction
 involving previous data rows because mb_y is zero\n");
 +                } else {
 +                    h->hpc.pred8x8[h->chroma_pred_mode](dest_cb,
 uvlinesize);
 +                    h->hpc.pred8x8[h->chroma_pred_mode](dest_cr,
 uvlinesize);
 +                }
              }

              hl_decode_mb_predict_luma(h, mb_type, is_h264, SIMPLE,

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2695#comment:1>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list