[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