Monado OpenXR Runtime
u_sink.h
Go to the documentation of this file.
1 // Copyright 2019, Collabora, Ltd.
2 // SPDX-License-Identifier: BSL-1.0
3 /*!
4  * @file
5  * @brief @ref xrt_frame_sink converters and other helpers.
6  * @author Jakob Bornecrantz <jakob@collabora.com>
7  * @ingroup aux_util
8  */
9 
10 #pragma once
11 
12 #include "xrt/xrt_frame.h"
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 
20 {
21  bool stereo_sbs;
22  bool ps4_cam;
23  bool leap_motion;
24 };
25 
26 void
27 u_sink_create_format_converter(struct xrt_frame_context *xfctx,
28  enum xrt_format f,
29  struct xrt_frame_sink *downstream,
30  struct xrt_frame_sink **out_xfs);
31 
32 void
33 u_sink_create_to_r8g8b8_or_l8(struct xrt_frame_context *xfctx,
34  struct xrt_frame_sink *downstream,
35  struct xrt_frame_sink **out_xfs);
36 
37 void
38 u_sink_create_to_yuv_yuyv_or_l8(struct xrt_frame_context *xfctx,
39  struct xrt_frame_sink *downstream,
40  struct xrt_frame_sink **out_xfs);
41 
42 void
43 u_sink_create_to_yuv_or_yuyv(struct xrt_frame_context *xfctx,
44  struct xrt_frame_sink *downstream,
45  struct xrt_frame_sink **out_xfs);
46 
47 void
48 u_sink_deinterleaver_create(struct xrt_frame_context *xfctx,
49  struct xrt_frame_sink *downstream,
50  struct xrt_frame_sink **out_xfs);
51 
52 bool
53 u_sink_queue_create(struct xrt_frame_context *xfctx,
54  struct xrt_frame_sink *downstream,
55  struct xrt_frame_sink **out_xfs);
56 
57 void
58 u_sink_quirk_create(struct xrt_frame_context *xfctx,
59  struct xrt_frame_sink *downstream,
60  struct u_sink_quirk_params *params,
61  struct xrt_frame_sink **out_xfs);
62 
63 void
64 u_sink_split_create(struct xrt_frame_context *xfctx,
65  struct xrt_frame_sink *left,
66  struct xrt_frame_sink *right,
67  struct xrt_frame_sink **out_xfs);
68 
69 
70 #ifdef __cplusplus
71 }
72 #endif
A object that is sent frames.
Definition: xrt_frame.h:51
Object used to track all sinks and frame producers in a graph.
Definition: xrt_frame.h:87
Data frame header.
Definition: u_sink.h:19
xrt_format
Common formats, use u_format_* functions to reason about them.
Definition: xrt_defines.h:60