[Bug 785054] New: if downstream doesn't support GstVideoMeta, VAAPI has to copy to another buffer and convert the stride
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue Jul 18 10:07:53 UTC 2017
https://bugzilla.gnome.org/show_bug.cgi?id=785054
Bug ID: 785054
Summary: if downstream doesn't support GstVideoMeta, VAAPI has
to copy to another buffer and convert the stride
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gstreamer-vaapi
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: vjaquez at igalia.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
CC: bsreerenj at gmail.com, vjaquez at igalia.com
GNOME version: ---
VAAPI decoder and postprocessor have a historical problem with downstream
elements without GstVideoMeta support, since VA surfaces use special strides.
In bug 766184 we added a wrong solution, forcing the GstVideoMeta even if it is
not requested.
The correct solution is to copy the VA surface onto another buffer (provided
perhaps by downstream).
For sake of completion I add the IRC discussion:
2017-07-18 11:26:58 slomo ceyusa: is vaapidec always adding GstVideoMeta,
or first checking if downstream can actually handle that and if not do
something else (copying)?
2017-07-18 11:31:35 ceyusa slomo: when the vaapi buffer pool is
configured, if the configuation doesn't request
GST_BUFFER_POOL_OPTION_VIDEO_META, it adds it
2017-07-18 11:32:12 ceyusa then, when the buffer pool allocs a buffer,
checks for the configuration and if it is, the meta is added
2017-07-18 11:33:04 slomo ceyusa: what if downstream does not provide any
buffer pool?
2017-07-18 11:35:10 ceyusa slomo: vaapi always use its own buffer pool
(except for sink pad in decoders)
2017-07-18 11:35:24 slomo ok, so that's wrong
2017-07-18 11:35:43 ceyusa why?
2017-07-18 11:36:05 slomo you must not put videometa on buffers unless
downstream claims to support videometa in the response to the allocation query
2017-07-18 11:37:41 ceyusa slomo it was added because of
https://bugzilla.gnome.org/show_bug.cgi?id=766184
2017-07-18 11:38:29 slomo ceyusa: if downstream does not support it, you
have to use the default strides/offsets. and if you can't, you have to copy to
another buffer and convert the stride
2017-07-18 11:40:47 slomo ceyusa: without that, people using vaapi will
get corrupted data if they use appsink, fakesink, or their own sink that does
not support videometa
2017-07-18 11:41:03 slomo if videometa is not supported, you have to use
the defaults
--
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