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

Side by Side Diff: ppapi/c/dev/ppb_video_decoder_dev.h

Issue 7085030: Implementation for Pepper C++ Video Decoder API (wrapper on top of C API). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Changed the CPP video decoder client to match the changes in PPP_VideoDecoder_Dev Created 9 years, 6 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
« no previous file with comments | « no previous file | ppapi/cpp/dev/video_decoder_dev.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef PPAPI_C_DEV_PPB_VIDEO_DECODER_DEV_H_ 5 #ifndef PPAPI_C_DEV_PPB_VIDEO_DECODER_DEV_H_
6 #define PPAPI_C_DEV_PPB_VIDEO_DECODER_DEV_H_ 6 #define PPAPI_C_DEV_PPB_VIDEO_DECODER_DEV_H_
7 7
8 #include "ppapi/c/dev/pp_video_dev.h" 8 #include "ppapi/c/dev/pp_video_dev.h"
9 #include "ppapi/c/pp_completion_callback.h" 9 #include "ppapi/c/pp_completion_callback.h"
10 #include "ppapi/c/pp_var.h" 10 #include "ppapi/c/pp_var.h"
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 // with valid elements to the buffer pointed by |matching_configs|. No more 109 // with valid elements to the buffer pointed by |matching_configs|. No more
110 // than |config_size| PP_VideoConfig_Devs will be returned even if more would 110 // than |config_size| PP_VideoConfig_Devs will be returned even if more would
111 // be available for the decoder device. 111 // be available for the decoder device.
112 // 112 //
113 // When this function is called with |matching_configs| = NULL, then no 113 // When this function is called with |matching_configs| = NULL, then no
114 // configurations are returned, but the total number of PP_VideoConfig_Devs 114 // configurations are returned, but the total number of PP_VideoConfig_Devs
115 // available will be returned in |num_of_matching_configs|. 115 // available will be returned in |num_of_matching_configs|.
116 // 116 //
117 // Returns PP_TRUE on success, PP_FALSE otherwise. 117 // Returns PP_TRUE on success, PP_FALSE otherwise.
118 PP_Bool (*GetConfigs)(PP_Instance instance, 118 PP_Bool (*GetConfigs)(PP_Instance instance,
119 PP_VideoConfigElement* proto_config, 119 const PP_VideoConfigElement* proto_config,
120 PP_VideoConfigElement* matching_configs, 120 PP_VideoConfigElement* matching_configs,
121 uint32_t matching_configs_size, 121 uint32_t matching_configs_size,
122 uint32_t* num_of_matching_configs); 122 uint32_t* num_of_matching_configs);
123 123
124 // Creates a video decoder with requested |decoder_config|. 124 // Creates a video decoder with requested |decoder_config|.
125 // |input_format| in |decoder_config| specifies the format of input access 125 // |input_format| in |decoder_config| specifies the format of input access
126 // unit, with PP_VIDEOKEY_CODECID and PP_VIDEOKEY_PAYLOADFORMAT required. 126 // unit, with PP_VIDEOKEY_CODECID and PP_VIDEOKEY_PAYLOADFORMAT required.
127 // Plugin has the option to specify codec profile/level and other 127 // Plugin has the option to specify codec profile/level and other
128 // information such as PP_VIDEOKEY_ACCELERATION, to let browser choose 128 // information such as PP_VIDEOKEY_ACCELERATION, to let browser choose
129 // the most appropriate decoder. 129 // the most appropriate decoder.
130 // 130 //
131 // Parameters: 131 // Parameters:
132 // |instance| pointer to the plugin instance. 132 // |instance| pointer to the plugin instance.
133 // |dec_config| the configuration which to use to initialize the decoder. 133 // |dec_config| the configuration which to use to initialize the decoder.
134 // |callback| called after initialize is complete. 134 // |callback| called after initialize is complete.
135 // 135 //
136 // The created decoder is returned as PP_Resource. NULL means failure. 136 // The created decoder is returned as PP_Resource. NULL means failure.
137 PP_Resource (*Create)(PP_Instance instance, 137 PP_Resource (*Create)(PP_Instance instance,
138 PP_VideoConfigElement* dec_config, 138 const PP_VideoConfigElement* dec_config,
139 struct PP_CompletionCallback callback); 139 struct PP_CompletionCallback callback);
140 140
141 // Tests whether |resource| is a video decoder created through Create 141 // Tests whether |resource| is a video decoder created through Create
142 // function of this interface. 142 // function of this interface.
143 // 143 //
144 // Parameters: 144 // Parameters:
145 // |resource| is handle to resource to test. 145 // |resource| is handle to resource to test.
146 // 146 //
147 // Returns true if is a video decoder, false otherwise. 147 // Returns true if is a video decoder, false otherwise.
148 PP_Bool (*IsVideoDecoder)(PP_Resource resource); 148 PP_Bool (*IsVideoDecoder)(PP_Resource resource);
149 149
150 // Dispatches bitstream buffer to the decoder. This is asynchronous and 150 // Dispatches bitstream buffer to the decoder. This is asynchronous and
151 // non-blocking function. 151 // non-blocking function.
152 // 152 //
153 // Parameters: 153 // Parameters:
154 // |video_decoder| is the previously created handle to the decoder instance. 154 // |video_decoder| is the previously created handle to the decoder instance.
155 // |bitstream_buffer| is the bitstream buffer that contains the input data. 155 // |bitstream_buffer| is the bitstream buffer that contains the input data.
156 // |callback| will be called when |bitstream_buffer| has been processed by 156 // |callback| will be called when |bitstream_buffer| has been processed by
157 // the decoder. 157 // the decoder.
158 // 158 //
159 // Returns PP_TRUE on decoder successfully accepting buffer, PP_FALSE 159 // Returns PP_TRUE on decoder successfully accepting buffer, PP_FALSE
160 // otherwise. 160 // otherwise.
161 PP_Bool (*Decode)(PP_Resource video_decoder, 161 PP_Bool (*Decode)(PP_Resource video_decoder,
162 struct PP_VideoBitstreamBuffer_Dev* bitstream_buffer, 162 const struct PP_VideoBitstreamBuffer_Dev* bitstream_buffer,
163 struct PP_CompletionCallback callback); 163 struct PP_CompletionCallback callback);
164 164
165 // Provides the decoder with picture buffers for video decoding. 165 // Provides the decoder with picture buffers for video decoding.
166 // AssignGLESBuffers provides texture-backed buffers, whereas 166 // AssignGLESBuffers provides texture-backed buffers, whereas
167 // AssignSysmemBuffers provides system memory-backed buffers. 167 // AssignSysmemBuffers provides system memory-backed buffers.
168 // 168 //
169 // This function should be called when decoder has issued the 169 // This function should be called when decoder has issued the
170 // ProvidePictureBuffers callback to the plugin with buffer requirements. 170 // ProvidePictureBuffers callback to the plugin with buffer requirements.
171 // 171 //
172 // It can also be called in advance or outside of ProvidePictureBuffers calls 172 // It can also be called in advance or outside of ProvidePictureBuffers calls
(...skipping 11 matching lines...) Expand all
184 // callback parameters to ProvidePictureBuffers instead of being part of the 184 // callback parameters to ProvidePictureBuffers instead of being part of the
185 // PPB API. 185 // PPB API.
186 // 186 //
187 // Parameters: 187 // Parameters:
188 // |video_decoder| is the previously created handle to the decoder instance. 188 // |video_decoder| is the previously created handle to the decoder instance.
189 // |no_of_buffers| how many buffers are behind picture buffer pointer. 189 // |no_of_buffers| how many buffers are behind picture buffer pointer.
190 // |buffers| contains the reference to the picture buffer that was 190 // |buffers| contains the reference to the picture buffer that was
191 // allocated. 191 // allocated.
192 void (*AssignGLESBuffers)(PP_Resource video_decoder, 192 void (*AssignGLESBuffers)(PP_Resource video_decoder,
193 uint32_t no_of_buffers, 193 uint32_t no_of_buffers,
194 struct PP_GLESBuffer_Dev* buffers); 194 const struct PP_GLESBuffer_Dev* buffers);
195 void (*AssignSysmemBuffers)(PP_Resource video_decoder, 195 void (*AssignSysmemBuffers)(PP_Resource video_decoder,
196 uint32_t no_of_buffers, 196 uint32_t no_of_buffers,
197 struct PP_SysmemBuffer_Dev* buffers); 197 const struct PP_SysmemBuffer_Dev* buffers);
198 198
199 // Tells the decoder to reuse given picture buffer. Typical use of this 199 // Tells the decoder to reuse given picture buffer. Typical use of this
200 // function is to call from PictureReady callback to recycle picture buffer 200 // function is to call from PictureReady callback to recycle picture buffer
201 // back to the decoder after blitting the image so that decoder can use the 201 // back to the decoder after blitting the image so that decoder can use the
202 // image for output again. 202 // image for output again.
203 // 203 //
204 // The decoder will ignore any picture buffer not previously provided via 204 // The decoder will ignore any picture buffer not previously provided via
205 // AssignPictureBuffer. 205 // AssignPictureBuffer.
206 // 206 //
207 // TODO(vmr): figure out how the sync will be handled with command buffer as 207 // TODO(vmr): figure out how the sync will be handled with command buffer as
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 // |callback| is one-time callback that will be called once the abortion 243 // |callback| is one-time callback that will be called once the abortion
244 // request has been completed. 244 // request has been completed.
245 // 245 //
246 // Returns PP_TRUE on acceptance of abort request and PP_FALSE if request to 246 // Returns PP_TRUE on acceptance of abort request and PP_FALSE if request to
247 // abort is rejected by the decoder. 247 // abort is rejected by the decoder.
248 PP_Bool (*Abort)(PP_Resource video_decoder, 248 PP_Bool (*Abort)(PP_Resource video_decoder,
249 struct PP_CompletionCallback callback); 249 struct PP_CompletionCallback callback);
250 }; 250 };
251 251
252 #endif /* PPAPI_C_DEV_PPB_VIDEO_DECODER_DEV_H_ */ 252 #endif /* PPAPI_C_DEV_PPB_VIDEO_DECODER_DEV_H_ */
OLDNEW
« no previous file with comments | « no previous file | ppapi/cpp/dev/video_decoder_dev.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698