summaryrefslogtreecommitdiffstats
path: root/remoting/base/util.h
diff options
context:
space:
mode:
authorhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-04 02:08:32 +0000
committerhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-04 02:08:32 +0000
commit506861408f234cc0713155918fd5564b380f2ecb (patch)
tree6636a54391e1ea463e74c5fd2b354f88b20f6b28 /remoting/base/util.h
parent3ff2d69c9f35289c156f855939ceebe43612fb7b (diff)
downloadchromium_src-506861408f234cc0713155918fd5564b380f2ecb.zip
chromium_src-506861408f234cc0713155918fd5564b380f2ecb.tar.gz
chromium_src-506861408f234cc0713155918fd5564b380f2ecb.tar.bz2
Speed up chromoting encoding and decoding path for VP8
Several enhancements in this patch: 1. Encoder reports updated rects 2. VP8 decoder only performs YUV conversion on updated rects 3. Painting only updated rects in pepper plugin BUG=71253 TEST=Use chromoting to watch video Review URL: http://codereview.chromium.org/6368070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73737 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/base/util.h')
-rw-r--r--remoting/base/util.h29
1 files changed, 27 insertions, 2 deletions
diff --git a/remoting/base/util.h b/remoting/base/util.h
index bf5cff5..51a8d10 100644
--- a/remoting/base/util.h
+++ b/remoting/base/util.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -9,9 +9,34 @@
namespace remoting {
-// TODO(sergeyu): Move this to media::VideoFrame.
+// TODO(sergeyu): Move these methods to media.
int GetBytesPerPixel(media::VideoFrame::Format format);
+// Convert YUV to RGB32 on a specific rectangle.
+void ConvertYUVToRGB32WithRect(const uint8* y_plane,
+ const uint8* u_plane,
+ const uint8* v_plane,
+ uint8* rgb_plane,
+ int x,
+ int y,
+ int width,
+ int height,
+ int y_stride,
+ int uv_stride,
+ int rgb_stride);
+
+void ConvertRGB32ToYUVWithRect(const uint8* rgb_plane,
+ uint8* y_plane,
+ uint8* u_plane,
+ uint8* v_plane,
+ int x,
+ int y,
+ int width,
+ int height,
+ int rgb_stride,
+ int y_stride,
+ int uv_stride);
+
} // namespace remoting
#endif // REMOTING_BASE_UTIL_H_