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

hello,
any update on this issue?

For 5.1.6.1, you can refer to the code snippet in CComposite for raw to rgba conversion. Thanks.

1 Like

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