[Bug 712809] d3dvideosink shows corrupted output with some videos

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sat May 31 02:26:32 PDT 2014


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |slomo at coaxion.net

--- Comment #7 from Sebastian Dröge (slomo) <slomo at coaxion.net> 2014-05-31 09:26:28 UTC ---
(In reply to comment #6)
> Just a shot in the dark:
> https://gist.github.com/ndufresne/37133b0ebc64cfd7e272
> 
> For the reference if someone need it:
> msdn.microsoft.com/en-us/library/windows/desktop/dd206750(v=vs.85).aspx
> 
> Everything is pretty standard, so I don't see why we where trying to do our own
> stride extrapolation. Let me know what that does (you might need to fix
> compilation).

The pitch is in bytes, the padding in the alignment is in pixels. I think your
calculations mix those two units in incompatible ways. You divide by the pitch
by the pixel stride, which gives you the number of pixels but will fail if the
pitch is not a multiple of the pixel stride due to rounding errors. Consider
the case of 3-byte RGB and a pitch of 4 (for width=1) as a simple case.

I don't think you can safely use the alignment API here. But you're right that
the problem is most likely in that lines of code. Someone should go through
those calculations and compare them to the MS documentation.

-- 
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