comparison mpegvideo.c @ 2552:9a7770ebed14 libavcodec

AVOption removial patch from (James A. Morrison >ja2morri csclub.uwaterloo ca>) with minor changes from me
author michael
date Sun, 06 Mar 2005 23:20:53 +0000
parents 14fef0f3f532
children 682c57163e60
comparison
equal deleted inserted replaced
2551:615995277bc5 2552:9a7770ebed14
6397 block[i] = level; 6397 block[i] = level;
6398 } 6398 }
6399 } 6399 }
6400 } 6400 }
6401 6401
6402 static const AVOption mpeg4_options[] =
6403 {
6404 AVOPTION_CODEC_INT("bitrate", "desired video bitrate", bit_rate, 4, 240000000, 800000),
6405 AVOPTION_CODEC_INT("ratetol", "number of bits the bitstream is allowed to diverge from the reference"
6406 "the reference can be CBR (for CBR pass1) or VBR (for pass2)",
6407 bit_rate_tolerance, 4, 240000000, 8000),
6408 AVOPTION_CODEC_INT("qmin", "minimum quantizer", qmin, 1, 31, 2),
6409 AVOPTION_CODEC_INT("qmax", "maximum quantizer", qmax, 1, 31, 31),
6410 AVOPTION_CODEC_STRING("rc_eq", "rate control equation",
6411 rc_eq, "tex^qComp,option1,options2", 0),
6412 AVOPTION_CODEC_INT("rc_minrate", "rate control minimum bitrate",
6413 rc_min_rate, 4, 24000000, 0),
6414 AVOPTION_CODEC_INT("rc_maxrate", "rate control maximum bitrate",
6415 rc_max_rate, 4, 24000000, 0),
6416 AVOPTION_CODEC_DOUBLE("rc_buf_aggresivity", "rate control buffer aggresivity",
6417 rc_buffer_aggressivity, 4, 24000000, 0),
6418 AVOPTION_CODEC_DOUBLE("rc_initial_cplx", "initial complexity for pass1 ratecontrol",
6419 rc_initial_cplx, 0., 9999999., 0),
6420 AVOPTION_CODEC_DOUBLE("i_quant_factor", "qscale factor between p and i frames",
6421 i_quant_factor, 0., 0., 0),
6422 AVOPTION_CODEC_DOUBLE("i_quant_offset", "qscale offset between p and i frames",
6423 i_quant_factor, -999999., 999999., 0),
6424 AVOPTION_CODEC_INT("dct_algo", "dct alghorithm",
6425 dct_algo, 0, 5, 0), // fixme - "Auto,FastInt,Int,MMX,MLib,Altivec"
6426 AVOPTION_CODEC_DOUBLE("lumi_masking", "luminance masking",
6427 lumi_masking, 0., 999999., 0),
6428 AVOPTION_CODEC_DOUBLE("temporal_cplx_masking", "temporary complexity masking",
6429 temporal_cplx_masking, 0., 999999., 0),
6430 AVOPTION_CODEC_DOUBLE("spatial_cplx_masking", "spatial complexity masking",
6431 spatial_cplx_masking, 0., 999999., 0),
6432 AVOPTION_CODEC_DOUBLE("p_masking", "p block masking",
6433 p_masking, 0., 999999., 0),
6434 AVOPTION_CODEC_DOUBLE("dark_masking", "darkness masking",
6435 dark_masking, 0., 999999., 0),
6436 AVOPTION_CODEC_INT("idct_algo", "idct alghorithm",
6437 idct_algo, 0, 8, 0), // fixme - "Auto,Int,Simple,SimpleMMX,LibMPEG2MMX,PS2,MLib,ARM,Altivec"
6438
6439 AVOPTION_CODEC_INT("mb_qmin", "minimum MB quantizer",
6440 mb_qmin, 0, 8, 0),
6441 AVOPTION_CODEC_INT("mb_qmax", "maximum MB quantizer",
6442 mb_qmin, 0, 8, 0),
6443
6444 AVOPTION_CODEC_INT("me_cmp", "ME compare function",
6445 me_cmp, 0, 24000000, 0),
6446 AVOPTION_CODEC_INT("me_sub_cmp", "subpixel ME compare function",
6447 me_sub_cmp, 0, 24000000, 0),
6448
6449
6450 AVOPTION_CODEC_INT("dia_size", "ME diamond size & shape",
6451 dia_size, 0, 24000000, 0),
6452 AVOPTION_CODEC_INT("last_predictor_count", "amount of previous MV predictors",
6453 last_predictor_count, 0, 24000000, 0),
6454
6455 AVOPTION_CODEC_INT("pre_me", "pre pass for ME",
6456 pre_me, 0, 24000000, 0),
6457 AVOPTION_CODEC_INT("me_pre_cmp", "ME pre pass compare function",
6458 me_pre_cmp, 0, 24000000, 0),
6459
6460 AVOPTION_CODEC_INT("me_range", "maximum ME search range",
6461 me_range, 0, 24000000, 0),
6462 AVOPTION_CODEC_INT("pre_dia_size", "ME pre pass diamod size & shape",
6463 pre_dia_size, 0, 24000000, 0),
6464 AVOPTION_CODEC_INT("me_subpel_quality", "subpel ME quality",
6465 me_subpel_quality, 0, 24000000, 0),
6466 AVOPTION_CODEC_INT("me_range", "maximum ME search range",
6467 me_range, 0, 24000000, 0),
6468 AVOPTION_CODEC_FLAG("psnr", "calculate PSNR of compressed frames",
6469 flags, CODEC_FLAG_PSNR, 0),
6470 AVOPTION_CODEC_RCOVERRIDE("rc_override", "ratecontrol override (=startframe,endframe,qscale,quality_factor)",
6471 rc_override),
6472 AVOPTION_SUB(avoptions_common),
6473 AVOPTION_END()
6474 };
6475
6476 #ifdef CONFIG_ENCODERS 6402 #ifdef CONFIG_ENCODERS
6477 AVCodec h263_encoder = { 6403 AVCodec h263_encoder = {
6478 "h263", 6404 "h263",
6479 CODEC_TYPE_VIDEO, 6405 CODEC_TYPE_VIDEO,
6480 CODEC_ID_H263, 6406 CODEC_ID_H263,
6536 sizeof(MpegEncContext), 6462 sizeof(MpegEncContext),
6537 MPV_encode_init, 6463 MPV_encode_init,
6538 MPV_encode_picture, 6464 MPV_encode_picture,
6539 MPV_encode_end, 6465 MPV_encode_end,
6540 .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, -1}, 6466 .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, -1},
6541 .options = mpeg4_options,
6542 .capabilities= CODEC_CAP_DELAY, 6467 .capabilities= CODEC_CAP_DELAY,
6543 }; 6468 };
6544 6469
6545 AVCodec msmpeg4v1_encoder = { 6470 AVCodec msmpeg4v1_encoder = {
6546 "msmpeg4v1", 6471 "msmpeg4v1",
6549 sizeof(MpegEncContext), 6474 sizeof(MpegEncContext),
6550 MPV_encode_init, 6475 MPV_encode_init,
6551 MPV_encode_picture, 6476 MPV_encode_picture,
6552 MPV_encode_end, 6477 MPV_encode_end,
6553 .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, -1}, 6478 .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, -1},
6554 .options = mpeg4_options,
6555 }; 6479 };
6556 6480
6557 AVCodec msmpeg4v2_encoder = { 6481 AVCodec msmpeg4v2_encoder = {
6558 "msmpeg4v2", 6482 "msmpeg4v2",
6559 CODEC_TYPE_VIDEO, 6483 CODEC_TYPE_VIDEO,
6561 sizeof(MpegEncContext), 6485 sizeof(MpegEncContext),
6562 MPV_encode_init, 6486 MPV_encode_init,
6563 MPV_encode_picture, 6487 MPV_encode_picture,
6564 MPV_encode_end, 6488 MPV_encode_end,
6565 .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, -1}, 6489 .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, -1},
6566 .options = mpeg4_options,
6567 }; 6490 };
6568 6491
6569 AVCodec msmpeg4v3_encoder = { 6492 AVCodec msmpeg4v3_encoder = {
6570 "msmpeg4", 6493 "msmpeg4",
6571 CODEC_TYPE_VIDEO, 6494 CODEC_TYPE_VIDEO,
6573 sizeof(MpegEncContext), 6496 sizeof(MpegEncContext),
6574 MPV_encode_init, 6497 MPV_encode_init,
6575 MPV_encode_picture, 6498 MPV_encode_picture,
6576 MPV_encode_end, 6499 MPV_encode_end,
6577 .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, -1}, 6500 .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, -1},
6578 .options = mpeg4_options,
6579 }; 6501 };
6580 6502
6581 AVCodec wmv1_encoder = { 6503 AVCodec wmv1_encoder = {
6582 "wmv1", 6504 "wmv1",
6583 CODEC_TYPE_VIDEO, 6505 CODEC_TYPE_VIDEO,
6585 sizeof(MpegEncContext), 6507 sizeof(MpegEncContext),
6586 MPV_encode_init, 6508 MPV_encode_init,
6587 MPV_encode_picture, 6509 MPV_encode_picture,
6588 MPV_encode_end, 6510 MPV_encode_end,
6589 .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, -1}, 6511 .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, -1},
6590 .options = mpeg4_options,
6591 }; 6512 };
6592 6513
6593 AVCodec mjpeg_encoder = { 6514 AVCodec mjpeg_encoder = {
6594 "mjpeg", 6515 "mjpeg",
6595 CODEC_TYPE_VIDEO, 6516 CODEC_TYPE_VIDEO,