PipeWire 1.6.8

Loading...
Searching...
No Matches
multiview.h
Go to the documentation of this file.
1/* Simple Plugin API */
2/* SPDX-FileCopyrightText: Copyright © 2018 Wim Taymans */
3/* SPDX-License-Identifier: MIT */
4
5#ifndef SPA_VIDEO_MULTIVIEW_H
6#define SPA_VIDEO_MULTIVIEW_H
7
8#ifdef __cplusplus
9 extern "C" {
10#endif
11
16
22 enum spa_video_multiview_mode {
26 SPA_VIDEO_MULTIVIEW_MODE_NONE = -1,
27 SPA_VIDEO_MULTIVIEW_MODE_MONO = 0,
28 /* Single view modes */
29 SPA_VIDEO_MULTIVIEW_MODE_LEFT,
30 SPA_VIDEO_MULTIVIEW_MODE_RIGHT,
31 /* Stereo view modes */
32 SPA_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE,
35 SPA_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX,
40 SPA_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED,
43 SPA_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED,
46 SPA_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM,
49 SPA_VIDEO_MULTIVIEW_MODE_CHECKERBOARD,
52 /* Padding for new frame packing modes */
53
54 SPA_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME = 32,
56 /* Multiview mode(s) */
57 SPA_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME,
63 SPA_VIDEO_MULTIVIEW_MODE_SEPARATED,
67 /* future expansion for annotated modes */
68};
69
74
75 enum spa_video_multiview_flags {
76 SPA_VIDEO_MULTIVIEW_FLAGS_NONE = 0,
77 SPA_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST = (1 << 0),
79 SPA_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED = (1 << 1),
80 SPA_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED = (1 << 2),
81 SPA_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED = (1 << 3),
82 SPA_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED = (1 << 4),
83 SPA_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT = (1 << 14),
96 SPA_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO = (1 << 15),
100};
101
102
106
107#ifdef __cplusplus
108} /* extern "C" */
109#endif
110
111#endif /* SPA_VIDEO_MULTIVIEW_H */
spa_video_multiview_flags
spa_video_multiview_flags
spa_video_multiview_flags are used to indicate extra properties of a stereo/multiview stream beyond t...
Definition multiview.h:80
spa_video_multiview_mode
spa_video_multiview_mode
All possible stereoscopic 3D and multiview representations.
Definition multiview.h:27
SPA_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED
@ SPA_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED
The right view is horizontally mirrored.
Definition multiview.h:87
SPA_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT
@ SPA_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT
For frame-packed multiview modes, indicates that the individual views have been encoded with half the...
Definition multiview.h:88
SPA_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED
@ SPA_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED
The left view is horizontally mirrored.
Definition multiview.h:85
SPA_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST
@ SPA_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST
For stereo streams, the normal arrangement of left and right views is reversed.
Definition multiview.h:82
SPA_VIDEO_MULTIVIEW_FLAGS_NONE
@ SPA_VIDEO_MULTIVIEW_FLAGS_NONE
No flags.
Definition multiview.h:81
SPA_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED
@ SPA_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED
The left view is vertically mirrored.
Definition multiview.h:84
SPA_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED
@ SPA_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED
The right view is vertically mirrored.
Definition multiview.h:86
SPA_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO
@ SPA_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO
The video stream contains both mono and multiview portions, signalled on each buffer by the absence o...
Definition multiview.h:101
SPA_VIDEO_MULTIVIEW_MODE_SEPARATED
@ SPA_VIDEO_MULTIVIEW_MODE_SEPARATED
Multiple views are provided as separate spa_data framebuffers attached to each Buffers,...
Definition multiview.h:68
SPA_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX
@ SPA_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX
Left and right eye views are provided in the left and right half of the frame, but have been sampled ...
Definition multiview.h:40
SPA_VIDEO_MULTIVIEW_MODE_NONE
@ SPA_VIDEO_MULTIVIEW_MODE_NONE
A special value indicating no multiview information.
Definition multiview.h:31
SPA_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED
@ SPA_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED
Alternating vertical columns of pixels represent the left and right eye view respectively.
Definition multiview.h:45
SPA_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM
@ SPA_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM
The top half of the frame contains the left eye, and the bottom half the right eye.
Definition multiview.h:51
SPA_VIDEO_MULTIVIEW_MODE_RIGHT
@ SPA_VIDEO_MULTIVIEW_MODE_RIGHT
All frames represent a right-eye view.
Definition multiview.h:35
SPA_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED
@ SPA_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED
Alternating horizontal rows of pixels represent the left and right eye view respectively.
Definition multiview.h:48
SPA_VIDEO_MULTIVIEW_MODE_MONO
@ SPA_VIDEO_MULTIVIEW_MODE_MONO
All frames are monoscopic.
Definition multiview.h:32
SPA_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE
@ SPA_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE
Left and right eye views are provided in the left and right half of the frame respectively.
Definition multiview.h:37
SPA_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME
@ SPA_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME
Left and right eye views are provided in separate frames alternately.
Definition multiview.h:59
SPA_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME
@ SPA_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME
Multipleindependent views are provided in separate frames in sequence.
Definition multiview.h:62
SPA_VIDEO_MULTIVIEW_MODE_LEFT
@ SPA_VIDEO_MULTIVIEW_MODE_LEFT
All frames represent a left-eye view.
Definition multiview.h:34
SPA_VIDEO_MULTIVIEW_MODE_CHECKERBOARD
@ SPA_VIDEO_MULTIVIEW_MODE_CHECKERBOARD
Pixels are arranged with alternating pixels representing left and right eye views in a checkerboard f...
Definition multiview.h:54