#include "media/base/supported_types.h"
#include "base/command_line.h"
#include "base/feature_list.h"
#include "base/logging.h"
#include "base/no_destructor.h"
#include "base/notreached.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "media/base/media.h"
#include "media/base/media_client.h"
#include "media/base/media_switches.h"
#include "media/media_buildflags.h"
#include "media/mojo/buildflags.h"
#include "ui/gfx/hdr_metadata.h"
#if BUILDFLAG(ENABLE_LIBVPX)
#include "third_party/libvpx/source/libvpx/vpx/vp8dx.h"
#include "third_party/libvpx/source/libvpx/vpx/vpx_codec.h"
#endif
#if BUILDFLAG(IS_ANDROID)
#include "base/android/build_info.h"
#include "media/base/android/media_codec_util.h"
#endif
#if BUILDFLAG(IS_WIN)
#include "base/win/windows_version.h"
#endif
namespace media {
namespace {
template <typename T>
class SupplementalProfileCache { … };
SupplementalProfileCache<VideoCodecProfile>* GetSupplementalProfileCache() { … }
SupplementalProfileCache<AudioType>* GetSupplementalAudioTypeCache() { … }
bool IsSupportedHdrMetadata(const VideoType& type) { … }
bool IsColorSpaceSupported(const VideoColorSpace& color_space) { … }
#if !BUILDFLAG(USE_PROPRIETARY_CODECS)
bool IsVideoCodecProprietary(VideoCodec codec) { … }
bool IsAudioCodecProprietary(AudioCodec codec) { … }
#endif
bool IsHevcProfileSupported(const VideoType& type) { … }
bool IsVp9ProfileSupported(const VideoType& type) { … }
bool IsAV1Supported(const VideoType& type) { … }
bool IsAACSupported(const AudioType& type) { … }
bool IsDolbyVisionProfileSupported(const VideoType& type) { … }
bool IsDolbyAc3Eac3Supported(const AudioType& type) { … }
bool IsDolbyAc4Supported(const AudioType& type) { … }
}
bool IsSupportedAudioType(const AudioType& type) { … }
bool IsSupportedVideoType(const VideoType& type) { … }
bool IsDefaultSupportedVideoType(const VideoType& type) { … }
bool IsDefaultSupportedAudioType(const AudioType& type) { … }
bool IsBuiltInVideoCodec(VideoCodec codec) { … }
void UpdateDefaultSupportedVideoProfiles(
const base::flat_set<media::VideoCodecProfile>& profiles) { … }
void UpdateDefaultSupportedAudioTypes(const base::flat_set<AudioType>& types) { … }
}