mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 17:20:36 +00:00
b62bd57bda
Fix raw YUV data uploaded as in the following pipeline: $ gst-launch-1.0 filesrc video.yuv ! videoparse ! vaapipostproc ! vaapisink The main reason why it failed was that the videoparse element simply allocates GstBuffer with raw data chunk'ed off the sink pad without any prior knowledge of the actual frame info. i.e. it basically just calls gst_adapter_take_buffer(). We could avoid the extra copy performed in vaapipostproc if the videoparse element was aware of the downstream pool and bothers copying line by line, for each plane. This means that, for a single frame per buffer, the optimizatin will be to allocate the video buffer downstream, map it, and copy each line that is coming through until we need to fills in the successive planes. Still, optimized raw YUV uploads already worked with the following: $ gst-launch-1.0 videotestsrc ! vaapipostproc ! vaapisink https://bugzilla.gnome.org/show_bug.cgi?id=711250 [clean-ups, fixed error cases to unmap and unref outbuf] Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com> |
||
---|---|---|
.. | ||
vaapi | ||
Makefile.am |