OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_CODEC_VIDEO_ENCODER_VPX_H_ | 5 #ifndef REMOTING_CODEC_VIDEO_ENCODER_VPX_H_ |
6 #define REMOTING_CODEC_VIDEO_ENCODER_VPX_H_ | 6 #define REMOTING_CODEC_VIDEO_ENCODER_VPX_H_ |
7 | 7 |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
10 #include "remoting/codec/scoped_vpx_codec.h" | 10 #include "remoting/codec/scoped_vpx_codec.h" |
(...skipping 29 matching lines...) Expand all Loading... |
40 // with the configured lossless color & encoding modes. | 40 // with the configured lossless color & encoding modes. |
41 void Configure(const webrtc::DesktopSize& size); | 41 void Configure(const webrtc::DesktopSize& size); |
42 | 42 |
43 // Prepares |image_| for encoding. Writes updated rectangles into | 43 // Prepares |image_| for encoding. Writes updated rectangles into |
44 // |updated_region|. | 44 // |updated_region|. |
45 void PrepareImage(const webrtc::DesktopFrame& frame, | 45 void PrepareImage(const webrtc::DesktopFrame& frame, |
46 webrtc::DesktopRegion* updated_region); | 46 webrtc::DesktopRegion* updated_region); |
47 | 47 |
48 // Updates the active map according to |updated_region|. Active map is then | 48 // Updates the active map according to |updated_region|. Active map is then |
49 // given to the encoder to speed up encoding. | 49 // given to the encoder to speed up encoding. |
50 void PrepareActiveMap(const webrtc::DesktopRegion& updated_region); | 50 void SetActiveMapFromRegion(const webrtc::DesktopRegion& updated_region); |
| 51 |
| 52 // Adds areas changed in the most recent frame to |updated_region|. This |
| 53 // includes both content changes and areas enhanced by cyclic refresh. |
| 54 void UpdateRegionFromActiveMap(webrtc::DesktopRegion* updated_region); |
51 | 55 |
52 // True if the encoder is for VP9, false for VP8. | 56 // True if the encoder is for VP9, false for VP8. |
53 const bool use_vp9_; | 57 const bool use_vp9_; |
54 | 58 |
55 // Options controlling VP9 encode quantization and color space. | 59 // Options controlling VP9 encode quantization and color space. |
56 // These are always off (false) for VP8. | 60 // These are always off (false) for VP8. |
57 bool lossless_encode_; | 61 bool lossless_encode_; |
58 bool lossless_color_; | 62 bool lossless_color_; |
59 | 63 |
60 // Holds the initialized & configured codec. | 64 // Holds the initialized & configured codec. |
(...skipping 13 matching lines...) Expand all Loading... |
74 | 78 |
75 // Used to help initialize VideoPackets from DesktopFrames. | 79 // Used to help initialize VideoPackets from DesktopFrames. |
76 VideoEncoderHelper helper_; | 80 VideoEncoderHelper helper_; |
77 | 81 |
78 DISALLOW_COPY_AND_ASSIGN(VideoEncoderVpx); | 82 DISALLOW_COPY_AND_ASSIGN(VideoEncoderVpx); |
79 }; | 83 }; |
80 | 84 |
81 } // namespace remoting | 85 } // namespace remoting |
82 | 86 |
83 #endif // REMOTING_CODEC_VIDEO_ENCODER_VP8_H_ | 87 #endif // REMOTING_CODEC_VIDEO_ENCODER_VP8_H_ |
OLD | NEW |