# HG changeset patch # User kostya # Date 1197006967 0 # Node ID a3369930685099a62d9526df856bc0dd730d6abd # Parent 625b4a680d41bbc59cfa309573c1b5ef12e61c15 Use existing function for VLC reading diff -r 625b4a680d41 -r a33699306850 rv30.c --- a/rv30.c Fri Dec 07 05:52:27 2007 +0000 +++ b/rv30.c Fri Dec 07 05:56:07 2007 +0000 @@ -27,6 +27,7 @@ #include "avcodec.h" #include "dsputil.h" #include "mpegvideo.h" +#include "golomb.h" #include "rv34.h" #include "rv30data.h" @@ -66,7 +67,7 @@ for(i = 0; i < 4; i++, dst += r->s.b4_stride - 4){ for(j = 0; j < 4; j+= 2){ - int code = (ff_rv34_get_gamma(gb) - 1) << 1; + int code = svq3_get_ue_golomb(gb) << 1; if(code >= 81*2){ av_log(r->s.avctx, AV_LOG_ERROR, "Incorrect intra prediction code\n"); return -1; @@ -94,7 +95,7 @@ static const int rv30_b_types[6] = { RV34_MB_SKIP, RV34_MB_B_DIRECT, RV34_MB_B_FORWARD, RV34_MB_B_BACKWARD, RV34_MB_TYPE_INTRA, RV34_MB_TYPE_INTRA16x16 }; MpegEncContext *s = &r->s; GetBitContext *gb = &s->gb; - int code = ff_rv34_get_gamma(gb) - 1; + int code = svq3_get_ue_golomb(gb); if(code > 11){ av_log(s->avctx, AV_LOG_ERROR, "Incorrect MB type code\n"); diff -r 625b4a680d41 -r a33699306850 rv40.c --- a/rv40.c Fri Dec 07 05:52:27 2007 +0000 +++ b/rv40.c Fri Dec 07 05:56:07 2007 +0000 @@ -27,6 +27,7 @@ #include "avcodec.h" #include "dsputil.h" #include "mpegvideo.h" +#include "golomb.h" #include "rv34.h" #include "rv40vlc2.h" @@ -207,7 +208,7 @@ int count = 0; if(!r->s.mb_skip_run) - r->s.mb_skip_run = ff_rv34_get_gamma(gb); + r->s.mb_skip_run = svq3_get_ue_golomb(gb) + 1; if(--r->s.mb_skip_run) return RV34_MB_SKIP;