Index: webrtc/modules/video_coding/rtp_frame_reference_finder.h |
diff --git a/webrtc/modules/video_coding/rtp_frame_reference_finder.h b/webrtc/modules/video_coding/rtp_frame_reference_finder.h |
index e9e7d60a33155764719d992ff44511f8ab2e47c8..aa16e692a79e8c9d93abc0fee1907d11ac8e2418 100644 |
--- a/webrtc/modules/video_coding/rtp_frame_reference_finder.h |
+++ b/webrtc/modules/video_coding/rtp_frame_reference_finder.h |
@@ -57,12 +57,12 @@ class RtpFrameReferenceFinder { |
void ClearTo(uint16_t seq_num); |
private: |
- static const uint16_t kPicIdLength = 1 << 7; |
+ static const uint16_t kPicIdLength = 1 << 15; |
static const uint8_t kMaxTemporalLayers = 5; |
- static const int kMaxLayerInfo = 10; |
- static const int kMaxStashedFrames = 10; |
- static const int kMaxNotYetReceivedFrames = 20; |
- static const int kMaxGofSaved = 15; |
+ static const int kMaxLayerInfo = 50; |
+ static const int kMaxStashedFrames = 50; |
+ static const int kMaxNotYetReceivedFrames = 100; |
+ static const int kMaxGofSaved = 50; |
static const int kMaxPaddingAge = 100; |
@@ -129,6 +129,11 @@ class RtpFrameReferenceFinder { |
// All picture ids are unwrapped to 16 bits. |
uint16_t UnwrapPictureId(uint16_t picture_id) EXCLUSIVE_LOCKS_REQUIRED(crit_); |
+ // Returns true if the frame is old and should be dropped. |
+ // TODO(philipel): Remove when VP9 PID does not jump mid-stream. |
stefan-webrtc
2016/11/14 12:00:26
M59 timeframe?
philipel
2016/11/14 15:31:04
Added comment.
|
+ bool Vp9PidTl0Fix(const RtpFrameObject& frame, |
+ int16_t* picture_id, |
+ int16_t* tl0_pic_idx) EXCLUSIVE_LOCKS_REQUIRED(crit_); |
// For every group of pictures, hold two sequence numbers. The first being |
// the sequence number of the last packet of the last completed frame, and |
@@ -196,6 +201,15 @@ class RtpFrameReferenceFinder { |
int cleared_to_seq_num_ GUARDED_BY(crit_); |
OnCompleteFrameCallback* frame_callback_; |
+ |
+ // Vp9PidFix variables |
+ // TODO(philipel): Remove when VP9 PID does not jump mid-stream. |
+ int vp9_fix_last_timestamp_ = -1; |
+ int vp9_fix_jump_timestamp_ = -1; |
+ int vp9_fix_last_picture_id_ = -1; |
+ int vp9_fix_pid_offset_ = 0; |
+ int vp9_fix_last_tl0_pic_idx_ = -1; |
+ int vp9_fix_tl0_pic_idx_offset_ = 0; |
}; |
} // namespace video_coding |