春山眉黛~xvid参数帮助信息文档

/* aspect ratios *///像素幅值比:表示屏幕上一个像素点的宽度和高度的比值
//Pixel Aspect Ratio
#define XVID_PAR_11_VGA    1 /* 1:1 vga (square), default if supplied PAR is not a valid value */
#define XVID_PAR_43_PAL    2 /* 4:3 pal (12:11 625-line) */
#define XVID_PAR_43_NTSC   3 /* 4:3 ntsc (10:11 525-line) */
#define XVID_PAR_169_PAL   4 /* 16:9 pal (16:11 625-line) */
#define XVID_PAR_169_NTSC  5 /* 16:9 ntsc (40:33 525-line) */
#define XVID_PAR_EXT      15 /* extended par; use par_width, par_height */
//视频应用中常见的像素幅值比有两种:4:3,16:9,后者更具有剧场效果。
/*
PAL和NTSC是两种电视标准,这两种电视标准是隔行扫描时代的产物
PAL规定的场率是50场/秒(25帧/秒)扫描线行数是525行
NTSC规定的场率是60场/秒(30帧/秒)扫描线行数是625行
*/
/* frame type flags  帧类型*/
#define XVID_TYPE_VOL     -1 /* decoder only: vol was decoded */
#define XVID_TYPE_NOTHING  0 /* decoder only (encoder stats): nothing was decoded/encoded */
#define XVID_TYPE_AUTO     0 /* encoder: automatically determine coding type */
#define XVID_TYPE_IVOP     1 /* intra frame */
#define XVID_TYPE_PVOP     2 /* predicted frame */
#define XVID_TYPE_BVOP     3 /* bidirectionally encoded */
#define XVID_TYPE_SVOP     4 /* predicted+sprite frame */




/*****************************************************************************
 * xvid_global() 全局初始化,获取xvid和硬件信息功能,全局信息,色场空间转换
 ****************************************************************************/

fprintf(stderr, "xvid_encraw built at %s on %s\n", __TIME__, __DATE__);

fprintf(stderr, "Usage : xvid_encraw [OPTIONS]\n\n");
fprintf(stderr, "Input options:\n");

fprintf(stderr, " -i      string  : input filename (stdin)\n");  //输入文件名称

#ifdef XVID_AVI_INPUT
fprintf(stderr, " -type   integer : input data type (yuv=0, pgm=1, avi/avs=2) ("); //如果定义了XVID_AVI_INPUT
#else
fprintf(stderr, " -type   integer : input data type (yuv=0, pgm=1) (");//否则输入数据类型为这种

#endif

fprintf(stderr, "%d)\n", ARG_INPUTTYPE);//打印输入文件类型参数


fprintf(stderr, " -w      integer : frame width ([1.%d])\n", MAX_XDIM);

fprintf(stderr, " -h      integer : frame height ([1.%d])\n", MAX_YDIM);//图像的宽和高最大值,如果不设定会有默认值


fprintf(stderr, " -csp    string  : colorspace of raw input file i420%s, yv12%s\n", (ARG_COLORSPACE == XVID_CSP_I420)?" (default)":"", (ARG_COLORSPACE == XVID_CSP_YV12)?" (default)":"");

//图像色场空间选择,常用XVID_CSP_I420、XVID_CSP_YV12

fprintf(stderr, " -frames integer : number of frames to encode (");
if (ARG_MAXFRAMENR==-1)
fprintf(stderr, "all)");
else
fprintf(stderr, "%d)", ARG_MAXFRAMENR);

fprintf(stderr, "\n\n");

//需要编码的帧数,默认为-1 编码所有帧,可以指定

fprintf(stderr, "Output options:\n");
fprintf(stderr, " -dump           : save decoder output\n");
fprintf(stderr, " -save           : save an Elementary Stream file per frame\n");

fprintf(stderr, " -o      string  : save an Elementary Stream for the complete sequence\n");

//输出选项,保存编码输出,每一帧都保存元素文件 -o指定保存的完整序列的数据流文件

#ifdef XVID_AVI_OUTPUT
fprintf(stderr, " -avi    string  : save an AVI file for the complete sequence\n");
#endif
#ifdef XVID_MKV_OUTPUT
fprintf(stderr, " -mkv    string  : save a MKV file for the complete sequence\n");

#endif

fprintf(stderr, "\n");

//为输出的文件保存一个AVI格式,MKV格式的文件


fprintf(stderr, "Rate control options:\n");//码率控制选项
fprintf(stderr, " -framerate        float      : target framerate (auto)\n");  //目标帧率
fprintf(stderr, " -bitrate          [integer]  : target bitrate in kbps (%d)\n", DEFAULT_BITRATE/1000);//目标比特率,默认的比特率/1000
fprintf(stderr, " -size             integer    : target size in kilobytes\n"); //目标大小

fprintf(stderr," -single                      : single pass mode%s\n", (ARG_SINGLE)?" (default)":""); 

