NVEncC (x64) 3.07 by rigaya [NVENC API v7.1, CUDA 8.0], Mar  8 2017 22:39:45
 reader: raw, avs, vpy, avcuvid [H.264/AVC, H.265/HEVC, MPEG1, MPEG2, VP8, VP9]
Usage: NVEncC.exe [Options] -i <input file> -o <output file>

Input can be avs, raw YUV, YUV4MPEG2(y4m).
When Input is in raw format, fps, input-res is required.

Ouput format will be in raw H.264/AVC or H.265/HEVC ES.

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

Information Options: 
-h,-? --help                    print help
-v,--version                    print version info
   --check-device               show DeviceId for GPUs available on system   --check-hw [<int>]           check NVEnc codecs for specefied DeviceId
                                  if unset, will check DeviceId #0
   --check-features [<int>]     check for NVEnc Features for specefied DeviceId
                                  if unset, will check DeviceId #0
   --check-environment          check for Environment Info
   --check-avversion            show dll version
   --check-codecs               show codecs available
   --check-encoders             show audio encoders available
   --check-decoders             show audio decoders available
   --check-formats              show in/out formats available
   --check-protocols            show in/out protocols available
   --check-filters              show filters available


Basic Encoding Options: 
-d,--device <int>               set DeviceId used in NVEnc (default:0)

-i,--input <filename>           set input filename
-o,--output <filename>          set output filename

 Input formats (auto detected from extension of not set)
   --raw                        set input as raw format
   --y4m                        set input as y4m format
   --avs                        set input as avs format
   --vpy                        set input as vpy format
   --vpy-mt                     set input as vpy(mt) format
   --avcuvid [<string>]         use libavformat + cuvid for input
                                 this enables full hw transcode and resize.
                                 avcuvid mode could be set as a  option
                                  - native (default)
                                  - cuda
   --avsw                       set input to use avcodec + sw deocder
   --input-analyze <int>       set time (sec) which reader analyze input file.
                                 default: 5 (seconds).
                                 could be only used with avcuvid/avsw reader.
                                 use if reader fails to detect audio stream.
   --video-track <int>          set video track to encode in track id
                                 1 (default)  highest resolution video track
                                 2            next high resolution video track
                                   ... 
                                 -1           lowest resolution video track
                                 -2           next low resolution video track
                                   ... 
   --video-streamid <int>       set video track to encode in stream id
   --audio-source <string>      input extra audio file
   --audio-file [<int>?][<string>:]<string>
                                extract audio into file.
                                 could be only used with avcuvid/avsw 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.
   --seek [<int>:][<int>:]<int>[.<int>] (hh:mm:ss.ms)
                                skip video for the time specified,
                                 seek will be inaccurate but fast.
   --input-format <string>      set input format of input file.
                                 this requires use of avcuvid/avsw reader.
