PipeWire  0.3.65
video/raw-types.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_TYPES_H
26 #define SPA_VIDEO_RAW_TYPES_H
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
36 #include <spa/utils/type.h>
37 #include <spa/param/video/raw.h>
38 
39 #define SPA_TYPE_INFO_VideoFormat SPA_TYPE_INFO_ENUM_BASE "VideoFormat"
40 #define SPA_TYPE_INFO_VIDEO_FORMAT_BASE SPA_TYPE_INFO_VideoFormat ":"
41 
42 static const struct spa_type_info spa_type_video_format[] = {
130  { 0, 0, NULL, NULL },
131 };
132 
133 #define SPA_TYPE_INFO_VideoFlags SPA_TYPE_INFO_FLAGS_BASE "VideoFlags"
134 #define SPA_TYPE_INFO_VIDEO_FLAGS_BASE SPA_TYPE_INFO_VideoFlags ":"
135 
136 static const struct spa_type_info spa_type_video_flags[] = {
137 
142  { 0, 0, NULL, NULL },
143 };
144 
145 #define SPA_TYPE_INFO_VideoInterlaceMode SPA_TYPE_INFO_ENUM_BASE "VideoInterlaceMode"
146 #define SPA_TYPE_INFO_VIDEO_INTERLACE_MODE_BASE SPA_TYPE_INFO_VideoInterlaceMode ":"
147 
148 static const struct spa_type_info spa_type_video_interlace_mode[] = {
153  { 0, 0, NULL, NULL },
154 };
160 #ifdef __cplusplus
161 } /* extern "C" */
162 #endif
163 
164 #endif /* SPA_VIDEO_RAW_TYPES_H */
Definition: video/raw.h:119
Definition: video/raw.h:124
use the format modifier
Definition: video/raw.h:168
Definition: video/raw.h:65
Definition: video/raw.h:109
Definition: video/raw.h:68
32-bit x:R:G:B 2:10:10:10 little endian
Definition: video/raw.h:147
Definition: video/raw.h:87
Definition: video/raw.h:85
Definition: video/raw.h:125
all frames are progressive
Definition: video/raw.h:176
32-bit A:R:G:B 2:10:10:10 little endian
Definition: video/raw.h:151
#define SPA_TYPE_INFO_VIDEO_FORMAT_BASE
Definition: video/raw-types.h:47
frames contains both interlaced and progressive video, the buffer flags describe the frame and fields...
Definition: video/raw.h:179
Definition: video/raw.h:114
Definition: video/raw.h:135
Definition: video/raw.h:73
Definition: video/raw.h:92
Each color has been scaled by the alpha value.
Definition: video/raw.h:167
32-bit A:B:G:R 2:10:10:10 little endian
Definition: video/raw.h:152
Definition: video/raw.h:137
Definition: video/raw.h:94
Definition: spa/include/spa/utils/type.h:54
Definition: video/raw.h:88
Definition: video/raw.h:96
Definition: video/raw.h:69
Definition: video/raw.h:113
Definition: video/raw.h:100
Definition: video/raw.h:77
Definition: video/raw.h:129
Definition: video/raw.h:139
spa/utils/type.h
Definition: video/raw.h:98
#define SPA_TYPE_INFO_VIDEO_INTERLACE_MODE_BASE
Definition: video/raw-types.h:157
Definition: video/raw.h:107
Definition: video/raw.h:82
Definition: video/raw.h:93
Definition: spa/include/spa/utils/type.h:162
Definition: video/raw.h:108
Definition: video/raw.h:121
Definition: video/raw.h:145
Definition: video/raw.h:106
static const struct spa_type_info spa_type_video_format[]
Definition: video/raw-types.h:49
Definition: video/raw.h:115
Definition: video/raw.h:126
Definition: video/raw.h:71
Definition: video/raw.h:79
Definition: video/raw.h:144
Definition: video/raw.h:74
static const struct spa_type_info spa_type_video_interlace_mode[]
Definition: video/raw-types.h:159
Definition: video/raw.h:116
Definition: video/raw.h:130
Definition: video/raw.h:72
Definition: video/raw.h:76
Definition: video/raw.h:95
Definition: video/raw.h:140
Definition: video/raw.h:70
32-bit R:G:B:x 10:10:10:2 little endian
Definition: video/raw.h:149
no flags
Definition: video/raw.h:164
Definition: video/raw.h:103
Definition: video/raw.h:134
Definition: video/raw.h:117
Definition: video/raw.h:78
Definition: video/raw.h:89
Definition: video/raw.h:104
32-bit x:B:G:R 2:10:10:10 little endian
Definition: video/raw.h:148
Definition: video/raw.h:80
Definition: video/raw.h:127
Definition: video/raw.h:105
Definition: video/raw.h:118
Definition: video/raw.h:142
32-bit B:G:R:x 10:10:10:2 little endian
Definition: video/raw.h:150
Definition: video/raw.h:90
Definition: video/raw.h:83
#define SPA_TYPE_INFO_VIDEO_FLAGS_BASE
Definition: video/raw-types.h:143
Definition: video/raw.h:112
static const struct spa_type_info spa_type_video_flags[]
Definition: video/raw-types.h:145
Definition: video/raw.h:86
spa/param/video/raw.h
Definition: video/raw.h:84
Definition: video/raw.h:110
Definition: video/raw.h:132
Definition: video/raw.h:111
32-bit B:G:R:A 10:10:10:2 little endian
Definition: video/raw.h:154
Definition: video/raw.h:101
a variable fps is selected, fps_n and fps_d denote the maximum fps of the video
Definition: video/raw.h:165
Definition: video/raw.h:102
Definition: video/raw.h:123
Definition: video/raw.h:128
Definition: video/raw.h:133
Definition: video/raw.h:67
Definition: video/raw.h:120
Definition: video/raw.h:136
Definition: video/raw.h:97
Definition: video/raw.h:138
2 fields are interleaved in one video frame.
Definition: video/raw.h:177
Definition: video/raw.h:122
Definition: video/raw.h:91
Definition: video/raw.h:75
32-bit R:G:B:A 10:10:10:2 little endian
Definition: video/raw.h:153
2 fields are stored in one buffer, use the frame ID to get access to the required field...
Definition: video/raw.h:182
Definition: video/raw.h:99
Definition: video/raw.h:131
Definition: video/raw.h:81
Definition: video/raw.h:141