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

Side by Side Diff: remoting/base/encoder_row_based.h

Issue 7491070: Switch over to using SkRegions to calculate dirty areas. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: clean up comments Created 9 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #ifndef REMOTING_BASE_ENCODER_ROW_BASED_H_ 5 #ifndef REMOTING_BASE_ENCODER_ROW_BASED_H_
6 #define REMOTING_BASE_ENCODER_ROW_BASED_H_ 6 #define REMOTING_BASE_ENCODER_ROW_BASED_H_
7 7
8 #include "remoting/base/encoder.h" 8 #include "remoting/base/encoder.h"
9 #include "remoting/proto/video.pb.h" 9 #include "remoting/proto/video.pb.h"
10 10 #include "third_party/skia/include/core/SkRect.h"
11 #include "ui/gfx/rect.h" 11 #include "ui/gfx/size.h"
12 12
13 namespace remoting { 13 namespace remoting {
14 14
15 class Compressor; 15 class Compressor;
16 class UpdateStreamPacket; 16 class UpdateStreamPacket;
17 17
18 // EncoderRowBased implements an Encoder using zlib or verbatim 18 // EncoderRowBased implements an Encoder using zlib or verbatim
19 // compression. Zlib-based encoder must be created using 19 // compression. Zlib-based encoder must be created using
20 // CreateZlibEncoder(), verbatim encoder is created with 20 // CreateZlibEncoder(), verbatim encoder is created with
21 // CreateVerbatimEncoder(). 21 // CreateVerbatimEncoder().
(...skipping 12 matching lines...) Expand all
34 virtual void Encode(scoped_refptr<CaptureData> capture_data, 34 virtual void Encode(scoped_refptr<CaptureData> capture_data,
35 bool key_frame, 35 bool key_frame,
36 DataAvailableCallback* data_available_callback); 36 DataAvailableCallback* data_available_callback);
37 37
38 private: 38 private:
39 EncoderRowBased(Compressor* compressor, VideoPacketFormat::Encoding encoding); 39 EncoderRowBased(Compressor* compressor, VideoPacketFormat::Encoding encoding);
40 EncoderRowBased(Compressor* compressor, VideoPacketFormat::Encoding encoding, 40 EncoderRowBased(Compressor* compressor, VideoPacketFormat::Encoding encoding,
41 int packet_size); 41 int packet_size);
42 42
43 // Encode a single dirty rect using compressor. 43 // Encode a single dirty rect using compressor.
44 void EncodeRect(const gfx::Rect& rect, bool last); 44 void EncodeRect(const SkIRect& rect, bool last);
45 45
46 // Marks a packet as the first in a series of rectangle updates. 46 // Marks a packet as the first in a series of rectangle updates.
47 void PrepareUpdateStart(const gfx::Rect& rect, VideoPacket* packet); 47 void PrepareUpdateStart(const SkIRect& rect, VideoPacket* packet);
48 48
49 // Retrieves a pointer to the output buffer in |update| used for storing the 49 // Retrieves a pointer to the output buffer in |update| used for storing the
50 // encoded rectangle data. Will resize the buffer to |size|. 50 // encoded rectangle data. Will resize the buffer to |size|.
51 uint8* GetOutputBuffer(VideoPacket* packet, size_t size); 51 uint8* GetOutputBuffer(VideoPacket* packet, size_t size);
52 52
53 // Submit |message| to |callback_|. 53 // Submit |message| to |callback_|.
54 void SubmitMessage(VideoPacket* packet, size_t rect_index); 54 void SubmitMessage(VideoPacket* packet, size_t rect_index);
55 55
56 // The encoding of the incoming stream. 56 // The encoding of the incoming stream.
57 VideoPacketFormat::Encoding encoding_; 57 VideoPacketFormat::Encoding encoding_;
58 58
59 scoped_ptr<Compressor> compressor_; 59 scoped_ptr<Compressor> compressor_;
60 60
61 scoped_refptr<CaptureData> capture_data_; 61 scoped_refptr<CaptureData> capture_data_;
62 scoped_ptr<DataAvailableCallback> callback_; 62 scoped_ptr<DataAvailableCallback> callback_;
63 63
64 // The most recent screen size. 64 // The most recent screen size.
65 gfx::Size screen_size_; 65 gfx::Size screen_size_;
66 66
67 int packet_size_; 67 int packet_size_;
68 }; 68 };
69 69
70 } // namespace remoting 70 } // namespace remoting
71 71
72 #endif // REMOTING_BASE_ENCODER_ROW_BASED_H_ 72 #endif // REMOTING_BASE_ENCODER_ROW_BASED_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698