Signed-off-by: Michael Niedermayer <michaelni@gmx.at>tags/n0.9
@@ -120,7 +120,7 @@ static int parse_source_parameters(AVCodecContext *avctx, GetBitContext *gb, | |||||
// chroma subsampling | // chroma subsampling | ||||
if (get_bits1(gb)) | if (get_bits1(gb)) | ||||
source->chroma_format = svq3_get_ue_golomb(gb); | source->chroma_format = svq3_get_ue_golomb(gb); | ||||
if (source->chroma_format > 2) { | |||||
if (source->chroma_format > 2U) { | |||||
av_log(avctx, AV_LOG_ERROR, "Unknown chroma format %d\n", | av_log(avctx, AV_LOG_ERROR, "Unknown chroma format %d\n", | ||||
source->chroma_format); | source->chroma_format); | ||||
return -1; | return -1; | ||||
@@ -128,14 +128,14 @@ static int parse_source_parameters(AVCodecContext *avctx, GetBitContext *gb, | |||||
if (get_bits1(gb)) | if (get_bits1(gb)) | ||||
source->interlaced = svq3_get_ue_golomb(gb); | source->interlaced = svq3_get_ue_golomb(gb); | ||||
if (source->interlaced > 1) | |||||
if (source->interlaced > 1U) | |||||
return -1; | return -1; | ||||
// frame rate | // frame rate | ||||
if (get_bits1(gb)) { | if (get_bits1(gb)) { | ||||
source->frame_rate_index = svq3_get_ue_golomb(gb); | source->frame_rate_index = svq3_get_ue_golomb(gb); | ||||
if (source->frame_rate_index > 10) | |||||
if (source->frame_rate_index > 10U) | |||||
return -1; | return -1; | ||||
if (!source->frame_rate_index) { | if (!source->frame_rate_index) { | ||||
@@ -156,7 +156,7 @@ static int parse_source_parameters(AVCodecContext *avctx, GetBitContext *gb, | |||||
if (get_bits1(gb)) { | if (get_bits1(gb)) { | ||||
source->aspect_ratio_index = svq3_get_ue_golomb(gb); | source->aspect_ratio_index = svq3_get_ue_golomb(gb); | ||||
if (source->aspect_ratio_index > 6) | |||||
if (source->aspect_ratio_index > 6U) | |||||
return -1; | return -1; | ||||
if (!source->aspect_ratio_index) { | if (!source->aspect_ratio_index) { | ||||
@@ -179,7 +179,7 @@ static int parse_source_parameters(AVCodecContext *avctx, GetBitContext *gb, | |||||
if (get_bits1(gb)) { | if (get_bits1(gb)) { | ||||
source->pixel_range_index = svq3_get_ue_golomb(gb); | source->pixel_range_index = svq3_get_ue_golomb(gb); | ||||
if (source->pixel_range_index > 4) | |||||
if (source->pixel_range_index > 4U) | |||||
return -1; | return -1; | ||||
// This assumes either fullrange or MPEG levels only | // This assumes either fullrange or MPEG levels only | ||||
@@ -207,7 +207,7 @@ static int parse_source_parameters(AVCodecContext *avctx, GetBitContext *gb, | |||||
if (get_bits1(gb)) { | if (get_bits1(gb)) { | ||||
idx = source->color_spec_index = svq3_get_ue_golomb(gb); | idx = source->color_spec_index = svq3_get_ue_golomb(gb); | ||||
if (source->color_spec_index > 4) | |||||
if (source->color_spec_index > 4U) | |||||
return -1; | return -1; | ||||
avctx->color_primaries = dirac_color_presets[idx].color_primaries; | avctx->color_primaries = dirac_color_presets[idx].color_primaries; | ||||
@@ -217,7 +217,7 @@ static int parse_source_parameters(AVCodecContext *avctx, GetBitContext *gb, | |||||
if (!source->color_spec_index) { | if (!source->color_spec_index) { | ||||
if (get_bits1(gb)) { | if (get_bits1(gb)) { | ||||
idx = svq3_get_ue_golomb(gb); | idx = svq3_get_ue_golomb(gb); | ||||
if (idx < 3) | |||||
if (idx < 3U) | |||||
avctx->color_primaries = dirac_primaries[idx]; | avctx->color_primaries = dirac_primaries[idx]; | ||||
} | } | ||||
@@ -259,7 +259,7 @@ int ff_dirac_parse_sequence_header(AVCodecContext *avctx, GetBitContext *gb, | |||||
else if (version_major > 2) | else if (version_major > 2) | ||||
av_log(avctx, AV_LOG_WARNING, "Stream may have unhandled features\n"); | av_log(avctx, AV_LOG_WARNING, "Stream may have unhandled features\n"); | ||||
if (video_format > 20) | |||||
if (video_format > 20U) | |||||
return -1; | return -1; | ||||
// Fill in defaults for the source parameters. | // Fill in defaults for the source parameters. | ||||
@@ -79,7 +79,7 @@ static int rv30_decode_intra_types(RV34DecContext *r, GetBitContext *gb, int8_t | |||||
for(i = 0; i < 4; i++, dst += r->intra_types_stride - 4){ | for(i = 0; i < 4; i++, dst += r->intra_types_stride - 4){ | ||||
for(j = 0; j < 4; j+= 2){ | for(j = 0; j < 4; j+= 2){ | ||||
int code = svq3_get_ue_golomb(gb) << 1; | int code = svq3_get_ue_golomb(gb) << 1; | ||||
if(code >= 81*2){ | |||||
if(code >= 81U*2U){ | |||||
av_log(r->s.avctx, AV_LOG_ERROR, "Incorrect intra prediction code\n"); | av_log(r->s.avctx, AV_LOG_ERROR, "Incorrect intra prediction code\n"); | ||||
return -1; | return -1; | ||||
} | } | ||||
@@ -108,7 +108,7 @@ static int rv30_decode_mb_info(RV34DecContext *r) | |||||
GetBitContext *gb = &s->gb; | GetBitContext *gb = &s->gb; | ||||
int code = svq3_get_ue_golomb(gb); | int code = svq3_get_ue_golomb(gb); | ||||
if(code > 11){ | |||||
if(code > 11U){ | |||||
av_log(s->avctx, AV_LOG_ERROR, "Incorrect MB type code\n"); | av_log(s->avctx, AV_LOG_ERROR, "Incorrect MB type code\n"); | ||||
return -1; | return -1; | ||||
} | } | ||||
@@ -231,8 +231,11 @@ static int rv40_decode_mb_info(RV34DecContext *r) | |||||
int blocks[RV34_MB_TYPES] = {0}; | int blocks[RV34_MB_TYPES] = {0}; | ||||
int count = 0; | int count = 0; | ||||
if(!r->s.mb_skip_run) | |||||
if(!r->s.mb_skip_run) { | |||||
r->s.mb_skip_run = svq3_get_ue_golomb(gb) + 1; | r->s.mb_skip_run = svq3_get_ue_golomb(gb) + 1; | ||||
if(r->s.mb_skip_run > (unsigned)s->mb_num) | |||||
return -1; | |||||
} | |||||
if(--r->s.mb_skip_run) | if(--r->s.mb_skip_run) | ||||
return RV34_MB_SKIP; | return RV34_MB_SKIP; | ||||
@@ -221,7 +221,7 @@ static inline int svq3_decode_block(GetBitContext *gb, DCTELEM *block, | |||||
for (limit = (16 >> intra); index < 16; index = limit, limit += 8) { | for (limit = (16 >> intra); index < 16; index = limit, limit += 8) { | ||||
for (; (vlc = svq3_get_ue_golomb(gb)) != 0; index++) { | for (; (vlc = svq3_get_ue_golomb(gb)) != 0; index++) { | ||||
if (vlc == INVALID_VLC) | |||||
if (vlc < 0) | |||||
return -1; | return -1; | ||||
sign = (vlc & 0x1) - 1; | sign = (vlc & 0x1) - 1; | ||||
@@ -239,7 +239,7 @@ static inline int svq3_decode_block(GetBitContext *gb, DCTELEM *block, | |||||
level = ((vlc + 9) >> 2) - run; | level = ((vlc + 9) >> 2) - run; | ||||
} | } | ||||
} else { | } else { | ||||
if (vlc < 16) { | |||||
if (vlc < 16U) { | |||||
run = svq3_dct_tables[intra][vlc].run; | run = svq3_dct_tables[intra][vlc].run; | ||||
level = svq3_dct_tables[intra][vlc].level; | level = svq3_dct_tables[intra][vlc].level; | ||||
} else if (intra) { | } else if (intra) { | ||||
@@ -571,7 +571,7 @@ static int svq3_decode_mb(SVQ3Context *svq3, unsigned int mb_type) | |||||
for (i = 0; i < 16; i+=2) { | for (i = 0; i < 16; i+=2) { | ||||
vlc = svq3_get_ue_golomb(&s->gb); | vlc = svq3_get_ue_golomb(&s->gb); | ||||
if (vlc >= 25){ | |||||
if (vlc >= 25U){ | |||||
av_log(h->s.avctx, AV_LOG_ERROR, "luma prediction:%d\n", vlc); | av_log(h->s.avctx, AV_LOG_ERROR, "luma prediction:%d\n", vlc); | ||||
return -1; | return -1; | ||||
} | } | ||||
@@ -643,7 +643,7 @@ static int svq3_decode_mb(SVQ3Context *svq3, unsigned int mb_type) | |||||
} | } | ||||
if (!IS_INTRA16x16(mb_type) && (!IS_SKIP(mb_type) || s->pict_type == AV_PICTURE_TYPE_B)) { | if (!IS_INTRA16x16(mb_type) && (!IS_SKIP(mb_type) || s->pict_type == AV_PICTURE_TYPE_B)) { | ||||
if ((vlc = svq3_get_ue_golomb(&s->gb)) >= 48){ | |||||
if ((vlc = svq3_get_ue_golomb(&s->gb)) >= 48U){ | |||||
av_log(h->s.avctx, AV_LOG_ERROR, "cbp_vlc=%d\n", vlc); | av_log(h->s.avctx, AV_LOG_ERROR, "cbp_vlc=%d\n", vlc); | ||||
return -1; | return -1; | ||||
} | } | ||||
@@ -653,7 +653,7 @@ static int svq3_decode_mb(SVQ3Context *svq3, unsigned int mb_type) | |||||
if (IS_INTRA16x16(mb_type) || (s->pict_type != AV_PICTURE_TYPE_I && s->adaptive_quant && cbp)) { | if (IS_INTRA16x16(mb_type) || (s->pict_type != AV_PICTURE_TYPE_I && s->adaptive_quant && cbp)) { | ||||
s->qscale += svq3_get_se_golomb(&s->gb); | s->qscale += svq3_get_se_golomb(&s->gb); | ||||
if (s->qscale > 31){ | |||||
if (s->qscale > 31U){ | |||||
av_log(h->s.avctx, AV_LOG_ERROR, "qscale:%d\n", s->qscale); | av_log(h->s.avctx, AV_LOG_ERROR, "qscale:%d\n", s->qscale); | ||||
return -1; | return -1; | ||||
} | } | ||||
@@ -757,7 +757,7 @@ static int svq3_decode_slice_header(AVCodecContext *avctx) | |||||
skip_bits_long(&s->gb, 0); | skip_bits_long(&s->gb, 0); | ||||
} | } | ||||
if ((i = svq3_get_ue_golomb(&s->gb)) == INVALID_VLC || i >= 3){ | |||||
if ((i = svq3_get_ue_golomb(&s->gb)) >= 3U){ | |||||
av_log(h->s.avctx, AV_LOG_ERROR, "illegal slice type %d \n", i); | av_log(h->s.avctx, AV_LOG_ERROR, "illegal slice type %d \n", i); | ||||
return -1; | return -1; | ||||
} | } | ||||