Enable VP9 k-SVC encoding

This commit is contained in:
Alexander David Frick 2022-03-18 13:52:07 -05:00 committed by GitHub
parent fb6b2a878c
commit 23496ea699
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -8,6 +8,7 @@
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "components/system_media_controls/linux/buildflags/buildflags.h"
#include "media/media_buildflags.h"
#if BUILDFLAG(IS_LINUX)
#include "base/cpu.h"
@ -347,6 +348,13 @@ const base::Feature kCdmHostVerification{"CdmHostVerification",
// using the same CDM type would share one CDM process.
const base::Feature kCdmProcessSiteIsolation{"CdmProcessSiteIsolation",
base::FEATURE_ENABLED_BY_DEFAULT};
// If echo cancellation for a mic signal is requested, mix and cancel all audio
// playback going to a specific output device in the audio service.
#if BUILDFLAG(CHROME_WIDE_ECHO_CANCELLATION)
const base::Feature kChromeWideEchoCancellation{
"ChromeWideEchoCancellation", base::FEATURE_DISABLED_BY_DEFAULT};
#endif
// Make MSE garbage collection algorithm more aggressive when we are under
// moderate or critical memory pressure. This will relieve memory pressure by
@ -529,8 +537,14 @@ const base::Feature kVaapiH264TemporalLayerHWEncoding{
const base::Feature kVaapiVp8TemporalLayerHWEncoding{
"VaapiVp8TemporalLayerEncoding", base::FEATURE_ENABLED_BY_DEFAULT};
// Enable VP9 k-SVC encoding with HW encoder for webrtc use case on ChromeOS.
const base::Feature kVaapiVp9kSVCHWEncoding{"VaapiVp9kSVCHWEncoding",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kVaapiVp9kSVCHWEncoding {
"VaapiVp9kSVCHWEncoding",
#if BUILDFLAG(IS_CHROMEOS_ASH)
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
};
#endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS)
// Inform video blitter of video color space.
@ -930,6 +944,14 @@ const base::Feature kBresenhamCadence{"BresenhamCadence",
// Display the playback speed button on the media controls.
const base::Feature kPlaybackSpeedButton{"PlaybackSpeedButton",
base::FEATURE_ENABLED_BY_DEFAULT};
bool IsChromeWideEchoCancellationEnabled() {
#if BUILDFLAG(CHROME_WIDE_ECHO_CANCELLATION)
return base::FeatureList::IsEnabled(kChromeWideEchoCancellation);
#else
return false;
#endif
}
bool IsHardwareSecureDecryptionEnabled() {
return base::FeatureList::IsEnabled(kHardwareSecureDecryption) ||