| 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 |