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

Side by Side Diff: remoting/base/util.cc

Issue 2148743005: [Remoting Android] Cursor & Cursor Feedback for OpenGL Renderer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Swap BGRA to RGBA Created 4 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "remoting/base/util.h" 5 #include "remoting/base/util.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 65
66 // Copy pixels in the rectangle line by line. 66 // Copy pixels in the rectangle line by line.
67 const int bytes_per_line = kBytesPerPixelRGB32 * dest_rect.width(); 67 const int bytes_per_line = kBytesPerPixelRGB32 * dest_rect.width();
68 for (int i = 0 ; i < dest_rect.height(); ++i) { 68 for (int i = 0 ; i < dest_rect.height(); ++i) {
69 memcpy(dest_buffer, source_buffer, bytes_per_line); 69 memcpy(dest_buffer, source_buffer, bytes_per_line);
70 source_buffer += source_stride; 70 source_buffer += source_stride;
71 dest_buffer += dest_stride; 71 dest_buffer += dest_stride;
72 } 72 }
73 } 73 }
74 74
75 void CopyAndSwapRB(const uint8_t* source, uint8_t* dest, int length) {
Sergey Ulanov 2016/07/19 00:42:48 Please use RGBAToARGB() from libyuv. It's optimize
Yuwei 2016/07/19 04:11:52 Wouldn't it be BGRAToRGBA()? Looks like there is n
Yuwei 2016/07/19 20:34:23 Done. Using libyuv::ABGRToARGB
Sergey Ulanov 2016/07/20 18:06:11 memcpy() itself should be already optimized.
76 for (int i = 0; i < length / kBytesPerPixelRGB32; i++) {
77 dest[i * kBytesPerPixelRGB32] = source[i * kBytesPerPixelRGB32 + 2];
78 dest[i * kBytesPerPixelRGB32 + 1] = source[i * kBytesPerPixelRGB32 + 1];
79 dest[i * kBytesPerPixelRGB32 + 2] = source[i * kBytesPerPixelRGB32 + 0];
80 dest[i * kBytesPerPixelRGB32 + 3] = source[i * kBytesPerPixelRGB32 + 3];
81 }
82 }
83
75 std::string ReplaceLfByCrLf(const std::string& in) { 84 std::string ReplaceLfByCrLf(const std::string& in) {
76 std::string out; 85 std::string out;
77 out.resize(2 * in.size()); 86 out.resize(2 * in.size());
78 char* out_p_begin = &out[0]; 87 char* out_p_begin = &out[0];
79 char* out_p = out_p_begin; 88 char* out_p = out_p_begin;
80 const char* in_p_begin = &in[0]; 89 const char* in_p_begin = &in[0];
81 const char* in_p_end = &in[in.size()]; 90 const char* in_p_end = &in[in.size()];
82 for (const char* in_p = in_p_begin; in_p < in_p_end; ++in_p) { 91 for (const char* in_p = in_p_begin; in_p < in_p_end; ++in_p) {
83 char c = *in_p; 92 char c = *in_p;
84 if (c == '\n') { 93 if (c == '\n') {
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 } 152 }
144 153
145 bool DoesRectContain(const webrtc::DesktopRect& a, 154 bool DoesRectContain(const webrtc::DesktopRect& a,
146 const webrtc::DesktopRect& b) { 155 const webrtc::DesktopRect& b) {
147 webrtc::DesktopRect intersection(a); 156 webrtc::DesktopRect intersection(a);
148 intersection.IntersectWith(b); 157 intersection.IntersectWith(b);
149 return intersection.equals(b); 158 return intersection.equals(b);
150 } 159 }
151 160
152 } // namespace remoting 161 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/base/util.h ('k') | remoting/client/BUILD.gn » ('j') | remoting/client/gl_cursor.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698