NVEncC (x64) 7.64 (r2980) by rigaya, Aug 13 2024 09:48:14 (VC 1929/Win)
  [NVENC API v12.2, CUDA 10.1]
 reader: raw, y4m, avi, avs, vpy, avsw, avhw [H.264/AVC, H.265/HEVC, MPEG2, VP8, VP9, VC-1, MPEG1, MPEG4, AV1]
Usage: NVEncC.exe [Options] -i <input file> -o <output file>

Input can be avi, 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 specified DeviceId
                                  if unset, will check DeviceId #0
   --check-features [<int>]     check for NVEnc Features for specified 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-profiles <string>    show profile names available for specified codec
   --check-formats              show in/out formats available
   --check-protocols            show in/out protocols available
   --check-avdevices            show in/out avdvices available
   --check-filters              show filters available
   --option-list                show option list


Basic Encoding Options: 
-d,--device <int>               set DeviceId used in NVEnc (default:-1 as auto)
                                  use --check-device to show device ids.

-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
   --avi                        set input as avi format
   --avs                        set input as avs format
   --vpy                        set input as vpy format
   --vpy-mt                     set input as vpy(mt) format
   --avhw                       use libavformat + hw decode for input
   --avsw [<string>]            set input to use avcodec + sw decoder
   --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 avhw reader
   --output-res <int>x<int>[,<string>=<string>]...
                                set output resolution
    params
      preserve_aspect_ratio=<string>   preserve input aspect ratio.
        decrease ... preserve aspect ratio by decreasing resolution specified.
        increase ... preserve aspect ratio by increasing resolution specified.
      ignore_sar=<bool>                ignore sar when using negative value.

   --frames <int>               frames to encode (based on input frames)
   --fps <int>/<int> or <float> set framerate
   --interlace <string>         set input as interlaced
                                  tff, bff
   --input-csp <string>           set input colorspace for raw reader 
                                Invalid, nv12, yv12, yuv420p, yuv422p
                                yuv444p, yuv420p9le, yuv420p10le
                                yuv420p12le, yuv420p14le, yuv420p16le, p010
                                yuv422p9le, yuv422p10le, yuv422p12le
                                yuv422p14le, yuv422p16le, yuv444p9le
                                yuv444p10le, yuv444p12le, yuv444p14le
                                yuv444p16le
                                 default: yv12

-c,--codec <string>             set output codec
                                  h264 (or avc), h265 (or hevc), av1, raw
   --profile <string>           set codec profile
                                  H.264: baseline, main, high(default), high444
                                  HEVC : main, main10, main444
                                  AV1  : main, high
   --tier <string>              set codec tier
                                  HEVC : main, high
                                  AV1  : 0, 1
   --lossless                   for lossless encoding / default: off
   --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, 6, 6.1, 6.2
                                - HEVC:  auto(default), 1, 2, 2.1, 3, 3.1, 4
                                         4.1, 5, 5.1, 5.2, 6, 6.1, 6.2
                                - AV1:   auto(default), 2, 2.1, 2.2, 2.3, 3
                                         3.1, 3.2, 3.3, 4, 4.1, 4.2, 4.3, 5
                                         5.1, 5.2, 5.3, 6, 6.1, 6.2, 6.3, 7
                                         7.1, 7.2, 7.3
   --output-depth <int>         set output bit depth ( 8(default), 10 )
   --output-csp <string>        set output csp ( yuv420(default), yuv444 )
   --sar <int>:<int>            set Sample  Aspect Ratio
   --dar <int>:<int>            set Display Aspect Ratio

   --qvbr <float>               set bitrate for QVBR mode (kbps)
                                  same as "--vbr 0 --vbr-quality <float>"
   --vbr <int>                  set bitrate for VBR mode (kbps)
   --cbr <int>                  set bitrate for CBR mode (kbps)
                                  default: 20 kbps
   --cqp <int> or               encode in Constant QP mode
         <int>:<int>:<int>        default: <I>:<P>:<B>=<23>:<25>:<7500>

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

   --vbr-quality <float>        target quality for VBR mode (0-51, 0=auto)
   --multipass <string>         multipass mode for VBR, CBR mode
                                  none, 2pass-quarter, 2pass-full
   --max-bitrate <int>          set Max Bitrate (kbps)

   --dynamic-rc <int>:<int>,<param1>=<value>[,<param2>=<value>][...]
     change the rate control mode within the specified range of output frames
    params
      cqp=<int> or <int>:<int>:<int>
      vbr=<int>
      vbrhq=<int>
      cbr=<int>
      cbrhq=<int>
      qvbr=<float>
      max-bitrate=<int>
      vbr-quality=<float>

   --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
   --chroma-qp-offset <int>     set chroma QP Offset
   --gop-len <int>              set GOP Length / default: 0 frames (auto)
   --lookahead <int>            enable lookahead and set lookahead depth (1-32)
                                  default: 0 frames
   --lookahead-level <int>      set lookahead level (0 - 3) [HEVC only]
                                  default: 0
   --strict-gop                 avoid GOP len fluctuation
   --no-i-adapt                 disable adapt. I frame insertion
   --no-b-adapt                 disable adapt. B frame insertion
                                  for lookahead mode only, default: off
