Page 1 of 1

xvid_encraw support

Posted: Wed Jun 20, 2007 6:46 am
by MuLTiTaSK
XviD cli encoder

development discussion
http://forum.doom9.org/showthread.php?t=98469&page=10

source code
http://members.optusnet.com.au/squid_80 ... aw_src.zip

binary download
http://members.optusnet.com.au/squid_80/xvid_encraw.zip

place xvidcore.dll from celtic_druid XviD compile in same folder as xvid_encraw.exe to use
http://tirnanog.fate.jp/mirror/XviD/xvi ... 7.03.10.7z

Code: Select all

Usage : xvid_encraw [OPTIONS]

Input options:
 -i      string                 : input filename (stdin)
 -type   integer                : input data type (yuv=0, pgm=1, avi/avs=2)
 -w      integer                : frame width ([1.2048])
 -h      integer                : frame height ([1.2048])
 -frames integer                : number of frames to encode

Output options:
 -dump                          : save decoder output
 -save                          : save an Elementary Stream file per frame
 -o string                      : save an Elementary Stream,
                                  or AVI file,
                                  or MKV file,
                                  based on filename extension
 -avi string                    : save an AVI file for the complete sequence
 -mkv string                    : save a MKV file for the complete sequence

BFrames options:
 -max_bframes   integer         : max bframes (2)
 -bquant_ratio  integer         : bframe quantizer ratio (150)
 -bquant_offset integer         : bframe quantizer offset (100)

Rate control options:
 -framerate float               : target framerate (25.0)
 -bitrate   [integer]           : target bitrate in kbps (700)
 -size      integer             : target size in kilobytes
 -single                        : single pass mode (default)
 -cq        float               : single pass constant quantizer
 -pass1     [filename]          : twopass mode (first pass)
 -full1pass                     : perform full first pass
 -pass2     [filename]          : twopass mode (2nd pass)
 -altpass2  [filename]          : twopass mode (2nd pass alt)
 -zq starting_frame float       : bitrate zone; quant
 -zw starting_frame float       : bitrate zone; weight
 -zones                         : see xvid_encraw -help zones
 -max_key_interval integer      : maximum keyframe interval (300)

Single Pass options:
 -reaction   integer            : reaction delay factor (16)
 -averaging  integer            : averaging period (100)
 -smoother   integer            : smoothing buffer (100)

Second Pass options:
 -kboost     integer            : I frame boost (10)
 -kthresh    integer            : I frame reduction threshold (1)
 -kreduction integer            : I frame reduction amount (20)
 -ostrength  integer            : overflow control strength (5)
 -oimprove   integer            : max overflow improvement (5)
 -odegrade   integer            : max overflow degradation (5)
 -chigh      integer            : high bitrate scenes degradation (0)
 -clow       integer            : low bitrate scenes improvement (0)
 -overhead   integer            : container frame overhead (24)
 -vbvsize    integer            : use vbv buffer size
 -vbvmax     integer            : vbv max bitrate
 -vbvpeak    integer            : vbv peak bitrate over 1 second

Other options
 -noasm                         : do not use assembly optmized code
 -turbo                         : use turbo presets for higher encoding speed
 -quality integer               : quality ([0..6]) (6)
 -vhqmode integer               : level of R-D optimizations ([0..4]) (1)
 -bvhq                          : use R-D optimizations for B-frames
 -qpel                          : use quarter pixel ME
 -gmc                           : use global motion compensation
 -qtype   integer               : quantization type (H263:0, MPEG4:1) (0)
 -qmatrix filename              : use custom MPEG4 quantization matrix
 -interlaced [integer]          : interlaced encoding (BFF:1, TFF:2) (1)
 -nopacked                      : Disable packed mode
 -noclosed_gop                  : Disable closed GOP mode
 -lumimasking                   : use lumimasking algorithm
 -hvs_aq string                 : use custom adaptive quantisation equation
 -hvs_lmb string                : use custom lambda equation
 -stats                         : print stats about encoded frames
 -ssim [integer]                : prints ssim for each frame ([0..4]) (2)
 -ssim_file filename            : outputs the ssim stats into a file
 -debug                         : activates xvidcore internal debugging output
 -vop_debug                     : print some info directly into encoded frames
 -nochromame                    : Disable chroma motion estimation
 -notrellis                     : Disable trellis quantization
 -imin    integer               : Minimum I Quantizer (1..31) (2)
 -imax    integer               : Maximum I quantizer (1..31) (31)
 -bmin    integer               : Minimum B Quantizer (1..31) (2)
 -bmax    integer               : Maximum B quantizer (1..31) (31)
 -pmin    integer               : Minimum P Quantizer (1..31) (2)
 -pmax    integer               : Maximum P quantizer (1..31) (31)
 -drop    integer               : Frame Drop Ratio (0..100) (0)
 -start   integer               : Starting frame number
 -threads integer               : Number of threads
 -progress [integer]            : Show progress updates every n frames (10)
 -par     integer[:integer]     : Set Pixel Aspect Ratio.
                                  1 = 1:1
                                  2 = 12:11 (4:3 PAL)
                                  3 = 10:11 (4:3 NTSC)
                                  4 = 16:11 (16:9 PAL)
                                  5 = 40:33 (16:9 NTSC)
                              other = custom (width:height)

Zones options:
 You can define up to 64 zones using the -zones option as described below.

 -zones start,mode,value[,options][/start,mode,value[,options]]...

 Parameters of a zones use the comma (,) as a delimiter. Multiple zones are
 separated by a slash (/). The end of each zone is defined by either the start
 of the following zone or the last frame of the input file.

 start     : Start frame of the zone
 mode      : weight zone = w, quanttizer zone = q
 value     : Depending on mode either the zone's weight or quantizer.
 options   : Enables certain encoder features for the zone. Each feature is
             represented by a single letter. An integer number stands for
             b-frame sensitivity. To enable multiple features at the same time
             combine the appropriate symbols without any delimiting characters.
             K = being with keyframe
             O = Enable chroma optimizer
             G = Greyscale encoding
             C = Cartoon mode
       integer = B-Frame sensitivity

 Example:
  To create a first zone starting at frame 0 with weight 1.0, all options
  enabled and b-frame sensitivity -5, and a second zone starting at frame 1000
  with constant quant 4 and no options enabled you would use the -zones option
  like this:

  -zones 0,w,1.0,-5KOGC/1000,q,4

Posted: Wed Jun 20, 2007 7:08 am
by B!ink
xvidcore.dll is already included in MediaCoder and used by default as the backend. Why do you want a CLI?

Posted: Wed Jun 20, 2007 7:30 am
by MuLTiTaSK
BlinkN wrote:xvidcore.dll is already included in MediaCoder and used by default as the backend. Why do you want a CLI?
xvid_encraw.exe would only have to be put in the codecs folder just like mencoder.exe to be used

it also would give MediaCoder another backend to use for xvid encoding

more choices brings more users :D

xvid_encraw is also pretty accurate with outputting the bitrate and size you ask for

Posted: Wed Jun 20, 2007 8:06 am
by B!ink
I see. It's up to stanely if he wants this added.

:)

Posted: Sat Jun 23, 2007 5:32 am
by MuLTiTaSK
first post updated with source code link :)