Browse Source

indeo5: Fix null pointer dereferences of ref_mb

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f41a6c8f3a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n0.9.1
Michael Niedermayer 14 years ago
parent
commit
f246d46ee6
1 changed files with 3 additions and 3 deletions
  1. +3
    -3
      libavcodec/indeo5.c

+ 3
- 3
libavcodec/indeo5.c View File

@@ -482,7 +482,7 @@ static int decode_mb_info(IVI5DecContext *ctx, IVIBandDesc *band,
}

mb->mv_x = mb->mv_y = 0; /* no motion vector coded */
if (band->inherit_mv){
if (band->inherit_mv && ref_mb){
/* motion vector inheritance */
if (mv_scale) {
mb->mv_x = ivi_scale_mv(ref_mb->mv_x, mv_scale);
@@ -493,7 +493,7 @@ static int decode_mb_info(IVI5DecContext *ctx, IVIBandDesc *band,
}
}
} else {
if (band->inherit_mv) {
if (band->inherit_mv && ref_mb) {
mb->type = ref_mb->type; /* copy mb_type from corresponding reference mb */
} else if (ctx->frame_type == FRAMETYPE_INTRA) {
mb->type = 0; /* mb_type is always INTRA for intra-frames */
@@ -519,7 +519,7 @@ static int decode_mb_info(IVI5DecContext *ctx, IVIBandDesc *band,
if (!mb->type) {
mb->mv_x = mb->mv_y = 0; /* there is no motion vector in intra-macroblocks */
} else {
if (band->inherit_mv){
if (band->inherit_mv && ref_mb){
/* motion vector inheritance */
if (mv_scale) {
mb->mv_x = ivi_scale_mv(ref_mb->mv_x, mv_scale);


Loading…
Cancel
Save