-b,--bframes <int>              set number of consecutive B frames
                                  default: 3 frames
   --ref <int>                  set ref frames / default 3 frames
   --multiref-l0 <int>          set multiple ref frames (L0)
   --multiref-l1 <int>          set multiple ref frames (L1)
   --weightp                    enable weighted prediction for P frame
   --nonrefp                    enable adapt. non-reference P frame insertion
   --mv-precision <string>      set MV Precision / default: auto
                                  auto,
                                  Q-pel (High Quality),
                                  half-pel,
                                  full-pel (Low Quality, not recommended)
   --slices <int>               number of slices, default 0 (auto)
   --vbv-bufsize <int>          set vbv buffer size (kbit) / default: auto
   --(no-)aq                    enable spatial adaptive quantization
   --aq-temporal                enable temporal adaptive quantization
   --aq-strength <int>          set aq strength (weak 1 - 15 strong)
                                  default: 0 = auto
   --bref-mode <string>         set B frame reference mode
                                  - auto (default)
                                  - disabled
                                  - each
                                  - middle
   --direct <string>            [H264] set B Direct mode
                                  auto(default), none, spatial, temporal
   --(no-)adapt-transform       [H264] set adaptive transform mode (default=auto)
   --hierarchial-p              [H264] enable hierarchial P frames
   --hierarchial-b              [H264] enable hierarchial B frames
   --temporal-layers <int>      [H264] set number of temporal layers

   --cabac                      [H264] use CABAC
   --cavlc                      [H264] use CAVLC (no CABAC)
   --bluray                     [H264] for bluray / default: off
   --(no-)deblock               [H264] enable(disable) deblock filter

   --tf-level <int>             [HEVC] set temporal filtering level (0 (default), 4)
                                  requires bframes >= 4
   --cu-max <int>               [HEVC] set max CU size
   --cu-min  <int>              [HEVC] 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.
   --alpha-bitrate-ratio  <int> [HEVC] set ratio for alpha bitrate.
                                       smaller value will use more bitrate for alpha.
   --alpha-channel-mode <string> [HEVC] set alpha channel mode.
                                  - straight (default)
                                  - premultiplied

   --part-size-min <int>        [AV1] min size of luma coding block partition.
   --part-size-max <int>        [AV1] max size of luma coding block partition.
                                  0 (auto,default), 4, 8, 16, 32, 64
   --tile-columns <int>         [AV1] number of tile columns (default:0=auto).
   --tile-rows <int>            [AV1] number of tile rows (default:0=auto).
                                  0 (auto,default), 1, 2, 4, 8, 16, 32, 64
   --max-temporal-layers <int>  [AV1] max temporal layer for hierarchical coding.
   --refs-forward <int>         [AV1] max number of forward reference frame.
                                  0 (auto,default), 1, 2, 3, 4
   --refs-backward <int>        [AV1] max number of L1 list reference frame.
                                  0 (auto,default), 1, 2, 3
   --aud                        insert aud nal unit to ouput stream.
   --repeat-headers             output VPS,SPS and PPS for every IDR frame.
   --pic-struct                 insert pic-timing SEI with pic_struct.
   --split-enc <string>         set cuda schedule mode (default: sync).
                                  - auto (default), auto_forced
                                  - forced_2, forced_3, disable

   --chromaloc <int>            set chroma location flag [ 0 ... 5 ]
                                  default: 0 = unspecified
   --videoformat <string>       undef, ntsc, component, pal, secam, mac
                                 default: undef
   --colormatrix <string>       undef, auto, auto_res, bt709, smpte170m
                                bt470bg, smpte240m, YCgCo, fcc, GBR
                                bt2020nc, bt2020c, derived-ncl, derived-cl
                                ictco, 2100-lms
                                 default: undef
   --colorprim <string>         undef, unknown, auto, auto_res, bt709
                                smpte170m, bt470m, bt470bg, smpte240m, film
                                bt2020, st428, st431-2, st432-1, ebu3213-e
                                 default: undef
   --transfer <string>          undef, unknown, auto, auto_res, bt709
                                smpte170m, bt470m, bt470bg, smpte240m
                                linear, log100, log316, iec61966-2-4
                                bt1361e, iec61966-2-1, bt2020-10, bt2020-12
                                smpte2084, smpte428, arib-std-b67
                                 default: undef
   --colorrange <string>        undef, limited, tv, full, pc, auto
                                 default: undef
   --max-cll <int>,<int>        set MaxCLL/MaxFall in nits. e.g. "1000,300"
   --master-display <string>    set Mastering display data.
   e.g. "G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)"
   --atc-sei <string> or <int>  undef, unknown, auto, auto_res, bt709
                                smpte170m, bt470m, bt470bg, smpte240m
                                linear, log100, log316, iec61966-2-4
                                bt1361e, iec61966-2-1, bt2020-10, bt2020-12
                                smpte2084, smpte428, arib-std-b67
                                 default: unknown
   --dhdr10-info <string>       apply dynamic HDR10+ metadata from json file.
   --dhdr10-info copy           Copy dynamic HDR10+ metadata from input file.
   --dolby-vision-profile <int> unset, copy, 5.0, 8.1, 8.2, 8.4
                                 default: unset
   --dolby-vision-rpu <string>  Copy dolby vision metadata from input rpu file.
   --dolby-vision-rpu copy      Copy dolby vision metadata from input file.
   --input-analyze <int>        set time (sec) which reader analyze input file.
                                 default: 5 (seconds).
                                 could be only used with avhw/avsw reader.
                                 use if reader fails to detect audio stream.
   --input-probesize <int>      set size in bytes which reader analyze input file.
   --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
   --video-tag <string>         specify video tag
   --video-metadata <string>    set metadata for video track.
                                 - copy ... copy metadata from input
                                 - clear ... do not set metadata (default)
   --audio-source <string>      input extra audio file.
   --audio-file [<int>?][<string>:]<string>
                                extract audio into file.
                                 could be only used with avhw/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 overlap each other.
   --seek [<int>:][<int>:]<int>[.<int>] (hh:mm:ss.ms)
                                skip video for the time specified,
                                 seek will be inaccurate but fast.
   --seekto [<int>:][<int>:]<int>[.<int>] (hh:mm:ss.ms)
                                time to end encoding.
   --input-format <string>      set input format of input file.
                                 this requires use of avhw/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
                                 avhw/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-profile [<int>?]<string>
                                specify audio profile.
                                  in [<int>?], specify track number to apply.
   --audio-bitrate [<int>?]<int>
                                set encode bitrate for audio (kbps).
                                  in [<int>?], specify track number of audio.
   --audio-quality [<int>?]<int>
                                set encode quality for audio.
                                  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-samplerate [<int>?]<int>
                                set sampling rate for audio (Hz).
                                  in [<int>?], specify track number of audio.
   --audio-resampler [<int>?]<string>
                                set audio resampler or resampler params.
                                  swr (swresampler: default), soxr (libsoxr)
   --audio-delay [<int>?]<float>  set audio delay (ms).
   --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 symbols
         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.
   --audio-disposition [<int>?]<string>
                                set disposition for the specified audio track.
                                disposition for the unspecified tracks will be reset.
   --audio-metadata [<int>?]<string>
                                set metadata for the specified audio track.
                                 - copy ... copy metadata from input (default)
                                 - clear ... do not set metadata
   --audio-bsf [<int>?]<string> set bitstream filter to audio track.
   --chapter-copy               copy chapter to output file.
   --chapter <string>           set chapter from file specified.
   --chapter-no-trim            do not apply --trim to --chapter.
   --key-on-chapter             set key frame on chapter.
   --keyfile <string>           set keyframes on frames specified in the file.
                                  frame num should start from 0.
   --sub-source <string>        input extra subtitle file.
   --sub-copy [<int>[,...]]     copy subtitle to output file.
                                 these could be only used with
                                 avhw/avsw reader and avcodec muxer.
                                 below are optional,
                                  in [<int>?], specify track number to copy.
   --sub-disposition [<int>?]<string>
                                set disposition for the specified subtitle track.
                                disposition for the unspecified tracks will be reset.
   --sub-metadata [<int>?]<string>
                                set metadata for the specified audio track.
                                 - copy ... copy metadata from input (default)
                                 - clear ... do not set metadata
   --sub-bsf [<int>?]<string>   set bitstream filter to subtitle track.
   --data-copy [<int>[,...]]       copy data stream to output file.
   --attachment-copy [<int>[,...]] copy attachment stream to output file.
   --attachment-source <string> add file as attachment stream.

   --avsync <string>            method for AV sync (default: cfr)
                                 cfr      ... assume cfr
                                 forcecfr ... check timestamp and force cfr
                                 vfr      ... honor source timestamp and enable vfr output.
                                              only available for avsw/avhw reader,
                                              and could not be used with --trim.
  --timestamp-passthrough       passthrough original timestamp
  --input-option <string1>:<string2>
                                set input option name and value.
                                 these could be only used with avhw/avsw reader.
