OLD | NEW |
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_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ | 5 #ifndef MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ |
6 #define MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ | 6 #define MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 | 79 |
80 protected: | 80 protected: |
81 virtual ~Client() {} | 81 virtual ~Client() {} |
82 }; | 82 }; |
83 | 83 |
84 // Video decoder functions. | 84 // Video decoder functions. |
85 | 85 |
86 // Initializes the video decoder with specific configuration. | 86 // Initializes the video decoder with specific configuration. |
87 // Parameters: | 87 // Parameters: |
88 // |profile| is the video stream's format profile. | 88 // |profile| is the video stream's format profile. |
| 89 // |client| is the client of this video decoder. The provided pointer must |
| 90 // be valid until Destroy() is called. |
89 // | 91 // |
90 // Returns true when command successfully accepted. Otherwise false. | 92 // Returns true when command successfully accepted. Otherwise false. |
91 virtual bool Initialize(VideoCodecProfile profile) = 0; | 93 virtual bool Initialize(VideoCodecProfile profile, Client* client) = 0; |
92 | 94 |
93 // Decodes given bitstream buffer that contains at most one frame. Once | 95 // Decodes given bitstream buffer that contains at most one frame. Once |
94 // decoder is done with processing |bitstream_buffer| it will call | 96 // decoder is done with processing |bitstream_buffer| it will call |
95 // NotifyEndOfBitstreamBuffer() with the bitstream buffer id. | 97 // NotifyEndOfBitstreamBuffer() with the bitstream buffer id. |
96 // Parameters: | 98 // Parameters: |
97 // |bitstream_buffer| is the input bitstream that is sent for decoding. | 99 // |bitstream_buffer| is the input bitstream that is sent for decoding. |
98 virtual void Decode(const BitstreamBuffer& bitstream_buffer) = 0; | 100 virtual void Decode(const BitstreamBuffer& bitstream_buffer) = 0; |
99 | 101 |
100 // Assigns a set of texture-backed picture buffers to the video decoder. | 102 // Assigns a set of texture-backed picture buffers to the video decoder. |
101 // | 103 // |
(...skipping 29 matching lines...) Expand all Loading... |
131 // component is freed. This call may asynchornously free system resources, | 133 // component is freed. This call may asynchornously free system resources, |
132 // but its client-visible effects are synchronous. After this method returns | 134 // but its client-visible effects are synchronous. After this method returns |
133 // no more callbacks will be made on the client. Deletes |this| | 135 // no more callbacks will be made on the client. Deletes |this| |
134 // unconditionally, so make sure to drop all pointers to it! | 136 // unconditionally, so make sure to drop all pointers to it! |
135 virtual void Destroy() = 0; | 137 virtual void Destroy() = 0; |
136 }; | 138 }; |
137 | 139 |
138 } // namespace media | 140 } // namespace media |
139 | 141 |
140 #endif // MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ | 142 #endif // MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ |
OLD | NEW |