- vqa_header = (unsigned char *)s->avctx->extradata;
- s->vqa_version = vqa_header[0];
- s->width = AV_RL16(&vqa_header[6]);
- s->height = AV_RL16(&vqa_header[8]);
- if(avcodec_check_dimensions(avctx, s->width, s->height)){
+ s->vqa_version = s->avctx->extradata[0];
+ switch (s->vqa_version) {
+ case 1:
+ case 2:
+ break;
+ case 3:
+ avpriv_report_missing_feature(avctx, "VQA Version %d", s->vqa_version);
+ return AVERROR_PATCHWELCOME;
+ default:
+ avpriv_request_sample(avctx, "VQA Version %i", s->vqa_version);
+ return AVERROR_PATCHWELCOME;
+ }
+ s->width = AV_RL16(&s->avctx->extradata[6]);
+ s->height = AV_RL16(&s->avctx->extradata[8]);
+ if ((ret = av_image_check_size(s->width, s->height, 0, avctx)) < 0) {