qc_registry_table_android.c revision e4010605f233a213cf0d972397bb33c34c364227
1/*--------------------------------------------------------------------------
2Copyright (c) 2010-2012, The Linux Foundation. All rights reserved.
3
4Redistribution and use in source and binary forms, with or without
5modification, are permitted provided that the following conditions are
6met:
7    * Redistributions of source code must retain the above copyright
8      notice, this list of conditions and the following disclaimer.
9    * Redistributions in binary form must reproduce the above
10      copyright notice, this list of conditions and the following
11      disclaimer in the documentation and/or other materials provided
12      with the distribution.
13    * Neither the name of The Linux Foundation nor the names of its
14      contributors may be used to endorse or promote products derived
15      from this software without specific prior written permission.
16
17THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
18WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
20ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
21BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29--------------------------------------------------------------------------*/
30/*============================================================================
31                            O p e n M A X   w r a p p e r s
32                             O p e n  M A X   C o r e
33
34  This module contains the registry table for the QCOM's OpenMAX core.
35
36*//*========================================================================*/
37
38
39#include "qc_omx_core.h"
40#ifdef ENABLE_DRMPLAY
41#include "drmplay_version.h"
42#endif
43
44omx_core_cb_type core[] =
45{
46  {
47    "OMX.qcom.video.decoder.avc",
48    NULL, // Create instance function
49    // Unique instance handle
50    {
51      NULL,
52      NULL,
53      NULL,
54      NULL
55    },
56    NULL,   // Shared object library handle
57    "libOmxVdec.so",
58    {
59      "video_decoder.avc"
60    }
61  },
62  {
63    "OMX.qcom.video.decoder.avc.secure",
64    NULL, // Create instance function
65    // Unique instance handle
66    {
67      NULL,
68      NULL,
69      NULL,
70      NULL
71    },
72    NULL,   // Shared object library handle
73    "libOmxVdec.so",
74    {
75      "video_decoder.avc"
76    }
77  },
78  {
79    "OMX.qcom.video.decoder.divx4",
80    NULL,   // Create instance function
81    // Unique instance handle
82    {
83      NULL,
84      NULL,
85      NULL,
86      NULL
87    },
88    NULL,   // Shared object library handle
89    "libOmxVdec.so",
90    {
91      "video_decoder.divx"
92    }
93  },
94  {
95    "OMX.qcom.video.decoder.divx",
96    NULL,   // Create instance function
97    // Unique instance handle
98    {
99      NULL,
100      NULL,
101      NULL,
102      NULL
103    },
104    NULL,   // Shared object library handle
105    "libOmxVdec.so",
106    {
107      "video_decoder.divx"
108    }
109  },
110  {
111    "OMX.qcom.video.decoder.divx311",
112    NULL,   // Create instance function
113    // Unique instance handle
114    {
115      NULL,
116      NULL,
117      NULL,
118      NULL
119    },
120    NULL,   // Shared object library handle
121    "libOmxVdec.so",
122    {
123      "video_decoder.divx"
124    }
125  },
126  {
127    "OMX.qcom.video.decoder.mpeg4",
128    NULL, // Create instance function
129    // Unique instance handle
130    {
131      NULL,
132      NULL,
133      NULL,
134      NULL
135    },
136    NULL,   // Shared object library handle
137    "libOmxVdec.so",
138    {
139      "video_decoder.mpeg4"
140    }
141  },
142  {
143    "OMX.qcom.video.decoder.mpeg2",
144    NULL, // Create instance function
145    // Unique instance handle
146    {
147      NULL,
148      NULL,
149      NULL,
150      NULL
151    },
152    NULL,   // Shared object library handle
153    "libOmxVdec.so",
154    {
155      "video_decoder.mpeg2"
156    }
157  },
158  {
159    "OMX.qcom.video.decoder.vc1",
160    NULL, // Create instance function
161    // Unique instance handle
162    {
163      NULL,
164      NULL,
165      NULL,
166      NULL
167    },
168    NULL,   // Shared object library handle
169    "libOmxVdec.so",
170    {
171      "video_decoder.vc1"
172    }
173  },
174  {
175    "OMX.qcom.video.decoder.wmv",
176    NULL, // Create instance function
177    // Unique instance handle
178    {
179      NULL,
180      NULL,
181      NULL,
182      NULL
183    },
184    NULL,   // Shared object library handle
185    "libOmxVdec.so",
186    {
187      "video_decoder.vc1"
188    }
189  },
190  {
191    "OMX.qcom.video.decoder.h263",
192    NULL, // Create instance function
193    // Unique instance handle
194    {
195      NULL,
196      NULL,
197      NULL,
198      NULL
199    },
200    NULL,   // Shared object library handle
201    "libOmxVdec.so",
202    {
203      "video_decoder.h263"
204    }
205  },
206   {
207    "OMX.qcom.video.encoder.mpeg4",
208    NULL, // Create instance function
209    // Unique instance handle
210    {
211      NULL,
212      NULL,
213      NULL,
214      NULL
215    },
216    NULL,   // Shared object library handle
217    "libOmxVenc.so",
218    {
219      "video_encoder.mpeg4"
220    }
221  },
222   {
223    "OMX.qcom.video.encoder.h263",
224    NULL, // Create instance function
225    // Unique instance handle
226    {
227      NULL,
228      NULL,
229      NULL,
230      NULL
231    },
232    NULL,   // Shared object library handle
233    "libOmxVenc.so",
234    {
235      "video_encoder.h263"
236    }
237  },
238   {
239    "OMX.qcom.video.encoder.avc",
240    NULL, // Create instance function
241    // Unique instance handle
242    {
243      NULL,
244      NULL,
245      NULL,
246      NULL
247    },
248    NULL,   // Shared object library handle
249    "libOmxVenc.so",
250    {
251      "video_encoder.avc"
252    }
253  },
254    {
255    "OMX.qcom.audio.decoder.Qcelp13",
256    NULL, // Create instance function
257    // Unique instance handle
258    {
259      NULL,
260      NULL,
261      NULL,
262      NULL
263    },
264    NULL,   // Shared object library handle
265    "libOmxQcelp13Dec.so",
266    {
267      "audio_decoder.Qcelp13"
268    }
269  },
270  {
271    "OMX.qcom.audio.decoder.evrc",
272    NULL, // Create instance function
273    // Unique instance handle
274    {
275      NULL,
276      NULL,
277      NULL,
278      NULL
279    },
280    NULL,   // Shared object library handle
281    "libOmxEvrcDec.so",
282    {
283      "audio_decoder.evrc"
284    }
285  },
286  {
287    "OMX.qcom.audio.decoder.wma",
288    NULL, // Create instance function
289    // Unique instance handle
290    {
291     NULL,
292     NULL,
293     NULL,
294     NULL
295    },
296    NULL,   // Shared object library handle
297    "libOmxWmaDec.so",
298    {
299     "audio_decoder.wma"
300    }
301  },
302  {
303    "OMX.qcom.audio.decoder.wma10Pro",
304    NULL,   // Create instance function
305    // Unique instance handle
306    {
307     NULL,
308     NULL,
309     NULL,
310     NULL
311    },
312    NULL,   // Shared object library handle
313    "libOmxWmaDec.so",
314    {
315     "audio_decoder.wma"
316    }
317  },
318  {
319    "OMX.qcom.audio.decoder.wmaLossLess",
320    NULL,   // Create instance function
321    // Unique instance handle
322    {
323     NULL,
324     NULL,
325     NULL,
326     NULL
327    },
328    NULL,   // Shared object library handle
329    "libOmxWmaDec.so",
330    {
331     "audio_decoder.wma"
332    }
333  },
334  {
335    "OMX.qcom.audio.encoder.aac",
336    NULL, // Create instance function
337    // Unique instance handle
338    {
339      NULL,
340      NULL,
341      NULL,
342      NULL
343    },
344    NULL,  // Shared object library handle
345    "libOmxAacEnc.so",
346    {
347      "audio_encoder.aac"
348    }
349  },
350  {
351    "OMX.qcom.audio.encoder.qcelp13",
352    NULL,   // Create instance function
353    // Unique instance handle
354    {
355      NULL,
356      NULL,
357      NULL,
358      NULL
359    },
360    NULL,   // Shared object library handle
361    "libOmxQcelp13Enc.so",
362    {
363      "audio_encoder.qcelp13"
364    }
365  },
366  {
367    "OMX.qcom.audio.encoder.evrc",
368    NULL,   // Create instance function
369    // Unique instance handle
370    {
371      NULL,
372      NULL,
373      NULL,
374      NULL
375    },
376    NULL,   // Shared object library handle
377    "libOmxEvrcEnc.so",
378    {
379      "audio_encoder.evrc"
380    }
381  },
382  {
383    "OMX.qcom.audio.encoder.amrnb",
384    NULL,   // Create instance function
385    // Unique instance handle
386    {
387      NULL,
388      NULL,
389      NULL,
390      NULL
391    },
392    NULL,   // Shared object library handle
393    "libOmxAmrEnc.so",
394    {
395      "audio_encoder.amrnb"
396    }
397  },
398 {
399    "OMX.qcom.audio.decoder.aac",
400    NULL,   // Create instance function
401    // Unique instance handle
402    {
403      NULL,
404      NULL,
405      NULL,
406      NULL
407    },
408    NULL,   // Shared object library handle
409    "libOmxAacDec.so",
410    {
411      "audio_decoder.aac"
412    }
413  },
414 {
415    "OMX.qcom.audio.decoder.multiaac",
416    NULL,   // Create instance function
417    // Unique instance handle
418    {
419      NULL,
420      NULL,
421      NULL,
422      NULL
423    },
424    NULL,   // Shared object library handle
425    "libOmxAacDec.so",
426    {
427      "audio_decoder.aac"
428    }
429  },
430#ifdef ENABLE_DRMPLAY
431  {
432    "drm.play" DRMPLAY_API_VERSION,
433    NULL, // Create instance function
434    // Unique instance handle
435    {
436      NULL,
437      NULL,
438      NULL,
439      NULL
440    },
441    NULL,  // Shared object library handle
442    "libDrmPlay.so",
443    {
444      "drm.play" DRMPLAY_API_VERSION
445    }
446  },
447  {
448    "OMX.qcom.file.muxer",
449    NULL, // Create instance function
450    // Unique instance handle
451    {
452      NULL,
453      NULL,
454      NULL,
455      NULL
456    },
457    NULL,   // Shared object library handle
458    "libOmxMux.so",
459    {
460      "container_muxer.mp2"
461    }
462  }
463#endif
464};
465
466const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);
467
468
469