diff options
author | Zdenek Kabelac <kabi@informatics.muni.cz> | 2003-03-12 19:49:58 +0000 |
---|---|---|
committer | Zdenek Kabelac <kabi@informatics.muni.cz> | 2003-03-12 19:49:58 +0000 |
commit | 5d4ce4574b36cd9a6b32de8773c9451627b37d04 (patch) | |
tree | 91985209da90f869ad8565038419a9751fa1f1a6 | |
parent | 59e0ac8ea5c73d8bc55e17e046de3510da916242 (diff) | |
download | ffmpeg-5d4ce4574b36cd9a6b32de8773c9451627b37d04.tar.gz |
* added more options
Originally committed as revision 1675 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/common.h | 2 | ||||
-rw-r--r-- | libavcodec/huffyuv.c | 7 | ||||
-rw-r--r-- | libavcodec/mpegvideo.c | 56 |
3 files changed, 65 insertions, 0 deletions
diff --git a/libavcodec/common.h b/libavcodec/common.h index b456af0f1b..b2bcc953e8 100644 --- a/libavcodec/common.h +++ b/libavcodec/common.h @@ -46,6 +46,8 @@ #define AVOPTION_CODEC_BOOL(name, help, field) \ { name, help, offsetof(AVCodecContext, field), FF_OPT_TYPE_BOOL } +#define AVOPTION_CODEC_DOUBLE(name, help, field, minv, maxv, defval) \ + { name, help, offsetof(AVCodecContext, field), FF_OPT_TYPE_DOUBLE, minv, maxv, defval } #define AVOPTION_CODEC_FLAG(name, help, field, flag, defval) \ { name, help, offsetof(AVCodecContext, field), FF_OPT_TYPE_FLAG, flag, 0, defval } #define AVOPTION_CODEC_INT(name, help, field, minv, maxv, defval) \ diff --git a/libavcodec/huffyuv.c b/libavcodec/huffyuv.c index 7823f0bf1c..ecf22bb2c6 100644 --- a/libavcodec/huffyuv.c +++ b/libavcodec/huffyuv.c @@ -1132,6 +1132,12 @@ static int encode_end(AVCodecContext *avctx) return 0; } +static const AVOption huffyuv_options[] = +{ + AVOPTION_CODEC_INT("prediction_method", "prediction_method", prediction_method, 0, 2, 0), + AVOPTION_END() +}; + AVCodec huffyuv_decoder = { "huffyuv", CODEC_TYPE_VIDEO, @@ -1153,4 +1159,5 @@ AVCodec huffyuv_encoder = { encode_init, encode_frame, encode_end, + .options = huffyuv_options, }; diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index df1c15880f..ca0169509f 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -3920,6 +3920,58 @@ static const AVOption mpeg4_options[] = rc_min_rate, 4, 24000000, 0), AVOPTION_CODEC_INT("rc_maxrate", "rate control maximum bitrate", rc_max_rate, 4, 24000000, 0), + AVOPTION_CODEC_DOUBLE("rc_buf_aggresivity", "rate control buffer aggresivity", + rc_buffer_aggressivity, 4, 24000000, 0), + AVOPTION_CODEC_DOUBLE("rc_initial_cplx", "initial complexity for pass1 ratecontrol", + rc_initial_cplx, 0., 9999999., 0), + AVOPTION_CODEC_DOUBLE("i_quant_factor", "qscale factor between p and i frames", + i_quant_factor, 0., 0., 0), + AVOPTION_CODEC_DOUBLE("i_quant_offset", "qscale offset between p and i frames", + i_quant_factor, -999999., 999999., 0), + AVOPTION_CODEC_INT("dct_algo", "dct alghorithm", + dct_algo, 0, 5, 0), // fixme - "Auto,FastInt,Int,MMX,MLib,Altivec" + AVOPTION_CODEC_DOUBLE("lumi_masking", "luminance masking", + lumi_masking, 0., 999999., 0), + AVOPTION_CODEC_DOUBLE("temporal_cplx_masking", "temporary complexity masking", + temporal_cplx_masking, 0., 999999., 0), + AVOPTION_CODEC_DOUBLE("spatial_cplx_masking", "spatial complexity masking", + spatial_cplx_masking, 0., 999999., 0), + AVOPTION_CODEC_DOUBLE("p_masking", "p block masking", + p_masking, 0., 999999., 0), + AVOPTION_CODEC_DOUBLE("dark_masking", "darkness masking", + dark_masking, 0., 999999., 0), + AVOPTION_CODEC_INT("idct_algo", "idct alghorithm", + idct_algo, 0, 8, 0), // fixme - "Auto,Int,Simple,SimpleMMX,LibMPEG2MMX,PS2,MLib,ARM,Altivec" + + AVOPTION_CODEC_INT("mb_qmin", "minimum MB quantizer", + mb_qmin, 0, 8, 0), + AVOPTION_CODEC_INT("mb_qmax", "maximum MB quantizer", + mb_qmin, 0, 8, 0), + + AVOPTION_CODEC_INT("me_cmp", "ME compare function", + me_cmp, 0, 24000000, 0), + AVOPTION_CODEC_INT("me_sub_cmp", "subpixel ME compare function", + me_sub_cmp, 0, 24000000, 0), + + + AVOPTION_CODEC_INT("dia_size", "ME diamond size & shape", + dia_size, 0, 24000000, 0), + AVOPTION_CODEC_INT("last_predictor_count", "amount of previous MV predictors", + last_predictor_count, 0, 24000000, 0), + + AVOPTION_CODEC_INT("pre_me", "pre pass for ME", + pre_me, 0, 24000000, 0), + AVOPTION_CODEC_INT("me_pre_cmp", "ME pre pass compare function", + me_pre_cmp, 0, 24000000, 0), + + AVOPTION_CODEC_INT("me_range", "maximum ME search range", + me_range, 0, 24000000, 0), + AVOPTION_CODEC_INT("pre_dia_size", "ME pre pass diamod size & shape", + pre_dia_size, 0, 24000000, 0), + AVOPTION_CODEC_INT("me_subpel_quality", "subpel ME quality", + me_subpel_quality, 0, 24000000, 0), + AVOPTION_CODEC_INT("me_range", "maximum ME search range", + me_range, 0, 24000000, 0), AVOPTION_CODEC_FLAG("psnr", "calculate PSNR of compressed frames", flags, CODEC_FLAG_PSNR, 0), AVOPTION_CODEC_RCOVERRIDE("rc_override", "ratecontrol override (=startframe,endframe,qscale,quality_factor)", @@ -3991,6 +4043,7 @@ AVCodec msmpeg4v1_encoder = { MPV_encode_init, MPV_encode_picture, MPV_encode_end, + .options = mpeg4_options, }; AVCodec msmpeg4v2_encoder = { @@ -4001,6 +4054,7 @@ AVCodec msmpeg4v2_encoder = { MPV_encode_init, MPV_encode_picture, MPV_encode_end, + .options = mpeg4_options, }; AVCodec msmpeg4v3_encoder = { @@ -4011,6 +4065,7 @@ AVCodec msmpeg4v3_encoder = { MPV_encode_init, MPV_encode_picture, MPV_encode_end, + .options = mpeg4_options, }; AVCodec wmv1_encoder = { @@ -4021,6 +4076,7 @@ AVCodec wmv1_encoder = { MPV_encode_init, MPV_encode_picture, MPV_encode_end, + .options = mpeg4_options, }; #endif |