summaryrefslogtreecommitdiff
path: root/chromium/media/base/decoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/base/decoder.h')
-rw-r--r--chromium/media/base/decoder.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/chromium/media/base/decoder.h b/chromium/media/base/decoder.h
index 8ebec529466..fb43f9ca369 100644
--- a/chromium/media/base/decoder.h
+++ b/chromium/media/base/decoder.h
@@ -14,6 +14,47 @@
namespace media {
+// List of known AudioDecoder implementations; recorded to UKM, always add new
+// values to the end and do not reorder or delete values from this list.
+enum class AudioDecoderType : int {
+ kUnknown = 0, // Decoder name string is not recognized or n/a.
+ kFFmpeg = 1, // FFmpegAudioDecoder
+ kMojo = 2, // MojoAudioDecoder
+ kDecrypting = 3, // DecryptingAudioDecoder
+ kMediaCodec = 4, // MediaCodecAudioDecoder (Android)
+ kBroker = 5, // AudioDecoderBroker
+
+ kMaxValue = kBroker // Keep this at the end and equal to the last entry.
+};
+
+// List of known VideoDecoder implementations; recorded to UKM, always add new
+// values to the end and do not reorder or delete values from this list.
+enum class VideoDecoderType : int {
+ kUnknown = 0, // Decoder name string is not recognized or n/a.
+ // kGpu = 1, // GpuVideoDecoder (DEPRECATED)
+ kFFmpeg = 2, // FFmpegVideoDecoder
+ kVpx = 3, // VpxVideoDecoder
+ kAom = 4, // AomVideoDecoder
+ kMojo = 5, // MojoVideoDecoder
+ kDecrypting = 6, // DecryptingVideoDecoder
+ kDav1d = 7, // Dav1dVideoDecoder
+ kFuchsia = 8, // FuchsiaVideoDecoder
+ kMediaCodec = 9, // MediaCodecVideoDecoder (Android)
+ kGav1 = 10, // Gav1VideoDecoder
+ kD3D11 = 11, // D3D11VideoDecoder
+ kVaapi = 12, // VaapiVideoDecodeAccelerator
+ kBroker = 13, // VideoDecoderBroker (Webcodecs)
+ kVda = 14, // VDAVideoDecoder
+
+ // Chromeos uses VideoDecoderPipeline. This could potentially become more
+ // granulated in the future.
+ kChromeOs = 15,
+ kMaxValue = kChromeOs // Keep this at the end and equal to the last entry.
+};
+
+MEDIA_EXPORT std::string GetDecoderName(AudioDecoderType type);
+MEDIA_EXPORT std::string GetDecoderName(VideoDecoderType type);
+
class MEDIA_EXPORT Decoder {
public:
virtual ~Decoder();