[Bug 766862] New: Play H264 Interlace video with vaapipostproc causing video jerking

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed May 25 10:16:13 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=766862

            Bug ID: 766862
           Summary: Play H264 Interlace video with vaapipostproc causing
                    video jerking
    Classification: Platform
           Product: GStreamer
           Version: 1.7.90
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gstreamer-vaapi
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: siew.hoon.lim at intel.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
                CC: bsreerenj at gmail.com, vjaquez at igalia.com
     GNOME version: ---

Created attachment 328488
  --> https://bugzilla.gnome.org/attachment.cgi?id=328488&action=edit
test_video_h264_info.txt

Gstreamer framework 1.7.90 version
Gstreamer-vaapi: 1.7.90 version.

command:
gst-launch-1.0 filesrc
location=/home/root/H264_Main_Interlaced_Sound_ToTheLimit.mp4 ! qtdemux !
vaapidecode ! vaapipostproc deinterlace-mode=1 deinterlace-method=1 ! vaapisink
fullscreen=true

Combination:
deinterlace-mode=1 and deinterlace-method=0
deinterlace-mode=1 and deinterlace-method=1
deinterlace-mode=1 and deinterlace-method=2

deinterlace-mode=0 and deinterlace-method=0
deinterlace-mode=0 and deinterlace-method=1
deinterlace-mode=0 and deinterlace-method=2


H264 interlace video with vaapipostproc with above combination will causing the
video jerking. The issue also able to reproduce in 1.8.1 version too.


flags = 0x0 and ttf=0x1

Original version: gst_vaapipostproc_process function
  /* Second field */
  append_output_buffer_metadata (postproc, outbuf, inbuf, 0);

  meta = gst_buffer_get_vaapi_video_meta (outbuf);
  outbuf_flags = flags;
  outbuf_flags |= deint ? (tff ?
      GST_VAAPI_PICTURE_STRUCTURE_BOTTOM_FIELD :
      GST_VAAPI_PICTURE_STRUCTURE_TOP_FIELD) :
      GST_VAAPI_PICTURE_STRUCTURE_FRAME;
  gst_vaapi_video_meta_set_render_flags (meta, outbuf_flags);


Modify version: 
  /* Second field */
  append_output_buffer_metadata (postproc, outbuf, inbuf, 0);

  meta = gst_buffer_get_vaapi_video_meta (outbuf);
  outbuf_flags = flags;
  outbuf_flags |= deint ? (tff ?
      GST_VAAPI_PICTURE_STRUCTURE_TOP_FIELD :
      GST_VAAPI_PICTURE_STRUCTURE_BOTTOM_FIELD) :
      GST_VAAPI_PICTURE_STRUCTURE_FRAME;
  gst_vaapi_video_meta_set_render_flags (meta, outbuf_flags);


After I make the arrangement in outbuf_flags same as the fieldbuf_flags logic
checking, the video jerking issue go away.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list