I’m attempting to cross-compile libgstomx.so for gstreamer 1.0 with l4t v24.1 and run into the following build error:
CC libgstomx_la-gstomx_config.lo
CC libgstomx_la-gstomx.lo
CC libgstomx_la-gstomxvideodec.lo
gstomxvideodec.c:31:30: fatal error: gstnvivameta_api.h: No such file or directory
I’ve looked in the sample root filesystem, 23.2 libgstomx 1.0 sources, and 24.1 libgstomx 0.1 sources for gstnvivameta_api.h with no luck. Has anyone else tried building libgstomx.so from the 24.1 release with success? Any pointers on where to find this file?
I got it to build by creating an empty gst-omx1/omx/gstnvivameta_api.h, although I also had to patch the gst-omx1/omx/Makefile.am to add “-lgstnvivameta” to the libstomx_la_LIBADD variable.
When I build the plugin using an empty gstnvivameta_api.h, I get complaints about gst_buffer_add_iva_meta being an undefined symbol when trying to load the plugin. So I think there is actually code missing here…
Hm. I managed to find libgstnvivameta.so in nvgstapps.tbz2 in the driver package, but where is the source? It’s not in the “NV GST Apps sources” package, and there doesn’t seem to be a separate source package for it like there is for libgstnvegl-1.0.so.0 which is also in nvgstapps.tbz2…
I’m not sure about how to build libgstnvivameta.so, marcus_c. Luckily, the pre-built version in gst apps proved sufficient for me due to abi and api compatibility, unlike libgstomx.so for some reason which I didn’t try to track down, hence my reason for rebuilding it. Have you tried using the pre-built version of libgstnvivameta.so?
One more note about building the libgstomx.so - I had to add build support for 265 encode and decode into the omx/Makefile.am, just copy what’s there for 264. I also had to add VP9 decode in omx/Makefile.am and configure.ac, just copy what’s there for VP8 decode. Without these gst-inspect-1.0 was reporting errors. I’m not sure why they aren’t already part of the build.