• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*--------------------------------------------------------------------------
2 Copyright (c) 2014, The Linux Foundation. All rights reserved.
3 
4 Redistribution and use in source and binary forms, with or without
5 modification, are permitted provided that the following conditions are
6 met:
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 
17 THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
18 WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
20 ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
21 BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24 BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26 OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27 IF 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 #include "qc_omx_core.h"
39 
40 omx_core_cb_type core[] =
41 {
42   {
43     "OMX.qcom.video.decoder.avc",
44     NULL,   // Create instance function
45     // Unique instance handle
46     {
47       NULL,
48       NULL,
49       NULL,
50       NULL
51     },
52     NULL,   // Shared object library handle
53     "libOmxVdec.so",
54     {
55       "video_decoder.avc"
56     }
57   },
58   {
59     "OMX.qcom.video.decoder.mpeg4",
60     NULL,   // Create instance function
61     // Unique instance handle
62     {
63       NULL,
64       NULL,
65       NULL,
66       NULL
67     },
68     NULL,   // Shared object library handle
69     "libOmxVdec.so",
70     {
71       "video_decoder.mpeg4"
72     }
73   },
74   {
75     "OMX.qcom.video.decoder.vc1",
76     NULL,   // Create instance function
77     // Unique instance handle
78     {
79       NULL,
80       NULL,
81       NULL,
82       NULL
83     },
84     NULL,   // Shared object library handle
85     "libOmxVdec.so",
86     {
87       "video_decoder.vc1"
88     }
89   },
90   {
91     "OMX.qcom.video.decoder.wmv",
92     NULL,   // Create instance function
93     // Unique instance handle
94     {
95       NULL,
96       NULL,
97       NULL,
98       NULL
99     },
100     NULL,   // Shared object library handle
101     "libOmxVdec.so",
102     {
103       "video_decoder.vc1"
104     }
105   },
106   {
107     "OMX.qcom.file.muxer",
108     NULL,   // Create instance function
109     // Unique instance handle
110     {
111       NULL,
112       NULL,
113       NULL,
114       NULL
115     },
116     NULL,   // Shared object library handle
117 
118     "libOmxMux.so",
119     {
120       "container_muxer.mp2"
121     }
122   },
123   {
124     "OMX.qcom.video.decoder.divx4",
125     NULL,   // Create instance function
126     // Unique instance handle
127     {
128       NULL,
129       NULL,
130       NULL,
131       NULL
132     },
133     NULL,   // Shared object library handle
134     "libOmxVdec.so",
135     {
136       "video_decoder.divx"
137     }
138   },
139   {
140     "OMX.qcom.video.decoder.divx",
141     NULL,   // Create instance function
142     // Unique instance handle
143     {
144       NULL,
145       NULL,
146       NULL,
147       NULL
148     },
149     NULL,   // Shared object library handle
150     "libOmxVdec.so",
151     {
152       "video_decoder.divx"
153     }
154   },
155   {
156     "OMX.qcom.video.decoder.divx311",
157     NULL,   // Create instance function
158     // Unique instance handle
159     {
160       NULL,
161       NULL,
162       NULL,
163       NULL
164     },
165     NULL,   // Shared object library handle
166     "libOmxVdec.so",
167     {
168       "video_decoder.divx"
169     }
170   },
171   {
172     "OMX.qcom.video.decoder.h263",
173     NULL,   // Create instance function
174     // Unique instance handle
175     {
176       NULL,
177       NULL,
178       NULL,
179       NULL
180     },
181     NULL,   // Shared object library handle
182     "libOmxVdec.so",
183     {
184       "video_decoder.h263"
185     }
186   },
187   {
188     "OMX.qcom.video.decoder.hevc",
189     NULL,   // Create instance function
190     // Unique instance handle
191     {
192       NULL,
193       NULL,
194       NULL,
195       NULL
196     },
197     NULL,   // Shared object library handle
198     "libOmxVdec.so",
199     {
200       "video_decoder.hevc"
201     }
202   },
203   {
204     "OMX.qcom.video.decoder.hevc.secure",
205     NULL, // Create instance function
206     // Unique instance handle
207     {
208       NULL,
209       NULL,
210       NULL,
211       NULL
212     },
213     NULL,   // Shared object library handle
214     "libOmxVdec.so",
215     {
216       "video_decoder.hevc"
217     }
218    },
219    {
220     "OMX.qcom.video.decoder.vp8",
221     NULL,   // Create instance function
222     // Unique instance handle
223     {
224       NULL,
225       NULL,
226       NULL,
227       NULL
228     },
229     NULL,   // Shared object library handle
230     "libOmxVdec.so",
231     {
232       "video_decoder.vp8"
233     }
234   },
235    {
236     "OMX.qcom.video.encoder.mpeg4",
237     NULL,   // Create instance function
238     // Unique instance handle
239     {
240       NULL,
241       NULL,
242       NULL,
243       NULL
244     },
245     NULL,   // Shared object library handle
246     "libOmxVenc.so",
247     {
248       "video_encoder.mpeg4"
249     }
250   },
251    {
252     "OMX.qcom.video.encoder.h263",
253     NULL,   // Create instance function
254     // Unique instance handle
255     {
256       NULL,
257       NULL,
258       NULL,
259       NULL
260     },
261     NULL,   // Shared object library handle
262     "libOmxVenc.so",
263     {
264       "video_encoder.h263",
265     }
266   },
267    {
268     "OMX.qcom.video.encoder.avc",
269     NULL, // Create instance function
270     // Unique instance handle
271     {
272       NULL,
273       NULL,
274       NULL,
275       NULL
276     },
277     NULL,   // Shared object library handle
278     "libOmxVenc.so",
279     {
280       "video_encoder.avc"
281     }
282   },
283    {
284     "OMX.qcom.video.encoder.vp8",
285     NULL,   // Create instance function
286     // Unique instance handle
287     {
288       NULL,
289       NULL,
290       NULL,
291       NULL
292     },
293     NULL,   // Shared object library handle
294     "libOmxVenc.so",
295     {
296       "video_encoder.vp8",
297     }
298   },
299   {
300     "OMX.qti.video.encoder.hevc",
301     NULL,   // Create instance function
302     // Unique instance handle
303     {
304       NULL,
305       NULL,
306       NULL,
307       NULL
308     },
309     NULL,   // Shared object library handle
310     "libOmxSwVencHevc.so",
311     {
312       "video_encoder.hevc"
313     }
314   },
315   {
316     "OMX.qcom.audio.decoder.Qcelp13",
317     NULL, // Create instance function
318     // Unique instance handle
319     {
320       NULL,
321       NULL,
322       NULL,
323       NULL
324     },
325     NULL,   // Shared object library handle
326     "libOmxQcelp13Dec.so",
327     {
328       "audio_decoder.Qcelp13"
329     }
330   },
331   {
332     "OMX.qcom.audio.decoder.evrc",
333     NULL, // Create instance function
334     // Unique instance handle
335     {
336       NULL,
337       NULL,
338       NULL,
339       NULL
340     },
341     NULL,   // Shared object library handle
342     "libOmxEvrcDec.so",
343     {
344       "audio_decoder.evrc"
345     }
346   },
347   {
348     "OMX.qcom.audio.decoder.wma",
349     NULL, // Create instance function
350     // Unique instance handle
351     {
352      NULL,
353      NULL,
354      NULL,
355      NULL
356     },
357     NULL,   // Shared object library handle
358     "libOmxWmaDec.so",
359     {
360      "audio_decoder.wma"
361     }
362   },
363   {
364     "OMX.qcom.audio.decoder.wma10Pro",
365     NULL,   // Create instance function
366     // Unique instance handle
367     {
368      NULL,
369      NULL,
370      NULL,
371      NULL
372     },
373     NULL,   // Shared object library handle
374     "libOmxWmaDec.so",
375     {
376      "audio_decoder.wma"
377     }
378   },
379   {
380     "OMX.qcom.audio.decoder.aac",
381     NULL,   // Create instance function
382     // Unique instance handle
383     {
384       NULL,
385       NULL,
386       NULL,
387       NULL
388     },
389     NULL,   // Shared object library handle
390     "libOmxAacDec.so",
391     {
392       "audio_decoder.aac"
393     }
394   },
395   {
396     "OMX.qcom.audio.encoder.aac",
397     NULL, // Create instance function
398     // Unique instance handle
399     {
400       NULL,
401       NULL,
402       NULL,
403       NULL
404     },
405     NULL,  // Shared object library handle
406     "libOmxAacEnc.so",
407     {
408       "audio_encoder.aac"
409     }
410   },
411   {
412     "OMX.qcom.audio.encoder.qcelp13",
413     NULL,   // Create instance function
414     // Unique instance handle
415     {
416       NULL,
417       NULL,
418       NULL,
419       NULL
420     },
421     NULL,   // Shared object library handle
422     "libOmxQcelp13Enc.so",
423     {
424       "audio_encoder.qcelp13"
425     }
426   },
427   {
428     "OMX.qcom.audio.encoder.evrc",
429     NULL,   // Create instance function
430     // Unique instance handle
431     {
432       NULL,
433       NULL,
434       NULL,
435       NULL
436     },
437     NULL,   // Shared object library handle
438     "libOmxEvrcEnc.so",
439     {
440       "audio_encoder.evrc"
441     }
442   },
443   {
444     "OMX.qcom.audio.encoder.amrnb",
445     NULL,   // Create instance function
446     // Unique instance handle
447     {
448       NULL,
449       NULL,
450       NULL,
451       NULL
452     },
453     NULL,   // Shared object library handle
454     "libOmxAmrEnc.so",
455     {
456       "audio_encoder.amrnb"
457     }
458   },
459  {
460     "OMX.qcom.audio.decoder.aac",
461     NULL,   // Create instance function
462     // Unique instance handle
463     {
464       NULL,
465       NULL,
466       NULL,
467       NULL
468     },
469     NULL,   // Shared object library handle
470     "libOmxAacDec.so",
471     {
472       "audio_decoder.aac"
473     }
474   },
475   {
476     "OMX.qcom.audio.decoder.multiaac",
477     NULL,   // Create instance function
478     // Unique instance handle
479     {
480       NULL,
481       NULL,
482       NULL,
483       NULL
484     },
485     NULL,   // Shared object library handle
486     "libOmxAacDec.so",
487     {
488       "audio_decoder.aac"
489     }
490   },
491   {
492     "OMX.qcom.video.postprocessing",
493     NULL, // Create instance function
494     // Unique instance handle
495     {
496       NULL,
497       NULL,
498       NULL,
499       NULL
500     },
501     NULL,   // Shared object library handle
502     "libOmxVdpp.so",
503     {
504       "videopostprocessing"
505     }
506   }
507 };
508 
509 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);
510 
511 
512