OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 * | 9 * |
10 */ | 10 */ |
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
493 RTC_DCHECK_EQ(input_image.height(), static_cast<int>(raw_->d_h)); | 493 RTC_DCHECK_EQ(input_image.height(), static_cast<int>(raw_->d_h)); |
494 | 494 |
495 // Set input image for use in the callback. | 495 // Set input image for use in the callback. |
496 // This was necessary since you need some information from input_image. | 496 // This was necessary since you need some information from input_image. |
497 // You can save only the necessary information (such as timestamp) instead of | 497 // You can save only the necessary information (such as timestamp) instead of |
498 // doing this. | 498 // doing this. |
499 input_image_ = &input_image; | 499 input_image_ = &input_image; |
500 | 500 |
501 // Image in vpx_image_t format. | 501 // Image in vpx_image_t format. |
502 // Input image is const. VPX's raw image is not defined as const. | 502 // Input image is const. VPX's raw image is not defined as const. |
503 raw_->planes[VPX_PLANE_Y] = const_cast<uint8_t*>(input_image.buffer(kYPlane)); | 503 raw_->planes[VPX_PLANE_Y] = |
504 raw_->planes[VPX_PLANE_U] = const_cast<uint8_t*>(input_image.buffer(kUPlane)); | 504 const_cast<uint8_t*>(input_image.video_frame_buffer()->DataY()); |
505 raw_->planes[VPX_PLANE_V] = const_cast<uint8_t*>(input_image.buffer(kVPlane)); | 505 raw_->planes[VPX_PLANE_U] = |
506 raw_->stride[VPX_PLANE_Y] = input_image.stride(kYPlane); | 506 const_cast<uint8_t*>(input_image.video_frame_buffer()->DataU()); |
507 raw_->stride[VPX_PLANE_U] = input_image.stride(kUPlane); | 507 raw_->planes[VPX_PLANE_V] = |
508 raw_->stride[VPX_PLANE_V] = input_image.stride(kVPlane); | 508 const_cast<uint8_t*>(input_image.video_frame_buffer()->DataV()); |
| 509 raw_->stride[VPX_PLANE_Y] = input_image.video_frame_buffer()->StrideY(); |
| 510 raw_->stride[VPX_PLANE_U] = input_image.video_frame_buffer()->StrideU(); |
| 511 raw_->stride[VPX_PLANE_V] = input_image.video_frame_buffer()->StrideV(); |
509 | 512 |
510 vpx_enc_frame_flags_t flags = 0; | 513 vpx_enc_frame_flags_t flags = 0; |
511 bool send_keyframe = (frame_type == kVideoFrameKey); | 514 bool send_keyframe = (frame_type == kVideoFrameKey); |
512 if (send_keyframe) { | 515 if (send_keyframe) { |
513 // Key frame request from caller. | 516 // Key frame request from caller. |
514 flags = VPX_EFLAG_FORCE_KF; | 517 flags = VPX_EFLAG_FORCE_KF; |
515 } | 518 } |
516 | 519 |
517 if (is_flexible_mode_) { | 520 if (is_flexible_mode_) { |
518 SuperFrameRefSettings settings; | 521 SuperFrameRefSettings settings; |
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
979 frame_buffer_pool_.ClearPool(); | 982 frame_buffer_pool_.ClearPool(); |
980 inited_ = false; | 983 inited_ = false; |
981 return WEBRTC_VIDEO_CODEC_OK; | 984 return WEBRTC_VIDEO_CODEC_OK; |
982 } | 985 } |
983 | 986 |
984 const char* VP9DecoderImpl::ImplementationName() const { | 987 const char* VP9DecoderImpl::ImplementationName() const { |
985 return "libvpx"; | 988 return "libvpx"; |
986 } | 989 } |
987 | 990 |
988 } // namespace webrtc | 991 } // namespace webrtc |
OLD | NEW |