QSVEncC (x64) 2.11 by rigaya, build Aug 26 2015 20:34:15
based on Intel(R) Media SDK Encoding Sample 6,0,0,98947
  avi reader:   enabled
  avs reader:   enabled
  vpy reader:   enabled
  avqsv reader: enabled [H.264/AVC, HEVC, MPEG2]

Usage: QSVEncC64 [Options] -i <filename> -o <filename>

input can be avi, avs, vpy, raw YUV or YUV4MPEG2(y4m) format.
when raw(default), fps, input-res are also necessary.

output format will be raw H.264/AVC ES.
when output filename is set to "-", H.264/AVC ES output is thrown to stdout.

Example:
  QSVEncC -i "<avsfilename>" -o "<outfilename>"
  avs2pipemod -y4mp "<avsfile>" | QSVEncC --y4m -i - -o "<outfilename>"

Example for Benchmark:
  QSVEncC -i "<avsfilename>" --benchmark "<benchmark_result.txt>"

Options: 
-h,-? --help                    show help
-v,--version                    show version info

-c,--codec <string>             set encode codec
                                 - h264(default), hevc, mpeg2
-i,--input-file <filename>      set input file name
-o,--output-file <filename>     set ouput file name
                                 for extension mp4/mkv/mov,
                                 avcodec muxer will be used.

 Input formats (will be estimated from extension if not set.)
   --raw                        set input as raw format
   --y4m                        set input as y4m format
   --avi                        set input as avi format
   --avs                        set input as avs format
   --vpy                        set input as vpy format
   --vpy-mt                     set input as vpy format in multi-thread
   --avqsv                      set input to use avcodec + qsv
   --avqsv-analyze <int>        set time in sec which reader analyze input file.
                                 default: 5.
                                 could be only used with avqsv reader.
                                 use if reader fails to detect audio stream.
   --audio-source <string>      input extra audio file
   --audio-file [<int>?][<string>:]<string>
                                extract audio into file.
                                 could be only used with avqsv reader.
                                 below are optional,
                                  in [<int>?], specify track number to extract.
                                  in [<string>?], specify output format.
   --trim <int>:<int>[,<int>:<int>]...
                                trim video for the frame range specified.
                                 frame range should not overwrap each other.
                                 could be only used with avqsv reader.
-f,--format <string>            set output format of output file.
                                 if format is not specified, output format will
                                 be guessed from output file extension.
                                 set "raw" for H.264/ES output.
   --audio-copy [<int>[,...]]   mux audio with video during output.
                                 could be only used with
                                 avqsv reader and avcodec muxer.
                                 by default copies all audio tracks.
                                 "--audio-copy 1,2" will extract
                                 audio track #1 and #2.
   --audio-codec [<int>?]<string>
                                encode audio to specified format.
                                  in [<int>?], specify track number to encode.
   --audio-bitrate [<int>?]<int>
                                set encode bitrate for audio (kbps).
                                  in [<int>?], specify track number to set bitrate.

   --nv12                       set raw input as NV12 color format,
                                if not specified YV12 is expected
   --tff                        set as interlaced, top field first
   --bff                        set as interlaced, bottom field first
   --fps <int>/<int> or <float> video frame rate (frames per second)

   --input-res <int>x<int>      input resolution
   --output-res <int>x<int>     output resolution
                                if different from input, uses vpp resizing
                                if not set, output resolution will be same
                                as input (no resize will be done).
   --crop <int>,<int>,<int>,<int>
                                set crop pixels of left, up, right, bottom.

   --slices <int>               number of slices, default 0 (auto)

   --sw                         use software encoding, instead of QSV (hw)
   --check-hw                   check if QuickSyncVideo is available
   --check-lib                  check lib API version installed
   --check-features [<string>]  check encode/vpp features
                                 with no option value, result will be written to stdout,
                                 otherwise it will be written to file path set,
                                 and afterwards will be opened by default application.
                                 when writing to file, txt/html/csv format is available,
                                 chosen by the extension of the output file.
   --check-environment          check environment info
   --check-codecs               show codecs available
   --check-encoders             show audio encoders available
   --check-decoders             show audio decoders available
   --check-formats              show in/out formats available
   --disable-d3d                disable using d3d surfaces
   --d3d                        use d3d9/d3d11 surfaces
   --d3d9                       use d3d9 surfaces
   --d3d11                      use d3d11 surfaces

 EncMode default: --cqp
   --cqp <int> or               encode in Constant QP, default 24:26:27
         <int>:<int>:<int>      set qp value for i:p:b frame
   --vqp <int> or               encode in Variable QP, default 24:26:27
         <int>:<int>:<int>      set qp value for i:p:b frame
   --la <int>                   set bitrate in Lookahead mode (kbps)
   --la-hrd <int>               set bitrate in HRD-Lookahead mode (kbps)
   --icq <int>                  encode in Intelligent Const. Quality mode
                                  default value: 23
   --la-icq <int>               encode in ICQ mode with Lookahead
                                  default value: 23
   --cbr <int>                  set bitrate in CBR mode (kbps)
   --vbr <int>                  set bitrate in VBR mode (kbps)
   --avbr <int>                 set bitrate in AVBR mode (kbps)
                                 AVBR mode is only supported with API v1.3
   --avbr-unitsize <int>        avbr calculation period in x100 frames
                                 default 90 (= unit size 9000 frames)
   --qvbr <int>                 set bitrate in Quality VBR mode.
   --qvbr-q <int>  or           set quality used in qvbr mode. default: 23
   --qvbr-quality <int>          QVBR mode is only supported with API v1.11
   --vcm <int>                  set bitrate in VCM mode (kbps)

   --la-depth <int>             set Lookahead Depth, 10-100
   --la-window-size <int>       enables Lookahead Windowed Rate Control mode,
                                  and set the window size in frames.
   --fixed-func                 use fixed function instead of GPU EU(default:off)
   --max-bitrate <int>          set max bitrate(kbps)
