summaryrefslogtreecommitdiff
path: root/libavcodec/mpegvideo.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2003-04-14 14:06:21 +0000
committerMichael Niedermayer <michaelni@gmx.at>2003-04-14 14:06:21 +0000
commit9acbbd16b9e506326d5daddb5b427f110eac7682 (patch)
tree55cf1870abb63332f63a9d8fdb66b517b9ae5b91 /libavcodec/mpegvideo.c
parentaf6e2fed043a45c6bbb2960f4fbbce7ad8b72428 (diff)
check validity of some flags
Originally committed as revision 1773 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpegvideo.c')
-rw-r--r--libavcodec/mpegvideo.c25
1 files changed, 25 insertions, 0 deletions
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;