mdegans / gst-nvmanualcamerasrc

(unofficial) Nvidia argus camera source fork
MIT License
4 stars 2 forks source link

mdegans/dev: return type not declared in Argus::AeFlickerState #6

Closed indra4837 closed 3 years ago

indra4837 commented 3 years ago

https://github.com/mdegans/gst-nvmanualcamerasrc/blob/b7b647046b0ad30b81a3d4fcc717da9abbfcab42/include/public/metadata.hpp#L292

https://github.com/mdegans/gst-nvmanualcamerasrc/blob/b7b647046b0ad30b81a3d4fcc717da9abbfcab42/include/public/metadata.hpp#L403

mdegans commented 3 years ago

@indra4837 Took me a while to find this one since I couldn't replacate here. Problem was the headers in /usr/src/jetson_multimedia_api/ were modified on our dev system. I did a sudo apt install --reinstall nvidia-l4t-jetson-multimedia-api and it works again.

This is Nvidia's fault for putting the development headers and sample code in the same global, root owned, location which encourages people to edit them in place as root. I have complaned countless times on the devtalk forum about putting things in standard places, but they insist on being special which causes so many fun problems.

In the future, if you or Seth need to use the samples, I'd recommend making a copy first. Then it isn't necessary to run your IDE as root, and you can't accidentally edit the Argus headers (or worse, standard library headers). I do cp -R /usr/src/jetson_multimedia_api/ ~/Projects where Projects is my usual projects folder.

mdegans commented 3 years ago

Ok. Re-examing, this is still Nvidia's fault, but for different reasons :)

JetPack 4.5 Argus/Types.h

/**
 * Auto Exposure Anti-Banding Modes.
 */
DEFINE_NAMED_UUID_CLASS(AeAntibandingMode);
DEFINE_UUID(AeAntibandingMode, AE_ANTIBANDING_MODE_OFF,  AD1E5560,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeAntibandingMode, AE_ANTIBANDING_MODE_AUTO, AD1E5561,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeAntibandingMode, AE_ANTIBANDING_MODE_50HZ, AD1E5562,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeAntibandingMode, AE_ANTIBANDING_MODE_60HZ, AD1E5563,9C16,11E8,B568,18,00,20,0C,9A,66);

/**
 * Auto Exposure Flicker States.
 */
DEFINE_NAMED_UUID_CLASS(AeFlickerState);
DEFINE_UUID(AeFlickerState, AE_FLICKER_NONE,  AD1E5564,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeFlickerState, AE_FLICKER_50HZ, AD1E5565,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeFlickerState, AE_FLICKER_60HZ, AD1E5566,9C16,11E8,B568,18,00,20,0C,9A,66);

/**
 * Auto Exposure States.
 */
DEFINE_NAMED_UUID_CLASS(AeState);
DEFINE_UUID(AeState, AE_STATE_INACTIVE,       D2EBEA50,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeState, AE_STATE_SEARCHING,      D2EBEA51,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeState, AE_STATE_CONVERGED,      D2EBEA52,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeState, AE_STATE_FLASH_REQUIRED, D2EBEA53,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeState, AE_STATE_TIMEOUT,        D2EBEA54,9C16,11E8,B568,18,00,20,0C,9A,66);

JetPack 4.4 Argus/Types.h

/**
 * Auto Exposure Anti-Banding Modes.
 */
DEFINE_NAMED_UUID_CLASS(AeAntibandingMode);
DEFINE_UUID(AeAntibandingMode, AE_ANTIBANDING_MODE_OFF,  AD1E5560,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeAntibandingMode, AE_ANTIBANDING_MODE_AUTO, AD1E5561,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeAntibandingMode, AE_ANTIBANDING_MODE_50HZ, AD1E5562,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeAntibandingMode, AE_ANTIBANDING_MODE_60HZ, AD1E5563,9C16,11E8,B568,18,00,20,0C,9A,66);

/**
 * Auto Exposure States.
 */
DEFINE_NAMED_UUID_CLASS(AeState);
DEFINE_UUID(AeState, AE_STATE_INACTIVE,       D2EBEA50,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeState, AE_STATE_SEARCHING,      D2EBEA51,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeState, AE_STATE_CONVERGED,      D2EBEA52,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeState, AE_STATE_FLASH_REQUIRED, D2EBEA53,9C16,11E8,B568,18,00,20,0C,9A,66);
DEFINE_UUID(AeState, AE_STATE_TIMEOUT,        D2EBEA54,9C16,11E8,B568,18,00,20,0C,9A,66);

The RELEASE.txt does not mention this change. The last update to that changelog was in 2018. The versions are both:

Release 0.97 (08/10/2018)

I'll Have to add a check for JetPack 4.5 and disable AeAntibandingMode on the metadata if we're still on JetPack 4.4

mdegans commented 3 years ago

f**k. sharpnessScore is not available either with JetPack 4.5, and we need that. Ok. Looks like we'll have to upgrade to JetPack 4.5 for sure. I'll disable it for the moment just so it'll build.

mdegans commented 3 years ago

Resolved by #7