Building libgstomx.so for gstreamer 1.0 with l4t 24.1

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.

Thanks for the tip madisox, I got libgstomx.so to build with the help of your suggestions.

My goal is to get AVC/HEVC codecs working in a Buildroot environment on the X1. I might be on a fools quest, but this gets me a step closer :)

Hi. Did you have any further success with this?

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…

As I mentioned in my last post, you have to link against the libgstnvivameta library. The Makefile.am modification I mentioned takes care of that.

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.