PipeWire  1.2.5
raw-types.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_RAW_TYPES_H
6 #define SPA_VIDEO_RAW_TYPES_H
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
16 #include <spa/utils/type.h>
17 #include <spa/param/video/raw.h>
18 
19 #define SPA_TYPE_INFO_VideoFormat SPA_TYPE_INFO_ENUM_BASE "VideoFormat"
20 #define SPA_TYPE_INFO_VIDEO_FORMAT_BASE SPA_TYPE_INFO_VideoFormat ":"
21 
22 static const struct spa_type_info spa_type_video_format[] = {
110  { 0, 0, NULL, NULL },
111 };
112 
113 #define SPA_TYPE_INFO_VideoFlags SPA_TYPE_INFO_FLAGS_BASE "VideoFlags"
114 #define SPA_TYPE_INFO_VIDEO_FLAGS_BASE SPA_TYPE_INFO_VideoFlags ":"
115 
116 static const struct spa_type_info spa_type_video_flags[] = {
117 
122  { 0, 0, NULL, NULL },
123 };
124 
125 #define SPA_TYPE_INFO_VideoInterlaceMode SPA_TYPE_INFO_ENUM_BASE "VideoInterlaceMode"
126 #define SPA_TYPE_INFO_VIDEO_INTERLACE_MODE_BASE SPA_TYPE_INFO_VideoInterlaceMode ":"
127 
128 static const struct spa_type_info spa_type_video_interlace_mode[] = {
133  { 0, 0, NULL, NULL },
134 };
135 
140 #ifdef __cplusplus
141 } /* extern "C" */
142 #endif
143 
144 #endif /* SPA_VIDEO_RAW_TYPES_H */
SPA_VIDEO_FORMAT_v216
@ SPA_VIDEO_FORMAT_v216
Definition: raw.h:67
SPA_VIDEO_FORMAT_ENCODED
@ SPA_VIDEO_FORMAT_ENCODED
Definition: raw.h:45
SPA_VIDEO_FORMAT_YV12
@ SPA_VIDEO_FORMAT_YV12
Definition: raw.h:48
SPA_VIDEO_FORMAT_GBRA_12BE
@ SPA_VIDEO_FORMAT_GBRA_12BE
Definition: raw.h:115
SPA_VIDEO_FORMAT_xRGB_210LE
@ SPA_VIDEO_FORMAT_xRGB_210LE
32-bit x:R:G:B 2:10:10:10 little endian
Definition: raw.h:127
SPA_VIDEO_FORMAT_BGRx
@ SPA_VIDEO_FORMAT_BGRx
Definition: raw.h:53
SPA_TYPE_INFO_VIDEO_FORMAT_BASE
#define SPA_TYPE_INFO_VIDEO_FORMAT_BASE
Definition: raw-types.h:27
SPA_VIDEO_FORMAT_BGR
@ SPA_VIDEO_FORMAT_BGR
Definition: raw.h:61
SPA_VIDEO_FORMAT_A444_10BE
@ SPA_VIDEO_FORMAT_A444_10BE
Definition: raw.h:103
SPA_VIDEO_FORMAT_GBRA_10BE
@ SPA_VIDEO_FORMAT_GBRA_10BE
Definition: raw.h:111
SPA_VIDEO_FORMAT_NV61
@ SPA_VIDEO_FORMAT_NV61
Definition: raw.h:105
SPA_VIDEO_FORMAT_GRAY16_LE
@ SPA_VIDEO_FORMAT_GRAY16_LE
Definition: raw.h:72
SPA_VIDEO_INTERLACE_MODE_PROGRESSIVE
@ SPA_VIDEO_INTERLACE_MODE_PROGRESSIVE
all frames are progressive
Definition: raw.h:157
SPA_VIDEO_FORMAT_xBGR
@ SPA_VIDEO_FORMAT_xBGR
Definition: raw.h:55
SPA_VIDEO_FORMAT_GRAY16_BE
@ SPA_VIDEO_FORMAT_GRAY16_BE
Definition: raw.h:71
SPA_VIDEO_FORMAT_RGB16
@ SPA_VIDEO_FORMAT_RGB16
Definition: raw.h:74
spa_type_video_flags
static const struct spa_type_info spa_type_video_flags[]
Definition: raw-types.h:125
SPA_VIDEO_FORMAT_BGRA
@ SPA_VIDEO_FORMAT_BGRA
Definition: raw.h:57
SPA_VIDEO_FORMAT_A420_10BE
@ SPA_VIDEO_FORMAT_A420_10BE
Definition: raw.h:99
SPA_VIDEO_FORMAT_I420_10BE
@ SPA_VIDEO_FORMAT_I420_10BE
Definition: raw.h:87
SPA_VIDEO_FLAG_PREMULTIPLIED_ALPHA
@ SPA_VIDEO_FLAG_PREMULTIPLIED_ALPHA
Each color has been scaled by the alpha value.
Definition: raw.h:147
spa_type_info
Definition: type.h:143
SPA_VIDEO_FORMAT_GBR_10BE
@ SPA_VIDEO_FORMAT_GBR_10BE
Definition: raw.h:94
SPA_VIDEO_FORMAT_Y444
@ SPA_VIDEO_FORMAT_Y444
Definition: raw.h:65
SPA_VIDEO_FORMAT_YUY2
@ SPA_VIDEO_FORMAT_YUY2
Definition: raw.h:49
SPA_VIDEO_FORMAT_I422_12BE
@ SPA_VIDEO_FORMAT_I422_12BE
Definition: raw.h:119
SPA_VIDEO_FORMAT_GBR_10LE
@ SPA_VIDEO_FORMAT_GBR_10LE
Definition: raw.h:95
SPA_VIDEO_FORMAT_AYUV
@ SPA_VIDEO_FORMAT_AYUV
Definition: raw.h:51
SPA_VIDEO_FORMAT_Y41B
@ SPA_VIDEO_FORMAT_Y41B
Definition: raw.h:62
SPA_VIDEO_FORMAT_v308
@ SPA_VIDEO_FORMAT_v308
Definition: raw.h:73
SPA_VIDEO_FORMAT_RGBA_F16
@ SPA_VIDEO_FORMAT_RGBA_F16
Definition: raw.h:124
SPA_VIDEO_FORMAT_ARGB_210LE
@ SPA_VIDEO_FORMAT_ARGB_210LE
32-bit A:R:G:B 2:10:10:10 little endian
Definition: raw.h:131
SPA_VIDEO_FORMAT_I420_12BE
@ SPA_VIDEO_FORMAT_I420_12BE
Definition: raw.h:117
SPA_VIDEO_FORMAT_RGB15
@ SPA_VIDEO_FORMAT_RGB15
Definition: raw.h:76
SPA_VIDEO_FORMAT_I420_10LE
@ SPA_VIDEO_FORMAT_I420_10LE
Definition: raw.h:88
SPA_VIDEO_FORMAT_GBR
@ SPA_VIDEO_FORMAT_GBR
Definition: raw.h:93
SPA_VIDEO_FORMAT_NV12
@ SPA_VIDEO_FORMAT_NV12
Definition: raw.h:68
SPA_VIDEO_FORMAT_RGB8P
@ SPA_VIDEO_FORMAT_RGB8P
Definition: raw.h:80
SPA_VIDEO_FORMAT_UYVP
@ SPA_VIDEO_FORMAT_UYVP
Definition: raw.h:78
SPA_VIDEO_FORMAT_GBRA
@ SPA_VIDEO_FORMAT_GBRA
Definition: raw.h:110
SPA_VIDEO_FORMAT_P010_10BE
@ SPA_VIDEO_FORMAT_P010_10BE
Definition: raw.h:106
SPA_VIDEO_FORMAT_RGBx
@ SPA_VIDEO_FORMAT_RGBx
Definition: raw.h:52
SPA_VIDEO_FORMAT_ABGR
@ SPA_VIDEO_FORMAT_ABGR
Definition: raw.h:59
SPA_VIDEO_FORMAT_ABGR_210LE
@ SPA_VIDEO_FORMAT_ABGR_210LE
32-bit A:B:G:R 2:10:10:10 little endian
Definition: raw.h:132
SPA_VIDEO_FORMAT_xRGB
@ SPA_VIDEO_FORMAT_xRGB
Definition: raw.h:54
SPA_VIDEO_FORMAT_BGR16
@ SPA_VIDEO_FORMAT_BGR16
Definition: raw.h:75
SPA_VIDEO_FORMAT_RGBA_F32
@ SPA_VIDEO_FORMAT_RGBA_F32
Definition: raw.h:125
SPA_VIDEO_FORMAT_r210
@ SPA_VIDEO_FORMAT_r210
Definition: raw.h:86
SPA_VIDEO_FORMAT_VYUY
@ SPA_VIDEO_FORMAT_VYUY
Definition: raw.h:109
SPA_VIDEO_FORMAT_ARGB64
@ SPA_VIDEO_FORMAT_ARGB64
Definition: raw.h:84
SPA_VIDEO_FORMAT_A422_10BE
@ SPA_VIDEO_FORMAT_A422_10BE
Definition: raw.h:101
SPA_VIDEO_FORMAT_xBGR_210LE
@ SPA_VIDEO_FORMAT_xBGR_210LE
32-bit x:B:G:R 2:10:10:10 little endian
Definition: raw.h:128
SPA_TYPE_INFO_VIDEO_FLAGS_BASE
#define SPA_TYPE_INFO_VIDEO_FLAGS_BASE
Definition: raw-types.h:123
SPA_VIDEO_FORMAT_UYVY
@ SPA_VIDEO_FORMAT_UYVY
Definition: raw.h:50
SPA_VIDEO_FORMAT_NV16
@ SPA_VIDEO_FORMAT_NV16
Definition: raw.h:96
SPA_VIDEO_FORMAT_NV12_64Z32
@ SPA_VIDEO_FORMAT_NV12_64Z32
Definition: raw.h:98
SPA_VIDEO_FORMAT_AYUV64
@ SPA_VIDEO_FORMAT_AYUV64
Definition: raw.h:85
SPA_VIDEO_FORMAT_Y42B
@ SPA_VIDEO_FORMAT_Y42B
Definition: raw.h:63
SPA_VIDEO_FORMAT_RGBA
@ SPA_VIDEO_FORMAT_RGBA
Definition: raw.h:56
spa_type_video_format
static const struct spa_type_info spa_type_video_format[]
Definition: raw-types.h:29
SPA_TYPE_Int
@ SPA_TYPE_Int
Definition: type.h:34
SPA_TYPE_INFO_VIDEO_INTERLACE_MODE_BASE
#define SPA_TYPE_INFO_VIDEO_INTERLACE_MODE_BASE
Definition: raw-types.h:137
SPA_VIDEO_FORMAT_I422_12LE
@ SPA_VIDEO_FORMAT_I422_12LE
Definition: raw.h:120
SPA_VIDEO_FORMAT_GBR_12LE
@ SPA_VIDEO_FORMAT_GBR_12LE
Definition: raw.h:114
SPA_VIDEO_FORMAT_NV24
@ SPA_VIDEO_FORMAT_NV24
Definition: raw.h:97
SPA_VIDEO_FORMAT_GBRA_10LE
@ SPA_VIDEO_FORMAT_GBRA_10LE
Definition: raw.h:112
SPA_VIDEO_FORMAT_ARGB
@ SPA_VIDEO_FORMAT_ARGB
Definition: raw.h:58
SPA_VIDEO_FORMAT_Y444_12LE
@ SPA_VIDEO_FORMAT_Y444_12LE
Definition: raw.h:122
SPA_VIDEO_FORMAT_BGRx_102LE
@ SPA_VIDEO_FORMAT_BGRx_102LE
32-bit B:G:R:x 10:10:10:2 little endian
Definition: raw.h:130
SPA_VIDEO_FORMAT_YUV9
@ SPA_VIDEO_FORMAT_YUV9
Definition: raw.h:81
SPA_VIDEO_FORMAT_YVU9
@ SPA_VIDEO_FORMAT_YVU9
Definition: raw.h:82
SPA_VIDEO_FORMAT_RGB
@ SPA_VIDEO_FORMAT_RGB
Definition: raw.h:60
SPA_VIDEO_FLAG_NONE
@ SPA_VIDEO_FLAG_NONE
no flags
Definition: raw.h:144
SPA_VIDEO_FORMAT_RGBx_102LE
@ SPA_VIDEO_FORMAT_RGBx_102LE
32-bit R:G:B:x 10:10:10:2 little endian
Definition: raw.h:129
SPA_VIDEO_FORMAT_I422_10LE
@ SPA_VIDEO_FORMAT_I422_10LE
Definition: raw.h:90
SPA_VIDEO_FORMAT_IYU1
@ SPA_VIDEO_FORMAT_IYU1
Definition: raw.h:83
SPA_VIDEO_INTERLACE_MODE_INTERLEAVED
@ SPA_VIDEO_INTERLACE_MODE_INTERLEAVED
2 fields are interleaved in one video frame.
Definition: raw.h:158
SPA_VIDEO_FORMAT_NV21
@ SPA_VIDEO_FORMAT_NV21
Definition: raw.h:69
SPA_VIDEO_FORMAT_BGRA_102LE
@ SPA_VIDEO_FORMAT_BGRA_102LE
32-bit B:G:R:A 10:10:10:2 little endian
Definition: raw.h:134
SPA_VIDEO_INTERLACE_MODE_FIELDS
@ SPA_VIDEO_INTERLACE_MODE_FIELDS
2 fields are stored in one buffer, use the frame ID to get access to the required field.
Definition: raw.h:163
SPA_VIDEO_FORMAT_A420
@ SPA_VIDEO_FORMAT_A420
Definition: raw.h:79
type.h
spa/utils/type.h
SPA_VIDEO_FORMAT_Y444_10LE
@ SPA_VIDEO_FORMAT_Y444_10LE
Definition: raw.h:92
SPA_VIDEO_FORMAT_Y444_12BE
@ SPA_VIDEO_FORMAT_Y444_12BE
Definition: raw.h:121
SPA_VIDEO_FORMAT_I420
@ SPA_VIDEO_FORMAT_I420
Definition: raw.h:47
SPA_VIDEO_FORMAT_BGR15
@ SPA_VIDEO_FORMAT_BGR15
Definition: raw.h:77
SPA_VIDEO_FORMAT_I420_12LE
@ SPA_VIDEO_FORMAT_I420_12LE
Definition: raw.h:118
SPA_VIDEO_FORMAT_P010_10LE
@ SPA_VIDEO_FORMAT_P010_10LE
Definition: raw.h:107
SPA_VIDEO_FORMAT_GBRA_12LE
@ SPA_VIDEO_FORMAT_GBRA_12LE
Definition: raw.h:116
SPA_VIDEO_FORMAT_Y444_10BE
@ SPA_VIDEO_FORMAT_Y444_10BE
Definition: raw.h:91
SPA_VIDEO_FORMAT_I422_10BE
@ SPA_VIDEO_FORMAT_I422_10BE
Definition: raw.h:89
SPA_VIDEO_FORMAT_RGBA_102LE
@ SPA_VIDEO_FORMAT_RGBA_102LE
32-bit R:G:B:A 10:10:10:2 little endian
Definition: raw.h:133
SPA_VIDEO_FORMAT_GRAY8
@ SPA_VIDEO_FORMAT_GRAY8
Definition: raw.h:70
SPA_VIDEO_FLAG_VARIABLE_FPS
@ SPA_VIDEO_FLAG_VARIABLE_FPS
a variable fps is selected, fps_n and fps_d denote the maximum fps of the video
Definition: raw.h:145
spa_type_video_interlace_mode
static const struct spa_type_info spa_type_video_interlace_mode[]
Definition: raw-types.h:139
SPA_VIDEO_FORMAT_v210
@ SPA_VIDEO_FORMAT_v210
Definition: raw.h:66
SPA_VIDEO_FORMAT_IYU2
@ SPA_VIDEO_FORMAT_IYU2
Definition: raw.h:108
SPA_VIDEO_FORMAT_A420_10LE
@ SPA_VIDEO_FORMAT_A420_10LE
Definition: raw.h:100
SPA_VIDEO_FORMAT_GBR_12BE
@ SPA_VIDEO_FORMAT_GBR_12BE
Definition: raw.h:113
SPA_VIDEO_FORMAT_A444_10LE
@ SPA_VIDEO_FORMAT_A444_10LE
Definition: raw.h:104
raw.h
spa/param/video/raw.h
SPA_VIDEO_INTERLACE_MODE_MIXED
@ SPA_VIDEO_INTERLACE_MODE_MIXED
frames contains both interlaced and progressive video, the buffer flags describe the frame and fields...
Definition: raw.h:160
SPA_VIDEO_FLAG_MODIFIER
@ SPA_VIDEO_FLAG_MODIFIER
use the format modifier
Definition: raw.h:148
SPA_VIDEO_FORMAT_YVYU
@ SPA_VIDEO_FORMAT_YVYU
Definition: raw.h:64
SPA_VIDEO_FORMAT_A422_10LE
@ SPA_VIDEO_FORMAT_A422_10LE
Definition: raw.h:102