summaryrefslogtreecommitdiff
path: root/libavcodec/rv30.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-01-04 04:16:46 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-01-04 04:16:46 +0100
commita881b9aa08af79b4fb15b912842e203a732fa9af (patch)
treea4d61177bb9419e6cbc97e0b990e3d821bb5c628 /libavcodec/rv30.c
parent958e3119743169f64de0152ccecf2a10113b901d (diff)
avcodec/rv30: cleanup rpr handling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/rv30.c')
-rw-r--r--libavcodec/rv30.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/rv30.c b/libavcodec/rv30.c
index 9e27270c78..6c65afb83f 100644
--- a/libavcodec/rv30.c
+++ b/libavcodec/rv30.c
@@ -50,7 +50,7 @@ static int rv30_parse_slice_header(RV34DecContext *r, GetBitContext *gb, SliceIn
si->quant = get_bits(gb, 5);
skip_bits1(gb);
si->pts = get_bits(gb, 13);
- rpr = get_bits(gb, r->rpr);
+ rpr = get_bits(gb, av_log2(r->max_rpr) + 1);
if(rpr){
if (avctx->extradata_size < rpr * 2 + 8) {
av_log(avctx, AV_LOG_ERROR,
@@ -260,8 +260,8 @@ static av_cold int rv30_decode_init(AVCodecContext *avctx)
av_log(avctx, AV_LOG_ERROR, "Extradata is too small.\n");
return -1;
}
- r->rpr = (avctx->extradata[1] & 7) >> 1;
- r->rpr = FFMIN(r->rpr + 1, 3);
+
+ r->max_rpr = avctx->extradata[1] & 7;
r->parse_slice_header = rv30_parse_slice_header;
r->decode_intra_types = rv30_decode_intra_types;