-m,--mux-option <string1>:<string2>
                                set muxer option name and value.
                                 these could be only used with
                                 avhw/avsw reader and avcodec muxer.
   --metadata <string>          set metadata for output file.
                                 - copy ... copy metadata from input (default)
                                 - clear ... do not set metadata

   --timecode [<string>]        output timecode file.

   --tcfile-in <string>         input timecode file, will not work with --avhw.
   --tc-timebase <int>/<int>    timebase of input timecode.

   --input-hevc-bsf <string>    switch hevc bitstream filter used for hw decoder input
                                 - internal   ... use internal implementation (default)
                                 - libavcodec ... use hevc_mp4toannexb bsf

   --allow-other-negative-pts  for debug


   --ssim                       calc ssim
   --psnr                       calc psnr

   --vmaf [<param1>=<value>][,<param2>=<value>][...]
     Calc vmaf. Please note that this is very CPU intensive and likely to 
     become bottleneck, strongly affecting encoding perfromance.
    params
      model=<string>            set model version/filepath [default:vmaf_v0.6.1].
      threads=<int>             cpu thread(s) to calculate vmaf score.
      subsample=<int>           interval for frame subsampling calculating vmaf score.
      phone_model=<bool>        use phone model which generate higher vmaf score.
      enable_transform=<bool>   enable transform when calculating vmaf score.


   --vpp-deinterlace <string>   set deinterlace mode / default: none
                                  none, bob, adaptive (normal)
                                  available only with avhw reader
   --vpp-gauss <int>            disabled, 3, 5, 7
                                 default: disabled

   --vpp-nvvfx-denoise [<param1>=<value>][,<param2>=<value>][...]
     enable nvvfx webcam denoise filter.
    params
      strength=<int>        0 ... conservative (default)
                            1 ... aggressive 

   --vpp-nvvfx-artifact-reduction [<param1>=<value>][,<param2>=<value>][...]
     enable nvvfx artifact reduction filter.
    params
      mode=<int>            0 ... conservative (default)
                            1 ... aggressive 

   --vpp-nvvfx-model-dir <string> set directory which has nxxmfx models.

   --vpp-ngx-truehdr [<param1>=<value>][,<param2>=<value>][...]
     enable ngx truehdr filter.
    params
      contrast=<int>     the difference between lights and darks (default 100, 0 - 200).
      saturation=<int>   color intensity (default 100, 0 - 200).
      middlegray=<int>   average brightness (default 50, 10 - 100).
      maxluminance=<int> peak brightness in nits (default 1000, 400 - 2000).


   --vpp-colorspace [<param1>=<value>][,<param2>=<value>][...]
     Converts colorspace of the video.
    params
      matrix=<from>:<to>
        bt709, smpte170m, bt470bg, smpte240m, YCgCo, fcc, GBR,
        bt2020nc, bt2020c
      colorprim=<from>:<to>
        bt709, smpte170m, bt470m, bt470bg, smpte240m, film, bt2020
      transfer=<from>:<to>
        bt709, smpte170m, bt470m, bt470bg, smpte240m, linear,
        log100, log316, iec61966-2-4, iec61966-2-1,
        bt2020-10, bt2020-12, smpte2084, arib-srd-b67
      range=<from>:<to>
        limited, full
      lut3d=<path>
      lut3d_interp=<string>
        nearest, trilinear, tetrahedral, pyramid, prism
      hdr2sdr=<string>     Enables HDR10 to SDR.
                             hable, mobius, reinhard, bt2390, none
      source_peak=<float>     (default: 1000.0)
      ldr_nits=<float>        (default: 100.0)
      desat_base=<float>      (default: 0.18)
      desat_strength=<float>  (default: 0.75)
      desat_exp=<float>       (default: 1.50)
   --vpp-delogo <string>[,<param1>=<value>][,<param2>=<value>][...]
     remove half-transparent logo with the specified logo file.
     the logo file should be created by logoscan.auf.
    params
      select=<string>           set target logo name or auto select file
                                 or logo index starting from 1.
      pos=<int>:<int>           set delogo pos offset.
      depth=<int>               set delogo depth. [default:128]
      y=<int>                   set delogo y  param.
      cb=<int>                  set delogo cb param.
      cr=<int>                  set delogo cr param.
      auto_fade=<bool>          adjust fade value dynamically.
      auto_nr=<bool>            adjust strength of noise reduction dynamically.
      nr_area=<int>             area of noise reduction near logo.
      nr_value=<int>            strength of noise reduction near logo.
      log=<bool>                output log for auto_fade/auto_nr.

   --vpp-afs [<param1>=<value>][,<param2>=<value>][...]
     enable auto field shift deinterlacer
    params
      preset=<string>
          default, triple, double, anime, cinema, min_afterimg,
          24fps, 24fps_sd, 30fps
      ini=<string>
          read setting from ini file specified (output of afs.auf)

      !! params from preset & ini will be overrided by user settings below !!

                   Aviutlでのパラメータ名
      top=<int>           (上)         clip range to scan (default=16)
      bottom=<int>        (下)         clip range to scan (default=16)
      left=<int>          (左)         clip range to scan (default=32)
      right=<int>         (右)         clip range to scan (default=32)
                                        left & right must be muitiple of 4
      method_switch=<int> (切替点)     (default=0, 0-256)
      coeff_shift=<int>   (判定比)     (default=192, 0-256)
      thre_shift=<int>    (縞(シフト)) stripe(shift)thres (default=128, 0-1024)
      thre_deint=<int>    (縞(解除))   stripe(deint)thres (default=48, 0-1024)
      thre_motion_y=<int> (Y動き)      Y motion threshold (default=112, 0-1024)
      thre_motion_c=<int> (C動き)      C motion threshold (default=224, 0-1024)
      level=<int>         (解除Lv)     set deint level    (default=3, 0-4
      shift=<bool>  (フィールドシフト) enable field shift (default=on)
      drop=<bool>   (ドロップ)         enable frame drop  (default=off)
      smooth=<bool> (スムージング)     enable smoothing   (default=off)
      24fps=<bool>  (24fps化)          force 30fps->24fps (default=off)
      tune=<bool>   (調整モード)       show scan result   (default=off)
      rff=<bool>                       rff flag aware     (default=on)
      timecode=<bool>                  output timecode    (default=off)
      log=<bool>                       output log         (default=off)

   --vpp-nnedi [<param1>=<value>][,<param2>=<value>][...]
     enable nnedi deinterlacer
    params
      field=<string>
          auto (default)    Generate latter field from first field.
          top               Generate bottom field using top field.
          bottom            Generate top field using bottom field.
      nns=<int>             Neurons of neural net (default: 32)
                              16, 32, 64, 128, 256
      nszie=<int>x<int>     Area size neural net uses to generate a pixel.
                              8x6, 16x6, 32x6, 48x6, 8x4, 16x4, 32x4(default)
      quality=<string>      quality settings
                              fast (default), slow
      prescreen=<string>    (default: new_block)
          none              No pre-screening is done and all pixels will be
                            generated by neural net.
          original          Runs prescreener to determine which pixel to apply
          new               neural net, other pixels will be generated from
                            simple interpolation.
          original_block    GPU optimized ver of original/new.
          new_block
      errortype=<string>    Select weight parameter for neural net.
                              abs (default), square
      prec=<string>         Select calculation precision.
                              auto (default), fp16, fp32
      weightfile=<string>   Set path of weight file. By default (not specified),
                              internal weight params will be used.

   --vpp-yadif [<param1>=<value>]
     enable yadif deinterlacer
    params
      mode=<string>
          auto (default)    Generate latter field using first field.
          tff               Generate bottom field using top field.
          bff               Generate top field using bottom field.
          bob               Generate one frame from each field.
          bob_tff           Generate one frame from each field assuming tff.
          bob_bff           Generate one frame from each field assuming bff.

   --vpp-decomb [<param1>=<value>]
     enable decomb deinterlacer
    params
      full=<bool>           deinterlace all frames
      threshold=<int>       default 20 (0 - 255)
      dthreshold=<int>      default 7 (0 - 255)
      blend=<bool>          blend rather than interpolate

   --vpp-rff                    apply rff flag, with avhw/avsw reader only.

   --vpp-select-every <int>[,offset=<int>]
     select one frame per specified frames and create output.

   --vpp-decimate [<param1>=<value>][,<param2>=<value>][...]
     drop duplicated frame.
    params
      cycle=<int>               num of frame to select frame(s) to be droppped.
                                  (default=5)
      drop=<int>                num of frame(s) to drop within a cycle.
                                  (default=1)
      thredup=<float>           duplicate threshold. (default=1.1, 0 - 100)
      thresc=<float>            scene change threshold. (default=15.0, 0 - 100)
      blockx=<int>              block size of x direction (default=32).
      blocky=<int>              block size of y direction (default=32).
                                  block size could be 4, 8, 16, 32, 64.
      chroma=<bool>             consdier chroma (default: off)
      log=<bool>                output log file (default: on).

   --vpp-mpdecimate [<param1>=<value>][,<param2>=<value>][...]
     drop duplicated frame.
    params
      hi=<int>                  the frame might be dropped if no 8x8 block difference
                                is more than "hi" (default=768 (8x8x12)).
      lo=<int>                  the frame might be dropped if the fraction of 8x8 blocks
      frac=<float>              with difference smaller than "lo" is more than "frac".
                                  (lo default=320 (8x8x5), frac default=0.330)
      max=<bool>                Max consecutive frames which can be dropped (positive)
                                min interval between dropped frames (if negative)
                                  (default: 0)
      log=<bool>                output log file (default: off).

--vpp-resize <string> or [<param1>=<value>][,<param2>=<value>][...]    params
      algo=<string>             select algorithm
        auto, bilinear, bicubic, nearest, spline16, spline36, spline64, lanczos2
        lanczos3, lanczos4, nn, npp_linear, cubic, super, lanczos, nvvfx-superres
        ngx-vsr        default: auto

      superres-mode=<int>
        mode for nvvfx-superres     0 ... conservative (default)
                                    1 ... aggressive 
      superres-strength=<float>
        strength for nvvfx-superres (0.0 - 1.0)

      vsr-quality=<int>
        quality for ngx-vsr

   --vpp-convolution3d [<param1>=<value>][,<param2>=<value>][...]
     enable denoise filter by convolution3d.
    params
      matrix=<string>  standard(default), simple
      fast=<bool>      use fast mode
      ythresh=<int>    spatial  luma threshold   (default=3, 0 - 255)
      cthresh=<int>    spatial  chroma threshold (default=4, 0 - 255)
      t_ythresh=<int>  temporal luma threshold   (default=3, 0 - 255)
      t_cthresh=<int>  temporal chroma threshold (default=4, 0 - 255)

   --vpp-knn [<param1>=<value>][,<param2>=<value>][...]
     enable denoise filter by K-nearest neighbor.
    params
      radius=<int>              radius of knn (default=3)
      strength=<float>          strength of knn (default=0.08, 0.0-1.0)
      lerp=<float>              balance of orig & blended pixel (default=0.20)
                                  lower value results strong denoise.
      th_lerp=<float>           edge detect threshold (default=0.80, 0.0-1.0)
                                  higher value will preserve edge.

   --vpp-nlmeans [<param1>=<value>][,<param2>=<value>][...]
     enable denoise filter by non-local means.
    params
      sigma=<float>  sigma (default=, 0.0 -)
      h=<float>      h (default=0.005, 0.0 <)
      patch=<int>    patch size (default=-1610612736, 3-21)
      search=<int>   search size (default=5, 3-21)
      fp16=<string>  select fp16 usage.
                       none, blockdiff (default), all

   --vpp-pmd [<param1>=<value>][,<param2>=<value>][...]
     enable denoise filter by pmd.
    params
      apply_count=<int>         count to apply pmd denoise (default=2)
      strength=<float>          strength of pmd (default=100.00, 0.0-100.0)
      threshold=<float>         threshold of pmd (default=100.00, 0.0-255.0)
                                  lower value will preserve edge.

   --vpp-smooth [<param1>=<value>][,<param2>=<value>][...]
     enable smooth filter.
    params
      quality=<int>         quality of filter (high=higher quality but slow)
                             (default=3, 1-6)
      qp=<float>            strength of filter (default=0.00, 0.0-100.0)
      prec=<string>         Select calculation precision.
                              auto (default), fp16, fp32

   --vpp-denoise-dct [<param1>=<value>][,<param2>=<value>][...]
     enable dct based denoise filter.
    params
      step=<int>            quality of filter (smaller value will result higher quality)
                             1, 2 (default), 4, 8
      sigma=<float>         strength of filter (default=4.00)
      block_size=<int>      block size of calculation.
                              8 (default), 16

   --vpp-fft3d [<param1>=<value>][,<param2>=<value>][...]
     enable fft based denoise filter.
    params
      sigma=<float>         strength of filter (default=1.00, 0 - 100)
      amount=<float>        amount of denoising (default=1.00, 0 - 1)
      block_size=<int>      block size of calculation.
                              8, 16, 32 (default), 64
      overlap=<float>       block overlap (default=100.00, 0.2 - 0.8)
      method=<int>          method of denoising
                              0 (default), 1
      temporal=<int>        Enable temporal filtering (default=0)
      prec=<string>         Select calculation precision.
                              auto (default), fp16, fp32

   --vpp-subburn [<param1>=<value>][,<param2>=<value>][...]
     Burn in specified subtitle to the video.
    params
      track=<int>               subtitle track of the input file to burn in.
      filename=<string>         subtitle file path to burn in.
      charcode=<string>         subtitle charcter code.
      shaping=<string>          rendering quality of text.
      scale=<float>             scaling multiplizer for bitmap subtitles.
      transparency=<float>      adds additional transparency.
                                  (default=0.0, 0.0 - 1.0)
      brightness=<float>        modifies brightness of the subtitle.
                                  (default=0.0, -1.0 - 1.0)
      contrast=<float>          modifies contrast of the subtitle.
                                  (default=1.0, -2.0 - 2.0)
      vid_ts_offset=<bool>      add timestamp offset to match the first timestamp of
                                  the video file (default: on)
                                  (when "track" is used this options is always on)
      ts_offset=<float>         add offset in seconds to subtitle timestamps.
      fontsdir=<string>         directory with fonts used.
      forced_subs_only=<bool>   render forced subs only.

   --vpp-unsharp [<param1>=<value>][,<param2>=<value>][...]
     enable unsharp filter.
    params
      radius=<int>              filter range for edge detection (default=3, 1-9)
      weight=<float>            strength of filter (default=0.50, 0-10)
      threshold=<float>         min brightness change to be sharpened (default=10.00, 0-255)

   --vpp-edgelevel [<param1>=<value>][,<param2>=<value>][...]
     edgelevel filter to enhance edge.
    params
      strength=<float>          strength (default=0, -31 - 31)
      threshold=<float>         threshold to ignore noise (default=20.0, 0-255)
      black=<float>             allow edge to be darker on edge enhancement
                                  (default=0.0, 0-31)
      white=<float>             allow edge to be brighter on edge enhancement
                                  (default=0.0, 0-31)

   --vpp-warpsharp [<param1>=<value>][,<param2>=<value>][...]
     warpsharp filter to enhance edge.
    params
      threshold=<float>         edge mask threshold (default=128.0, 0-255)
      blur=<int>                number of times to blur the edge mask.
                                  (default=2, 0-)
      type=<int>                blur type, 0...13x13, 1...5x5 (default=0)
      depth=<float>             how far to warp (default=16.0, -128 - 128)
      chroma=<int>              0...use luma mask, 1...create chroma mask
                                  (default=0)

   --vpp-curves [<param1>=<value>][,<param2>=<value>][...]
     apply color adjustments using curves.
    params
      preset=<string>
        color_negative, process, darker, lighter, increase_contrast
        linear_contrast, medium_contrast, strong_contrast
        negative, vintage
      m=<string>
        set master curve points, post process for luminance.
      r=<string>
        set curve points for red. Will override preset settings.
      g=<string>
        set curve points for green. Will override preset settings.
      b=<string>
        set curve points for blue. Will override preset settings.
      all=<string>
        set curve points for r,g,b when not specified. Will override preset settings.

   --vpp-tweak [<param1>=<value>][,<param2>=<value>][...]
     apply brightness, constrast, gamma, hue adjustment.
    params
      brightness=<float>        (default=0.0, -1.0 - 1.0)
      contrast=<float>          (default=1.0, -2.0 - 2.0)
      gamma=<float>             (default=1.0,  0.1 - 10.0)
      saturation=<float>        (default=1.0,  0.0 - 3.0)
      hue=<float>               (default=0.0, -180 - 180)

      [y,cb,cr,r,g,b]_offset=<float> (default=0.0, -1.0 - 1.0)
      [y,cb,cr,r,g,b]_gain=<float>   (default=1.0, -2.0 - 2.0)
              [r,g,b]_gamma=<float>  (default=1.0,  0.1 - 10.0)

   --vpp-rotate <int>           rotate video (90, 180, 270)

   --vpp-transform [<param1>=<value>][,<param2>=<value>][...]
    params
      flip_x=<bool>
      flip_y=<bool>
      transpose=<bool>

   --vpp-deband [<param1>=<value>][,<param2>=<value>][...]
     enable deband filter.
    params
      range=<int>               range (default=15, 0-127)
      sample=<int>              sample (default=1, 0-2)
      thre=<int>                threshold for y, cb & cr
      thre_y=<int>              threshold for y (default=15, 0-31)
      thre_cb=<int>             threshold for cb (default=15, 0-31)
      thre_cr=<int>             threshold for cr (default=15, 0-31)
      dither=<int>              strength of dither for y, cb & cr
      dither_y=<int>            strength of dither for y (default=15, 0-31)
      dither_c=<int>            strength of dither for cb/cr (default=15, 0-31)
      seed=<int>                rand seed (default=1234)
      blurfirst                 blurfirst (default=off)
      rand_each_frame           generate rand for each frame (default=off)

   --vpp-pad <int>,<int>,<int>,<int>
     add padding to left,top,right,bottom (in pixels)

   --vpp-overlay [<param1>=<value>][,<param2>=<value>][...]
    params
      file=<string>             src file path of the image
      pos=<int>x<int>           position to add image
      size=<int>x<int>          size of image  (default: 0x0 = no resize)
      alpha=<float>             alpha value of overlay
                                  default: 1.0 (0.0 - 1.0)
      alpha_mode=<string>       override ... set value of alpha
                                mul      ... multiple original value
                                lumakey  ... set alpha depending on luma
      lumakey_threshold=<float> luma used for tranparency.
                                  default: 0.0 (dark: 0.0 - 1.0 :bright)
      lumakey_tolerance=<float> set luma range to be keyed out.
                                  default: 0.1 (0.0 - 1.0)
      lumakey_threshold=<float> set the range of softness for lumakey
      loop=<bool>

   --vpp-fruc [<param1>=<value>][,<param2>=<value>][...]
     enable frame rate up conversion filter.
    params
      double                     double frame rate (fast)
      fps=<int>/<int> or <float> target frame rate

   --vpp-perf-monitor           check vpp perfromance (for debug)

   --cuda-schedule <string>     set cuda schedule mode (default: sync).
       auto  : let cuda driver to decide
       spin  : CPU will spin when waiting GPU tasks,
               will provide highest performance but with high CPU utilization.
       yield : CPU will yield when waiting GPU tasks.
       sync  : CPU will sleep when waiting GPU tasks, performance might
                drop slightly, while CPU utilization will be lower,
                especially on HW decode mode.
   --disable-nvml <int>        disable NVML GPU monitoring (default 0, 0-2)

   --log <string>               set log file name
   --log-level <string>         set log level
                                  debug, info(default), warn, error, quiet
   --log-opt [<param1>][,<param2>][]...
     additional options for log output.
    params
      addtime                   add time to log lines.
   --log-framelist [<string>]   output debug info for avsw/avhw reader.
   --log-packets [<string>]     output debug info for avsw/avhw reader.
   --log-mux-ts [<string>]      output debug info for avsw/avhw reader.

   --option-file <string>       read commanline options written in file.
   --max-procfps <int>          limit encoding speed for lower utilization.
                                 default:0 (no limit)
   --avoid-idle-clock <string>[=<float>]
                                add dummy load to avoid idle GPU clock.
                                - off
                                - auto [default]
                                - on
                                 the optional value is target dummy load percentage,
                                 when number omitted: 0.01 percent load
   --lowlatency                 minimize latency (might have lower throughput).
   --output-buf <int>           buffer size for output in MByte
                                 default 8 MB (0-128)
   --output-thread <int>        set output thread num
                                 -1: auto (= default)
                                  0: disable (slow, but less memory usage)
                                  1: use one thread
   --thread-affinity [<string1>=](<string2>[#<int>[:<int>][]...] or 0x<hex>)
     target (string1)  (default: all)
                                all, process, main, decoder, encoder, csp
                                input, output, audio, perfmonitor
                                videoquality
     thread type (string2)  (default: all)
                                all, pcore, ecore, logical, physical
                                cachel2, cachel3, custom
   --thread-priority [<string1>=](<string2>[#<int>[:<int>][]...] or 0x<hex>)
     target (string1)  (default: all)
                                all, process, main, decoder, encoder, csp
                                input, output, audio, perfmonitor
                                videoquality
     priority (string2)  (default: normal)
                                background, idle, lowest, belownormal
                                normal, abovenormal, highest
   --thread-throttling [<string1>=](<string2>[#<int>[:<int>][]...] or 0x<hex>)
     target (string1)  (default: all)
                                all, process, main, decoder, encoder, csp
                                input, output, audio, perfmonitor
                                videoquality
     throttling mode (string2)  (default: auto)
                                unset, auto, off, on

   --avsdll <string>            specifies AviSynth DLL location to use.

   --vsdir <string>            specifies VapourSynth portable directory to use.

   --process-codepage <string>  utf8 ... use UTF-8 (default)
                                os   ... use the codepage set in Operating System.

   --perf-monitor [<string>][,<string>]...
       check performance info of encoder and output to log file
       select counter from below, default = all
                                 
     counters for perf-monitor
                                 all          ... monitor all info
                                 cpu_total    ... cpu total usage (%)
                                 cpu_kernel   ... cpu kernel usage (%)
                                 cpu_main     ... cpu main thread usage (%)
                                 cpu_enc      ... cpu encode thread usage (%)
                                 cpu_in       ... cpu input thread usage (%)
                                 cpu_out      ... cpu output thread usage (%)
                                 cpu_aud_proc ... cpu aud proc thread usage (%)
                                 cpu_aud_enc  ... cpu aud enc thread usage (%)
                                 cpu          ... monitor all cpu info
                                 gpu_load    ... gpu usage (%)
                                 gpu_clock   ... gpu avg clock
                                 vee_load    ... gpu video encoder usage (%)
                                 ved_load    ... gpu video decoder usage (%)
                                 ve_clock    ... gpu video engine clock
                                 gpu         ... monitor all gpu info
                                 queue       ... queue usage
                                 mem_private ... private memory (MB)
                                 mem_virtual ... virtual memory (MB)
                                 mem         ... monitor all memory info
                                 io_read     ... io read  (MB/s)
                                 io_write    ... io write (MB/s)
                                 io          ... monitor all io info
                                 fps         ... encode speed (fps)
                                 fps_avg     ... encode avg. speed (fps)
                                 bitrate     ... encode bitrate (kbps)
                                 bitrate_avg ... encode avg. bitrate (kbps)
                                 frame_out   ... written_frames
                                 
   --perf-monitor-interval <int> set perf monitor check interval (millisec)
                                 default 500, must be 50 or more

