[FFmpeg-cvslog] eacmv: Make sure a reference frame exists before referencing it
Martin Storsjö
git at videolan.org
Thu Jan 16 21:57:39 CET 2014
ffmpeg | branch: release/0.10 | Martin Storsjö <martin at martin.st> | Mon Sep 16 21:07:30 2013 +0300| [b19eafa2b930ee40abfde6d1f026b7fa5591c4dc] | committer: Luca Barbato
eacmv: Make sure a reference frame exists before referencing it
This is similar to an existing check for the second-last frame
from 062421e3.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable at libav.org
Signed-off-by: Martin Storsjö <martin at martin.st>
(cherry picked from commit ea78a348d86a3a733f6c1e0a65cfdd8283d924b9)
Signed-off-by: Luca Barbato <lu_zero at gentoo.org>
Conflicts:
libavcodec/eacmv.c
(cherry picked from commit 2e12af4587613dd5b2c3431e5c8194d73b03434f)
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b19eafa2b930ee40abfde6d1f026b7fa5591c4dc
---
libavcodec/eacmv.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/libavcodec/eacmv.c b/libavcodec/eacmv.c
index 085e2d8..2a4ecdc 100644
--- a/libavcodec/eacmv.c
+++ b/libavcodec/eacmv.c
@@ -106,9 +106,10 @@ static void cmv_decode_inter(CmvContext * s, const uint8_t *buf, const uint8_t *
}else{ /* inter using last frame as reference */
int xoffset = (buf[i] & 0xF) - 7;
int yoffset = ((buf[i] >> 4)) - 7;
- cmv_motcomp(s->frame.data[0], s->frame.linesize[0],
- s->last_frame.data[0], s->last_frame.linesize[0],
- x*4, y*4, xoffset, yoffset, s->avctx->width, s->avctx->height);
+ if (s->last_frame.data[0])
+ cmv_motcomp(s->frame.data[0], s->frame.linesize[0],
+ s->last_frame.data[0], s->last_frame.linesize[0],
+ x*4, y*4, xoffset, yoffset, s->avctx->width, s->avctx->height);
}
i++;
}
More information about the ffmpeg-cvslog
mailing list