| Index: webrtc/modules/video_coding/codecs/vp9/vp9_frame_buffer_pool.h
|
| diff --git a/webrtc/modules/video_coding/codecs/vp9/vp9_frame_buffer_pool.h b/webrtc/modules/video_coding/codecs/vp9/vp9_frame_buffer_pool.h
|
| index 8551689548abeeb8f9a4988d310a1ef3410b53ea..af91c8c0d2b73a6b1cad044c42d883e8ff1ea03c 100644
|
| --- a/webrtc/modules/video_coding/codecs/vp9/vp9_frame_buffer_pool.h
|
| +++ b/webrtc/modules/video_coding/codecs/vp9/vp9_frame_buffer_pool.h
|
| @@ -107,9 +107,16 @@ class Vp9FrameBufferPool {
|
| // All buffers, in use or ready to be recycled.
|
| std::vector<rtc::scoped_refptr<Vp9FrameBuffer>> allocated_buffers_
|
| GUARDED_BY(buffers_lock_);
|
| - // If more buffers than this are allocated we print warnings, and crash if
|
| - // in debug mode.
|
| - static const size_t max_num_buffers_ = 10;
|
| + // If more buffers than this are allocated we print warnings and crash if in
|
| + // debug mode. VP9 is defined to have 8 reference buffers, of which 3 can be
|
| + // referenced by any frame, see
|
| + // https://tools.ietf.org/html/draft-grange-vp9-bitstream-00#section-2.2.2.
|
| + // Assuming VP9 holds on to at most 8 buffers, any more buffers than that
|
| + // would have to be by application code. Decoded frames should not be
|
| + // referenced for longer than necessary. If we allow ~60 additional buffers
|
| + // then the application has ~1 second to e.g. render each frame of a 60 fps
|
| + // video.
|
| + static const size_t max_num_buffers_ = 68;
|
| };
|
|
|
| } // namespace webrtc
|
|
|