From c502df54f8cb63ab6ecfa589f66ab9977b5c1d05 Mon Sep 17 00:00:00 2001 From: "braveyao@webrtc.org" Date: Mon, 13 Oct 2014 02:13:00 +0000 Subject: [PATCH] Merge the supporting to UYVY on Linux video capture in crbug/410202 to webrtc standalone. BUG=3765 TEST=Manual R=perkj@webrtc.org Review URL: https://webrtc-codereview.appspot.com/28579004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7427 4adac7df-926f-26a2-2b94-8c16560cd09d --- .../video_capture/linux/video_capture_linux.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/webrtc/modules/video_capture/linux/video_capture_linux.cc b/webrtc/modules/video_capture/linux/video_capture_linux.cc index 6cad637f2d..36b1207e66 100644 --- a/webrtc/modules/video_capture/linux/video_capture_linux.cc +++ b/webrtc/modules/video_capture/linux/video_capture_linux.cc @@ -153,18 +153,20 @@ int32_t VideoCaptureModuleV4L2::StartCapture( // Supported video formats in preferred order. // If the requested resolution is larger than VGA, we prefer MJPEG. Go for // I420 otherwise. - const int nFormats = 4; + const int nFormats = 5; unsigned int fmts[nFormats]; if (capability.width > 640 || capability.height > 480) { fmts[0] = V4L2_PIX_FMT_MJPEG; fmts[1] = V4L2_PIX_FMT_YUV420; fmts[2] = V4L2_PIX_FMT_YUYV; - fmts[3] = V4L2_PIX_FMT_JPEG; + fmts[3] = V4L2_PIX_FMT_UYVY; + fmts[4] = V4L2_PIX_FMT_JPEG; } else { fmts[0] = V4L2_PIX_FMT_YUV420; fmts[1] = V4L2_PIX_FMT_YUYV; - fmts[2] = V4L2_PIX_FMT_MJPEG; - fmts[3] = V4L2_PIX_FMT_JPEG; + fmts[2] = V4L2_PIX_FMT_UYVY; + fmts[3] = V4L2_PIX_FMT_MJPEG; + fmts[4] = V4L2_PIX_FMT_JPEG; } // Enumerate image formats. @@ -214,6 +216,8 @@ int32_t VideoCaptureModuleV4L2::StartCapture( _captureVideoType = kVideoYUY2; else if (video_fmt.fmt.pix.pixelformat == V4L2_PIX_FMT_YUV420) _captureVideoType = kVideoI420; + else if (video_fmt.fmt.pix.pixelformat == V4L2_PIX_FMT_UYVY) + _captureVideoType = kVideoUYVY; else if (video_fmt.fmt.pix.pixelformat == V4L2_PIX_FMT_MJPEG || video_fmt.fmt.pix.pixelformat == V4L2_PIX_FMT_JPEG) _captureVideoType = kVideoMJPEG;