Executable ctrlsw_encoder - Executable ctrlsw_encoder - 3.0 English - PG447

H.264/H.265/JPEG Video Codec Unit 2 (VCU2) Solutions LogiCORE IP Product Guide (PG447)

Document ID
PG447
Release Date
2026-03-06
Version
3.0 English
ctrlsw_encoder -cfg <configuration_file> [options]

cltrlsw_encoder –-help 
cltrlsw_encoder –h

This command line encodes a stream as specified in the configuration file. Configuration file settings can be overridden with command line options. For example, one could override the YUV input file and output file to encode several streams with the settings as specified in the same configuration file.

Table 1. Encoder Software Commands
Command Description
--help,-h Show this help
--help-json Show this help (json)
--version Show version
--cfg,-cfg <string> Specify configuration file
--cfg-permissive, -cfg-permissive <string> Use it instead of -cfg. Errors in the configuration file will be ignored
--set <string>

Use the same syntax as in the cfg to specify a parameter

(Example: --set "[INPUT] Width = 512")

--input,-i <string> YUV input file
--map,-m <string> Map input file
--output,-o <string> Compressed output file
--output-rec,-r <string> Output reconstructed YUV file
--md5-rec <string> Filename to the output MD5 of the reconstructed pictures
--md5-stream <string> Filename to the output MD5 of the bitstream
--input-width <number> Specifies YUV input width
--input-height <number> Specifies YUV input height
--input-format <enum> Specifies YUV input format (I420, IYUV, YV12, NV12, Y800, Y010, P010, I0AL ...)
--rec-format <enum> Specifies output format
--level <number> Specifies the level we want to encode with (10 to 62)
--profile <enum> Specifies the profile we want to encode with (examples: HEVC_MAIN, AVC_MAIN, ..)
--chroma-mode <enum> Specify chroma-mode (CHROMA_MONO, CHROMA_4_0_0,CHROMA_4_2_0,CHROMA_4_2_2, CHROMA_4_4_4)
--out-bitdepth <number> Specifies bitdepth of output stream (8 : 10 : 12)
--num-slices <number> Specifies the number of slices to use
--slicelat Enable subframe latency
--framelat Disable subframe latency
--gmv <string> A file where the global motion vector which will be used to encode are stored
--lookahead <number> Set the twopass LookAhead size
--pass <number> Specify which pass we are encoding
--pass-logfile <string> LogFile to transmit dual pass statistics
--first-pass-scd During first pass, the encoder encode faster by only enabling scene change detection
--src-sync Use synchronized source for encoder
--sync-chan <number> Use synchronized source channel ID
[Rate Control & GOP]
--ratectrl-mode <enum> Specifies rate control mode (CONST_QP,CBR, VBR, LOW_LATENCY)
--bitrate <number> Specifies bitrate in Kbits/s
--max-bitrate <number> Specifies max bitrate in Kbits/s
--framerate <number> Specifies the frame rate used for encoding
--sliceQP <number> Specifies the initial slice QP
--gop-mode <enum> Specifies gop control mode (DEFAULT_GOP,LOW_DELAY_P)
--gop-length <number> Specifies the GOP length, 1 means I slice only
--gop-numB <number> Number of consecutive B frame (0 .. 4)
[Run]
--first-picture <number> First picture encoded (skip those before)
--max-picture <number> Maximum number of pictures encoded (1,2 .. -1 for ALL)
--loop Loop at the end of the yuv file
--multi-inst Allow encoding spread on multiple IP instances
--input-sleep <number> Minimum waiting time in milliseconds between each process frame (0 by default)
[Traces & Debug]
--stride-height <number> Chroma offset (vertical stride)
--stride <number> Luma stride
--multi-chunk Allocate source luma and chroma on different memory chunks
--num-core <number> Specifies the number of cores to use (resolution needs to be sufficient)
--stream-buf-size <number> Specify stream buffers size
--non-realtime Specifies that the channel is a non-realtime channel
--print-ratectrl-stat

Write rate-control related statistics for each frame in the file. Only a subset of the statistics is written, more data and motion vectors are also available.

--print-picture-type Write picture type for each frame in the file
--mc-clip <enum> Multi-chip clip options: (Subset of LRTB)
--device <string>

Path of the driver device file used to talk with the IP.

Default is: /dev/ale3_riscv

[Misc]
--color

Enable the display of command line color

(Default: Auto)

--no-color Disable the display of command line color
--quiet,-q Do not print anything
--verbosity <number> Choose the verbosity level (-q is equivalent to --verbosity 0)