avcodec/ituh263dec: Use check_marker()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2015-04-15 03:22:27 +02:00
parent 95f524aff5
commit fbdaebb298
1 changed files with 7 additions and 11 deletions

View File

@ -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;
}
}