diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-03 02:41:03 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-03 02:41:03 +0000 |
commit | e21f5304d45b690b7c727e7499e507eea2eb4780 (patch) | |
tree | 9915804172309764e6c9f45de5908da56d786f5a /media/base | |
parent | 4461043a49c61121f38644659d9f3f7e8c7d0cf9 (diff) | |
download | chromium_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.cc | 12 | ||||
-rw-r--r-- | media/base/video_decoder_config.h | 7 |
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_; |