Please provide the following info (tick the boxes after creating this topic):
Software Version
DRIVE OS 6.0.10.0
DRIVE OS 6.0.8.1
DRIVE OS 6.0.6
DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
other
Target Operating System
Linux
QNX
other
Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-300)
DRIVE AGX Orin Developer Kit (940-63710-0010-200)
DRIVE AGX Orin Developer Kit (940-63710-0010-100)
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
DRIVE AGX Orin Developer Kit (not sure its number)
other
SDK Manager Version
2.1.0
other
Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
other
Issue Description
I’m trying to reconcile a simple image buffer for test purposes. I’ve followed the iep sample application mainly and the documentation online. I’ve only set the “mandatory” keys that were listed.
NvSciBufType buffer_type = NvSciBufType_Image;
// image buffer type specific attributes
// layout
NvSciBufAttrValImageLayoutType image_layout = NvSciBufImage_BlockLinearType;
// number of planes
// images are either in Surface or plane based format
int plane_count = 2;
static const int NV_SCI_BUF_IMAGE_MAX_PLANES = 3;
NvSciBufAttrValColorFmt colorFormat[NV_SCI_BUF_IMAGE_MAX_PLANES];
colorFormat[0] = NvSciColor_Y8;
colorFormat[1] = NvSciColor_U8;
colorFormat[2] = NvSciColor_V8;u_int32_t image_width = 3840;
u_int32_t image_height = 2160;
u_int32_t plane_width[NV_SCI_BUF_IMAGE_MAX_PLANES] = {0, 0, 0};
u_int32_t plane_height[NV_SCI_BUF_IMAGE_MAX_PLANES] = {0, 0, 0};
plane_width[0] = image_width;
plane_height[0] = image_height;
plane_width[1] = image_width >> 1;
plane_height[1] = image_height >> 1;
plane_height[2] = plane_height[1];
plane_width[2] = plane_width[1];NvSciBufAttrValImageScanType scanType = NvSciBufScan_ProgressiveType;
NvSciBufAttrKeyValuePair attributes = {
{NvSciBufGeneralAttrKey_Types, &buffer_type, sizeof(buffer_type)},
{NvSciBufImageAttrKey_Layout, &image_layout, sizeof(image_layout)},
{NvSciBufImageAttrKey_PlaneCount, &plane_count, sizeof(plane_count)},
{NvSciBufImageAttrKey_PlaneColorFormat, &colorFormat,
sizeof(colorFormat)},
{NvSciBufImageAttrKey_PlaneWidth, plane_width, sizeof(plane_width)},
{NvSciBufImageAttrKey_PlaneHeight, plane_height, sizeof(plane_height)},
{NvSciBufImageAttrKey_PlaneScanType, &scanType, sizeof(scanType)},
};
Error String
I get an reconciliation error.
E20250204 02:25:56.823077 449068 main.cc:107] Failed to reconcile attribute list with error:65792
65792 is NvSciError_ReconciliationFailed.
The main thing I’m wondering is how am I supposed to go about debugging this. I’ve seen suggestions in Issue Reconciling Buffer attribute lists for NvSci. But I’m confused as well how if I get a list of attributes (NvSciBufAttrListGetAttrs) how am I supposed to go about reading them. Also when I tried to use a generic array, I would get parameter failure.
NvSciBufAttrKeyValuePair array[50];
NvSciBufAttrListGetAttrs(newConflictList, array, 50);
So I reused my input NvSciBufAttrKeyValuePair to NvSciBufAttrListSetAttrs, and that returns okay. Now I’m not sure how this NvSciBufAttrKeyValuePair is supposed to be parsed for incorrect values.