| 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 #include "remoting/codec/video_decoder_vpx.h" | 5 #include "remoting/codec/video_decoder_vpx.h" |
| 6 | 6 |
| 7 #include <math.h> | 7 #include <math.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 // TODO(hclam): Scale the number of threads with number of cores of the | 49 // TODO(hclam): Scale the number of threads with number of cores of the |
| 50 // machine. | 50 // machine. |
| 51 vpx_codec_dec_cfg config; | 51 vpx_codec_dec_cfg config; |
| 52 config.w = 0; | 52 config.w = 0; |
| 53 config.h = 0; | 53 config.h = 0; |
| 54 config.threads = 2; | 54 config.threads = 2; |
| 55 vpx_codec_err_t ret = | 55 vpx_codec_err_t ret = |
| 56 vpx_codec_dec_init(codec.get(), vpx_codec_vp8_dx(), &config, 0); | 56 vpx_codec_dec_init(codec.get(), vpx_codec_vp8_dx(), &config, 0); |
| 57 if (ret != VPX_CODEC_OK) { | 57 if (ret != VPX_CODEC_OK) { |
| 58 LOG(ERROR) << "Cannot initialize codec."; | 58 LOG(ERROR) << "Cannot initialize codec."; |
| 59 return scoped_ptr<VideoDecoderVpx>(); | 59 return nullptr; |
| 60 } | 60 } |
| 61 | 61 |
| 62 return scoped_ptr<VideoDecoderVpx>(new VideoDecoderVpx(codec.Pass())); | 62 return scoped_ptr<VideoDecoderVpx>(new VideoDecoderVpx(codec.Pass())); |
| 63 } | 63 } |
| 64 | 64 |
| 65 // static | 65 // static |
| 66 scoped_ptr<VideoDecoderVpx> VideoDecoderVpx::CreateForVP9() { | 66 scoped_ptr<VideoDecoderVpx> VideoDecoderVpx::CreateForVP9() { |
| 67 ScopedVpxCodec codec(new vpx_codec_ctx_t); | 67 ScopedVpxCodec codec(new vpx_codec_ctx_t); |
| 68 | 68 |
| 69 // TODO(hclam): Scale the number of threads with number of cores of the | 69 // TODO(hclam): Scale the number of threads with number of cores of the |
| 70 // machine. | 70 // machine. |
| 71 vpx_codec_dec_cfg config; | 71 vpx_codec_dec_cfg config; |
| 72 config.w = 0; | 72 config.w = 0; |
| 73 config.h = 0; | 73 config.h = 0; |
| 74 config.threads = 2; | 74 config.threads = 2; |
| 75 vpx_codec_err_t ret = | 75 vpx_codec_err_t ret = |
| 76 vpx_codec_dec_init(codec.get(), vpx_codec_vp9_dx(), &config, 0); | 76 vpx_codec_dec_init(codec.get(), vpx_codec_vp9_dx(), &config, 0); |
| 77 if (ret != VPX_CODEC_OK) { | 77 if (ret != VPX_CODEC_OK) { |
| 78 LOG(ERROR) << "Cannot initialize codec."; | 78 LOG(ERROR) << "Cannot initialize codec."; |
| 79 return scoped_ptr<VideoDecoderVpx>(); | 79 return nullptr; |
| 80 } | 80 } |
| 81 | 81 |
| 82 return scoped_ptr<VideoDecoderVpx>(new VideoDecoderVpx(codec.Pass())); | 82 return scoped_ptr<VideoDecoderVpx>(new VideoDecoderVpx(codec.Pass())); |
| 83 } | 83 } |
| 84 | 84 |
| 85 VideoDecoderVpx::~VideoDecoderVpx() {} | 85 VideoDecoderVpx::~VideoDecoderVpx() {} |
| 86 | 86 |
| 87 void VideoDecoderVpx::Initialize(const webrtc::DesktopSize& screen_size) { | 87 void VideoDecoderVpx::Initialize(const webrtc::DesktopSize& screen_size) { |
| 88 DCHECK(!screen_size.is_empty()); | 88 DCHECK(!screen_size.is_empty()); |
| 89 | 89 |
| (...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 346 webrtc::DesktopRegion difference = *new_desktop_shape; | 346 webrtc::DesktopRegion difference = *new_desktop_shape; |
| 347 difference.Subtract(desktop_shape_); | 347 difference.Subtract(desktop_shape_); |
| 348 updated_region_.AddRegion(difference); | 348 updated_region_.AddRegion(difference); |
| 349 updated_region_.IntersectWith(*new_desktop_shape); | 349 updated_region_.IntersectWith(*new_desktop_shape); |
| 350 | 350 |
| 351 // Set the new desktop shape region. | 351 // Set the new desktop shape region. |
| 352 desktop_shape_.Swap(new_desktop_shape); | 352 desktop_shape_.Swap(new_desktop_shape); |
| 353 } | 353 } |
| 354 | 354 |
| 355 } // namespace remoting | 355 } // namespace remoting |
| OLD | NEW |