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

Unified Diff: remoting/base/encoder_verbatim.cc

Issue 2840036: Moving Encoder and Decoder to remoting/base (Closed)
Patch Set: fix DEPS Created 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/base/encoder_verbatim.h ('k') | remoting/base/encoder_vp8.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/base/encoder_verbatim.cc
diff --git a/remoting/host/encoder_verbatim.cc b/remoting/base/encoder_verbatim.cc
similarity index 74%
rename from remoting/host/encoder_verbatim.cc
rename to remoting/base/encoder_verbatim.cc
index fd9dadf4b2d938dbc4e242dd08558ded214f5347..f6cc2cac6387c96b77c1466fac545ab554fedae8 100644
--- a/remoting/host/encoder_verbatim.cc
+++ b/remoting/base/encoder_verbatim.cc
@@ -2,10 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "remoting/host/encoder_verbatim.h"
+#include "remoting/base/encoder_verbatim.h"
#include "gfx/rect.h"
#include "media/base/data_buffer.h"
+#include "remoting/base/capture_data.h"
#include "remoting/base/protocol_util.h"
#include "remoting/base/protocol/chromotocol.pb.h"
@@ -13,7 +14,7 @@ namespace remoting {
using media::DataBuffer;
-void EncoderVerbatim::Encode(scoped_refptr<Capturer::CaptureData> capture_data,
+void EncoderVerbatim::Encode(scoped_refptr<CaptureData> capture_data,
bool key_frame,
DataAvailableCallback* data_available_callback) {
int num_rects = capture_data->dirty_rects().size();
@@ -22,7 +23,8 @@ void EncoderVerbatim::Encode(scoped_refptr<Capturer::CaptureData> capture_data,
HostMessage* msg = new HostMessage();
UpdateStreamPacketMessage* packet = msg->mutable_update_stream_packet();
- if (EncodeRect(dirty_rect, capture_data, packet)) {
+ if (EncodeRect(dirty_rect.x(), dirty_rect.y(), dirty_rect.width(),
+ dirty_rect.height(), capture_data, packet)) {
// Prepare the end rect content.
packet->mutable_end_rect();
@@ -41,26 +43,26 @@ void EncoderVerbatim::Encode(scoped_refptr<Capturer::CaptureData> capture_data,
}
bool EncoderVerbatim::EncodeRect(
- const gfx::Rect& dirty,
- const scoped_refptr<Capturer::CaptureData>& capture_data,
+ int x, int y, int width, int height,
+ const scoped_refptr<CaptureData>& capture_data,
UpdateStreamPacketMessage* packet) {
// Prepare the begin rect content.
- packet->mutable_begin_rect()->set_x(dirty.x());
- packet->mutable_begin_rect()->set_y(dirty.y());
- packet->mutable_begin_rect()->set_width(dirty.width());
- packet->mutable_begin_rect()->set_height(dirty.height());
+ packet->mutable_begin_rect()->set_x(x);
+ packet->mutable_begin_rect()->set_y(y);
+ packet->mutable_begin_rect()->set_width(width);
+ packet->mutable_begin_rect()->set_height(height);
packet->mutable_begin_rect()->set_encoding(EncodingNone);
packet->mutable_begin_rect()->set_pixel_format(capture_data->pixel_format());
// Calculate the size of output.
int bytes_per_pixel = GetBytesPerPixel(capture_data->pixel_format());
- int row_size = bytes_per_pixel * dirty.width();
+ int row_size = bytes_per_pixel * width;
int output_size = 0;
- for (int i = 0; i < Capturer::DataPlanes::kPlaneCount; ++i) {
+ for (int i = 0; i < DataPlanes::kPlaneCount; ++i) {
// TODO(hclam): Handle YUV since the height would be different.
const uint8* in = capture_data->data_planes().data[i];
if (!in) continue;
- output_size += row_size * dirty.height();
+ output_size += row_size * height;
}
// Resize the output data buffer.
@@ -68,13 +70,13 @@ bool EncoderVerbatim::EncodeRect(
uint8* out = reinterpret_cast<uint8*>(
&((*packet->mutable_rect_data()->mutable_data())[0]));
- for (int i = 0; i < Capturer::DataPlanes::kPlaneCount; ++i) {
+ for (int i = 0; i < DataPlanes::kPlaneCount; ++i) {
const uint8* in = capture_data->data_planes().data[i];
// Skip over planes that don't have data.
if (!in) continue;
// TODO(hclam): Handle YUV since the height would be different.
- for (int j = 0; j < dirty.height(); ++j) {
+ for (int j = 0; j < height; ++j) {
DCHECK_LE(row_size, capture_data->data_planes().strides[i]);
memcpy(out, in, row_size);
in += capture_data->data_planes().strides[i];
« no previous file with comments | « remoting/base/encoder_verbatim.h ('k') | remoting/base/encoder_vp8.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698