switch (stream->format) {
case MM_PIXEL_FORMAT_NV12: /* fall through */
case MM_PIXEL_FORMAT_NV21:
+ stream->data_type = MM_CAM_STREAM_DATA_YUV420SP;
stream->data.yuv420sp.y = map_info->data;
stream->data.yuv420sp.length_y = stream->width * stream->height;
stream->data.yuv420sp.uv = stream->data.yuv420sp.y + stream->data.yuv420sp.length_y;
break;
case MM_PIXEL_FORMAT_I420:
+ stream->data_type = MM_CAM_STREAM_DATA_YUV420P;
stream->data.yuv420p.y = map_info->data;
stream->data.yuv420p.length_y = stream->width * stream->height;
stream->data.yuv420p.u = stream->data.yuv420p.y + stream->data.yuv420p.length_y;
stream->num_planes = 3;
break;
+ case MM_PIXEL_FORMAT_422P:
+ stream->data_type = MM_CAM_STREAM_DATA_YUV422P;
+ stream->data.yuv422p.y = map_info->data;
+ stream->data.yuv422p.length_y = stream->width * stream->height;
+ stream->data.yuv422p.u = stream->data.yuv422p.y + stream->data.yuv422p.length_y;
+ stream->data.yuv422p.length_u = stream->data.yuv422p.length_y >> 1;
+ stream->data.yuv422p.v = stream->data.yuv422p.u + stream->data.yuv422p.length_u;
+ stream->data.yuv422p.length_v = stream->data.yuv422p.length_u;
+ stream->stride[0] = stream->width;
+ stream->elevation[0] = stream->height;
+ stream->stride[1] = stream->stride[2] = stream->width;
+ stream->elevation[1] = stream->elevation[2] = stream->height >> 1;
+ stream->num_planes = 3;
+ break;
+
case MM_PIXEL_FORMAT_YUYV: /* fall through */
case MM_PIXEL_FORMAT_UYVY: /* fall through */
- case MM_PIXEL_FORMAT_422P: /* fall through */
case MM_PIXEL_FORMAT_ITLV_JPEG_UYVY:
stream->data_type = MM_CAM_STREAM_DATA_YUV422;
stream->data.yuv422.yuv = map_info->data;