From 9acbbd16b9e506326d5daddb5b427f110eac7682 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 14 Apr 2003 14:06:21 +0000 Subject: [PATCH] check validity of some flags Originally committed as revision 1773 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/mpegvideo.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 6d7b35fbcc..ea269ef4ae 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -586,6 +586,31 @@ int MPV_encode_init(AVCodecContext *avctx) s->progressive_sequence= !(avctx->flags & CODEC_FLAG_INTERLACED_DCT); + if((s->flags & CODEC_FLAG_4MV) && s->codec_id != CODEC_ID_MPEG4){ + fprintf(stderr, "4MV not supporetd by codec\n"); + return -1; + } + + if(s->quarter_sample && s->codec_id != CODEC_ID_MPEG4){ + fprintf(stderr, "qpel not supporetd by codec\n"); + return -1; + } + + if(s->data_partitioning && s->codec_id != CODEC_ID_MPEG4){ + fprintf(stderr, "data partitioning not supporetd by codec\n"); + return -1; + } + + if(s->max_b_frames && (s->codec_id != CODEC_ID_MPEG4 || s->codec_id != CODEC_ID_MPEG1VIDEO)){ + fprintf(stderr, "b frames not supporetd by codec\n"); + return -1; + } + + if(s->mpeg_quant && s->codec_id != CODEC_ID_MPEG4){ //FIXME mpeg2 uses that too + fprintf(stderr, "mpeg2 style quantization not supporetd by codec\n"); + return -1; + } + if(s->codec_id==CODEC_ID_MJPEG){ s->intra_quant_bias= 1<<(QUANT_BIAS_SHIFT-1); //(a + x/2)/x s->inter_quant_bias= 0; -- GitLab