Mercurial > libavcodec.hg
comparison rv30.c @ 8568:4a93620c5aac libavcodec
30l: when reading mb_offset in RV30 slice header its size
should be calculated from current frame dimensions
author | kostya |
---|---|
date | Sun, 11 Jan 2009 10:50:00 +0000 |
parents | 48a4d9f4c6f8 |
children | e9d9d946f213 |
comparison
equal
deleted
inserted
replaced
8567:0d5b2b0e7a87 | 8568:4a93620c5aac |
---|---|
49 return -1; | 49 return -1; |
50 si->quant = get_bits(gb, 5); | 50 si->quant = get_bits(gb, 5); |
51 skip_bits1(gb); | 51 skip_bits1(gb); |
52 si->pts = get_bits(gb, 13); | 52 si->pts = get_bits(gb, 13); |
53 rpr = get_bits(gb, r->rpr); | 53 rpr = get_bits(gb, r->rpr); |
54 if(!rpr){ | 54 if(rpr){ |
55 si->width = w; | 55 w = r->s.avctx->extradata[6 + rpr*2] << 2; |
56 si->height = h; | 56 h = r->s.avctx->extradata[7 + rpr*2] << 2; |
57 }else{ | 57 } |
58 si->width = r->s.avctx->extradata[6 + rpr*2] << 2; | 58 si->width = w; |
59 si->height = r->s.avctx->extradata[7 + rpr*2] << 2; | 59 si->height = h; |
60 } | |
61 mb_size = ((w + 15) >> 4) * ((h + 15) >> 4); | 60 mb_size = ((w + 15) >> 4) * ((h + 15) >> 4); |
62 mb_bits = ff_rv34_get_start_offset(gb, mb_size); | 61 mb_bits = ff_rv34_get_start_offset(gb, mb_size); |
63 si->start = get_bits(gb, mb_bits); | 62 si->start = get_bits(gb, mb_bits); |
64 skip_bits1(gb); | 63 skip_bits1(gb); |
65 return 0; | 64 return 0; |