Index: webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h |
diff --git a/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h b/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h |
index d7493e04b23b68fa6454aff26aeaf6fb23ed5de8..3ca8b9f3c184f407303a35e60f96e50e3a0cd936 100644 |
--- a/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h |
+++ b/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h |
@@ -61,15 +61,34 @@ class H264EncoderImpl : public H264Encoder { |
void ReportInit(); |
void ReportError(); |
- ISVCEncoder* openh264_encoder_; |
+ // Set the stream state for stream |stream_idx|. |
+ void SetStreamState(bool send_stream, int stream_idx); |
+ |
+ // Scale input_frame to the dimensions of output_frame |
+ void Scale(const VideoFrame& input_frame, VideoFrame* output_frame); |
+ |
+ inline uint32_t CalculateYStrideSize(uint32_t frame_width, |
+ uint32_t frame_height) { |
+ return frame_width; |
+ } |
+ |
+ inline uint32_t CalculateUVStrideSize(uint32_t frame_width, |
+ uint32_t frame_height) { |
+ return (frame_width + 1) / 2; |
+ } |
+ |
+ std::vector<ISVCEncoder*> encoders_; |
VideoCodec codec_settings_; |
- EncodedImage encoded_image_; |
- std::unique_ptr<uint8_t[]> encoded_image_buffer_; |
EncodedImageCallback* encoded_image_callback_; |
- |
bool has_reported_init_; |
bool has_reported_error_; |
+ |
+ std::vector<VideoFrame> scaled_input_frames_; |
+ std::vector<EncodedImage> encoded_images_; |
+ std::vector<std::unique_ptr<uint8_t[]>> encoded_image_buffers_; |
+ std::vector<bool> send_streams_; |
+ std::vector<bool> key_frame_request_; |
sprang_webrtc
2017/03/29 08:44:21
These vectors and encoders_ have to match index wi
|
}; |
} // namespace webrtc |