diff options
author | tomfinegan@chromium.org <tomfinegan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-16 22:19:15 +0000 |
---|---|---|
committer | tomfinegan@chromium.org <tomfinegan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-16 22:19:15 +0000 |
commit | 4e8d20a5e0c0e29b9f7235f0d01c926316e778e4 (patch) | |
tree | 43c1b73db1f77aff7b6a53bf3fffe3b0a17e53af /content | |
parent | d674f6e23dc4d4e8944df74074e06c1b5c18a7f1 (diff) | |
download | chromium_src-4e8d20a5e0c0e29b9f7235f0d01c926316e778e4.zip chromium_src-4e8d20a5e0c0e29b9f7235f0d01c926316e778e4.tar.gz chromium_src-4e8d20a5e0c0e29b9f7235f0d01c926316e778e4.tar.bz2 |
media: Add support for playback for VP8 Alpha video streams.
BUG=147355
TEST=VP8 Alpha video streams play
Review URL: https://codereview.chromium.org/12263013
Patch from Vignesh Venkatasubramanian <vigneshv@chromium.org>.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194465 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/browser/renderer_host/media/video_capture_controller.cc | 21 | ||||
-rw-r--r-- | content/browser/renderer_host/render_process_host_impl.cc | 1 |
2 files changed, 22 insertions, 0 deletions
diff --git a/content/browser/renderer_host/media/video_capture_controller.cc b/content/browser/renderer_host/media/video_capture_controller.cc index 25d41a5..b82b796 100644 --- a/content/browser/renderer_host/media/video_capture_controller.cc +++ b/content/browser/renderer_host/media/video_capture_controller.cc @@ -398,6 +398,7 @@ void VideoCaptureController::OnIncomingCapturedVideoFrame( const int kYPlane = media::VideoFrame::kYPlane; const int kUPlane = media::VideoFrame::kUPlane; const int kVPlane = media::VideoFrame::kVPlane; + const int kAPlane = media::VideoFrame::kAPlane; const int kRGBPlane = media::VideoFrame::kRGBPlane; // Do color conversion from the camera format to I420. @@ -430,6 +431,26 @@ void VideoCaptureController::OnIncomingCapturedVideoFrame( target); break; } + case media::VideoFrame::YV12A: { + DCHECK(!chopped_width_ && !chopped_height_); + media::CopyYPlane(frame->data(kYPlane), + frame->stride(kYPlane), + frame->rows(kYPlane), + target); + media::CopyUPlane(frame->data(kUPlane), + frame->stride(kUPlane), + frame->rows(kUPlane), + target); + media::CopyVPlane(frame->data(kVPlane), + frame->stride(kVPlane), + frame->rows(kVPlane), + target); + media::CopyAPlane(frame->data(kAPlane), + frame->stride(kAPlane), + frame->rows(kAPlane), + target); + break; + } case media::VideoFrame::RGB32: { media::ConvertRGB32ToYUV(frame->data(kRGBPlane), target->data(kYPlane), diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc index 53b2822..9f97093 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -868,6 +868,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kEnableViewport, switches::kEnableOpusPlayback, switches::kEnableVp9Playback, + switches::kEnableVp8AlphaPlayback, switches::kForceDeviceScaleFactor, switches::kFullMemoryCrashReport, #if !defined (GOOGLE_CHROME_BUILD) |