X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=avi2swf%2Favi2swf.cc;h=8662605511988f95415a853c3034069b08c0b245;hb=d825be45f3d21da75630c9fbaa80f07da0a060c2;hp=e980747601703928734dd3a5f5ffb14d1e0f8b8c;hpb=fc408e5f0214a25910220fc798412a344ec7c5e1;p=swftools.git diff --git a/avi2swf/avi2swf.cc b/avi2swf/avi2swf.cc index e980747..8662605 100644 --- a/avi2swf/avi2swf.cc +++ b/avi2swf/avi2swf.cc @@ -48,6 +48,7 @@ static int skip = 0; static float audio_adjust = 0; static int mp3_bitrate = 32; static int samplerate = 11025; +static int numframes = 0; static struct options_t options[] = { {"h", "help"}, @@ -57,6 +58,7 @@ static struct options_t options[] = { {"m", "mp3-bitrate"}, {"r", "mp3-samplerate"}, {"d", "scale"}, +{"k", "keyframe"}, {"p", "flip"}, {"q", "quality"}, {"x", "extragood"}, @@ -75,6 +77,10 @@ int args_callback_option(char*name,char*val) outputfilename = val; return 1; } + else if(!strcmp(name, "n")) { + numframes = atoi(val); + return 1; + } else if(!strcmp(name, "q")) { quality = atoi(val); if(quality<0) @@ -87,6 +93,10 @@ int args_callback_option(char*name,char*val) flip = 1; return 0; } + else if(!strcmp(name, "k")) { + keyframe_interval = atoi(val); + return 1; + } else if(!strcmp(name, "A")) { audio_adjust = atof(val); return 1; @@ -220,7 +230,7 @@ int main (int argc,char ** argv) } if(keyframe_interval<0) { if(flashversion>=6) - keyframe_interval=200; + keyframe_interval=20; else keyframe_interval=5; } @@ -253,6 +263,8 @@ int main (int argc,char ** argv) ret = v2swf_init(&v2swf, &video); if(verbose) v2swf_setparameter(&v2swf, "verbose", "1"); + if(numframes) + v2swf_setparameter(&v2swf, "numframes", itoa(numframes)); v2swf_setparameter(&v2swf, "quality", itoa(quality)); v2swf_setparameter(&v2swf, "blockdiff", "0"); v2swf_setparameter(&v2swf, "blockdiff_mode", "exact");