aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZdenek Kabelac <kabi@informatics.muni.cz>2003-03-12 19:49:58 +0000
committerZdenek Kabelac <kabi@informatics.muni.cz>2003-03-12 19:49:58 +0000
commit5d4ce4574b36cd9a6b32de8773c9451627b37d04 (patch)
tree91985209da90f869ad8565038419a9751fa1f1a6
parent59e0ac8ea5c73d8bc55e17e046de3510da916242 (diff)
downloadffmpeg-5d4ce4574b36cd9a6b32de8773c9451627b37d04.tar.gz
* added more options
Originally committed as revision 1675 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/common.h2
-rw-r--r--libavcodec/huffyuv.c7
-rw-r--r--libavcodec/mpegvideo.c56
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