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

Unified Diff: remoting/base/encoder_vp8.cc

Issue 7992011: Move us fully from gfx:: over to skia types for consistency. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix for bad DEPS Created 9 years, 3 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_vp8.h ('k') | remoting/base/encoder_vp8_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/base/encoder_vp8.cc
diff --git a/remoting/base/encoder_vp8.cc b/remoting/base/encoder_vp8.cc
index 4aae5503b063b3f696c38a7d7b0c19e00b698ea9..eea1a5277123bd358bb075e80d2399dc1c765d0c 100644
--- a/remoting/base/encoder_vp8.cc
+++ b/remoting/base/encoder_vp8.cc
@@ -33,7 +33,7 @@ EncoderVp8::EncoderVp8()
active_map_width_(0),
active_map_height_(0),
last_timestamp_(0),
- size_(0, 0) {
+ size_(SkISize::Make(0, 0)) {
}
EncoderVp8::~EncoderVp8() {
@@ -48,7 +48,7 @@ void EncoderVp8::Destroy() {
}
}
-bool EncoderVp8::Init(const gfx::Size& size) {
+bool EncoderVp8::Init(const SkISize& size) {
Destroy();
size_ = size;
codec_.reset(new vpx_codec_ctx_t());
@@ -134,14 +134,18 @@ bool EncoderVp8::Init(const gfx::Size& size) {
}
// static
-gfx::Rect EncoderVp8::AlignAndClipRect(const gfx::Rect& rect,
- int width, int height) {
- gfx::Rect screen(RoundToTwosMultiple(width), RoundToTwosMultiple(height));
- return screen.Intersect(AlignRect(rect));
+SkIRect EncoderVp8::AlignAndClipRect(const SkIRect& rect,
+ int width, int height) {
+ SkIRect screen(SkIRect::MakeWH(RoundToTwosMultiple(width),
+ RoundToTwosMultiple(height)));
+ if (!screen.intersect(AlignRect(rect))) {
+ screen = SkIRect::MakeWH(0, 0);
+ }
+ return screen;
}
bool EncoderVp8::PrepareImage(scoped_refptr<CaptureData> capture_data,
- std::vector<gfx::Rect>* updated_rects) {
+ RectVector* updated_rects) {
// Perform RGB->YUV conversion.
if (capture_data->pixel_format() != media::VideoFrame::RGB32) {
LOG(ERROR) << "Only RGB32 is supported";
@@ -162,18 +166,17 @@ bool EncoderVp8::PrepareImage(scoped_refptr<CaptureData> capture_data,
DCHECK(updated_rects->empty());
for (SkRegion::Iterator r(region); !r.done(); r.next()) {
// Align the rectangle, report it as updated.
- SkIRect skRect = r.rect();
- gfx::Rect rect(skRect.fLeft, skRect.fTop, skRect.width(), skRect.height());
+ SkIRect rect = r.rect();
rect = AlignAndClipRect(rect, image_->w, image_->h);
- if (!rect.IsEmpty())
+ if (!rect.isEmpty())
updated_rects->push_back(rect);
ConvertRGB32ToYUVWithRect(in,
y_out,
u_out,
v_out,
- rect.x(),
- rect.y(),
+ rect.fLeft,
+ rect.fTop,
rect.width(),
rect.height(),
in_stride,
@@ -183,20 +186,19 @@ bool EncoderVp8::PrepareImage(scoped_refptr<CaptureData> capture_data,
return true;
}
-void EncoderVp8::PrepareActiveMap(
- const std::vector<gfx::Rect>& updated_rects) {
+void EncoderVp8::PrepareActiveMap(const RectVector& updated_rects) {
// Clear active map first.
memset(active_map_.get(), 0, active_map_width_ * active_map_height_);
// Mark blocks at active.
for (size_t i = 0; i < updated_rects.size(); ++i) {
- const gfx::Rect& r = updated_rects[i];
+ const SkIRect& r = updated_rects[i];
CHECK(r.width() && r.height());
- int left = r.x() / kMacroBlockSize;
- int right = (r.right() - 1) / kMacroBlockSize;
- int top = r.y() / kMacroBlockSize;
- int bottom = (r.bottom() - 1) / kMacroBlockSize;
+ int left = r.fLeft / kMacroBlockSize;
+ int right = (r.fRight - 1) / kMacroBlockSize;
+ int top = r.fTop / kMacroBlockSize;
+ int bottom = (r.fBottom - 1) / kMacroBlockSize;
CHECK(right < active_map_width_);
CHECK(bottom < active_map_height_);
@@ -219,7 +221,7 @@ void EncoderVp8::Encode(scoped_refptr<CaptureData> capture_data,
initialized_ = ret;
}
- std::vector<gfx::Rect> updated_rects;
+ RectVector updated_rects;
if (!PrepareImage(capture_data, &updated_rects)) {
NOTREACHED() << "Can't image data for encoding";
}
@@ -282,8 +284,8 @@ void EncoderVp8::Encode(scoped_refptr<CaptureData> capture_data,
message->set_client_sequence_number(capture_data->client_sequence_number());
for (size_t i = 0; i < updated_rects.size(); ++i) {
Rect* rect = message->add_dirty_rects();
- rect->set_x(updated_rects[i].x());
- rect->set_y(updated_rects[i].y());
+ rect->set_x(updated_rects[i].fLeft);
+ rect->set_y(updated_rects[i].fTop);
rect->set_width(updated_rects[i].width());
rect->set_height(updated_rects[i].height());
}
« no previous file with comments | « remoting/base/encoder_vp8.h ('k') | remoting/base/encoder_vp8_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698