summaryrefslogtreecommitdiffstats
path: root/media/base
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-03 02:41:03 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-03 02:41:03 +0000
commite21f5304d45b690b7c727e7499e507eea2eb4780 (patch)
tree9915804172309764e6c9f45de5908da56d786f5a /media/base
parent4461043a49c61121f38644659d9f3f7e8c7d0cf9 (diff)
downloadchromium_src-e21f5304d45b690b7c727e7499e507eea2eb4780.zip
chromium_src-e21f5304d45b690b7c727e7499e507eea2eb4780.tar.gz
chromium_src-e21f5304d45b690b7c727e7499e507eea2eb4780.tar.bz2
Respect pixel aspect ratio of video if it contains one.
Patch by scottfr@chromium.org: http://codereview.chromium.org/7086002 BUG=18941 TEST=Check correct AR on http://people.xiph.org/~giles/2009/celt-aspect.html, media/video-display-aspect-ratio git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87751 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base')
-rw-r--r--media/base/video_decoder_config.cc12
-rw-r--r--media/base/video_decoder_config.h7
2 files changed, 19 insertions, 0 deletions
diff --git a/media/base/video_decoder_config.cc b/media/base/video_decoder_config.cc
index abcd80b..5ec7c02d 100644
--- a/media/base/video_decoder_config.cc
+++ b/media/base/video_decoder_config.cc
@@ -11,6 +11,8 @@ namespace media {
VideoDecoderConfig::VideoDecoderConfig(VideoCodec codec,
int width,
int height,
+ int surface_width,
+ int surface_height,
int frame_rate_numerator,
int frame_rate_denominator,
uint8* extra_data,
@@ -18,6 +20,8 @@ VideoDecoderConfig::VideoDecoderConfig(VideoCodec codec,
: codec_(codec),
width_(width),
height_(height),
+ surface_width_(surface_width),
+ surface_height_(surface_height),
frame_rate_numerator_(frame_rate_numerator),
frame_rate_denominator_(frame_rate_denominator),
extra_data_size_(extra_data_size) {
@@ -42,6 +46,14 @@ int VideoDecoderConfig::height() const {
return height_;
}
+int VideoDecoderConfig::surface_width() const {
+ return surface_width_;
+}
+
+int VideoDecoderConfig::surface_height() const {
+ return surface_height_;
+}
+
int VideoDecoderConfig::frame_rate_numerator() const {
return frame_rate_numerator_;
}
diff --git a/media/base/video_decoder_config.h b/media/base/video_decoder_config.h
index 9ce582b..011efbf 100644
--- a/media/base/video_decoder_config.h
+++ b/media/base/video_decoder_config.h
@@ -23,6 +23,7 @@ enum VideoCodec {
class VideoDecoderConfig {
public:
VideoDecoderConfig(VideoCodec codec, int width, int height,
+ int surface_width, int surface_height,
int frame_rate_numerator, int frame_rate_denominator,
uint8* extra_data, size_t extra_data_size);
~VideoDecoderConfig();
@@ -30,6 +31,8 @@ class VideoDecoderConfig {
VideoCodec codec() const;
int width() const;
int height() const;
+ int surface_width() const;
+ int surface_height() const;
int frame_rate_numerator() const;
int frame_rate_denominator() const;
uint8* extra_data() const;
@@ -42,6 +45,10 @@ class VideoDecoderConfig {
int width_;
int height_;
+ // Width and height of the display surface for this video.
+ int surface_width_;
+ int surface_height_;
+
// Frame rate in seconds expressed as a fraction.
// TODO(scherkus): fairly certain decoders don't require frame rates.
int frame_rate_numerator_;