OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "media/base/video_decoder_config.h" | 5 #include "media/base/video_decoder_config.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 | 8 |
9 namespace media { | 9 namespace media { |
10 | 10 |
11 VideoDecoderConfig::VideoDecoderConfig() | 11 VideoDecoderConfig::VideoDecoderConfig() |
12 : codec_(kUnknownVideoCodec), | 12 : codec_(kUnknownVideoCodec), |
13 format_(VideoFrame::INVALID), | 13 format_(VideoFrame::INVALID), |
14 frame_rate_numerator_(0), | 14 frame_rate_numerator_(0), |
15 frame_rate_denominator_(0), | 15 frame_rate_denominator_(0), |
| 16 aspect_ratio_numerator_(0), |
| 17 aspect_ratio_denominator_(0), |
16 extra_data_size_(0) { | 18 extra_data_size_(0) { |
17 } | 19 } |
18 | 20 |
19 VideoDecoderConfig::VideoDecoderConfig(VideoCodec codec, | 21 VideoDecoderConfig::VideoDecoderConfig(VideoCodec codec, |
20 VideoFrame::Format format, | 22 VideoFrame::Format format, |
21 const gfx::Size& coded_size, | 23 const gfx::Size& coded_size, |
22 const gfx::Rect& visible_rect, | 24 const gfx::Rect& visible_rect, |
23 int frame_rate_numerator, | 25 int frame_rate_numerator, |
24 int frame_rate_denominator, | 26 int frame_rate_denominator, |
| 27 int aspect_ratio_numerator, |
| 28 int aspect_ratio_denominator, |
25 const uint8* extra_data, | 29 const uint8* extra_data, |
26 size_t extra_data_size) { | 30 size_t extra_data_size) { |
27 Initialize(codec, format, coded_size, visible_rect, | 31 Initialize(codec, format, coded_size, visible_rect, |
28 frame_rate_numerator, frame_rate_denominator, | 32 frame_rate_numerator, frame_rate_denominator, |
| 33 aspect_ratio_numerator, aspect_ratio_denominator, |
29 extra_data, extra_data_size); | 34 extra_data, extra_data_size); |
30 } | 35 } |
31 | 36 |
32 VideoDecoderConfig::~VideoDecoderConfig() {} | 37 VideoDecoderConfig::~VideoDecoderConfig() {} |
33 | 38 |
34 void VideoDecoderConfig::Initialize(VideoCodec codec, | 39 void VideoDecoderConfig::Initialize(VideoCodec codec, |
35 VideoFrame::Format format, | 40 VideoFrame::Format format, |
36 const gfx::Size& coded_size, | 41 const gfx::Size& coded_size, |
37 const gfx::Rect& visible_rect, | 42 const gfx::Rect& visible_rect, |
38 int frame_rate_numerator, | 43 int frame_rate_numerator, |
39 int frame_rate_denominator, | 44 int frame_rate_denominator, |
| 45 int aspect_ratio_numerator, |
| 46 int aspect_ratio_denominator, |
40 const uint8* extra_data, | 47 const uint8* extra_data, |
41 size_t extra_data_size) { | 48 size_t extra_data_size) { |
42 CHECK((extra_data_size != 0) == (extra_data != NULL)); | 49 CHECK((extra_data_size != 0) == (extra_data != NULL)); |
43 | 50 |
44 codec_ = codec; | 51 codec_ = codec; |
45 format_ = format; | 52 format_ = format; |
46 coded_size_ = coded_size; | 53 coded_size_ = coded_size; |
47 visible_rect_ = visible_rect; | 54 visible_rect_ = visible_rect; |
48 frame_rate_numerator_ = frame_rate_numerator; | 55 frame_rate_numerator_ = frame_rate_numerator; |
49 frame_rate_denominator_ = frame_rate_denominator; | 56 frame_rate_denominator_ = frame_rate_denominator; |
| 57 aspect_ratio_numerator_ = aspect_ratio_numerator; |
| 58 aspect_ratio_denominator_ = aspect_ratio_denominator; |
50 extra_data_size_ = extra_data_size; | 59 extra_data_size_ = extra_data_size; |
51 | 60 |
52 if (extra_data_size_ > 0) { | 61 if (extra_data_size_ > 0) { |
53 extra_data_.reset(new uint8[extra_data_size_]); | 62 extra_data_.reset(new uint8[extra_data_size_]); |
54 memcpy(extra_data_.get(), extra_data, extra_data_size_); | 63 memcpy(extra_data_.get(), extra_data, extra_data_size_); |
55 } else { | 64 } else { |
56 extra_data_.reset(); | 65 extra_data_.reset(); |
57 } | 66 } |
58 } | 67 } |
59 | 68 |
(...skipping 21 matching lines...) Expand all Loading... |
81 } | 90 } |
82 | 91 |
83 int VideoDecoderConfig::frame_rate_numerator() const { | 92 int VideoDecoderConfig::frame_rate_numerator() const { |
84 return frame_rate_numerator_; | 93 return frame_rate_numerator_; |
85 } | 94 } |
86 | 95 |
87 int VideoDecoderConfig::frame_rate_denominator() const { | 96 int VideoDecoderConfig::frame_rate_denominator() const { |
88 return frame_rate_denominator_; | 97 return frame_rate_denominator_; |
89 } | 98 } |
90 | 99 |
| 100 int VideoDecoderConfig::aspect_ratio_numerator() const { |
| 101 return aspect_ratio_numerator_; |
| 102 } |
| 103 |
| 104 int VideoDecoderConfig::aspect_ratio_denominator() const { |
| 105 return aspect_ratio_denominator_; |
| 106 } |
| 107 |
91 uint8* VideoDecoderConfig::extra_data() const { | 108 uint8* VideoDecoderConfig::extra_data() const { |
92 return extra_data_.get(); | 109 return extra_data_.get(); |
93 } | 110 } |
94 | 111 |
95 size_t VideoDecoderConfig::extra_data_size() const { | 112 size_t VideoDecoderConfig::extra_data_size() const { |
96 return extra_data_size_; | 113 return extra_data_size_; |
97 } | 114 } |
98 | 115 |
99 } // namespace media | 116 } // namespace media |
OLD | NEW |