Please provide the following info (check/uncheck the boxes after clicking “+ Create Topic”):
Software Version
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version
other
Target Operating System
Linux
QNX
other
Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
other
SDK Manager Version
1.6.0.8170
1.5.1.7815
1.5.0.7774
other
Host Machine Version
native Ubuntu 18.04
other
I would like to learn the suggested way to convert NvMediaImage data with Block-Linear surface layout (for a semi-planar YUV 420) into Pitch-Linear surface layout, by using NvMedia libraries in Drive OS 5.2
The purpose is to be able to directly feed the output of the ISP0/1 into the jpeg encoder, which seems to accept only Pitch-Linear surface layout.
My current approach is doing the following:
status = NvMedia2DBlitEx(m_i2d, /* i2d */
imageFrame, /* dstSurface */
NULL, /* dstRect */
imagePtr, /* srcSurface */
NULL, /* srcRect */
NULL, /* params */
NULL); /* paramsOut */
where imageFrame is allocated with NvMediaImageCreateNew , with a pitch linear surface layout, and imagePtr is obtained from the output buffer of ISP0, which is in block linear surface layout.
This seems to work, since I can use imageFrame with NvMediaIJPEFeedFrame. However, I’m not sure if this way of blitting is the most efficient way to use the hardware.