[Libva] Compilation of vaapiparse elements

Engin Firat engin.firat at adonissyazilim.com
Tue Sep 8 09:54:29 PDT 2015


Hello all,

I have written the same problem before gstreamer-devel forum but I cannot
find any support to assist me in this problem. So I am writing here,
expecting to find some support here.

Here is the link to post in gstreamer-devel forum.

http://gstreamer-devel.966125.n4.nabble.com/Compilation-of-gstreamer-vaapi-from-source-tc4673454.html

Meanwhile I have been working on problem and I want to share a more
detailed version of the problem:

I have compiled gstreamer, gstreamer-base and gstreamer-bad of versions
1.5.90.
I have compiled gstreamer-vaapi 0.6.0 version. Before compilation I have
been using the following flags to configure the library:

*./configure --prefix=/usr/local --enable-builtin-videoparsers
--enable-builtin-codecparsers=no --enable-encoders*

The library was compiled successfully and I have installed it. After
installation I run the following command:
*$ gst-inspect-1.0 -b*

and I got the following output:
*(gst-plugin-scanner:26005): GStreamer-WARNING **: Failed to load plugin
'/usr/local/lib/gstreamer-1.0/libgstvaapi_parse.so':
/usr/local/lib/gstreamer-1.0/libgstvaapi_parse.so: undefined symbol:
gst_h265_parser_free*
*Blacklisted files:*
*  libgstvaapi_parse.so*

I control the file *libgstvaapi_parse.so* *, *the following is portion of
output that contains h265 word:

*000000000001c3b0 t gst_h265_parse_class_intern_init*
*000000000001da80 t gst_h265_parse_event*
*000000000001d880 t gst_h265_parse_finalize*
*000000000001c720 t gst_h265_parse_format_from_caps*
*000000000001c640 t gst_h265_parse_get_caps*
*000000000001dc90 t gst_h265_parse_get_property*
*000000000001d8b0 t gst_h265_parse_get_string.isra.1.part.2*
*00000000000229b0 t gst_h265_parse_get_type*
*000000000001f480 t gst_h265_parse_handle_frame*
*000000000001c380 t gst_h265_parse_init*
*000000000001ddb0 t gst_h265_parse_negotiate*
*000000000022dfd8 b gst_h265_parse_parent_class*
*000000000001f380 t gst_h265_parse_parse_frame*
*0000000000020bf0 t gst_h265_parse_pre_push_frame*
*000000000022dfd0 b GstH265Parse_private_offset*
*000000000001cc20 t gst_h265_parse_process_nal*
*000000000001d500 t gst_h265_parse_push_codec_buffer*
*000000000001d620 t gst_h265_parse_reset*
*000000000001d570 t gst_h265_parse_reset_frame*
*                 U gst_h265_parser_free*
*                 U gst_h265_parser_identify_nalu*
*                 U gst_h265_parser_identify_nalu_hevc*
*                 U gst_h265_parser_identify_nalu_unchecked*
*                 U gst_h265_parser_new*
*                 U gst_h265_parser_parse_nal*
*                 U gst_h265_parser_parse_pps*
*                 U gst_h265_parser_parse_slice_hdr*
*                 U gst_h265_parser_parse_sps*
*                 U gst_h265_parser_parse_vps*
*000000000001c900 t gst_h265_parser_store_nal*
*0000000000020610 t gst_h265_parse_set_caps*
*000000000001dd20 t gst_h265_parse_set_property*
*000000000001d8e0 t gst_h265_parse_src_event*
*000000000001d800 t gst_h265_parse_start*
*000000000001d710 t gst_h265_parse_stop*
*000000000001e060 t gst_h265_parse_update_src_caps*
*000000000001cb20 t gst_h265_parse_wrap_nal*
*                 U gst_h265_slice_hdr_free*

It seems that, the symbol *gst_h265_parser_free *actually is not undefined.
However this is normal in circumstances where this undefined symbol is
defined somewhere else. So I have controlled the ldd output of the
*libgstvaapi_parse.so* file to see the external dependencies:

*$ ldd libgstvaapi_parse.so *

The following is the output:

* linux-vdso.so.1 =>  (0x00007fffe5aa6000)*
* libgstcodecparsers_vpx.so.0 => /usr/local/lib/libgstcodecparsers_vpx.so.0
(0x00007faec7ba9000)*
* libgstvideo-1.0.so.0 => /usr/local/lib/libgstvideo-1.0.so.0
(0x00007faec793c000)*
* libgstbase-1.0.so.0 => /usr/local/lib/libgstbase-1.0.so.0
(0x00007faec76de000)*
* libgstreamer-1.0.so.0 => /usr/local/lib/libgstreamer-1.0.so.0
(0x00007faec73c4000)*
* libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
(0x00007faec7173000)*
* libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0
(0x00007faec6e6a000)*
* libgstpbutils-1.0.so.0 => /usr/local/lib/libgstpbutils-1.0.so.0
(0x00007faec6c40000)*
* libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007faec6a22000)*
* libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faec665b000)*
* libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007faec6355000)*
* libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0
(0x00007faec6151000)*
* librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007faec5f48000)*
* libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007faec5d44000)*
* libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007faec5b3c000)*
* libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007faec58fd000)*
* libgstaudio-1.0.so.0 => /usr/local/lib/libgstaudio-1.0.so.0
(0x00007faec56b3000)*
* /lib64/ld-linux-x86-64.so.2 (0x00007faec8045000)*
* libgsttag-1.0.so.0 => /usr/local/lib/libgsttag-1.0.so.0
(0x00007faec5479000)*
* libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007faec5260000)*


I have found that the symbol is defined in *libgstcodecparsers-1.0.so
<http://libgstcodecparsers-1.0.so> *but libgstvaapi_parse.so does not have
any dependency on this library nor files it is depended.

Could you please help me to find the problem?

Regards.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libva/attachments/20150908/bc4c0b93/attachment.html>


More information about the Libva mailing list