Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(945)

Unified Diff: media/base/video_decoder_config.cc

Issue 8922010: <video> decode in hardware! (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/base/video_decoder_config.h ('k') | media/base/video_frame.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/video_decoder_config.cc
diff --git a/media/base/video_decoder_config.cc b/media/base/video_decoder_config.cc
index ee334d3bd3eed24abfe8845719589c9f84928846..07bf9a56e878dcf533a9e33a4150242038dac23d 100644
--- a/media/base/video_decoder_config.cc
+++ b/media/base/video_decoder_config.cc
@@ -14,6 +14,7 @@ namespace media {
VideoDecoderConfig::VideoDecoderConfig()
: codec_(kUnknownVideoCodec),
+ profile_(VIDEO_CODEC_PROFILE_UNKNOWN),
format_(VideoFrame::INVALID),
frame_rate_numerator_(0),
frame_rate_denominator_(0),
@@ -23,6 +24,7 @@ VideoDecoderConfig::VideoDecoderConfig()
}
VideoDecoderConfig::VideoDecoderConfig(VideoCodec codec,
+ VideoCodecProfile profile,
VideoFrame::Format format,
const gfx::Size& coded_size,
const gfx::Rect& visible_rect,
@@ -32,7 +34,7 @@ VideoDecoderConfig::VideoDecoderConfig(VideoCodec codec,
int aspect_ratio_denominator,
const uint8* extra_data,
size_t extra_data_size) {
- Initialize(codec, format, coded_size, visible_rect,
+ Initialize(codec, profile, format, coded_size, visible_rect,
frame_rate_numerator, frame_rate_denominator,
aspect_ratio_numerator, aspect_ratio_denominator,
extra_data, extra_data_size);
@@ -62,7 +64,9 @@ static void UmaHistogramAspectRatio(const char* name, const T& size) {
kCommonAspectRatios100, arraysize(kCommonAspectRatios100)));
}
-void VideoDecoderConfig::Initialize(VideoCodec codec, VideoFrame::Format format,
+void VideoDecoderConfig::Initialize(VideoCodec codec,
+ VideoCodecProfile profile,
+ VideoFrame::Format format,
const gfx::Size& coded_size,
const gfx::Rect& visible_rect,
int frame_rate_numerator,
@@ -74,12 +78,15 @@ void VideoDecoderConfig::Initialize(VideoCodec codec, VideoFrame::Format format,
CHECK((extra_data_size != 0) == (extra_data != NULL));
UMA_HISTOGRAM_ENUMERATION("Media.VideoCodec", codec, kVideoCodecMax + 1);
+ UMA_HISTOGRAM_ENUMERATION("Media.VideoCodecProfile", profile,
+ VIDEO_CODEC_PROFILE_MAX + 1);
UMA_HISTOGRAM_COUNTS_10000("Media.VideoCodedWidth", coded_size.width());
UmaHistogramAspectRatio("Media.VideoCodedAspectRatio", coded_size);
UMA_HISTOGRAM_COUNTS_10000("Media.VideoVisibleWidth", visible_rect.width());
UmaHistogramAspectRatio("Media.VideoVisibleAspectRatio", visible_rect);
codec_ = codec;
+ profile_ = profile;
format_ = format;
coded_size_ = coded_size;
visible_rect_ = visible_rect;
@@ -125,10 +132,33 @@ bool VideoDecoderConfig::IsValidConfig() const {
natural_size_.GetArea() <= limits::kMaxCanvas;
}
+std::string VideoDecoderConfig::AsHumanReadableString() const {
+ std::ostringstream s;
+ s << "codec: " << codec()
+ << " format: " << format()
+ << " coded size: [" << coded_size().width()
+ << "," << coded_size().height() << "]"
+ << " visible rect: [" << visible_rect().x()
+ << "," << visible_rect().y()
+ << "," << visible_rect().width()
+ << "," << visible_rect().height() << "]"
+ << " natural size: [" << natural_size().width()
+ << "," << natural_size().height() << "]"
+ << " frame rate: " << frame_rate_numerator()
+ << "/" << frame_rate_denominator()
+ << " aspect ratio: " << aspect_ratio_numerator()
+ << "/" << aspect_ratio_denominator();
+ return s.str();
+}
+
VideoCodec VideoDecoderConfig::codec() const {
return codec_;
}
+VideoCodecProfile VideoDecoderConfig::profile() const {
+ return profile_;
+}
+
VideoFrame::Format VideoDecoderConfig::format() const {
return format_;
}
« no previous file with comments | « media/base/video_decoder_config.h ('k') | media/base/video_frame.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698