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 29 matching lines...) Expand all Loading... |
40 | 40 |
41 virtual bool ConfigureBitrates(int bitrate_kbit, | 41 virtual bool ConfigureBitrates(int bitrate_kbit, |
42 int max_bitrate_kbit, | 42 int max_bitrate_kbit, |
43 int framerate, | 43 int framerate, |
44 vpx_codec_enc_cfg_t* cfg) = 0; | 44 vpx_codec_enc_cfg_t* cfg) = 0; |
45 | 45 |
46 virtual void PopulateCodecSpecific(bool base_layer_sync, | 46 virtual void PopulateCodecSpecific(bool base_layer_sync, |
47 CodecSpecificInfoVP8* vp8_info, | 47 CodecSpecificInfoVP8* vp8_info, |
48 uint32_t timestamp) = 0; | 48 uint32_t timestamp) = 0; |
49 | 49 |
50 virtual void FrameEncoded(unsigned int size, uint32_t timestamp) = 0; | 50 virtual void FrameEncoded(unsigned int size, uint32_t timestamp, int qp) = 0; |
51 | 51 |
52 virtual int CurrentLayerId() const = 0; | 52 virtual int CurrentLayerId() const = 0; |
| 53 |
| 54 virtual bool UpdateConfiguration(vpx_codec_enc_cfg_t* cfg) = 0; |
53 }; | 55 }; |
54 | 56 |
55 // Factory for a temporal layers strategy that adaptively changes the number of | 57 // Factory for a temporal layers strategy that adaptively changes the number of |
56 // layers based on input framerate so that the base layer has an acceptable | 58 // layers based on input framerate so that the base layer has an acceptable |
57 // framerate. See realtime_temporal_layers.cc | 59 // framerate. See realtime_temporal_layers.cc |
58 struct RealTimeTemporalLayersFactory : TemporalLayers::Factory { | 60 struct RealTimeTemporalLayersFactory : TemporalLayers::Factory { |
59 virtual ~RealTimeTemporalLayersFactory() {} | 61 virtual ~RealTimeTemporalLayersFactory() {} |
60 virtual TemporalLayers* Create(int num_temporal_layers, | 62 virtual TemporalLayers* Create(int num_temporal_layers, |
61 uint8_t initial_tl0_pic_idx) const; | 63 uint8_t initial_tl0_pic_idx) const; |
62 }; | 64 }; |
63 | 65 |
64 } // namespace webrtc | 66 } // namespace webrtc |
65 #endif // WEBRTC_MODULES_VIDEO_CODING_CODECS_VP8_TEMPORAL_LAYERS_H_ | 67 #endif // WEBRTC_MODULES_VIDEO_CODING_CODECS_VP8_TEMPORAL_LAYERS_H_ |
OLD | NEW |