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

Side by Side Diff: media/base/video_decoder_config.h

Issue 363813002: Update to Pipeline Metadata and Decoder Stream for Orientation Data (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: VideoRotation enum added Created 6 years, 5 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef MEDIA_BASE_VIDEO_DECODER_CONFIG_H_ 5 #ifndef MEDIA_BASE_VIDEO_DECODER_CONFIG_H_
6 #define MEDIA_BASE_VIDEO_DECODER_CONFIG_H_ 6 #define MEDIA_BASE_VIDEO_DECODER_CONFIG_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 H264PROFILE_MAX = H264PROFILE_MULTIVIEWHIGH, 59 H264PROFILE_MAX = H264PROFILE_MULTIVIEWHIGH,
60 VP8PROFILE_MIN = 11, 60 VP8PROFILE_MIN = 11,
61 VP8PROFILE_MAIN = VP8PROFILE_MIN, 61 VP8PROFILE_MAIN = VP8PROFILE_MIN,
62 VP8PROFILE_MAX = VP8PROFILE_MAIN, 62 VP8PROFILE_MAX = VP8PROFILE_MAIN,
63 VP9PROFILE_MIN = 12, 63 VP9PROFILE_MIN = 12,
64 VP9PROFILE_MAIN = VP9PROFILE_MIN, 64 VP9PROFILE_MAIN = VP9PROFILE_MIN,
65 VP9PROFILE_MAX = VP9PROFILE_MAIN, 65 VP9PROFILE_MAX = VP9PROFILE_MAIN,
66 VIDEO_CODEC_PROFILE_MAX = VP9PROFILE_MAX, 66 VIDEO_CODEC_PROFILE_MAX = VP9PROFILE_MAX,
67 }; 67 };
68 68
69 enum VideoRotation { kRotate0 = 0, kRotate90, kRotate180, kRotate270 };
scherkus (not reviewing) 2014/07/07 20:52:38 let's move this into its own file (media/base/vide
70
69 class MEDIA_EXPORT VideoDecoderConfig { 71 class MEDIA_EXPORT VideoDecoderConfig {
70 public: 72 public:
71 // Constructs an uninitialized object. Clients should call Initialize() with 73 // Constructs an uninitialized object. Clients should call Initialize() with
72 // appropriate values before using. 74 // appropriate values before using.
73 VideoDecoderConfig(); 75 VideoDecoderConfig();
74 76
75 // Constructs an initialized object. It is acceptable to pass in NULL for 77 // Constructs an initialized object. It is acceptable to pass in NULL for
76 // |extra_data|, otherwise the memory is copied. 78 // |extra_data|, otherwise the memory is copied.
77 VideoDecoderConfig(VideoCodec codec, 79 VideoDecoderConfig(VideoCodec codec,
78 VideoCodecProfile profile, 80 VideoCodecProfile profile,
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 // Optional byte data required to initialize video decoders, such as H.264 130 // Optional byte data required to initialize video decoders, such as H.264
129 // AAVC data. 131 // AAVC data.
130 const uint8* extra_data() const; 132 const uint8* extra_data() const;
131 size_t extra_data_size() const; 133 size_t extra_data_size() const;
132 134
133 // Whether the video stream is potentially encrypted. 135 // Whether the video stream is potentially encrypted.
134 // Note that in a potentially encrypted video stream, individual buffers 136 // Note that in a potentially encrypted video stream, individual buffers
135 // can be encrypted or not encrypted. 137 // can be encrypted or not encrypted.
136 bool is_encrypted() const; 138 bool is_encrypted() const;
137 139
140 // Rotation of frame (0, 90, 180, 270) given in metadata
141 VideoRotation rotation() const;
142 void set_rotation(VideoRotation rotation);
143
138 private: 144 private:
139 VideoCodec codec_; 145 VideoCodec codec_;
140 VideoCodecProfile profile_; 146 VideoCodecProfile profile_;
141 147
142 VideoFrame::Format format_; 148 VideoFrame::Format format_;
143 149
144 gfx::Size coded_size_; 150 gfx::Size coded_size_;
145 gfx::Rect visible_rect_; 151 gfx::Rect visible_rect_;
146 gfx::Size natural_size_; 152 gfx::Size natural_size_;
147 153
148 std::vector<uint8> extra_data_; 154 std::vector<uint8> extra_data_;
149 155
150 bool is_encrypted_; 156 bool is_encrypted_;
157 VideoRotation rotation_;
151 158
152 // Not using DISALLOW_COPY_AND_ASSIGN here intentionally to allow the compiler 159 // Not using DISALLOW_COPY_AND_ASSIGN here intentionally to allow the compiler
153 // generated copy constructor and assignment operator. Since the extra data is 160 // generated copy constructor and assignment operator. Since the extra data is
154 // typically small, the performance impact is minimal. 161 // typically small, the performance impact is minimal.
155 }; 162 };
156 163
157 } // namespace media 164 } // namespace media
158 165
159 #endif // MEDIA_BASE_VIDEO_DECODER_CONFIG_H_ 166 #endif // MEDIA_BASE_VIDEO_DECODER_CONFIG_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698