|
|
|
@ -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 @@ static int rv30_decode_intra_types(RV34DecContext *r, GetBitContext *gb, int8_t |
|
|
|
|
|
|
|
|
|
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 int rv30_decode_mb_info(RV34DecContext *r) |
|
|
|
|
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"); |
|
|
|
|