diff options
author | rileya@chromium.org <rileya@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-08 22:47:43 +0000 |
---|---|---|
committer | rileya@chromium.org <rileya@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-08 22:47:43 +0000 |
commit | c7a0e41db161f3eab8a61e133d81ddd688c354f3 (patch) | |
tree | 7f1412e71205b715f3ca7fd668c893d484750ecf /media/base | |
parent | 6943d32abe832e589776e01d76bd3caeab0881f2 (diff) | |
download | chromium_src-c7a0e41db161f3eab8a61e133d81ddd688c354f3.zip chromium_src-c7a0e41db161f3eab8a61e133d81ddd688c354f3.tar.gz chromium_src-c7a0e41db161f3eab8a61e133d81ddd688c354f3.tar.bz2 |
Record UMA metrics for video pixel formats.
Also renumbers VideoFrame::Format enum to remove gaps.
BUG=310272
TBR=danakj
Review URL: https://codereview.chromium.org/47623005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234019 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base')
-rw-r--r-- | media/base/video_decoder_config.cc | 2 | ||||
-rw-r--r-- | media/base/video_frame.cc | 4 | ||||
-rw-r--r-- | media/base/video_frame.h | 14 |
3 files changed, 14 insertions, 6 deletions
diff --git a/media/base/video_decoder_config.cc b/media/base/video_decoder_config.cc index 015ae09..82d6075 100644 --- a/media/base/video_decoder_config.cc +++ b/media/base/video_decoder_config.cc @@ -76,6 +76,8 @@ void VideoDecoderConfig::Initialize(VideoCodec codec, UmaHistogramAspectRatio("Media.VideoCodedAspectRatio", coded_size); UMA_HISTOGRAM_COUNTS_10000("Media.VideoVisibleWidth", visible_rect.width()); UmaHistogramAspectRatio("Media.VideoVisibleAspectRatio", visible_rect); + UMA_HISTOGRAM_ENUMERATION( + "Media.VideoPixelFormat", format, VideoFrame::HISTOGRAM_MAX); } codec_ = codec; diff --git a/media/base/video_frame.cc b/media/base/video_frame.cc index 8057e46..f9f789b 100644 --- a/media/base/video_frame.cc +++ b/media/base/video_frame.cc @@ -59,6 +59,8 @@ std::string VideoFrame::FormatToString(VideoFrame::Format format) { #endif case VideoFrame::YV12A: return "YV12A"; + case VideoFrame::HISTOGRAM_MAX: + return "HISTOGRAM_MAX"; } NOTREACHED() << "Invalid videoframe format provided: " << format; return ""; @@ -238,6 +240,7 @@ size_t VideoFrame::NumPlanes(Format format) { case VideoFrame::YV12A: return 4; case VideoFrame::UNKNOWN: + case VideoFrame::HISTOGRAM_MAX: break; } NOTREACHED() << "Unsupported video frame format: " << format; @@ -271,6 +274,7 @@ size_t VideoFrame::AllocationSize(Format format, const gfx::Size& coded_size) { } case VideoFrame::UNKNOWN: case VideoFrame::NATIVE_TEXTURE: + case VideoFrame::HISTOGRAM_MAX: #if defined(GOOGLE_TV) case VideoFrame::HOLE: #endif diff --git a/media/base/video_frame.h b/media/base/video_frame.h index 494e645..e606930 100644 --- a/media/base/video_frame.h +++ b/media/base/video_frame.h @@ -37,16 +37,18 @@ class MEDIA_EXPORT VideoFrame : public base::RefCountedThreadSafe<VideoFrame> { // Surface formats roughly based on FOURCC labels, see: // http://www.fourcc.org/rgb.php // http://www.fourcc.org/yuv.php + // Logged to UMA, so never reuse values. enum Format { UNKNOWN = 0, // Unknown format value. - YV12 = 6, // 12bpp YVU planar 1x1 Y, 2x2 VU samples - YV16 = 7, // 16bpp YVU planar 1x1 Y, 2x1 VU samples - I420 = 11, // 12bpp YVU planar 1x1 Y, 2x2 UV samples. - NATIVE_TEXTURE = 12, // Native texture. Pixel-format agnostic. + YV12 = 1, // 12bpp YVU planar 1x1 Y, 2x2 VU samples + YV16 = 2, // 16bpp YVU planar 1x1 Y, 2x1 VU samples + I420 = 3, // 12bpp YVU planar 1x1 Y, 2x2 UV samples. + YV12A = 4, // 20bpp YUVA planar 1x1 Y, 2x2 VU, 1x1 A samples. #if defined(GOOGLE_TV) - HOLE = 13, // Hole frame. + HOLE = 5, // Hole frame. #endif - YV12A = 14, // 20bpp YUVA planar 1x1 Y, 2x2 VU, 1x1 A samples. + NATIVE_TEXTURE = 6, // Native texture. Pixel-format agnostic. + HISTOGRAM_MAX, // Must always be greatest. }; // Returns the name of a Format as a string. |