Mercurial > libavcodec.hg
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, |