PipeWire  0.3.29
video/raw.h
Go to the documentation of this file.
1 /* Simple Plugin API
2  *
3  * Copyright © 2018 Wim Taymans
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice (including the next
13  * paragraph) shall be included in all copies or substantial portions of the
14  * Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  * DEALINGS IN THE SOFTWARE.
23  */
24 
25 #ifndef SPA_VIDEO_RAW_H
26 #define SPA_VIDEO_RAW_H
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
37 #include <spa/utils/defs.h>
38 #include <spa/param/video/chroma.h>
39 #include <spa/param/video/color.h>
41 
42 #define SPA_VIDEO_MAX_PLANES 4
43 #define SPA_VIDEO_MAX_COMPONENTS 4
44 
48 
125 
128 
129  /* Aliases */
131 };
132 
141 };
142 
163 };
164 
169  int64_t modifier;
174  uint32_t views;
186 };
187 
188 #define SPA_VIDEO_INFO_RAW_INIT(...) (struct spa_video_info_raw) { __VA_ARGS__ }
189 
192  int64_t modifier;
193 };
194 
195 #define SPA_VIDEO_INFO_DSP_INIT(...) (struct spa_video_info_dsp) { __VA_ARGS__ }
196 
201 #ifdef __cplusplus
202 } /* extern "C" */
203 #endif
204 
205 #endif /* SPA_VIDEO_RAW_H */
Definition: video/raw.h:101
Definition: video/raw.h:190
Definition: video/raw.h:106
spa_video_format
Definition: video/raw.h:45
Definition: video/raw.h:47
Definition: video/raw.h:91
Definition: video/raw.h:50
Definition: video/raw.h:69
Definition: video/raw.h:67
enum spa_video_format format
Definition: video/raw.h:191
Definition: video/raw.h:107
all frames are progressive
Definition: video/raw.h:148
frames contains both interlaced and progressive video, the buffer flags describe the frame and fields...
Definition: video/raw.h:151
spa_video_multiview_mode
All possible stereoscopic 3D and multiview representations.
Definition: multiview.h:42
Definition: video/raw.h:96
Definition: video/raw.h:130
Definition: video/raw.h:117
Definition: video/raw.h:55
Definition: video/raw.h:74
Each color has been scaled by the alpha value.
Definition: video/raw.h:140
Definition: video/raw.h:119
Definition: video/raw.h:76
Definition: video/raw.h:70
Definition: video/raw.h:78
Definition: video/raw.h:51
Definition: video/raw.h:95
Definition: video/raw.h:82
Definition: video/raw.h:59
Definition: video/raw.h:111
Definition: video/raw.h:121
Definition: video/raw.h:80
Definition: video/raw.h:89
struct spa_fraction max_framerate
the maximum framerate of the video.
Definition: video/raw.h:172
Definition: video/raw.h:64
Definition: video/raw.h:75
Definition: defs.h:85
enum spa_video_multiview_mode multiview_mode
multiview mode
Definition: video/raw.h:177
Definition: video/raw.h:90
Definition: video/raw.h:103
Definition: video/raw.h:127
Definition: video/raw.h:88
Definition: video/raw.h:97
Definition: defs.h:103
enum spa_video_transfer_function transfer_function
the transfer function.
Definition: video/raw.h:184
Definition: video/raw.h:108
Definition: video/raw.h:53
Definition: video/raw.h:61
enum spa_video_color_matrix color_matrix
the color matrix.
Definition: video/raw.h:182
spa_video_color_matrix
The color matrix is used to convert between Y&#39;PbPr and non-linear RGB (R&#39;G&#39;B&#39;)
Definition: color.h:52
Definition: video/raw.h:126
Definition: video/raw.h:56
uint32_t views
the number of views in this video
Definition: video/raw.h:174
enum spa_video_color_range color_range
the color range.
Definition: video/raw.h:180
enum spa_video_multiview_flags multiview_flags
multiview flags
Definition: video/raw.h:178
spa_video_transfer_function
The video transfer function defines the formula for converting between non-linear RGB (R&#39;G&#39;B&#39;) and li...
Definition: color.h:66
spa_video_color_primaries
The color primaries define the how to transform linear RGB values to and from the CIE XYZ colorspace...
Definition: color.h:88
Definition: video/raw.h:98
Definition: video/raw.h:112
int64_t modifier
format modifier
Definition: video/raw.h:169
Definition: video/raw.h:54
Definition: video/raw.h:58
Definition: video/raw.h:77
int64_t modifier
Definition: video/raw.h:192
Definition: video/raw.h:122
Definition: video/raw.h:52
no flags
Definition: video/raw.h:137
Definition: video/raw.h:85
enum spa_video_format format
the format
Definition: video/raw.h:168
Definition: video/raw.h:116
Definition: video/raw.h:99
Definition: video/raw.h:60
spa_video_chroma_site
Various Chroma settings.
Definition: chroma.h:39
Definition: video/raw.h:71
Definition: video/raw.h:86
spa_video_color_range
Possible color range values.
Definition: color.h:41
spa_video_multiview_flags
spa_video_multiview_flags are used to indicate extra properties of a stereo/multiview stream beyond t...
Definition: multiview.h:96
struct spa_fraction framerate
the framerate of the video, 0/1 means variable rate
Definition: video/raw.h:171
Definition: video/raw.h:62
spa_video_interlace_mode
The possible values of the spa_video_interlace_mode describing the interlace mode of the stream...
Definition: video/raw.h:147
Definition: video/raw.h:109
Definition: video/raw.h:87
Definition: video/raw.h:100
Definition: video/raw.h:124
Definition: video/raw.h:72
Definition: video/raw.h:65
Definition: video/raw.h:94
Definition: video/raw.h:68
struct spa_fraction pixel_aspect_ratio
the pixel aspect ratio
Definition: video/raw.h:176
Definition: video/raw.h:46
Definition: video/raw.h:66
Definition: video/raw.h:92
Definition: video/raw.h:167
Definition: video/raw.h:114
Definition: video/raw.h:93
enum spa_video_interlace_mode interlace_mode
the interlace mode
Definition: video/raw.h:175
Definition: video/raw.h:83
a variable fps is selected, fps_n and fps_d denote the maximum fps of the video
Definition: video/raw.h:138
Definition: video/raw.h:84
Definition: video/raw.h:105
Definition: video/raw.h:110
enum spa_video_color_primaries color_primaries
color primaries.
Definition: video/raw.h:185
Definition: video/raw.h:115
Definition: video/raw.h:49
Definition: video/raw.h:102
Definition: video/raw.h:118
Definition: video/raw.h:79
Definition: video/raw.h:120
spa_video_flags
Extra video flags.
Definition: video/raw.h:136
2 fields are interleaved in one video frame.
Definition: video/raw.h:149
Definition: video/raw.h:104
Definition: video/raw.h:73
Definition: video/raw.h:57
2 fields are stored in one buffer, use the frame ID to get access to the required field...
Definition: video/raw.h:154
Definition: video/raw.h:81
struct spa_rectangle size
the frame size of the video
Definition: video/raw.h:170
Definition: video/raw.h:113
Definition: video/raw.h:63
enum spa_video_chroma_site chroma_site
the chroma siting
Definition: video/raw.h:179
Definition: video/raw.h:123