|
|
|
@@ -170,17 +170,17 @@ static int h263_decode_gob_header(MpegEncContext *s) |
|
|
|
return -1; |
|
|
|
|
|
|
|
if(s->h263_slice_structured){ |
|
|
|
if(get_bits1(&s->gb)==0) |
|
|
|
if(check_marker(&s->gb, "before MBA")==0) |
|
|
|
return -1; |
|
|
|
|
|
|
|
ff_h263_decode_mba(s); |
|
|
|
|
|
|
|
if(s->mb_num > 1583) |
|
|
|
if(get_bits1(&s->gb)==0) |
|
|
|
if(check_marker(&s->gb, "after MBA")==0) |
|
|
|
return -1; |
|
|
|
|
|
|
|
s->qscale = get_bits(&s->gb, 5); /* SQUANT */ |
|
|
|
if(get_bits1(&s->gb)==0) |
|
|
|
if(check_marker(&s->gb, "after SQUANT")==0) |
|
|
|
return -1; |
|
|
|
skip_bits(&s->gb, 2); /* GFID */ |
|
|
|
}else{ |
|
|
|
@@ -899,9 +899,7 @@ int ff_h263_decode_picture_header(MpegEncContext *s) |
|
|
|
s->picture_number= (s->picture_number&~0xFF) + i; |
|
|
|
|
|
|
|
/* PTYPE starts here */ |
|
|
|
if (get_bits1(&s->gb) != 1) { |
|
|
|
/* marker */ |
|
|
|
av_log(s->avctx, AV_LOG_ERROR, "Bad marker\n"); |
|
|
|
if (check_marker(&s->gb, "in PTYPE") != 1) { |
|
|
|
return -1; |
|
|
|
} |
|
|
|
if (get_bits1(&s->gb) != 0) { |
|
|
|
@@ -1022,7 +1020,7 @@ int ff_h263_decode_picture_header(MpegEncContext *s) |
|
|
|
6-14 - reserved |
|
|
|
*/ |
|
|
|
width = (get_bits(&s->gb, 9) + 1) * 4; |
|
|
|
skip_bits1(&s->gb); |
|
|
|
check_marker(&s->gb, "in dimensions"); |
|
|
|
height = get_bits(&s->gb, 9) * 4; |
|
|
|
av_dlog(s->avctx, "\nH.263+ Custom picture: %dx%d\n",width,height); |
|
|
|
if (s->aspect_ratio_info == FF_ASPECT_EXTENDED) { |
|
|
|
@@ -1118,15 +1116,13 @@ int ff_h263_decode_picture_header(MpegEncContext *s) |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
|
|
|
|
if(s->h263_slice_structured){ |
|
|
|
if (get_bits1(&s->gb) != 1) { |
|
|
|
av_log(s->avctx, AV_LOG_ERROR, "SEPB1 marker missing\n"); |
|
|
|
if (check_marker(&s->gb, "SEPB1") != 1) { |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
ff_h263_decode_mba(s); |
|
|
|
|
|
|
|
if (get_bits1(&s->gb) != 1) { |
|
|
|
av_log(s->avctx, AV_LOG_ERROR, "SEPB2 marker missing\n"); |
|
|
|
if (check_marker(&s->gb, "SEPB2") != 1) { |
|
|
|
return -1; |
|
|
|
} |
|
|
|
} |
|
|
|
|