[FFmpeg-cvslog] eamad: avoid NULL derefence when missing the reference frame.

Laurent Aimar git at videolan.org
Fri Nov 4 13:22:17 CET 2011


ffmpeg | branch: release/0.8 | Laurent Aimar <fenrir at videolan.org> | Sat Oct  8 23:40:32 2011 +0200| [7b3c851526740cb77fe5af0e48c50b7ead1e0143] | committer: Michael Niedermayer

eamad: avoid NULL derefence when missing the reference frame.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit 6e20554a6d33e92b81dc3cfed6082e03bff2a7f8)

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7b3c851526740cb77fe5af0e48c50b7ead1e0143
---

 libavcodec/eamad.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/libavcodec/eamad.c b/libavcodec/eamad.c
index ee81581..f5b2535 100644
--- a/libavcodec/eamad.c
+++ b/libavcodec/eamad.c
@@ -205,7 +205,8 @@ static void decode_mb(MadContext *t, int inter)
     for (j=0; j<6; j++) {
         if (mv_map & (1<<j)) {  // mv_x and mv_y are guarded by mv_map
             int add = 2*decode_motion(&s->gb);
-            comp_block(t, s->mb_x, s->mb_y, j, mv_x, mv_y, add);
+            if (t->last_frame.data[0])
+                comp_block(t, s->mb_x, s->mb_y, j, mv_x, mv_y, add);
         } else {
             s->dsp.clear_block(t->block);
             decode_block_intra(t, t->block);



More information about the ffmpeg-cvslog mailing list