Lines Matching refs:FOURCC
28 // Common definition for video, including fourcc and VideoFormat.
53 // Definition of FourCC codes
55 // Convert four characters to a FourCC code.
58 #define FOURCC(a, b, c, d) \
61 // Some pages discussing FourCC codes:
62 // http://www.fourcc.org/yuv.php
68 // FourCC codes grouped according to implementation efficiency.
72 enum FourCC {
74 FOURCC_I420 = FOURCC('I', '4', '2', '0'),
75 FOURCC_I422 = FOURCC('I', '4', '2', '2'),
76 FOURCC_I444 = FOURCC('I', '4', '4', '4'),
77 FOURCC_I411 = FOURCC('I', '4', '1', '1'),
78 FOURCC_I400 = FOURCC('I', '4', '0', '0'),
79 FOURCC_NV21 = FOURCC('N', 'V', '2', '1'),
80 FOURCC_NV12 = FOURCC('N', 'V', '1', '2'),
81 FOURCC_YUY2 = FOURCC('Y', 'U', 'Y', '2'),
82 FOURCC_UYVY = FOURCC('U', 'Y', 'V', 'Y'),
85 FOURCC_M420 = FOURCC('M', '4', '2', '0'),
88 FOURCC_ARGB = FOURCC('A', 'R', 'G', 'B'),
89 FOURCC_BGRA = FOURCC('B', 'G', 'R', 'A'),
90 FOURCC_ABGR = FOURCC('A', 'B', 'G', 'R'),
91 FOURCC_24BG = FOURCC('2', '4', 'B', 'G'),
92 FOURCC_RAW = FOURCC('r', 'a', 'w', ' '),
93 FOURCC_RGBA = FOURCC('R', 'G', 'B', 'A'),
94 FOURCC_RGBP = FOURCC('R', 'G', 'B', 'P'), // bgr565.
95 FOURCC_RGBO = FOURCC('R', 'G', 'B', 'O'), // abgr1555.
96 FOURCC_R444 = FOURCC('R', '4', '4', '4'), // argb4444.
99 FOURCC_RGGB = FOURCC('R', 'G', 'G', 'B'),
100 FOURCC_BGGR = FOURCC('B', 'G', 'G', 'R'),
101 FOURCC_GRBG = FOURCC('G', 'R', 'B', 'G'),
102 FOURCC_GBRG = FOURCC('G', 'B', 'R', 'G'),
105 FOURCC_MJPG = FOURCC('M', 'J', 'P', 'G'),
108 FOURCC_YV12 = FOURCC('Y', 'V', '1', '2'),
109 FOURCC_YV16 = FOURCC('Y', 'V', '1', '6'),
110 FOURCC_YV24 = FOURCC('Y', 'V', '2', '4'),
111 FOURCC_YU12 = FOURCC('Y', 'U', '1', '2'), // Linux version of I420.
112 FOURCC_J420 = FOURCC('J', '4', '2', '0'),
113 FOURCC_J400 = FOURCC('J', '4', '0', '0'),
115 // 14 Auxiliary aliases. CanonicalFourCC() maps these to canonical fourcc.
116 FOURCC_IYUV = FOURCC('I', 'Y', 'U', 'V'), // Alias for I420.
117 FOURCC_YU16 = FOURCC('Y', 'U', '1', '6'), // Alias for I422.
118 FOURCC_YU24 = FOURCC('Y', 'U', '2', '4'), // Alias for I444.
119 FOURCC_YUYV = FOURCC('Y', 'U', 'Y', 'V'), // Alias for YUY2.
120 FOURCC_YUVS = FOURCC('y', 'u', 'v', 's'), // Alias for YUY2 on Mac.
121 FOURCC_HDYC = FOURCC('H', 'D', 'Y', 'C'), // Alias for UYVY.
122 FOURCC_2VUY = FOURCC('2', 'v', 'u', 'y'), // Alias for UYVY on Mac.
123 FOURCC_JPEG = FOURCC('J', 'P', 'E', 'G'), // Alias for MJPG.
124 FOURCC_DMB1 = FOURCC('d', 'm', 'b', '1'), // Alias for MJPG on Mac.
125 FOURCC_BA81 = FOURCC('B', 'A', '8', '1'), // Alias for BGGR.
126 FOURCC_RGB3 = FOURCC('R', 'G', 'B', '3'), // Alias for RAW.
127 FOURCC_BGR3 = FOURCC('B', 'G', 'R', '3'), // Alias for 24BG.
128 FOURCC_CM32 = FOURCC(0, 0, 0, 32), // Alias for BGRA kCMPixelFormat_32ARGB
129 FOURCC_CM24 = FOURCC(0, 0, 0, 24), // Alias for RAW kCMPixelFormat_24RGB
132 FOURCC_H264 = FOURCC('H', '2', '6', '4'),
135 // Match any fourcc.
142 // Converts fourcc aliases into canonical ones.
143 uint32_t CanonicalFourCC(uint32_t fourcc);
145 // Get FourCC code as a string.
146 inline std::string GetFourccName(uint32_t fourcc) {
148 name.push_back(static_cast<char>(fourcc & 0xFF));
149 name.push_back(static_cast<char>((fourcc >> 8) & 0xFF));
150 name.push_back(static_cast<char>((fourcc >> 16) & 0xFF));
151 name.push_back(static_cast<char>((fourcc >> 24) & 0xFF));
189 uint32_t fourcc; // Color space. FOURCC_ANY means that any color space is OK.
205 Construct(format.width, format.height, format.interval, format.fourcc);
212 fourcc = cc;
236 interval == format.interval && fourcc == format.fourcc;
244 return (fourcc < format.fourcc) ||
245 (fourcc == format.fourcc && width < format.width) ||
246 (fourcc == format.fourcc && width == format.width &&
248 (fourcc == format.fourcc && width == format.width &&
264 // Get a string presentation in the form of "fourcc width x height x fps"