OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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_FILTERS_VIDEO_DECODE_ENGINE_H_ | 5 #ifndef MEDIA_FILTERS_VIDEO_DECODE_ENGINE_H_ |
6 #define MEDIA_FILTERS_VIDEO_DECODE_ENGINE_H_ | 6 #define MEDIA_FILTERS_VIDEO_DECODE_ENGINE_H_ |
7 | 7 |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
10 #include "media/base/video_frame.h" | 10 #include "media/base/video_frame.h" |
11 | 11 |
12 namespace media { | 12 namespace media { |
13 | 13 |
14 class Buffer; | 14 class Buffer; |
15 | 15 |
16 enum VideoCodec { | 16 enum VideoCodec { |
17 kCodecH264, | 17 kCodecH264, |
18 kCodecVC1, | 18 kCodecVC1, |
19 kCodecMPEG2, | 19 kCodecMPEG2, |
20 kCodecMPEG4, | 20 kCodecMPEG4, |
21 kCodecTheora, | 21 kCodecTheora, |
| 22 kCodecVP8, |
22 }; | 23 }; |
23 | 24 |
24 static const uint32 kProfileDoNotCare = static_cast<uint32>(-1); | 25 static const uint32 kProfileDoNotCare = static_cast<uint32>(-1); |
25 static const uint32 kLevelDoNotCare = static_cast<uint32>(-1); | 26 static const uint32 kLevelDoNotCare = static_cast<uint32>(-1); |
26 | 27 |
27 struct VideoCodecConfig { | 28 struct VideoCodecConfig { |
28 VideoCodecConfig() : codec_(kCodecH264), | 29 VideoCodecConfig() : codec_(kCodecH264), |
29 profile_(kProfileDoNotCare), | 30 profile_(kProfileDoNotCare), |
30 level_(kLevelDoNotCare), | 31 level_(kLevelDoNotCare), |
31 width_(0), | 32 width_(0), |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 // 2. Output buffers are provided from outside the engine, and feed into | 118 // 2. Output buffers are provided from outside the engine, and feed into |
118 // engine through |FillThisBuffer|. Output buffers are returned to outside | 119 // engine through |FillThisBuffer|. Output buffers are returned to outside |
119 // by |FillThisBufferCallback|. | 120 // by |FillThisBufferCallback|. |
120 virtual void EmptyThisBuffer(scoped_refptr<Buffer> buffer) = 0; | 121 virtual void EmptyThisBuffer(scoped_refptr<Buffer> buffer) = 0; |
121 virtual void FillThisBuffer(scoped_refptr<VideoFrame> frame) = 0; | 122 virtual void FillThisBuffer(scoped_refptr<VideoFrame> frame) = 0; |
122 }; | 123 }; |
123 | 124 |
124 } // namespace media | 125 } // namespace media |
125 | 126 |
126 #endif // MEDIA_FILTERS_VIDEO_DECODE_ENGINE_H_ | 127 #endif // MEDIA_FILTERS_VIDEO_DECODE_ENGINE_H_ |
OLD | NEW |