CPU usage increases while using ZoomSDKRawDataSender

I am using raw data API for receiving video of remote participants and sending video of the local participant.

When sending video with ZoomSDKRawDataSender I noticed unusually high CPU usage by zlt.framework
I also noticed that CPU usage of zlt.framework increases when remote users make my camera bigger (for example by pinning it) in their desktop Zoom client, and decreases when they make the camera smaller (unpinning)

It looks like zlt.framework performs a decoding/encoding for Zoom SDK and probably we use it in a wrong way, maybe not passing some expected flag or passing video frames in a wrong format, causing zlt.framework to do additional post-processing.

Could you please advice what options and what format of video frames should we use with ZoomSDK to optimize performance?

Some additional information about formats and options that I used in converting step:

Frame info - height: 1080, width: 1920, rowBytes: 7680;
originalBuffer - initial CVPixelBuffer;
permuteMap - [3, 2, 1, 0];
outInfo - vImage_ARGBToYpCbCr object filed by vImageConvert_ARGBToYpCbCr_GenerateConversion (code snippet below):

    var conversionError = vImageConvert_ARGBToYpCbCr_GenerateConversion(
      kvImage_ARGBToYpCbCrMatrix_ITU_R_601_4,
      &pixelRange,
      &outInfo,
      kvImageARGB8888,
      kvImage420Yp8_Cb8_Cr8,
      vImage_Flags(kvImageNoFlags)
    )

Finally original CVPixelBuffer converts using vImageConvert_ARGB8888To420Yp8_Cb8_Cr8 (code snippet below):

    var conversionError = vImageConvert_ARGB8888To420Yp8_Cb8_Cr8(
      &originalBuffer,
      &destYp,
      &destCb,
      &destCr,
      &outInfo,
      permuteMap,
      vImage_Flags(kvImageNoFlags)
    )

Than destYp, destCb, destCr concat in one UnsafeMutablePointer<CChar> to be sent using ZoomSDKRawDataSender.

Thank you!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.