//两种编码模式其中的一种,速度快,但是效果不是最好的

fprintf(stderr, " -cq               float      : single pass constant quantizer\n");

// single pass 模式下的量化参数

fprintf(stderr, " -pass1            [filename] : twopass mode (first pass)\n");

//两种编码模式中的two pass模式,复杂度高,效果好,这个是第一步

fprintf(stderr, " -full1pass                   : perform full quality first pass (disabled)\n");

fprintf(stderr," -pass2            [filename] : twopass mode (2nd pass)\n");

//两种编码模式中的two pass模式,复杂度高,效果好,这个是第二步

fprintf(stderr, " -max_key_interval integer    : maximum keyframe interval (%d)\n", ARG_MAXKEYINTERVAL);

//最大的关键帧间隔

fprintf(stderr, " -zones            [zones]    : use `-help zones' for usage guidelines\n");

//使用帮助区域作为使用指南
fprintf(stderr," -zq     starting_frame float : bitrate zone; quant\n");

//
fprintf(stderr," -zw     starting_frame float : bitrate zone; weight\n");
fprintf(stderr, "\n");
fprintf(stderr, "Single Pass options:\n");
fprintf(stderr, " -reaction         integer    : reaction delay factor (%d)\n", ARG_REACTION);
fprintf(stderr, " -averaging        integer    : averaging period (%d)\n", ARG_AVERAGING);
fprintf(stderr, " -smoother         integer    : smoothing buffer (%d)\n", ARG_SMOOTHER);
fprintf(stderr, "\n");
fprintf(stderr, "Second Pass options:\n");
fprintf(stderr, " -kboost           integer    : I frame boost (%d)\n", ARG_KBOOST);
fprintf(stderr, " -kthresh          integer    : I frame reduction threshold (%d)\n", ARG_KTHRESH);
fprintf(stderr, " -kreduction       integer    : I frame reduction amount (%d)\n", ARG_KREDUCTION);
fprintf(stderr, " -ostrength        integer    : overflow control strength (%d)\n", ARG_OVERSTRENGTH);
fprintf(stderr, " -oimprove         integer    : max overflow improvement (%d)\n", ARG_OVERIMPROVE);
fprintf(stderr, " -odegrade         integer    : max overflow degradation (%d)\n", ARG_OVERDEGRADE);
fprintf(stderr, " -chigh            integer    : high bitrate scenes degradation (%d)\n", ARG_CHIGH);
fprintf(stderr, " -clow             integer    : low bitrate scenes improvement (%d)\n", ARG_CLOW);
fprintf(stderr, " -overhead         integer    : container frame overhead (%d)\n", ARG_OVERHEAD);
fprintf(stderr, " -vbvsize          integer    : use vbv buffer size\n");
fprintf(stderr, " -vbvmax           integer    : vbv max bitrate\n");
fprintf(stderr, " -vbvpeak          integer    : vbv peak bitrate over 1 second\n");
fprintf(stderr, "\n");
fprintf(stderr, "BFrames options:\n");
fprintf(stderr, " -max_bframes      integer    : max bframes (%d)\n", ARG_MAXBFRAMES);
fprintf(stderr," -bquant_ratio     integer    : bframe quantizer ratio (%d)\n", ARG_BQRATIO);
fprintf(stderr," -bquant_offset    integer    : bframe quantizer offset (%d)\n", ARG_BQOFFSET);
fprintf(stderr, "\n");
fprintf(stderr, "Other options\n");
if (ARG_USE_ASSEMBLER)
fprintf(stderr, " -noasm                       : do not use assembly optimized code (use)\n");
else
fprintf(stderr, " -asm                         : use assembly optimized code (don't use)\n");
if (ARG_TURBO)
fprintf(stderr, " -noturbo                     : do not use turbo presets for higher encoding speed (use)\n");
else
fprintf(stderr, " -turbo                       : use turbo presets for higher encoding speed (don't use)\n");
fprintf(stderr, " -quality          integer    : quality ([0..%d]) (%d)\n", ME_ELEMENTS - 1, ARG_QUALITY);
fprintf(stderr, " -vhqmode          integer    : level of R-D optimizations ([0..4]) (%d)\n", ARG_VHQMODE);
if (ARG_BVHQ)
fprintf(stderr, " -nobvhq                      : do not use R-D optimizations for B-frames (use)\n");
else
fprintf(stderr, " -bvhq                        : use R-D optimizations for B-frames (don't use)\n");
fprintf(stderr, " -metric           integer    : distortion metric for R-D opt (PSNR:0, PSNRHVSM:1) (%d)\n", ARG_QMETRIC);
if (ARG_QPEL)
fprintf(stderr, " -noqpel                      : do not use quarter pixel ME (use)\n");
else
fprintf(stderr, " -qpel                        : use quarter pixel ME (don't use)\n");
if (ARG_GMC)
fprintf(stderr, " -nogmc                       : do not use global motion compensation (use)\n");
else
fprintf(stderr, " -gmc                         : use global motion compensation (don't use)\n");
fprintf(stderr, " -qtype            integer    : quantization type (H263:0, MPEG4:1) (%d)\n", ARG_QTYPE);
fprintf(stderr, " -qmatrix          filename   : use custom MPEG4 quantization matrix\n");
fprintf(stderr, " -interlaced       [integer]  : interlaced encoding (BFF:1, TFF:2) (%d)\n", DEFAULT_INTERLACING);
if (ARG_PACKED)
fprintf(stderr, " -nopacked                    : disable packed B-frames mode (enabled)\n");
else
fprintf(stderr, " -packed                      : enable packed B-frames mode (disabled)\n");
if (ARG_CLOSED_GOP)
fprintf(stderr, " -noclosed_gop                : disable closed GOP mode (enabled)\n");
else
fprintf(stderr, " -closed_gop                  : enable closed GOP mode (disabled)\n");
fprintf(stderr, " -masking          [integer]  : HVS masking mode (None:0, Lumi:1, Variance:2) (%d)\n", ARG_LUMIMASKING);
if (ARG_STATS)
fprintf(stderr, " -nostats                     : do not print stats about encoded frames (print)\n");
else
fprintf(stderr, " -stats                       : print stats about encoded frames (don't print)\n");
fprintf(stderr, " -ssim             [integer]  : print ssim for every frame (accurate: 0 fast: 4) (%d)\n", DEFAULT_SSIM);
fprintf(stderr, " -ssim_file        filename   : output the ssim stats into a file\n");
if (ARG_PSNRHVSM)
fprintf(stderr, " -nopsnrhvsm                  : do not print PSNRHVSM metric for every frame (print)\n");
else
fprintf(stderr, " -psnrhvsm                    : print PSNRHVSM metric for every frame (don't print)\n");
fprintf(stderr, " -debug            integer    : activate xvidcore internal debugging output (don't activate)\n");
if (ARG_VOPDEBUG)
fprintf(stderr, " -novop_debug                 : do not print debug info directly into encoded frames (print)\n");
else
fprintf(stderr, " -vop_debug                   : print some info directly into encoded frames (don't print)\n");
if (ARG_CHROMAME)
fprintf(stderr, " -nochromame                  : disable chroma motion estimation (enabled)\n");
else
fprintf(stderr, " -chromame                    : enable chroma motion estimation (disabled)\n");
if (ARG_TRELLIS)
fprintf(stderr, " -notrellis                   : disable trellis quantization (enabled)\n");
else
fprintf(stderr, " -trellis                     : enable trellis quantization (disabled)\n");
fprintf(stderr, " -imin             integer    : minimum I Quantizer (1..31) (%d)\n", ARG_QUANTS[0]);
fprintf(stderr, " -imax             integer    : maximum I quantizer (1..31) (%d)\n", ARG_QUANTS[1]);
fprintf(stderr, " -bmin             integer    : minimum B Quantizer (1..31) (%d)\n", ARG_QUANTS[4]);
fprintf(stderr, " -bmax             integer    : maximum B quantizer (1..31) (%d)\n", ARG_QUANTS[5]);
fprintf(stderr, " -pmin             integer    : minimum P Quantizer (1..31) (%d)\n", ARG_QUANTS[2]);
fprintf(stderr, " -pmax             integer    : maximum P quantizer (1..31) (%d)\n", ARG_QUANTS[3]);
fprintf(stderr, " -drop             integer    : frame Drop Ratio (0..100) (%d)\n", ARG_FRAMEDROP);
fprintf(stderr, " -start            integer    : starting frame number (%d)\n", ARG_STARTFRAMENR);
fprintf(stderr, " -threads          integer    : number of threads (auto)\n");
fprintf(stderr, " -slices           integer    : number of slices (%d)\n", ARG_SLICES);
fprintf(stderr, " -progress         [integer]  : show progress updates every n frames (%d)\n", DEFAULT_PROGRESS);
fprintf(stderr, " -par       integer[:integer] : set Pixel Aspect Ratio (%d)\n", ARG_PAR);
fprintf(stderr, "                                1 = 1:1\n");
fprintf(stderr, "                                2 = 12:11 (4:3 PAL)\n");
fprintf(stderr, "                                3 = 10:11 (4:3 NTSC)\n");
fprintf(stderr, "                                4 = 16:11 (16:9 PAL)\n");
fprintf(stderr, "                                5 = 40:33 (16:9 NTSC)\n");
fprintf(stderr, "                            other = custom (width:height)\n");
fprintf(stderr, " -help                        : print this help message\n");
fprintf(stderr, "\n");
fprintf(stderr, "NB: You can define up to %d zones via both the -zones and the -z[qw] options as needed.\n", MAX_ZONES);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值