Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(802)

Unified Diff: media/filters/skcanvas_video_renderer.cc

Issue 222563002: Remove redundant I420-to-YV12 conversion in MediaStreamVideoTrack. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/filters/skcanvas_video_renderer.cc
diff --git a/media/filters/skcanvas_video_renderer.cc b/media/filters/skcanvas_video_renderer.cc
index ec3e92fe754be1cb895f0f8f64a3ff289ef6dd94..60fc45bcb7f525721b5213145a94f781ef664021 100644
--- a/media/filters/skcanvas_video_renderer.cc
+++ b/media/filters/skcanvas_video_renderer.cc
@@ -14,6 +14,7 @@ namespace media {
static bool IsEitherYV12OrYV16(media::VideoFrame::Format format) {
return format == media::VideoFrame::YV12 ||
+ format == media::VideoFrame::I420 ||
format == media::VideoFrame::YV16 ||
format == media::VideoFrame::YV12J;
}
@@ -40,7 +41,7 @@ static bool IsEitherYV12OrYV12AOrYV16OrNative(
// 2. No flipping nor mirroring.
// 3. Canvas has pixel format ARGB8888.
// 4. Canvas is opaque.
-// 5. Frame format is YV12 or YV16.
+// 5. Frame format is YV12, I420 or YV16.
//
// TODO(hclam): The fast paint method should support flipping and mirroring.
// Disable the flipping and mirroring checks once we have it.
@@ -84,6 +85,7 @@ static void FastPaint(
media::YUVType yuv_type = media::YV16;
int y_shift = 0;
if (video_frame->format() == media::VideoFrame::YV12 ||
+ video_frame->format() == media::VideoFrame::I420 ||
video_frame->format() == media::VideoFrame::YV12A) {
yuv_type = media::YV12;
y_shift = 1;
@@ -227,6 +229,7 @@ static void ConvertVideoFrameToBitmap(
switch (video_frame->format()) {
case media::VideoFrame::YV12:
+ case media::VideoFrame::I420:
case media::VideoFrame::YV12J:
media::ConvertYUVToRGB32(
video_frame->data(media::VideoFrame::kYPlane) + y_offset,

Powered by Google App Engine
This is Rietveld 408576698