Here is the statics of color space conversion using nvvideoconv and ffmpegcolorspace.
Using gstreamer, I am getting 1080p@50 FPS from camera sensor (YUV422 format) and feeding that to nvvideoconv plugin. During the color space conversion, two CPU cores are active and average CPU load is 120% (CPU1 load + CPU2 load). The output of nvvideoconv (after converting to I420) is 1080p@33 FPS.
In the same test case, instead of using nvvideoconv, ffmpegcolorspace is used. During this color space conversion, only one CPU core is active and its load is 100% and the output of the ffmpegcolorspcae is 1080p@28 FPS.
My question is, when nvvideoconv uses hardware unit, why 2 cores should be active, but when using ffmpegcolorspace (which use CPU for its color space conversion) uses only one core?