Monado OpenXR Runtime
u_frame.h File Reference

xrt_frame helpers. More...

#include "xrt/xrt_frame.h"
Include dependency graph for u_frame.h:

Go to the source code of this file.

Functions

void u_frame_create_one_off (enum xrt_format f, uint32_t width, uint32_t height, struct xrt_frame **out_frame)
 Creates a single non-pooled frame, when the reference reaches zero it is freed. More...
 
void u_frame_clone (struct xrt_frame *to_copy, struct xrt_frame **out_frame)
 Clones a frame. More...
 
void u_frame_create_roi (struct xrt_frame *original, struct xrt_rect roi, struct xrt_frame **out_frame)
 Creates a frame out of a region of interest from original frame. More...
 

Detailed Description

Function Documentation

◆ u_frame_clone()

void u_frame_clone ( struct xrt_frame to_copy,
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.

References xrt_frame::source_id, xrt_frame::source_sequence, and U_TYPED_CALLOC.

◆ u_frame_create_one_off()

void u_frame_create_one_off ( enum xrt_format  f,
uint32_t  width,
uint32_t  height,
struct xrt_frame **  out_frame 
)

Creates a single non-pooled frame, when the reference reaches zero it is freed.

References u_format_is_blocks(), and U_TYPED_CALLOC.

Referenced by create_frame_with_format_of_size().

◆ u_frame_create_roi()

void u_frame_create_roi ( struct xrt_frame original,
struct xrt_rect  roi,
struct xrt_frame **  out_frame 
)

Creates a frame out of a region of interest from original frame.

Does not duplicate data, increases original refcount instead.

References u_format_block_height(), u_format_block_size(), u_format_block_width(), and U_TYPED_CALLOC.