The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

t/calibration: Add support for XRT_FORMAT_UYVY422

authored by

Jakob Bornecrantz and committed by
Jakob Bornecrantz
1de7eb7c 7602e555

+19
+19
src/xrt/auxiliary/tracking/t_calibration.cpp
··· 1106 1106 } 1107 1107 1108 1108 XRT_NO_INLINE static void 1109 + process_frame_uyvy(class Calibration &c, struct xrt_frame *xf) 1110 + { 1111 + /* 1112 + * Cleverly extract the different channels. 1113 + * Cr/Cb are extracted at half width. 1114 + */ 1115 + int w = (int)xf->width; 1116 + int h = (int)xf->height; 1117 + 1118 + cv::Mat data_full(h, w, CV_8UC2, xf->data, xf->stride); 1119 + ensure_buffers_are_allocated(c, data_full.rows, data_full.cols); 1120 + c.gui.frame->source_sequence = xf->source_sequence; 1121 + 1122 + cv::cvtColor(data_full, c.gui.rgb, cv::COLOR_YUV2RGB_UYVY); 1123 + cv::cvtColor(data_full, c.gray, cv::COLOR_YUV2GRAY_UYVY); 1124 + } 1125 + 1126 + XRT_NO_INLINE static void 1109 1127 process_load_image(class Calibration &c, struct xrt_frame *xf) 1110 1128 { 1111 1129 char buf[512]; ··· 1184 1202 switch (xf->format) { 1185 1203 case XRT_FORMAT_YUV888: process_frame_yuv(c, xf); break; 1186 1204 case XRT_FORMAT_YUYV422: process_frame_yuyv(c, xf); break; 1205 + case XRT_FORMAT_UYVY422: process_frame_uyvy(c, xf); break; 1187 1206 case XRT_FORMAT_L8: process_frame_l8(c, xf); break; 1188 1207 default: 1189 1208 P("ERROR: Bad format '%s'", u_format_str(xf->format));