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