diff --git a/libavcodec/rv30.c b/libavcodec/rv30.c index 0528f010b6..0c6f343c9e 100644 --- a/libavcodec/rv30.c +++ b/libavcodec/rv30.c @@ -51,13 +51,12 @@ static int rv30_parse_slice_header(RV34DecContext *r, GetBitContext *gb, SliceIn skip_bits1(gb); si->pts = get_bits(gb, 13); rpr = get_bits(gb, r->rpr); - if(!rpr){ - si->width = w; - si->height = h; - }else{ - si->width = r->s.avctx->extradata[6 + rpr*2] << 2; - si->height = r->s.avctx->extradata[7 + rpr*2] << 2; + if(rpr){ + w = r->s.avctx->extradata[6 + rpr*2] << 2; + h = r->s.avctx->extradata[7 + rpr*2] << 2; } + si->width = w; + si->height = h; mb_size = ((w + 15) >> 4) * ((h + 15) >> 4); mb_bits = ff_rv34_get_start_offset(gb, mb_size); si->start = get_bits(gb, mb_bits);