diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-04 02:08:32 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-04 02:08:32 +0000 |
commit | 506861408f234cc0713155918fd5564b380f2ecb (patch) | |
tree | 6636a54391e1ea463e74c5fd2b354f88b20f6b28 /remoting/base/util.h | |
parent | 3ff2d69c9f35289c156f855939ceebe43612fb7b (diff) | |
download | chromium_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.h | 29 |
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_ |