GstOpenCL is a GStreamer framework enabling easy OpenCL algorithm integration into GStreamer pipelines.
GstOpenCL is a GStreamer framework enabling easy OpenCL algorithm integration into GStreamer pipelines. The framework consists of a series of base classes and utils abstracting the complexity of both OpenCL and GStreamer. With GstOpenCL developers avoid writing elements from scratch, allowing the developer to focus on the algorithm logic, thus accelerating time to market.
GstOpenCL also offers a GStreamer plugin that contains a set of elements, that are ideal for GStreamer/OpenCL quick prototyping. They allow to load at runtime an external custom OpenCL kernel that contains the algorithm to be executed on the GPU on each video frame that passes through the pipeline.
GstOpenCL provides the means to design a zero memory copy interface between OpenCL and GStreamer on x86 and iMX6 boards. It is capable of directly handling and sharing HW buffers with the rest of the pipeline. This enables heavy algorithms and large amounts of data to be processed on the GPU without the extra load performance caused by copies or memory conversions.
GStreamer GstOpenCL solves the developer's need to focus on the development of OpenCL algorithms without having to worry about how to interface the algorithm with the application, how to inject and extract the data from the GPU, and how to ensure a good performance; because GstOpenCL framework takes care of those important details.