| Index: webrtc/modules/video_coding/codecs/vp8/temporal_layers.h
|
| diff --git a/webrtc/modules/video_coding/codecs/vp8/temporal_layers.h b/webrtc/modules/video_coding/codecs/vp8/temporal_layers.h
|
| index e1f1e0abae75f10b5134198983af7c5507e1cf44..0d09839a8c4e822aae4135c2bf1751a139a2844e 100644
|
| --- a/webrtc/modules/video_coding/codecs/vp8/temporal_layers.h
|
| +++ b/webrtc/modules/video_coding/codecs/vp8/temporal_layers.h
|
| @@ -12,13 +12,10 @@
|
| #ifndef WEBRTC_MODULES_VIDEO_CODING_CODECS_VP8_TEMPORAL_LAYERS_H_
|
| #define WEBRTC_MODULES_VIDEO_CODING_CODECS_VP8_TEMPORAL_LAYERS_H_
|
|
|
| -#include <vector>
|
| +#include "vpx/vpx_encoder.h"
|
|
|
| #include "webrtc/common_video/include/video_image.h"
|
| #include "webrtc/typedefs.h"
|
| -
|
| -struct vpx_codec_enc_cfg;
|
| -typedef struct vpx_codec_enc_cfg vpx_codec_enc_cfg_t;
|
|
|
| namespace webrtc {
|
|
|
| @@ -26,7 +23,7 @@
|
|
|
| class TemporalLayers {
|
| public:
|
| - // Factory for TemporalLayer strategy. Default behavior is a fixed pattern
|
| + // Factory for TemporalLayer strategy. Default behaviour is a fixed pattern
|
| // of temporal layers. See default_temporal_layers.cc
|
| virtual ~TemporalLayers() {}
|
|
|
| @@ -34,15 +31,10 @@
|
| // and/or update the reference buffers.
|
| virtual int EncodeFlags(uint32_t timestamp) = 0;
|
|
|
| - // Update state based on new bitrate target and incoming framerate.
|
| - // Returns the bitrate allocation for the active temporal layers.
|
| - virtual std::vector<uint32_t> OnRatesUpdated(int bitrate_kbps,
|
| - int max_bitrate_kbps,
|
| - int framerate) = 0;
|
| -
|
| - // Update the encoder configuration with target bitrates or other parameters.
|
| - // Returns true iff the configuration was actually modified.
|
| - virtual bool UpdateConfiguration(vpx_codec_enc_cfg_t* cfg) = 0;
|
| + virtual bool ConfigureBitrates(int bitrate_kbit,
|
| + int max_bitrate_kbit,
|
| + int framerate,
|
| + vpx_codec_enc_cfg_t* cfg) = 0;
|
|
|
| virtual void PopulateCodecSpecific(bool base_layer_sync,
|
| CodecSpecificInfoVP8* vp8_info,
|
| @@ -51,41 +43,25 @@
|
| virtual void FrameEncoded(unsigned int size, uint32_t timestamp, int qp) = 0;
|
|
|
| virtual int CurrentLayerId() const = 0;
|
| +
|
| + virtual bool UpdateConfiguration(vpx_codec_enc_cfg_t* cfg) = 0;
|
| };
|
|
|
| -class TemporalLayersListener;
|
| class TemporalLayersFactory {
|
| public:
|
| - TemporalLayersFactory() : listener_(nullptr) {}
|
| virtual ~TemporalLayersFactory() {}
|
| - virtual TemporalLayers* Create(int simulcast_id,
|
| - int temporal_layers,
|
| + virtual TemporalLayers* Create(int temporal_layers,
|
| uint8_t initial_tl0_pic_idx) const;
|
| - void SetListener(TemporalLayersListener* listener);
|
| -
|
| - protected:
|
| - TemporalLayersListener* listener_;
|
| };
|
|
|
| // Factory for a temporal layers strategy that adaptively changes the number of
|
| -// layers based on input frame rate so that the base layer has an acceptable
|
| -// frame rate. See realtime_temporal_layers.cc
|
| +// layers based on input framerate so that the base layer has an acceptable
|
| +// framerate. See realtime_temporal_layers.cc
|
| class RealTimeTemporalLayersFactory : public TemporalLayersFactory {
|
| public:
|
| - RealTimeTemporalLayersFactory() {}
|
| ~RealTimeTemporalLayersFactory() override {}
|
| - TemporalLayers* Create(int simulcast_id,
|
| - int num_temporal_layers,
|
| + TemporalLayers* Create(int num_temporal_layers,
|
| uint8_t initial_tl0_pic_idx) const override;
|
| -};
|
| -
|
| -class TemporalLayersListener {
|
| - public:
|
| - TemporalLayersListener() {}
|
| - virtual ~TemporalLayersListener() {}
|
| -
|
| - virtual void OnTemporalLayersCreated(int simulcast_id,
|
| - TemporalLayers* layers) = 0;
|
| };
|
|
|
| } // namespace webrtc
|
|
|