Poll is_hardware_accelerated from VideoEncoder instead of VideoEncoderFactory.
Currently, CPU overuse settings for HW encoders are sometimes being used even though the actual encoder is a SW encoder, e.g. in case of SW fallback when the encoder is initialized. Polling is_hardware_accelerated after the encoder has been created and initialized will improve choosing the correct CPU overuse settings. Bug: webrtc:10065 Change-Id: Ic6bd67630a040b5a121c13fa63dd074006973929 Reviewed-on: https://webrtc-review.googlesource.com/c/116688 Commit-Queue: Mirta Dvornicic <mirtad@webrtc.org> Reviewed-by: Erik Språng <sprang@webrtc.org> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26266}
This commit is contained in:

committed by
Commit Bot

parent
29cbd85cce
commit
ccc1b57e32
@ -116,11 +116,15 @@ int MultiplexEncoderAdapter::InitEncode(const VideoCodec* inst,
|
||||
if (i != kAlphaCodecStreams - 1) {
|
||||
encoder_info_.implementation_name += ", ";
|
||||
}
|
||||
// Uses hardware support if any of the encoders uses it.
|
||||
// For example, if we are having issues with down-scaling due to
|
||||
// pipelining delay in HW encoders we need higher encoder usage
|
||||
// thresholds in CPU adaptation.
|
||||
if (i == 0) {
|
||||
encoder_info_.is_hardware_accelerated =
|
||||
encoder_impl_info.is_hardware_accelerated;
|
||||
} else {
|
||||
encoder_info_.is_hardware_accelerated &=
|
||||
encoder_info_.is_hardware_accelerated |=
|
||||
encoder_impl_info.is_hardware_accelerated;
|
||||
}
|
||||
encoder_info_.has_internal_source = false;
|
||||
|
Reference in New Issue
Block a user