| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 2  *  Copyright (c) 2016 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 82 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 93       return ManageFrameVp9(frame); | 93       return ManageFrameVp9(frame); | 
| 94     // Since the EndToEndTests use kVicdeoCodecUnknow we treat it the same as | 94     // Since the EndToEndTests use kVicdeoCodecUnknow we treat it the same as | 
| 95     // kVideoCodecGeneric. | 95     // kVideoCodecGeneric. | 
| 96     // TODO(philipel): Take a look at the EndToEndTests and see if maybe they | 96     // TODO(philipel): Take a look at the EndToEndTests and see if maybe they | 
| 97     //                 should be changed to use kVideoCodecGeneric instead. | 97     //                 should be changed to use kVideoCodecGeneric instead. | 
| 98     case kVideoCodecUnknown: | 98     case kVideoCodecUnknown: | 
| 99     case kVideoCodecH264: | 99     case kVideoCodecH264: | 
| 100     case kVideoCodecI420: | 100     case kVideoCodecI420: | 
| 101     case kVideoCodecGeneric: | 101     case kVideoCodecGeneric: | 
| 102       return ManageFrameGeneric(frame, kNoPictureId); | 102       return ManageFrameGeneric(frame, kNoPictureId); | 
|  | 103     case kVideoCodecStereo: | 
|  | 104       return ManageFrameVp9(frame); | 
| 103   } | 105   } | 
| 104 | 106 | 
| 105   // If not all code paths return a value it makes the win compiler sad. | 107   // If not all code paths return a value it makes the win compiler sad. | 
| 106   RTC_NOTREACHED(); | 108   RTC_NOTREACHED(); | 
| 107   return kDrop; | 109   return kDrop; | 
| 108 } | 110 } | 
| 109 | 111 | 
| 110 void RtpFrameReferenceFinder::PaddingReceived(uint16_t seq_num) { | 112 void RtpFrameReferenceFinder::PaddingReceived(uint16_t seq_num) { | 
| 111   rtc::CritScope lock(&crit_); | 113   rtc::CritScope lock(&crit_); | 
| 112   auto clean_padding_to = | 114   auto clean_padding_to = | 
| (...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 397   RTC_DCHECK(rtp_codec_header); | 399   RTC_DCHECK(rtp_codec_header); | 
| 398   const RTPVideoHeaderVP9& codec_header = rtp_codec_header->VP9; | 400   const RTPVideoHeaderVP9& codec_header = rtp_codec_header->VP9; | 
| 399 | 401 | 
| 400   bool old_frame = Vp9PidTl0Fix(*frame, &rtp_codec_header->VP9.picture_id, | 402   bool old_frame = Vp9PidTl0Fix(*frame, &rtp_codec_header->VP9.picture_id, | 
| 401                                 &rtp_codec_header->VP9.tl0_pic_idx); | 403                                 &rtp_codec_header->VP9.tl0_pic_idx); | 
| 402   if (old_frame) | 404   if (old_frame) | 
| 403     return kDrop; | 405     return kDrop; | 
| 404 | 406 | 
| 405   if (codec_header.picture_id == kNoPictureId || | 407   if (codec_header.picture_id == kNoPictureId || | 
| 406       codec_header.temporal_idx == kNoTemporalIdx) { | 408       codec_header.temporal_idx == kNoTemporalIdx) { | 
| 407     return ManageFrameGeneric(std::move(frame), codec_header.picture_id); | 409     return ManageFrameGeneric(std::move(frame), kNoPictureId); | 
| 408   } | 410   } | 
| 409 | 411 | 
| 410   frame->spatial_layer = codec_header.spatial_idx; | 412   frame->spatial_layer = codec_header.spatial_idx; | 
| 411   frame->inter_layer_predicted = codec_header.inter_layer_predicted; | 413   frame->inter_layer_predicted = codec_header.inter_layer_predicted; | 
| 412   frame->picture_id = codec_header.picture_id % kPicIdLength; | 414   frame->picture_id = codec_header.picture_id % kPicIdLength; | 
| 413 |  | 
| 414   if (last_unwrap_ == -1) | 415   if (last_unwrap_ == -1) | 
| 415     last_unwrap_ = codec_header.picture_id; | 416     last_unwrap_ = codec_header.picture_id; | 
| 416 | 417 | 
| 417   if (last_picture_id_ == -1) | 418   if (last_picture_id_ == -1) | 
| 418     last_picture_id_ = frame->picture_id; | 419     last_picture_id_ = frame->picture_id; | 
| 419 | 420 | 
| 420   if (codec_header.flexible_mode) { | 421   if (codec_header.flexible_mode) { | 
| 421     frame->num_references = codec_header.num_ref_pics; | 422     frame->num_references = codec_header.num_ref_pics; | 
| 422     for (size_t i = 0; i < frame->num_references; ++i) { | 423     for (size_t i = 0; i < frame->num_references; ++i) { | 
| 423       frame->references[i] = | 424       frame->references[i] = | 
| (...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 746     if (!gof_info_.empty() && | 747     if (!gof_info_.empty() && | 
| 747         AheadOf<uint8_t>(gof_info_.begin()->first, fixed_tl0)) { | 748         AheadOf<uint8_t>(gof_info_.begin()->first, fixed_tl0)) { | 
| 748       return true; | 749       return true; | 
| 749     } | 750     } | 
| 750   } | 751   } | 
| 751   return false; | 752   return false; | 
| 752 } | 753 } | 
| 753 | 754 | 
| 754 }  // namespace video_coding | 755 }  // namespace video_coding | 
| 755 }  // namespace webrtc | 756 }  // namespace webrtc | 
| OLD | NEW | 
|---|