Resource Distribution Strategy
Users may query at run time the load numbers and create resources on specific devices by specifying the device ID directly for encoders and decoders as well as for ni_quadra_hwupload and ni_quadra_roi. Other Netint filters which use hardware frames are always collocated with their input.
See also APPS548 Codensity Quadra YUVbypass Application Note to learn more about hardware frames.
If the device ID is not specified, then decoders and encoders will be created on the least loaded device, either as modeled (by default), or by real load. If the input to the encoder is a hardware frame it will be collocated with its input.
Examples
The following example allocates the H.264 decoder to the least model load device by default.
ffmpeg -c:v h264_ni_quadra_dec -i input.264 output.yuv
The following example allocates the decoder to device 0 and the encoder to device 1. This is not optimal since the decoder YUV frames must be transferred from device 0 to the host and then back to device 1. Note that the use of hardware frames does not help when the encoder and decoder are on different devices.
ffmpeg -c:v h264_ni_quadra_dec -dec 0 -i input.264 -c:v h265_ni_quadra_enc -enc 1 output.265