Mercurial > libavcodec.hg
comparison mpegvideo.c @ 336:c56b45669214 libavcodec
export delay info
fixed low_delay & vo_type on mpeg4 header writer & parser
author | michaelni |
---|---|
date | Mon, 22 Apr 2002 19:04:28 +0000 |
parents | 8aa87f1dfc52 |
children | b743a6bbab25 |
comparison
equal
deleted
inserted
replaced
335:e7e9d9901523 | 336:c56b45669214 |
---|---|
407 s->fixed_qscale = (avctx->flags & CODEC_FLAG_QSCALE); | 407 s->fixed_qscale = (avctx->flags & CODEC_FLAG_QSCALE); |
408 | 408 |
409 switch(avctx->codec->id) { | 409 switch(avctx->codec->id) { |
410 case CODEC_ID_MPEG1VIDEO: | 410 case CODEC_ID_MPEG1VIDEO: |
411 s->out_format = FMT_MPEG1; | 411 s->out_format = FMT_MPEG1; |
412 avctx->delay=0; //FIXME not sure, should check the spec | |
412 break; | 413 break; |
413 case CODEC_ID_MJPEG: | 414 case CODEC_ID_MJPEG: |
414 s->out_format = FMT_MJPEG; | 415 s->out_format = FMT_MJPEG; |
415 s->intra_only = 1; /* force intra only for jpeg */ | 416 s->intra_only = 1; /* force intra only for jpeg */ |
416 s->mjpeg_write_tables = 1; /* write all tables */ | 417 s->mjpeg_write_tables = 1; /* write all tables */ |
420 s->mjpeg_hsample[0] = 2; | 421 s->mjpeg_hsample[0] = 2; |
421 s->mjpeg_hsample[1] = 1; | 422 s->mjpeg_hsample[1] = 1; |
422 s->mjpeg_hsample[2] = 1; | 423 s->mjpeg_hsample[2] = 1; |
423 if (mjpeg_init(s) < 0) | 424 if (mjpeg_init(s) < 0) |
424 return -1; | 425 return -1; |
426 avctx->delay=0; | |
425 break; | 427 break; |
426 case CODEC_ID_H263: | 428 case CODEC_ID_H263: |
427 if (h263_get_picture_format(s->width, s->height) == 7) { | 429 if (h263_get_picture_format(s->width, s->height) == 7) { |
428 printf("Input picture size isn't suitable for h263 codec! try h263+\n"); | 430 printf("Input picture size isn't suitable for h263 codec! try h263+\n"); |
429 return -1; | 431 return -1; |
430 } | 432 } |
431 s->out_format = FMT_H263; | 433 s->out_format = FMT_H263; |
434 avctx->delay=0; | |
432 break; | 435 break; |
433 case CODEC_ID_H263P: | 436 case CODEC_ID_H263P: |
434 s->out_format = FMT_H263; | 437 s->out_format = FMT_H263; |
435 s->rtp_mode = 1; | 438 s->rtp_mode = 1; |
436 s->rtp_payload_size = 1200; | 439 s->rtp_payload_size = 1200; |
438 s->unrestricted_mv = 1; | 441 s->unrestricted_mv = 1; |
439 | 442 |
440 /* These are just to be sure */ | 443 /* These are just to be sure */ |
441 s->umvplus = 0; | 444 s->umvplus = 0; |
442 s->umvplus_dec = 0; | 445 s->umvplus_dec = 0; |
446 avctx->delay=0; | |
443 break; | 447 break; |
444 case CODEC_ID_RV10: | 448 case CODEC_ID_RV10: |
445 s->out_format = FMT_H263; | 449 s->out_format = FMT_H263; |
446 s->h263_rv10 = 1; | 450 s->h263_rv10 = 1; |
451 avctx->delay=0; | |
447 break; | 452 break; |
448 case CODEC_ID_MPEG4: | 453 case CODEC_ID_MPEG4: |
449 s->out_format = FMT_H263; | 454 s->out_format = FMT_H263; |
450 s->h263_pred = 1; | 455 s->h263_pred = 1; |
451 s->unrestricted_mv = 1; | 456 s->unrestricted_mv = 1; |
452 s->has_b_frames= s->max_b_frames ? 1 : 0; | 457 s->has_b_frames= s->max_b_frames ? 1 : 0; |
458 s->low_delay=0; | |
459 avctx->delay= s->low_delay ? 0 : (s->max_b_frames + 1); | |
453 break; | 460 break; |
454 case CODEC_ID_MSMPEG4V1: | 461 case CODEC_ID_MSMPEG4V1: |
455 s->out_format = FMT_H263; | 462 s->out_format = FMT_H263; |
456 s->h263_msmpeg4 = 1; | 463 s->h263_msmpeg4 = 1; |
457 s->h263_pred = 1; | 464 s->h263_pred = 1; |
458 s->unrestricted_mv = 1; | 465 s->unrestricted_mv = 1; |
459 s->msmpeg4_version= 1; | 466 s->msmpeg4_version= 1; |
467 avctx->delay=0; | |
460 break; | 468 break; |
461 case CODEC_ID_MSMPEG4V2: | 469 case CODEC_ID_MSMPEG4V2: |
462 s->out_format = FMT_H263; | 470 s->out_format = FMT_H263; |
463 s->h263_msmpeg4 = 1; | 471 s->h263_msmpeg4 = 1; |
464 s->h263_pred = 1; | 472 s->h263_pred = 1; |
465 s->unrestricted_mv = 1; | 473 s->unrestricted_mv = 1; |
466 s->msmpeg4_version= 2; | 474 s->msmpeg4_version= 2; |
475 avctx->delay=0; | |
467 break; | 476 break; |
468 case CODEC_ID_MSMPEG4V3: | 477 case CODEC_ID_MSMPEG4V3: |
469 s->out_format = FMT_H263; | 478 s->out_format = FMT_H263; |
470 s->h263_msmpeg4 = 1; | 479 s->h263_msmpeg4 = 1; |
471 s->h263_pred = 1; | 480 s->h263_pred = 1; |
472 s->unrestricted_mv = 1; | 481 s->unrestricted_mv = 1; |
473 s->msmpeg4_version= 3; | 482 s->msmpeg4_version= 3; |
483 avctx->delay=0; | |
474 break; | 484 break; |
475 default: | 485 default: |
476 return -1; | 486 return -1; |
477 } | 487 } |
478 | 488 |