OLD | NEW |
1 /* Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. | 1 /* Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. |
2 * | 2 * |
3 * Use of this source code is governed by a BSD-style license | 3 * Use of this source code is governed by a BSD-style license |
4 * that can be found in the LICENSE file in the root of the source | 4 * that can be found in the LICENSE file in the root of the source |
5 * tree. An additional intellectual property rights grant can be found | 5 * tree. An additional intellectual property rights grant can be found |
6 * in the file PATENTS. All contributing project authors may | 6 * in the file PATENTS. All contributing project authors may |
7 * be found in the AUTHORS file in the root of the source tree. | 7 * be found in the AUTHORS file in the root of the source tree. |
8 */ | 8 */ |
9 /* | 9 /* |
10 * This file defines the interface for doing temporal layers with VP8. | 10 * This file defines the interface for doing temporal layers with VP8. |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 // Returns true iff the configuration was actually modified. | 83 // Returns true iff the configuration was actually modified. |
84 virtual bool UpdateConfiguration(vpx_codec_enc_cfg_t* cfg) = 0; | 84 virtual bool UpdateConfiguration(vpx_codec_enc_cfg_t* cfg) = 0; |
85 | 85 |
86 virtual void PopulateCodecSpecific(bool is_keyframe, | 86 virtual void PopulateCodecSpecific(bool is_keyframe, |
87 CodecSpecificInfoVP8* vp8_info, | 87 CodecSpecificInfoVP8* vp8_info, |
88 uint32_t timestamp) = 0; | 88 uint32_t timestamp) = 0; |
89 | 89 |
90 virtual void FrameEncoded(unsigned int size, int qp) = 0; | 90 virtual void FrameEncoded(unsigned int size, int qp) = 0; |
91 | 91 |
92 virtual int CurrentLayerId() const = 0; | 92 virtual int CurrentLayerId() const = 0; |
| 93 |
| 94 // Returns the current tl0_pic_idx, so it can be reused in future |
| 95 // instantiations. |
| 96 virtual uint8_t Tl0PicIdx() const = 0; |
93 }; | 97 }; |
94 | 98 |
95 class TemporalLayersListener; | 99 class TemporalLayersListener; |
96 class TemporalLayersFactory { | 100 class TemporalLayersFactory { |
97 public: | 101 public: |
98 TemporalLayersFactory() : listener_(nullptr) {} | 102 TemporalLayersFactory() : listener_(nullptr) {} |
99 virtual ~TemporalLayersFactory() {} | 103 virtual ~TemporalLayersFactory() {} |
100 virtual TemporalLayers* Create(int simulcast_id, | 104 virtual TemporalLayers* Create(int simulcast_id, |
101 int temporal_layers, | 105 int temporal_layers, |
102 uint8_t initial_tl0_pic_idx) const; | 106 uint8_t initial_tl0_pic_idx) const; |
(...skipping 17 matching lines...) Expand all Loading... |
120 public: | 124 public: |
121 TemporalLayersListener() {} | 125 TemporalLayersListener() {} |
122 virtual ~TemporalLayersListener() {} | 126 virtual ~TemporalLayersListener() {} |
123 | 127 |
124 virtual void OnTemporalLayersCreated(int simulcast_id, | 128 virtual void OnTemporalLayersCreated(int simulcast_id, |
125 TemporalLayers* layers) = 0; | 129 TemporalLayers* layers) = 0; |
126 }; | 130 }; |
127 | 131 |
128 } // namespace webrtc | 132 } // namespace webrtc |
129 #endif // WEBRTC_MODULES_VIDEO_CODING_CODECS_VP8_TEMPORAL_LAYERS_H_ | 133 #endif // WEBRTC_MODULES_VIDEO_CODING_CODECS_VP8_TEMPORAL_LAYERS_H_ |
OLD | NEW |