mirror of
https://gitlab.freedesktop.org/monado/monado.git
synced 2025-01-23 23:21:46 +00:00
43 lines
1,004 B
C
43 lines
1,004 B
C
// Copyright 2019, Collabora, Ltd.
|
|
// SPDX-License-Identifier: BSL-1.0
|
|
/*!
|
|
* @file
|
|
* @brief @ref xrt_frame helpers.
|
|
* @author Jakob Bornecrantz <jakob@collabora.com>
|
|
* @ingroup aux_util
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "xrt/xrt_frame.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
/*!
|
|
* Creates a single non-pooled frame, when the reference reaches zero it is
|
|
* freed.
|
|
*/
|
|
void
|
|
u_frame_create_one_off(enum xrt_format f, uint32_t width, uint32_t height, struct xrt_frame **out_frame);
|
|
|
|
/*!
|
|
* Clones a frame. The cloned frame is not freed when the original frame is freed; instead the cloned frame is freed
|
|
* when its reference reaches zero.
|
|
*/
|
|
void
|
|
u_frame_clone(struct xrt_frame *to_copy, struct xrt_frame **out_frame);
|
|
|
|
/*!
|
|
* Creates a frame out of a region of interest from @p original frame. Does not
|
|
* duplicate data, increases @p original refcount instead.
|
|
*/
|
|
void
|
|
u_frame_create_roi(struct xrt_frame *original, struct xrt_rect roi, struct xrt_frame **out_frame);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|