Hi,
Check this: https://bugzilla.gnome.org/show_bug.cgi?id=754845 :)
This is a gstreamer related topic, please move any further discussion to
#754845
On 11.09.2015 17:03, Engin Firat wrote:
Hello Sree,
Thank you for your response. I will file a bug against gstreamer-vaapi.
I have some questions to to get a better view to the problem:
1. The built-in codec parsers are developed within gstreamer-vaapi
element and they have the same code with codecparsers coming from
gstreamer-bad plugin except they includes some minor patches?
We have gstreamer-codecparsers
(https://github.com/01org/gstreamer-codecparsers) which is for early
enablement. I usually push patches to upstream first and then
cherry-pick from there.
But sometimes upstream is too slow to integrate patches, and I push
directly to our own tree. Also we are supporting multiple gstreamer
versions (1.2, 1.4 and 1.6) in a single gstreamer-vaapi
tree, so you will get more features in built-in codecparsers comparing
with upstream parsers (if you are using older GStreamer versions)
2. When built-in codec parsers are enabled, does vaapidecode element
gain a self parse property?
Irrespective of the enable/disable built-in codecparsers, vaapidecode
will always do parsing by itself ..In practice there is a bottleneck
here, we are doing the parsing twice, once in parser element
and then in vaapidecode. This is a larger topic: more info here:
https://bugzilla.gnome.org/show_bug.cgi?id=691712
https://bugzilla.gnome.org/show_bug.cgi?id=704865
For now the decision is to do parsing inside vaapidecode always :)
3. Why we cannot get a vaapiparse_h264 element in case built-in codec
parsers are enabled (enable-builtin-codecparsers)?
libgstvaapi_parse.so is correctly linked and loaded but
vaapiparse_h264 element is not produced.
If you enable builtin-codecparsers, you must get the vaapiparse_h264 !!
(unless you disabled the built-in videoparsers)
if you disable builtin-codecparsers, you should still get
vaapiparse_h264 (unless you disabled the built-in videoparsers), but
there is bug preventing this which we will fix soon
I have been disabling the builtin-codecparsers because I want to get
vaapiparse_h264 element. The main problem is I cannot decode 1080p
streaming video coming from an IP camera. The resolutions 720p, 960p
is okey, but I cannot decode 1080p video and I think that maybe this
element can be a solution.
My pipeline is: rtspsrc ! rtph264depay ! h264parse ! vaapidecode !
queue ! vaapisink
The output of the pipeline is in attached file named *gst.out.*
I have debugged with ddd and saw where is the problem. You can find
the call stack in attached screen shot.
Could you please assist me what is the problem? Regards.
Regards.
On 9 September 2015 at 11:13, Sreerenj
<[email protected]
<mailto:[email protected]>> wrote:
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
[email protected] <mailto:[email protected]>
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.
_______________________________________________
Libva mailing list
[email protected] <mailto:[email protected]>
http://lists.freedesktop.org/mailman/listinfo/libva
--
*Engin FIRAT*
Adoniss Yazılım Bilişim
Elektronik Araştırma Geliştirme
Limited Şirketi
+90 506 884 82 07 (Mobile)
ODTÜ Teknokent, ODTÜ-Halıcı Yazılımevi
İnönü Bulvarı / ANKARA (Address)
--
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.
_______________________________________________
Libva mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libva