[Bug 733717] glmemory allocate size didn't match video_orc_pack_I420 needs if height is odd

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Jul 28 00:31:08 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=733717
  GStreamer | gst-plugins-bad | 1.4.0

Sebastian Dröge (slomo) <slomo> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
                 CC|                            |slomo at coaxion.net
     Ever Confirmed|0                           |1

--- Comment #2 from Sebastian Dröge (slomo) <slomo at coaxion.net> 2014-07-28 07:31:04 UTC ---
That's wrong, and also:

  gst_video_info_set_format (&info, GST_VIDEO_FORMAT_I420, 512, 11);
  g_print ("%d %d %d\n",
           GST_VIDEO_INFO_COMP_HEIGHT (&info, 0),
           GST_VIDEO_INFO_COMP_HEIGHT (&info, 1),
           GST_VIDEO_INFO_COMP_HEIGHT (&info, 2));
  g_print ("%d\n", info.size);

outputs:

11 6 6
9216


So if videotestsrc writes a 12th line that would be wrong. But the size it uses
is correct (and the one used by gl is wrong).


Note the calculations in video-info.c:fill_planes()

      info->stride[0] = GST_ROUND_UP_4 (width);
      info->stride[1] = GST_ROUND_UP_4 (GST_ROUND_UP_2 (width) / 2);
      info->stride[2] = info->stride[1];
      info->offset[0] = 0;
      info->offset[1] = info->stride[0] * GST_ROUND_UP_2 (height);
      info->offset[2] = info->offset[1] +
          info->stride[1] * (GST_ROUND_UP_2 (height) / 2);
      info->size = info->offset[2] +
          info->stride[2] * (GST_ROUND_UP_2 (height) / 2);

We are probably missing the rounding up for the height in gl.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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