-u,--quality <string>           encode quality
                                  - best, higher, high, balanced(default)
                                    fast, faster, fastest

   --ref <int>                  reference frames for sw encoding
                                  default 0 (auto)
-b,--bframes <int>              number of sequential b frames
                                  default 3 (auto)

   --gop-len <int>              (max) gop length, default 0 (auto)
                                  when auto, fps x 10 will be set.
   --(no-)open-gop              enables open gop (default:off)
   --strict-gop                 force gop structure
   --(no-)scenechange           enables scene change detection
   --sharpness <int>            [vp8] set sharpness level for vp8 enc

   --level <string>             set codec level, default auto
   --profile <string>           set codec profile, default auto
                                 H.264: Baseline, Main, High
                                 HEVC : Main
                                 MPEG2: Simple, Main, High
   --sar <int>:<int>            set Sample Aspect Ratio
   --dar <int>:<int>            set Display Aspect Ratio
   --bluray                     for H.264 bluray encoding

   --async-depth                set async depth for QSV pipeline. (0-64)
                                 default: 0 (=auto, 4+2*(extra pipeline step))

   --vpp-denoise <int>          use vpp denoise, set strength
   --vpp-detail-enhance <int>   use vpp detail enahancer, set strength
   --vpp-deinterlace <string>   set vpp deinterlace mode
                                enabled only when set --tff or --bff
                                 - none     disable deinterlace
                                 - normal   normal deinterlace
                                 - it       inverse telecine
                                 - bob      double framerate
   --vpp-image-stab <string>    set image stabilizer mode
                                 - none, upscale, box
   --vpp-delogo <string>        set delogo file path
   --vpp-delogo-select <string> set target logo name or auto select file                                 or logo index starting from 1.
   --vpp-delogo-pos <int>:<int> set delogo pos offset
   --vpp-delogo-depth <int>     set delogo depth [default:64]
   --vpp-delogo-y  <int>        set delogo y  param
   --vpp-delogo-cb <int>        set delogo cb param
   --vpp-delogo-cr <int>        set delogo cr param
   --vpp-half-turn              half turn video image
                                 unoptimized and very slow.

   --input-buf <int>            buffer size for input (1-16)
                                 default   hw: 3,  sw: 1
                                 cannot be used with avqsv reader.
   --log <string>               output log to file (txt or html).
   --log-level <string>         set output log level
                                 info(default), warn, error, debug

 settings below are only supported with API v1.3
   --fullrange                  set stream as fullrange yuv
   --videoformat <string>         undef, ntsc, component, pal, secam, mac
                                   default: undef
   --colormatrix <string>         undef, auto, bt709, smpte170m, bt470bg
                                  smpte240m, YCgCo, fcc, GBR
                                   default: undef
   --colorprim <string>           undef, auto, bt709, smpte170m, bt470m
                                  bt470bg, smpte240m, film
                                   default: undef
   --transfer <string>            undef, auto, bt709, smpte170m, bt470m
                                  bt470bg, smpte240m, linear, log100, log316
                                   default: undef

 settings below are only supported with API v1.6
   --(no-)mbbrc                 enables per macro block rate control
                                 default: off
   --(no-)extbrc                enables extended rate control
                                 default: off

 settings below are only supported with API v1.7
   --trellis <string>           set trellis mode used in encoding
                                 - auto(default), off, i, ip, all

 settings below are only supported with API v1.8
   --(no-)i-adapt               enables adaptive I frame insert (default:off)
   --(no-)b-adapt               enables adaptive B frame insert (default:off)
   --(no-)b-pyramid             enables B-frame pyramid reference (default:off)
   --la-quality <string>        set lookahead quality.
                                 - auto(default), fast, medium, slow

 settings below are only supported with API v1.9
   --(no-)intra-refresh         enables adaptive I frame insert
   --no-deblock                 disables H.264 deblock feature
   --qpmin <int> or             set min QP, default 0 (= unset)
           <int>:<int>:<int>
   --qpmax <int> or             set max QP, default 0 (= unset)
           <int>:<int>:<int>

 settings below are only supported with API v1.13
   --mv-scaling                 set mv cost scaling
                                 - 0  set MV cost to be 0
                                 - 1  set MV cost 1/2 of default
                                 - 2  set MV cost 1/4 of default
                                 - 3  set MV cost 1/8 of default
   --(no-)direct-bias-adjust    lower usage of B frame Direct/Skip type

 Settings below are available only for software ecoding.
   --cavlc                      use cavlc instead of cabac
   --rdo                        use rate distortion optmization
   --inter-pred <int>           set minimum block size used for
   --intra-pred <int>           inter/intra prediction
                                  0: auto(default)   1: 16x16
                                  2: 8x8             3: 4x4
   --mv-search <int>            set window size for mv search
                                  default: 0 (auto)
   --mv-precision <int>         set precision of mv search
                                  0: auto(default)   1: full-pell
                                  2: half-pell       3: quater-pell

   --benchmark <string>         run in benchmark mode
                                 and write result in txt file
   --(no-)timer-period-tuning   enable(disable) timer period tuning
                                  default: enabled
