v->res_rtm_flag = get_bits1(gb); //reserved
}
if (!v->res_rtm_flag) {
-// av_log(avctx, AV_LOG_ERROR,
-// "0 for reserved RES_RTM_FLAG is forbidden\n");
av_log(avctx, AV_LOG_ERROR,
"Old WMV3 version detected, some frames may be decoded incorrectly\n");
//return -1;
}
if (get_bits1(gb)) {
- v->color_prim = get_bits(gb, 8);
- v->transfer_char = get_bits(gb, 8);
- v->matrix_coef = get_bits(gb, 8);
+ v->s.avctx->color_primaries = get_bits(gb, 8);
+ v->s.avctx->color_trc = get_bits(gb, 8);
+ v->s.avctx->colorspace = get_bits(gb, 8);
+ v->s.avctx->color_range = AVCOL_RANGE_MPEG;
}
}
if (v->finterpflag)
v->interpfrm = get_bits1(gb);
- skip_bits(gb, 2); //framecnt unused
+ if (!v->s.avctx->codec)
+ return -1;
+ if (v->s.avctx->codec->id == AV_CODEC_ID_MSS2)
+ v->respic =
+ v->rangered =
+ v->multires = get_bits(gb, 2) == 1;
+ else
+ skip_bits(gb, 2); //framecnt unused
v->rangeredfrm = 0;
if (v->rangered)
v->rangeredfrm = get_bits1(gb);
v->x8_type = get_bits1(gb);
} else
v->x8_type = 0;
-//av_log(v->s.avctx, AV_LOG_INFO, "%c Frame: QP=[%i]%i (+%i/2) %i\n",
-// (v->s.pict_type == AV_PICTURE_TYPE_P) ? 'P' : ((v->s.pict_type == AV_PICTURE_TYPE_I) ? 'I' : 'B'), pqindex, v->pq, v->halfpq, v->rangeredfrm);
+ av_dlog(v->s.avctx, "%c Frame: QP=[%i]%i (+%i/2) %i\n",
+ (v->s.pict_type == AV_PICTURE_TYPE_P) ? 'P' : ((v->s.pict_type == AV_PICTURE_TYPE_I) ? 'I' : 'B'),
+ pqindex, v->pq, v->halfpq, v->rangeredfrm);
if (v->s.pict_type == AV_PICTURE_TYPE_I || v->s.pict_type == AV_PICTURE_TYPE_P)
v->use_ic = 0;