Mercurial > libavcodec.hg
comparison mpegvideo.c @ 1126:77ccf7fe3bd0 libavcodec
per context frame_rate_base, this should finally fix frame_rate related av sync issues
author | michaelni |
---|---|
date | Wed, 12 Mar 2003 15:16:19 +0000 |
parents | 64c7c76ed17c |
children | c8dfb8579606 |
comparison
equal
deleted
inserted
replaced
1125:0980ae063f4e | 1126:77ccf7fe3bd0 |
---|---|
502 | 502 |
503 avctx->pix_fmt = PIX_FMT_YUV420P; | 503 avctx->pix_fmt = PIX_FMT_YUV420P; |
504 | 504 |
505 s->bit_rate = avctx->bit_rate; | 505 s->bit_rate = avctx->bit_rate; |
506 s->bit_rate_tolerance = avctx->bit_rate_tolerance; | 506 s->bit_rate_tolerance = avctx->bit_rate_tolerance; |
507 s->frame_rate = avctx->frame_rate; | |
508 s->width = avctx->width; | 507 s->width = avctx->width; |
509 s->height = avctx->height; | 508 s->height = avctx->height; |
510 if(avctx->gop_size > 600){ | 509 if(avctx->gop_size > 600){ |
511 fprintf(stderr, "Warning keyframe interval too large! reducing it ...\n"); | 510 fprintf(stderr, "Warning keyframe interval too large! reducing it ...\n"); |
512 avctx->gop_size=600; | 511 avctx->gop_size=600; |
555 s->progressive_sequence= !(avctx->flags & CODEC_FLAG_INTERLACED_DCT); | 554 s->progressive_sequence= !(avctx->flags & CODEC_FLAG_INTERLACED_DCT); |
556 | 555 |
557 switch(avctx->codec->id) { | 556 switch(avctx->codec->id) { |
558 case CODEC_ID_MPEG1VIDEO: | 557 case CODEC_ID_MPEG1VIDEO: |
559 s->out_format = FMT_MPEG1; | 558 s->out_format = FMT_MPEG1; |
560 avctx->delay=0; //FIXME not sure, should check the spec | 559 s->low_delay= 0; //s->max_b_frames ? 0 : 1; |
560 avctx->delay= s->low_delay ? 0 : (s->max_b_frames + 1); | |
561 break; | 561 break; |
562 case CODEC_ID_MJPEG: | 562 case CODEC_ID_MJPEG: |
563 s->out_format = FMT_MJPEG; | 563 s->out_format = FMT_MJPEG; |
564 s->intra_only = 1; /* force intra only for jpeg */ | 564 s->intra_only = 1; /* force intra only for jpeg */ |
565 s->mjpeg_write_tables = 1; /* write all tables */ | 565 s->mjpeg_write_tables = 1; /* write all tables */ |