-f,--output-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
                                 avcuvid/avsw 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 of audio.
   --audio-ignore-decode-error <int>  (default: 10)
                                set numbers of continuous packets of audio decode
                                 error to ignore, replaced by silence.
   --audio-ignore-notrack-error ignore error when audio track is unfound.
   --audio-samplerate [<int>?]<int>
                                set sampling rate for audio (Hz).
                                  in [<int>?], specify track number of audio.
   --audio-resampler <string>   set audio resampler.
                                  swr (swresampler: default), soxr (libsoxr)
   --audio-stream [<int>?][<string1>][:<string2>][,[<string1>][:<string2>]][..
       set audio streams in channels.
         in [<int>?], specify track number to split.
         in <string1>, set input channels to use from source stream.
           if unset, all input channels will be used.
         in <string2>, set output channels to mix.
           if unset, all input channels will be copied without mixing.
       example1: --audio-stream FL,FR
         splitting dual mono audio to each stream.
       example2: --audio-stream :stereo
         mixing input channels to stereo.
       example3: --audio-stream 5.1,5.1:stereo
         keeping 5.1ch audio and also adding downmixed stereo stream.
       usable simbols
         mono       = FC
         stereo     = FL + FR
         2.1        = FL + FR + LFE
         3.0        = FL + FR + FC
         3.0(back)  = FL + FR + BC
         3.1        = FL + FR + FC + LFE
         4.0        = FL + FR + FC + BC
         quad       = FL + FR + BL + BR
         quad(side) = FL + FR + SL + SR
         5.0        = FL + FR + FC + SL + SR
         5.1        = FL + FR + FC + LFE + SL + SR
         6.0        = FL + FR + FC + BC + SL + SR
         6.0(front) = FL + FR + FLC + FRC + SL + SR
         hexagonal  = FL + FR + FC + BL + BR + BC
         6.1        = FL + FR + FC + LFE + BC + SL + SR
         6.1(front) = FL + FR + LFE + FLC + FRC + SL + SR
         7.0        = FL + FR + FC + BL + BR + SL + SR
         7.0(front) = FL + FR + FC + FLC + FRC + SL + SR
         7.1        = FL + FR + FC + LFE + BL + BR + SL + SR
         7.1(wide)  = FL + FR + FC + LFE + FLC + FRC + SL + SR
   --audio-filter [<int>?]<string>
                                set audio filter.
                                  in [<int>?], specify track number of audio.
   --chapter-copy               copy chapter to output file.
   --chapter <string>           set chapter from file specified.
   --sub-copy [<int>[,...]]     copy subtitle to output file.
                                 these could be only used with
                                 avcuvid/avsw reader and avcodec muxer.
                                 below are optional,
                                  in [<int>?], specify track number to copy.

   --avsync <string>            method for AV sync (default: through)
                                 through  ... assume cfr, no check but fast
                                 forcecfr ... check timestamp and force cfr.
-m,--mux-option <string1>:<string2>
                                set muxer option name and value.
                                 these could be only used with
                                 avcuvid/avsw reader and avcodec muxer.
   --input-res <int>x<int>        set input resolution
   --crop <int>,<int>,<int>,<int> crop pixels from left,top,right,bottom
                                    left crop is unavailable with avcuivid reader
   --output-res <int>x<int>     set output resolution
   --fps <int>/<int> or <float> set framerate

-c,--codec <string>             set ouput codec
                                  h264 (or avc), h265 (or hevc)
   --profile <string>           set codec profile
                                  H.264: baseline, main, high(default), high444
                                  HEVC : main, main10, main444
   --level <string>             set codec level
                                - H.264: auto(default), 1, 1b, 1.1, 1.2, 1.3
                                         2, 2.1, 2.2, 3, 3.1, 3.2, 4, 4.1, 4.2
                                         5, 5.1, 5.2
                                - HEVC:  auto(default), 1, 2, 2.1, 3, 3.1, 4
                                         4.1, 5, 5.1, 5.2, 6, 6.1, 6.2
   --output-depth <int>         set output bit depth ( 8(default), 10 )
   --sar <int>:<int>            set SAR ratio
   --dar <int>:<int>            set DAR ratio

   --cqp <int> or               encode in Constant QP mode
         <int>:<int>:<int>        Default: <I>:<P>:<B>=<20>:<23>:<25>
   --vbr <int>                  set bitrate for VBR mode (kbps)
   --vbrhq <int>                set bitrate for VBR (High Quality) mode (kbps)
   --cbr <int>                  set bitrate for CBR mode (kbps)
   --cbrhq <int>                set bitrate for CBR (High Quality) mode (kbps)
                                  Default: 7500 kbps

   --preset <string>            set encoder preset
                                  default, performance, quality

   --vbr-quality <int>          set target quality for VBR mode (0-51, 0 = auto)
   --max-bitrate <int>          set Max Bitrate (kbps)
   --qp-init <int> or           set initial QP
             <int>:<int>:<int>    Default: auto
   --qp-max <int> or            set max QP
            <int>:<int>:<int>     Default: unset
   --qp-min <int> or            set min QP
             <int>:<int>:<int>    Default: unset
   --gop-len <int>              set GOP Length / Default: 16 frames
   --lookahead <int>            enable lookahead and set lookahead depth (1-32)
                                  Default: 0 frames
   --strict-gop                 avoid GOP len fluctuation
   --no-i-adapt                 disable adapt. I frame insertion on lookahead mode
   --no-b-adapt                 disable adapt. B frame insertion on lookahead mode
                                  Default: off
-b,--bframes <int>              set B frames / Default 43067584 frames
   --ref <int>                  set Ref frames / Default 3 frames
   --enable-ltr                 enable LTR (Long Term Reference pictures, HEVC only)
   --(no-)aq                    enable spatial adaptive quantization
   --aq-temporal                enable temporal adaptive quantization (FOR H.264 ONLY)
   --aq-strength <int>          set aq strength (weak 1 - 15 strong)
                                  FOR H.264 ONLY, Default: auto(= 0)
   --direct <string>            set H.264 BDirect mode
                                  auto(default), none, spatial, temporal
   --(no-)adapt-transform       set H.264 adaptive transform mode (default = auto)
   --mv-precision <string>      set MV Precision / Default: auto
                                  auto,
                                  Q-pel(High Quality),
                                  half-pel,
                                  full-pel(Low Quality, not recommended)
   --vbv-bufsize <int>          set vbv buffer size (kbit) / Default: auto
   --vpp-deinterlace <string>   set deinterlace mode / Default: none
                                  none, bob, adaptive (normal)
                                  available only with avcuvid reader
   --vpp-resize <string>        default, nn, npp_linear, cubic
                                cubic_bspline, cubic_catmull, cubic_b05c03
                                super, lanczos, bilinear, spline36
                                 default: default
   --vpp-gauss <int>            disabled, 3, 5, 7
                                 default: disabled
   --vpp-knn [<param1>=<value>][,<param2>=<value>][...]     enable denoise filter by K-nearest neighbor.
    params
      radius=<int>              set radius of knn (default=3)
      strength=<float>          set strength of knn (default=0.08, 0.0-1.0)
      lerp=<float>              set balance of orig and blended pixel (default=0.20)
                                  lower value results strong denoise.
      th_lerp=<float>           set threshold for detecting edge (default=0.80, 0.0-1.0)
                                  higher value will preserve edge.
   --vpp-pmd [<param1>=<value>][,<param2>=<value>][...]     enable denoise filter by pmd.
    params
      apply_count=<int>         set count to apply pmd denoise (default=2)
      strength=<float>          set strength of pmd (default=100.00, 0.0-100.0)
      threshold=<float>         set threshold of pmd (default=100.00, 0.0-255.0)
                                  lower value will preserve edge.
   --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:-1518758768]
   --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-perf-monitor           check duration of each filter.
                                  may decrease overall transcode performance.
   --videoformat <string>       undef, ntsc, component, pal, secam, mac
                                 default: undef
   --colormatrix <string>       undef, auto, bt709, smpte170m, bt470bg
                                smpte240m, YCgCo, fcc, GBR, bt2020nc
                                bt2020c
                                 default: undef
   --colorprim <string>         undef, auto, bt709, smpte170m, bt470m
                                bt470bg, smpte240m, film, bt2020
                                 default: undef
   --transfer <string>          undef, auto, bt709, smpte170m, bt470m
                                bt470bg, smpte240m, linear, log100, log316
                                iec61966-2-4, bt1361e, iec61966-2-1
                                bt2020-10, bt2020-12, smpte-st-2084
                                smpte-st-428, arib-srd-b67
                                 default: undef
   --fullrange                  set fullrange
   --output-buf <int>           buffer size for output in MByte
                                 default 8 MB (0-128)
   --max-procfps <int>         limit encoding performance to lower resource usage.
                                 default:0 (no limit)
   --output-thread <int>        set output thread num
                                 -1: auto (= default)
                                  0: disable (slow, but less memory usage)
                                  1: use one thread

   --log <string>               set log file name
   --log-level <string>         set log level
                                  debug, info(default), warn, error
   --log-framelist <string>     output frame info of avcuvid reader to path

H.264/AVC
   --tff                        same as --interlaced tff
   --bff                        same as --interlaced bff
   --interlaced <string>        interlaced encoding
                                  tff, bff
   --cabac                      use CABAC
   --cavlc                      use CAVLC (no CABAC)
   --bluray                     for bluray / Default: off
   --lossless                   for lossless / Default: off
   --(no-)deblock               enable(disable) deblock filter

H.265/HEVC
   --cu-max <int>               set max CU size
   --cu-min  <int>              set min CU size
                                  8, 16, 32 are avaliable
    warning: it is not recommended to use --cu-max or --cu-min,
             leaving it auto will enhance video quality.

