mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
SVQ3: Check that things match up after a frame.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
8811679c8e
commit
b0e7a932e6
@ -932,7 +932,7 @@ static int svq3_decode_frame(AVCodecContext *avctx,
|
||||
H264Context *h = &svq3->h;
|
||||
MpegEncContext *s = &h->s;
|
||||
int buf_size = avpkt->size;
|
||||
int m, mb_type;
|
||||
int m, mb_type, left;
|
||||
|
||||
/* special case for last picture */
|
||||
if (buf_size == 0) {
|
||||
@ -1054,6 +1054,18 @@ static int svq3_decode_frame(AVCodecContext *avctx,
|
||||
ff_draw_horiz_band(s, 16*s->mb_y, 16);
|
||||
}
|
||||
|
||||
left = buf_size*8 - get_bits_count(&s->gb);
|
||||
|
||||
if (s->mb_y != s->mb_height || s->mb_x != s->mb_width) {
|
||||
av_log(avctx, AV_LOG_INFO, "frame num %d incomplete pic x %d y %d left %d\n", avctx->frame_number, s->mb_y, s->mb_x, left);
|
||||
//av_hex_dump(stderr, buf+buf_size-8, 8);
|
||||
}
|
||||
|
||||
if (left < 0) {
|
||||
av_log(avctx, AV_LOG_ERROR, "frame num %d left %d\n", avctx->frame_number, left);
|
||||
return -1;
|
||||
}
|
||||
|
||||
MPV_frame_end(s);
|
||||
|
||||
if (s->pict_type == AV_PICTURE_TYPE_B || s->low_delay) {
|
||||
|
Loading…
Reference in New Issue
Block a user