Saving Frames in RGB, Driveos-nvmedia

Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.6 and DriveWorks 4.0
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.7.1.8928
other

Host Machine Version
[**] native Ubuntu 18.04
other

Hello,
I am using the nvsipl_camera sample as a starting point and my goal is to output individual frames in RGB format. I know the sample already allows me to output to a directory if I use the -f option and --enableRawOutput but the frames are in .raw format. Is there a way to output the frames in RGB format?

Thanks for your Help!
d.baykeda

Hi @d.baykeda

Please refer to Is there a way to let ISP output RGB?. But if you encounter some issue with a failure rate (as mentioned in ISP fails depending on Log output level), the fix won’t be available because of no more releases for DRIVE AGX Xaiver. FYI.

Hello @VickNV
Thank you for the quick reply!
I saw that post but where do I call the You will need to call nvsipl::INvSIPLCamera::RegisterImages() ?

Thanks again

It would be something like the below code snippet in AllocateAndRegisterBuffers().

    NVM_SURF_FMT_DEFINE_ATTR(surfFormatAttrs);
    NVM_SURF_FMT_SET_ATTR_RGBA (surfFormatAttrs, RGBA, UINT, 8, PL);

    attr.surfaceType =NvMediaSurfaceFormatGetType(surfFormatAttrs, NVM_SURF_FMT_ATTR_MAX);

    for (std::vector<int>::size_type i = 0U; i < attr.surfaceAllocAttr.size(); i++) {                                                                                          
        if (attr.surfaceAllocAttr[i].type == NVM_SURF_ATTR_COLOR_STD_TYPE) {
            attr.surfaceAllocAttr[i].value = NVM_SURF_ATTR_COLOR_STD_SRGB;
            cout << "attr.surfaceAllocAttr i = " << i << "\n";
            break;                                                      
        }                                                               
    }

Hey @VickNV,
Thank you so much for taking the time to help me!!
I do not see the AllocateAndRegisterBuffers() in the CNvSIPLMaster.hpp. Do I write that function or should it have been part of the CNvSIPLMaster.hpp?

Hey @VickNV ,
I noticed the reference you gave me was for DRIVE OS Linux 5.2.6. I have DRIVE OS Linux 5.1.6 .1. Is There a way to save individual frames in RGB format to a file? using nvsipl_camera as a starting point on DRIVE OS Linux 5.1.6 .1 ? If so, can you please point me in the right direction.

Best Wishes
d.baykeda