not regression issue. only find this issue on BDW/HSW. you can get background knowledge from Bug 731192(https://bugzilla.gnome.org/show_bug.cgi?id=731192) log: [root@x-hswmedia ~]# gst-launch-1.0 filesrc location=/root/media_tools/decoder/Base_Ext_Main_profile/Sharp_MP_Field_2_B.jvt '!' h264parse '!' vaapidecode '!' vaapipostproc deinterlace-mode=interlaced deinterlace-method=4 width=400 height=300 '!' vaapisink sync=false libva error: Open file /root/trace_test/tracelog.15188.007c85f0 failed (No such file or directory) libva info: VA-API version 0.35.2 libva info: va_getDriverName() returns 0 libva info: Trying to open /opt/X11R7/lib/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_35 libva info: va_openDriver() returns 0 Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Got context from element 'vaapidecode0': gst.vaapi.Display=context, display=(GstVaapiDisplay)NULL; Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock WARNING: A forward temporal reference is needed for Motion adaptive/compensated deinterlacing !!! gst-launch-1.0: gen75_vpp_vebox.c:63: vpp_surface_convert: Assertion `src_obj_surf->orig_width == dst_obj_surf->orig_width' failed. Aborted (core dumped)
Here are six pipes for easy testing this bug/issue. The used h264 interlace file can be downloaded at http://www.avsforum.com/forum/26-home-theater-computers/1157287-hd-1080i-test-pattern-determine-vector-adaptive-deinterlacing-others-icl-ticker-2.html#post16900173 I use the file "PAL interlaced (25 FPS): H.264 - 1080i - 25 fps - (33 MB)" The pipes # 1,2,3,4,5,6: gst-launch-1.0 filesrc location=/root/Slices_H.264_PAL_1080i-25.ts ! decodebin ! vaapisink gst-launch-1.0 filesrc location=/root/Slices_H.264_PAL_1080i-25.ts ! tsdemux ! vaapidecode ! vaapisink gst-launch-1.0 filesrc location=/root/Slices_H.264_PAL_1080i-25.ts ! decodebin ! vaapipostproc deinterlace-mode=interlaced deinterlace-method=bob ! vaapipostproc width=400 height=300 ! vaapisink gst-launch-1.0 filesrc location=/root/Slices_H.264_PAL_1080i-25.ts ! tsdemux ! vaapidecode ! vaapipostproc deinterlace-mode=interlaced deinterlace-method=bob ! vaapipostproc width=400 height=300 ! vaapisink gst-launch-1.0 filesrc location=/root/Slices_H.264_PAL_1080i-25.ts ! decodebin ! vaapipostproc deinterlace-mode=interlaced deinterlace-method=bob width=400 height=300 ! vaapisink gst-launch-1.0 filesrc location=/root/Slices_H.264_PAL_1080i-25.ts ! tsdemux ! vaapidecode ! vaapipostproc deinterlace-mode=interlaced deinterlace-method=bob width=400 height=300 ! vaapisink Why six pipes? Always two pipes for each test case, one with decodebin and one with vaapidecode. Some pipes works with older test setups, the pipes with only "ONE vaapipostproc call" never worked. ===================================================================================== My (old) test setup: libva info: VA-API version 0.35.1 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_35 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.35 (libva 1.3.1) vainfo: Driver version: Intel i965 driver - 1.3.1 Pipe # 1,2,3,4 works pipe # 5,6 works NOT (the pipes with "ONE vaapipostproc call") ===================================================================================== ===================================================================================== My (new) test setup: libva info: VA-API version 0.35.2 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_35 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.35 (libva 1.3.2.pre1) vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 1.3.3.pre1 Pipe # 1,3 works (decodebin used) pipe # 2,4 works NOT (vaapidecode used) pipe # 5,6 works NOT (the pipes with "ONE vaapipostproc call") ===================================================================================== Hardware for all tests HSW i7. Please let me know if you need more information.
> Pipe # 1,3 works (decodebin used) > pipe # 2,4 works NOT (vaapidecode used) > pipe # 5,6 works NOT (the pipes with "ONE vaapipostproc call") 1. change #2 gst version to gst-launch-0.10, it will work OK. so it is gstreamer issue. the #4 #6 should be the same issue. Do you have a bug to trace this? gst-launch-1.0 filesrc location=/root/Slices_H.264_PAL_1080i-25.ts ! tsdemux ! vaapidecode ! vaapisink 2. #5 are the issue about two vaapipostproc and one vaapipostproc Do you have a bug to trace this?
Please keep this ticket to trace the assertion issue. ===================== WARNING: A forward temporal reference is needed for Motion adaptive/compensated deinterlacing !!! gst-launch-1.0: gen75_vpp_vebox.c:63: vpp_surface_convert: Assertion `src_obj_surf->orig_width == dst_obj_surf->orig_width' failed. Aborted (core dumped) ============================
with motion adaption deinterlance, we can see the assertion. bob mode work well.
Retested pipes with last commit. Setup info: libva info: VA-API version 0.36.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/va/i965_drv_video.so libva info: Found init function __vaDriverInit_0_36 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.36 (libva 1.4.1) vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 1.4.1 vainfo: Supported profile and entrypoints vaapi Version 0.5.10.pre1 commit 8bf8f1104d5725536243f44c0330144c3ba1a428 Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com> Date: Thu Nov 27 12:11:03 2014 +0200 gstreamer version 1.4.4 Tested pipes: The pipes # 1,2,3,3a,4,5,6: // #1 OK gst-launch-1.0 filesrc location=/root/Slices_H.264_PAL_1080i-25.ts ! decodebin ! vaapisink // #2 not OK, vaapidecode0: GStreamer error: negotiation problem. gst-launch-1.0 filesrc location=/root/Slices_H.264_PAL_1080i-25.ts ! tsdemux ! vaapidecode ! vaapisink // #3 OK, but two times vaapipostproc !! gst-launch-1.0 filesrc location=/root/Slices_H.264_PAL_1080i-25.ts ! decodebin ! vaapipostproc deinterlace-mode=interlaced deinterlace-method=bob ! vaapipostproc width=400 height=300 ! vaapisink //#3a not OK, green only (same as #3, but one time vaapipostproc only) gst-launch-1.0 filesrc location=/root/Slices_H.264_PAL_1080i-25.ts ! decodebin ! vaapipostproc deinterlace-mode=interlaced deinterlace-method=bob width=400 height=300 ! vaapisink // #4 not OK, vaapidecode0: GStreamer error: negotiation problem. gst-launch-1.0 filesrc location=/root/Slices_H.264_PAL_1080i-25.ts ! tsdemux ! vaapidecode ! vaapipostproc deinterlace-mode=interlaced deinterlace-method=bob ! vaapipostproc width=400 height=300 ! vaapisink // #5 not OK, green only gst-launch-1.0 filesrc location=/root/Slices_H.264_PAL_1080i-25.ts ! decodebin ! vaapipostproc deinterlace-mode=interlaced deinterlace-method=bob width=400 height=300 ! vaapisink // #6 not OK, vaapidecode0: GStreamer error: negotiation problem. gst-launch-1.0 filesrc location=/root/Slices_H.264_PAL_1080i-25.ts ! tsdemux ! vaapidecode ! vaapipostproc deinterlace-mode=interlaced deinterlace-method=bob width=400 height=300 ! vaapisink Only #1 is working! #3 is also working, but with two vaapipostproc calls, this is not good. All other pipes are not working! All pipes with vaapidecode doesn't work! See also bug with mpeg2 sources, deinterlace and scaling: https://bugzilla.gnome.org/show_bug.cgi?id=731460
Test again and it works now. Issue fixed with libva/intel-driver version 1.5.0 (also with 1.5.0.pre1) For those who want to retest.... With vaapidecode now h264parse is necessary. Example: gst-launch-1.0 filesrc location=/root/Slices_H.264_PAL_1080i-25.ts ! tsdemux ! h264parse ! vaapidecode ! vaapipostproc deinterlace-mode=interlaced deinterlace-method=bob width=400 height=300 ! vaapisink Setup info: libva info: VA-API version 0.37.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/va/i965_drv_video.so libva info: Found init function __vaDriverInit_0_37 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.37 (libva 1.5.0) vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 1.5.0 gstreamer version 1.4.4 vaapi version 0.5.10.pre1 Thanks for support.
as frhu' commit, this issue has been fixed. so close it.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.