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 #include "qc_omx_core.h" 37 38 omx_core_cb_type core[] = 39 { 40 { 41 "OMX.qcom.video.decoder.avc", 42 NULL, // Create instance function 43 // Unique instance handle 44 { 45 NULL, 46 NULL, 47 NULL, 48 NULL 49 }, 50 NULL, // Shared object library handle 51 #ifdef _ANDROID_ 52 "libOmxVdec.so", 53 #else 54 "libmm-vdec-omxh264.so.1", 55 #endif 56 { 57 "video_decoder.avc" 58 } 59 }, 60 { 61 "OMX.qcom.video.decoder.mpeg4", 62 NULL, // Create instance function 63 // Unique instance handle 64 { 65 NULL, 66 NULL, 67 NULL, 68 NULL 69 }, 70 NULL, // Shared object library handle 71 #ifdef _ANDROID_ 72 "libOmxVdec.so", 73 #else 74 "libmm-vdec-omxmp4.so.1", 75 #endif 76 { 77 "video_decoder.mpeg4" 78 } 79 }, 80 { 81 "OMX.qcom.video.decoder.vc1", 82 NULL, // Create instance function 83 // Unique instance handle 84 { 85 NULL, 86 NULL, 87 NULL, 88 NULL 89 }, 90 NULL, // Shared object library handle 91 #ifdef _ANDROID_ 92 "libOmxVdec.so", 93 #else 94 "libmm-vdec-omxwmv.so.1", 95 #endif 96 { 97 "video_decoder.vc1" 98 } 99 }, 100 { 101 "OMX.qcom.video.decoder.h263", 102 NULL, // Create instance function 103 // Unique instance handle 104 { 105 NULL, 106 NULL, 107 NULL, 108 NULL 109 }, 110 NULL, // Shared object library handle 111 #ifdef _ANDROID_ 112 "libOmxVdec.so", 113 #else 114 "libmm-vdec-omxmp4.so.1", 115 #endif 116 { 117 "video_decoder.h263" 118 } 119 }, 120 { 121 "OMX.qcom.video.encoder.mpeg4", 122 NULL, // Create instance function 123 // Unique instance handle 124 { 125 NULL, 126 NULL, 127 NULL, 128 NULL 129 }, 130 NULL, // Shared object library handle 131 #ifdef _ANDROID_ 132 "libOmxVenc.so", 133 #else 134 "libmm-venc-omx.so.1", 135 #endif 136 { 137 "video_encoder.mpeg4" 138 } 139 }, 140 { 141 "OMX.qcom.video.encoder.h263", 142 NULL, // Create instance function 143 // Unique instance handle 144 { 145 NULL, 146 NULL, 147 NULL, 148 NULL 149 }, 150 NULL, // Shared object library handle 151 #ifdef _ANDROID_ 152 "libOmxVenc.so", 153 #else 154 "libmm-venc-omx.so.1", 155 #endif 156 { 157 "video_encoder.h263", 158 } 159 }, 160 { 161 "OMX.qcom.video.encoder.avc", 162 NULL, // Create instance function 163 // Unique instance handle 164 { 165 NULL, 166 NULL, 167 NULL, 168 NULL 169 }, 170 NULL, // Shared object library handle 171 #ifdef _ANDROID_ 172 "libOmxVenc.so", 173 #else 174 "libmm-venc-omx.so.1", 175 #endif 176 { 177 "video_encoder.avc" 178 } 179 }, 180 { 181 "OMX.qcom.audio.decoder.mp3", 182 NULL, // Create instance function 183 // Unique instance handle 184 { 185 NULL, 186 NULL, 187 NULL, 188 NULL 189 }, 190 NULL, // Shared object library handle 191 #ifdef _ANDROID_ 192 "libOmxMp3Dec.so", 193 #else 194 "libmm-adec-omxmp3.so.1", 195 #endif 196 { 197 "audio_decoder.mp3" 198 } 199 }, 200 { 201 "OMX.qcom.audio.decoder.aac", 202 NULL, // Create instance function 203 // Unique instance handle 204 { 205 NULL, 206 NULL, 207 NULL, 208 NULL 209 }, 210 NULL, // Shared object library handle 211 #ifdef _ANDROID_ 212 "libOmxAacDec.so", 213 #else 214 "libmm-adec-omxaac.so.1", 215 #endif 216 { 217 "audio_decoder.aac" 218 } 219 }, 220 { 221 "OMX.qcom.audio.decoder.tunneled.mp3", 222 NULL, // Create instance function 223 // Unique instance handle 224 { 225 NULL, 226 NULL, 227 NULL, 228 NULL 229 }, 230 NULL, // Shared object library handle 231 #ifdef _ANDROID_ 232 "libOmxMp3Dec.so", 233 #else 234 "libmm-adec-omxmp3.so.1", 235 #endif 236 { 237 "audio_decoder.mp3" 238 } 239 }, 240 { 241 "OMX.qcom.audio.decoder.tunneled.aac", 242 NULL, // Create instance function 243 // Unique instance handle 244 { 245 NULL, 246 NULL, 247 NULL, 248 NULL 249 }, 250 NULL, // Shared object library handle 251 #ifdef _ANDROID_ 252 "libOmxAacDec.so", 253 #else 254 "libmm-adec-omxaac.so.1", 255 #endif 256 { 257 "audio_decoder.aac" 258 } 259 }, 260 { 261 "OMX.qcom.audio.decoder.amrnb", 262 NULL, // Create instance function 263 // Unique instance handle 264 { 265 NULL, 266 NULL, 267 NULL, 268 NULL 269 }, 270 NULL, // Shared object library handle 271 #ifdef _ANDROID_ 272 "libOmxAmrDec.so", 273 #else 274 "libmm-adec-omxamr.so.1", 275 #endif 276 { 277 "audio_decoder.amrnb" 278 } 279 }, 280 { 281 "OMX.qcom.audio.decoder.tunneled.amrnb", 282 NULL, // Create instance function 283 // Unique instance handle 284 { 285 NULL, 286 NULL, 287 NULL, 288 NULL 289 }, 290 NULL, // Shared object library handle 291 #ifdef _ANDROID_ 292 "libOmxAmrDec.so", 293 #else 294 "libmm-adec-omxamr.so.1", 295 #endif 296 { 297 "audio_decoder.amrnb" 298 } 299 }, 300 { 301 "OMX.qcom.audio.encoder.tunneled.aac", 302 NULL, // Create instance function 303 // Unique instance handle 304 { 305 NULL, 306 NULL, 307 NULL, 308 NULL 309 }, 310 NULL, // Shared object library handle 311 #ifdef _ANDROID_ 312 "libOmxAacEnc.so", 313 #else 314 "libmm-aenc-omxaac.so.1", 315 #endif 316 { 317 "audio_encoder.aac" 318 } 319 }, 320 { 321 "OMX.qcom.audio.decoder.Qcelp13", 322 NULL, // Create instance function 323 // Unique instance handle 324 { 325 NULL, 326 NULL, 327 NULL, 328 NULL 329 }, 330 NULL, // Shared object library handle 331 #ifdef _ANDROID_ 332 "libOmxQcelpDec.so", 333 #else 334 "libmm-adec-omxQcelp13.so.1", 335 #endif 336 { 337 "audio_decoder.Qcelp13" 338 } 339 }, 340 { 341 "OMX.qcom.audio.decoder.tunneled.Qcelp13", 342 NULL, // Create instance function 343 // Unique instance handle 344 { 345 NULL, 346 NULL, 347 NULL, 348 NULL 349 }, 350 NULL, // Shared object library handle 351 #ifdef _ANDROID_ 352 "libOmxQcelpDec.so", 353 #else 354 "libmm-adec-omxQcelp13.so.1", 355 #endif 356 { 357 "audio_decoder.Qcelp13" 358 } 359 }, 360 { 361 "OMX.qcom.audio.decoder.evrc", 362 NULL, // Create instance function 363 // Unique instance handle 364 { 365 NULL, 366 NULL, 367 NULL, 368 NULL 369 }, 370 NULL, // Shared object library handle 371 #ifdef _ANDROID_ 372 "libOmxEvrcDec.so", 373 #else 374 "libmm-adec-omxevrc.so.1", 375 #endif 376 { 377 "audio_decoder.evrc" 378 } 379 }, 380 { 381 "OMX.qcom.audio.decoder.tunneled.evrc", 382 NULL, // Create instance function 383 // Unique instance handle 384 { 385 NULL, 386 NULL, 387 NULL, 388 NULL 389 }, 390 NULL, // Shared object library handle 391 #ifdef _ANDROID_ 392 "libOmxEvrcDec.so", 393 #else 394 "libmm-adec-omxevrc.so.1", 395 #endif 396 { 397 "audio_decoder.evrc" 398 } 399 }, 400 { 401 "OMX.qcom.audio.encoder.tunneled.amr", 402 NULL, // Create instance function 403 // Unique instance handle 404 { 405 NULL, 406 NULL, 407 NULL, 408 NULL 409 }, 410 NULL, // Shared object library handle 411 #ifdef _ANDROID_ 412 "libOmxAmrEnc.so", 413 #else 414 "libmm-aenc-omxamr.so.1", 415 #endif 416 { 417 "audio_encoder.amr" 418 } 419 }, 420 { 421 "OMX.qcom.audio.decoder.wma", 422 NULL, // Create instance function 423 // Unique instance handle 424 { 425 NULL, 426 NULL, 427 NULL, 428 NULL 429 }, 430 NULL, // Shared object library handle 431 #ifdef _ANDROID_ 432 "libOmxWmaDec.so", 433 #else 434 "libmm-adec-omxwma.so.1", 435 #endif 436 { 437 "audio_decoder.wma" 438 } 439 }, 440 { 441 "OMX.qcom.audio.decoder.tunneled.wma", 442 NULL, // Create instance function 443 // Unique instance handle 444 { 445 NULL, 446 NULL, 447 NULL, 448 NULL 449 }, 450 NULL, // Shared object library handle 451 #ifdef _ANDROID_ 452 "libOmxWmaDec.so", 453 #else 454 "libmm-adec-omxwma.so.1", 455 #endif 456 { 457 "audio_decoder.wma" 458 } 459 }, 460 { 461 "OMX.qcom.audio.decoder.wma10Pro", 462 NULL, // Create instance function 463 // Unique instance handle 464 { 465 NULL, 466 NULL, 467 NULL, 468 NULL 469 }, 470 NULL, // Shared object library handle 471 #ifdef _ANDROID_ 472 "libOmxWmaDec.so", 473 #else 474 "libmm-adec-omxwma.so.1", 475 #endif 476 { 477 "audio_decoder.wma" 478 } 479 }, 480 { 481 "OMX.qcom.audio.decoder.tunneled.wma10Pro", 482 NULL, // Create instance function 483 // Unique instance handle 484 { 485 NULL, 486 NULL, 487 NULL, 488 NULL 489 }, 490 NULL, // Shared object library handle 491 #ifdef _ANDROID_ 492 "libOmxWmaDec.so", 493 #else 494 "libmm-adec-omxwma.so.1", 495 #endif 496 { 497 "audio_decoder.wma" 498 } 499 }, 500 { 501 "OMX.qcom.audio.decoder.amrwb", 502 NULL, // Create instance function 503 // Unique instance handle 504 { 505 NULL, 506 NULL, 507 NULL, 508 NULL 509 }, 510 NULL, // Shared object library handle 511 #ifdef _ANDROID_ 512 "libOmxAmrwbDec.so", 513 #else 514 "libmm-adec-omxamrwb.so.1", 515 #endif 516 { 517 "audio_decoder.amrwb" 518 } 519 }, 520 { 521 "OMX.qcom.audio.decoder.tunneled.amrwb", 522 NULL, // Create instance function 523 // Unique instance handle 524 { 525 NULL, 526 NULL, 527 NULL, 528 NULL 529 }, 530 NULL, // Shared object library handle 531 #ifdef _ANDROID_ 532 "libOmxAmrwbDec.so", 533 #else 534 "libmm-adec-omxamrwb.so.1", 535 #endif 536 { 537 "audio_decoder.amrwb" 538 } 539 }, 540 { 541 "OMX.qcom.audio.decoder.amrwbp", 542 NULL, // Create instance function 543 // Unique instance handle 544 { 545 NULL, 546 NULL, 547 NULL, 548 NULL 549 }, 550 NULL, // Shared object library handle 551 #ifdef _ANDROID_ 552 "libOmxAmrwbDec.so", 553 #else 554 "libmm-adec-omxamrwb.so.1", 555 #endif 556 { 557 "audio_decoder.amrwbp" 558 } 559 }, 560 { 561 "OMX.qcom.audio.decoder.tunneled.amrwbp", 562 NULL, // Create instance function 563 // Unique instance handle 564 { 565 NULL, 566 NULL, 567 NULL, 568 NULL 569 }, 570 NULL, // Shared object library handle 571 #ifdef _ANDROID_ 572 "libOmxAmrwbDec.so", 573 #else 574 "libmm-adec-omxamrwb.so.1", 575 #endif 576 { 577 "audio_decoder.amrwbp" 578 } 579 }, 580 { 581 "OMX.qcom.audio.encoder.tunneled.qcelp13", 582 NULL, // Create instance function 583 // Unique instance handle 584 { 585 NULL, 586 NULL, 587 NULL, 588 NULL 589 }, 590 NULL, // Shared object library handle 591 #ifdef _ANDROID_ 592 "libOmxQcelp13Enc.so", 593 #else 594 "libmm-aenc-omxqcelp13.so.1", 595 #endif 596 { 597 "audio_encoder.qcelp13" 598 } 599 }, 600 { 601 "OMX.qcom.audio.encoder.tunneled.evrc", 602 NULL, // Create instance function 603 // Unique instance handle 604 { 605 NULL, 606 NULL, 607 NULL, 608 NULL 609 }, 610 NULL, // Shared object library handle 611 #ifdef _ANDROID_ 612 "libOmxEvrcEnc.so", 613 #else 614 "libmm-aenc-omxevrc.so.1", 615 #endif 616 { 617 "audio_encoder.evrc" 618 } 619 }, 620 { 621 "OMX.qcom.audio.decoder.adpcm", 622 NULL, // Create instance function 623 // Unique instance handle 624 { 625 NULL, 626 NULL, 627 NULL, 628 NULL 629 }, 630 NULL, // Shared object library handle 631 #ifdef _ANDROID_ 632 "libOmxAdpcmDec.so", 633 #else 634 "libmm-adec-omxadpcm.so.1", 635 #endif 636 { 637 "audio_decoder.adpcm" 638 } 639 }, 640 { 641 "OMX.qcom.audio.decoder.tunneled.adpcm", 642 NULL, // Create instance function 643 // Unique instance handle 644 { 645 NULL, 646 NULL, 647 NULL, 648 NULL 649 }, 650 NULL, // Shared object library handle 651 #ifdef _ANDROID_ 652 "libOmxAdpcmDec.so", 653 #else 654 "libmm-adec-omxadpcm.so.1", 655 #endif 656 { 657 "audio_decoder.adpcm" 658 } 659 } 660 }; 661 662 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type); 663 664 665