comparison mpegvideo_enc.c @ 10683:e5fac8ac71f6 libavcodec

Check sample_aspect_ratio validity for mpeg4/h263/h263p encoding. Merged from ffmbc0.3
author michael
date Mon, 14 Dec 2009 11:34:46 +0000
parents 7986ecc952e1
children 47e1e474e1f1
comparison
equal deleted inserted replaced
10682:aa8bebc96764 10683:e5fac8ac71f6
390 return -1; 390 return -1;
391 } 391 }
392 392
393 if(s->max_b_frames && s->codec_id != CODEC_ID_MPEG4 && s->codec_id != CODEC_ID_MPEG1VIDEO && s->codec_id != CODEC_ID_MPEG2VIDEO){ 393 if(s->max_b_frames && s->codec_id != CODEC_ID_MPEG4 && s->codec_id != CODEC_ID_MPEG1VIDEO && s->codec_id != CODEC_ID_MPEG2VIDEO){
394 av_log(avctx, AV_LOG_ERROR, "b frames not supported by codec\n"); 394 av_log(avctx, AV_LOG_ERROR, "b frames not supported by codec\n");
395 return -1;
396 }
397
398 if ((s->codec_id == CODEC_ID_MPEG4 || s->codec_id == CODEC_ID_H263 ||
399 s->codec_id == CODEC_ID_H263P) &&
400 (avctx->sample_aspect_ratio.num > 255 || avctx->sample_aspect_ratio.den > 255)) {
401 av_log(avctx, AV_LOG_ERROR, "Invalid pixel aspect ratio %i/%i, limit is 255/255\n",
402 avctx->sample_aspect_ratio.num, avctx->sample_aspect_ratio.den);
395 return -1; 403 return -1;
396 } 404 }
397 405
398 if((s->flags & (CODEC_FLAG_INTERLACED_DCT|CODEC_FLAG_INTERLACED_ME|CODEC_FLAG_ALT_SCAN)) 406 if((s->flags & (CODEC_FLAG_INTERLACED_DCT|CODEC_FLAG_INTERLACED_ME|CODEC_FLAG_ALT_SCAN))
399 && s->codec_id != CODEC_ID_MPEG4 && s->codec_id != CODEC_ID_MPEG2VIDEO){ 407 && s->codec_id != CODEC_ID_MPEG4 && s->codec_id != CODEC_ID_MPEG2VIDEO){