mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
image: add gst_vaapi_image_copy() helper.
Add gst_vaapi_image_copy() helper function to copy images of same format and size.
This commit is contained in:
parent
0b1a97cbf9
commit
e183ea1290
3 changed files with 36 additions and 0 deletions
|
@ -228,6 +228,7 @@ gst_vaapi_image_get_data_size
|
|||
gst_vaapi_image_get_buffer
|
||||
gst_vaapi_image_get_raw
|
||||
gst_vaapi_image_update_from_buffer
|
||||
gst_vaapi_image_copy
|
||||
<SUBSECTION Standard>
|
||||
GST_VAAPI_IMAGE
|
||||
</SECTION>
|
||||
|
|
|
@ -1116,3 +1116,35 @@ gst_vaapi_image_update_from_raw(
|
|||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_vaapi_image_copy:
|
||||
* @dst_image: the target #GstVaapiImage
|
||||
* @src_image: the source #GstVaapiImage
|
||||
*
|
||||
* Copies pixels data from @src_image to @dst_image. Both images shall
|
||||
* have the same format and size.
|
||||
*
|
||||
* Return value: %TRUE on success
|
||||
*/
|
||||
gboolean
|
||||
gst_vaapi_image_copy(GstVaapiImage *dst_image, GstVaapiImage *src_image)
|
||||
{
|
||||
GstVaapiImageRaw dst_image_raw, src_image_raw;
|
||||
gboolean success = FALSE;
|
||||
|
||||
g_return_val_if_fail(dst_image != NULL, FALSE);
|
||||
g_return_val_if_fail(src_image != NULL, FALSE);
|
||||
|
||||
if (!_gst_vaapi_image_map(dst_image, &dst_image_raw))
|
||||
goto end;
|
||||
if (!_gst_vaapi_image_map(src_image, &src_image_raw))
|
||||
goto end;
|
||||
|
||||
success = copy_image(&dst_image_raw, &src_image_raw, NULL);
|
||||
|
||||
end:
|
||||
_gst_vaapi_image_unmap(src_image);
|
||||
_gst_vaapi_image_unmap(dst_image);
|
||||
return success;
|
||||
}
|
||||
|
|
|
@ -156,6 +156,9 @@ gst_vaapi_image_update_from_raw(
|
|||
GstVaapiRectangle *rect
|
||||
);
|
||||
|
||||
gboolean
|
||||
gst_vaapi_image_copy(GstVaapiImage *dst_image, GstVaapiImage *src_image);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* GST_VAAPI_IMAGE_H */
|
||||
|
|
Loading…
Reference in a new issue