int prev_frame_num;
enum AVPictureType pict_type;
+ enum AVPictureType slice_type;
int low_delay;
int mb_x, mb_y;
return -1;
}
- s->pict_type = ff_h264_golomb_to_pict_type[slice_id];
+ s->slice_type = ff_h264_golomb_to_pict_type[slice_id];
if ((header & 0x9F) == 2) {
i = (s->mb_num < 64) ? 6 : (1 + av_log2(s->mb_num - 1));
if (svq3_decode_slice_header(avctx))
return -1;
+ s->pict_type = s->slice_type;
+
if (s->pict_type != AV_PICTURE_TYPE_B)
FFSWAP(SVQ3Frame*, s->next_pic, s->last_pic);
if (svq3_decode_slice_header(avctx))
return -1;
}
+ if (s->slice_type != s->pict_type) {
+ avpriv_request_sample(avctx, "non constant slice type\n");
+ }
/* TODO: support s->mb_skip_run */
}