[Libva] Compilation of vaapiparse elements

Sreerenj sreerenj.balachandran at intel.com
Wed Sep 9 01:13:17 PDT 2015


Hi Firat,

Thanks for catching this.
Here the local video parser plugin (libgstvaapi_parse.so) is only trying 
to link against the local(builtin) codec parser library.
But since you disabled the builtin-codecparser at compile time ,the 
videoparsersesr is not getting the link correctly.

Fix is needed in gst/vaapi/Makefile.am,,,

BTW, why can't you use the builtin-codecparsers?? We always make sure 
the built-in codecparsers are up to date with upstream..
Also if someone uses older GStreamer versions, I prefer using the 
built-in codecparsers since upstream is missing some patches...

Could you please file a bug against gstreamer-vaapi 
:https://bugzilla.gnome.org/enter_bug.cgi?product=gstreamer-vaapi..
I will fix it, or you can attach the patch too :)

On 08.09.2015 19:54, Engin Firat wrote:
> 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.
>
>
> _______________________________________________
> Libva mailing list
> Libva at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libva

-- 
Thanks
Sree

---------------------------------------------------------------------
Intel Finland Oy
Registered Address: PL 281, 00181 Helsinki 
Business Identity Code: 0357606 - 4 
Domiciled in Helsinki 

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libva/attachments/20150909/a63280cc/attachment-0001.html>


More information about the Libva mailing list