1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef MEDIA_BASE_VIDEO_CODECS_H_
6 #define MEDIA_BASE_VIDEO_CODECS_H_
11 // These values are histogrammed over time; do not change their ordinal
12 // values. When deleting a codec replace it with a dummy value; when adding a
13 // codec, do so at the bottom (and update kVideoCodecMax).
14 kUnknownVideoCodec
= 0,
23 // DO NOT ADD RANDOM VIDEO CODECS!
25 // The only acceptable time to add a new codec is if there is production code
26 // that uses said codec in the same CL.
28 kVideoCodecMax
= kCodecHEVC
// Must equal the last "real" codec above.
31 // Video stream profile. This *must* match PP_VideoDecoder_Profile.
32 // (enforced in webkit/plugins/ppapi/ppb_video_decoder_impl.cc) and
33 // gpu::VideoCodecProfile.
34 enum VideoCodecProfile
{
35 // Keep the values in this enum unique, as they imply format (h.264 vs. VP8,
36 // for example), and keep the values for a particular format grouped
37 // together for clarity.
38 VIDEO_CODEC_PROFILE_UNKNOWN
= -1,
39 VIDEO_CODEC_PROFILE_MIN
= VIDEO_CODEC_PROFILE_UNKNOWN
,
41 H264PROFILE_BASELINE
= H264PROFILE_MIN
,
43 H264PROFILE_EXTENDED
= 2,
45 H264PROFILE_HIGH10PROFILE
= 4,
46 H264PROFILE_HIGH422PROFILE
= 5,
47 H264PROFILE_HIGH444PREDICTIVEPROFILE
= 6,
48 H264PROFILE_SCALABLEBASELINE
= 7,
49 H264PROFILE_SCALABLEHIGH
= 8,
50 H264PROFILE_STEREOHIGH
= 9,
51 H264PROFILE_MULTIVIEWHIGH
= 10,
52 H264PROFILE_MAX
= H264PROFILE_MULTIVIEWHIGH
,
54 VP8PROFILE_ANY
= VP8PROFILE_MIN
,
55 VP8PROFILE_MAX
= VP8PROFILE_ANY
,
57 VP9PROFILE_ANY
= VP9PROFILE_MIN
,
58 VP9PROFILE_MAX
= VP9PROFILE_ANY
,
59 VIDEO_CODEC_PROFILE_MAX
= VP9PROFILE_MAX
,
64 #endif // MEDIA_BASE_VIDEO_CODECS_H_