1 /*-------------------------------------------------------------------------- 2 Copyright (c) 2011-2012, 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 "libOmxH264Dec.so", 53 { 54 "video_decoder.avc" 55 } 56 }, 57 { 58 "OMX.ittiam.video.encoder.avc", 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 "libOmxIttiamVenc.so", 69 { 70 "video_encoder.avc" 71 } 72 }, 73 { 74 "OMX.ittiam.video.decoder.avc", 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 "libOmxIttiamVdec.so", 85 { 86 "video_decoder.avc" 87 } 88 }, 89 { 90 "OMX.qcom.video.decoder.mpeg4", 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 "libOmxMpeg4Dec.so", 101 { 102 "video_decoder.mpeg4" 103 } 104 }, 105 { 106 "OMX.ittiam.video.decoder.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 "libOmxIttiamVdec.so", 117 { 118 "video_decoder.mpeg4" 119 } 120 }, 121 { 122 "OMX.qcom.video.decoder.divx", 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 "libOmxMpeg4Dec.so", 133 { 134 "video_decoder.divx" 135 } 136 }, 137 { 138 "OMX.qcom.video.decoder.divx4", 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 "libOmxMpeg4Dec.so", 149 { 150 "video_decoder.divx" 151 } 152 }, 153 { 154 "OMX.qcom.video.decoder.vc1", 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 "libOmxWmvDec.so", 165 { 166 "video_decoder.vc1" 167 } 168 }, 169 { 170 "OMX.qcom.video.decoder.real", 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 "libOmxrv9Dec.so", 181 { 182 "video_decoder.real" 183 } 184 }, 185 { 186 "OMX.qcom.video.decoder.h263", 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 "libOmxMpeg4Dec.so", 197 { 198 "video_decoder.h263" 199 } 200 }, 201 { 202 "OMX.qcom.video.decoder.spark", 203 NULL, // Create instance function 204 // Unique instance handle 205 { 206 NULL, 207 NULL, 208 NULL, 209 NULL 210 }, 211 NULL, // Shared object library handle 212 "libOmxMpeg4Dec.so", 213 { 214 "video_decoder.spark" 215 } 216 }, 217 { 218 "OMX.qcom.video.decoder.vp", 219 NULL, // Create instance function 220 // Unique instance handle 221 { 222 NULL, 223 NULL, 224 NULL, 225 NULL 226 }, 227 NULL, // Shared object library handle 228 "libOmxOn2Dec.so", 229 { 230 "video_decoder.vp" 231 } 232 }, 233 { 234 "OMX.qcom.video.decoder.vp8", 235 NULL, // Create instance function 236 // Unique instance handle 237 { 238 NULL, 239 NULL, 240 NULL, 241 NULL 242 }, 243 NULL, // Shared object library handle 244 "libOmxVp8Dec.so", 245 { 246 "video_decoder.vp8" 247 } 248 }, 249 { 250 "OMX.qcom.video.encoder.mpeg4", 251 NULL, // Create instance function 252 // Unique instance handle 253 { 254 NULL, 255 NULL, 256 NULL, 257 NULL 258 }, 259 NULL, // Shared object library handle 260 "libOmxVidEnc.so", 261 { 262 "video_encoder.mpeg4" 263 } 264 }, 265 { 266 "OMX.qcom.video.encoder.h263", 267 NULL, // Create instance function 268 // Unique instance handle 269 { 270 NULL, 271 NULL, 272 NULL, 273 NULL 274 }, 275 NULL, // Shared object library handle 276 "libOmxVidEnc.so", 277 { 278 "video_encoder.h263" 279 } 280 }, 281 { 282 "OMX.qcom.video.encoder.avc", 283 NULL, // Create instance function 284 // Unique instance handle 285 { 286 NULL, 287 NULL, 288 NULL, 289 NULL 290 }, 291 NULL, // Shared object library handle 292 "libOmxVidEnc.so", 293 { 294 "video_encoder.avc" 295 } 296 }, 297 { 298 "OMX.qcom.audio.decoder.mp3", 299 NULL, // Create instance function 300 // Unique instance handle 301 { 302 NULL, 303 NULL, 304 NULL, 305 NULL 306 }, 307 NULL, // Shared object library handle 308 "libOmxMp3Dec.so", 309 { 310 "audio_decoder.mp3" 311 } 312 }, 313 { 314 "OMX.qcom.audio.decoder.aac", 315 NULL, // Create instance function 316 // Unique instance handle 317 { 318 NULL, 319 NULL, 320 NULL, 321 NULL 322 }, 323 NULL, // Shared object library handle 324 "libOmxAacDec.so", 325 { 326 "audio_decoder.aac" 327 } 328 }, 329 { 330 "OMX.qcom.audio.decoder.Qcelp13Hw", 331 NULL, // Create instance function 332 // Unique instance handle 333 { 334 NULL, 335 NULL, 336 NULL, 337 NULL 338 }, 339 NULL, // Shared object library handle 340 "libOmxQcelpHwDec.so", 341 { 342 "audio_decoder.Qcelp13" 343 } 344 }, 345 { 346 "OMX.qcom.audio.decoder.Qcelp13", 347 NULL, // Create instance function 348 // Unique instance handle 349 { 350 NULL, 351 NULL, 352 NULL, 353 NULL 354 }, 355 NULL, // Shared object library handle 356 "libOmxQcelp13Dec.so", 357 { 358 "audio_decoder.Qcelp13" 359 } 360 }, 361 { 362 "OMX.qcom.audio.decoder.evrchw", 363 NULL, // Create instance function 364 // Unique instance handle 365 { 366 NULL, 367 NULL, 368 NULL, 369 NULL 370 }, 371 NULL, // Shared object library handle 372 "libOmxEvrcHwDec.so", 373 { 374 "audio_decoder.evrc" 375 } 376 }, 377 { 378 "OMX.qcom.audio.decoder.evrc", 379 NULL, // Create instance function 380 // Unique instance handle 381 { 382 NULL, 383 NULL, 384 NULL, 385 NULL 386 }, 387 NULL, // Shared object library handle 388 "libOmxEvrcDec.so", 389 { 390 "audio_decoder.evrc" 391 } 392 }, 393 { 394 "OMX.qcom.audio.decoder.amrwbp", 395 NULL, // Create instance function 396 // Unique instance handle 397 { 398 NULL, 399 NULL, 400 NULL, 401 NULL 402 }, 403 NULL, // Shared object library handle 404 "libOmxAmrwbDec.so", 405 { 406 "audio_decoder.amrwbp" 407 } 408 }, 409 { 410 "OMX.qcom.audio.decoder.wma", 411 NULL, // Create instance function 412 // Unique instance handle 413 { 414 NULL, 415 NULL, 416 NULL, 417 NULL 418 }, 419 NULL, // Shared object library handle 420 "libOmxWmaDec.so", 421 { 422 "audio_decoder.wma" 423 } 424 }, 425 { 426 "OMX.qcom.audio.decoder.wma10Pro", 427 NULL, // Create instance function 428 // Unique instance handle 429 { 430 NULL, 431 NULL, 432 NULL, 433 NULL 434 }, 435 NULL, // Shared object library handle 436 "libOmxWmaDec.so", 437 { 438 "audio_decoder.wma" 439 } 440 }, 441 { 442 "OMX.qcom.audio.encoder.evrc", 443 NULL, // Create instance function 444 // Unique instance handle 445 { 446 NULL, 447 NULL, 448 NULL, 449 NULL 450 }, 451 NULL, // Shared object library handle 452 #ifdef _ANDROID_ 453 "libOmxEvrcEnc.so", 454 #else 455 "libmm-aenc-omxevrc.so.1", 456 #endif 457 { 458 "audio_encoder.evrc" 459 } 460 }, 461 { 462 "OMX.qcom.audio.encoder.qcelp13", 463 NULL, // Create instance function 464 // Unique instance handle 465 { 466 NULL, 467 NULL, 468 NULL, 469 NULL 470 }, 471 NULL, // Shared object library handle 472 #ifdef _ANDROID_ 473 "libOmxQcelp13Enc.so", 474 #else 475 "libmm-aenc-omxqcelp13.so.1", 476 #endif 477 { 478 "audio_encoder.qcelp13" 479 } 480 }, 481 { 482 "OMX.qcom.audio.decoder.ac3", 483 NULL, // Create instance function 484 // Unique instance handle 485 { 486 NULL, 487 NULL, 488 NULL, 489 NULL 490 }, 491 NULL, // Shared object library handle 492 "libOmxAc3HwDec.so", 493 { 494 "audio_decoder.ac3" 495 } 496 }, 497 { 498 "OMX.qcom.audio.decoder.eac3", 499 NULL, // Create instance function 500 // Unique instance handle 501 { 502 NULL, 503 NULL, 504 NULL, 505 NULL 506 }, 507 NULL, // Shared object library handle 508 "libOmxAc3HwDec.so", 509 { 510 "audio_decoder.eac3" 511 } 512 }, 513 #ifndef _ANDROID_ 514 { 515 "OMX.qcom.audio.decoder.amrnb", 516 NULL, // Create instance function 517 // Unique instance handle 518 { 519 NULL, 520 NULL, 521 NULL, 522 NULL 523 }, 524 NULL, // Shared object library handle 525 "libOmxAmrDec.so", 526 { 527 "audio_decoder.amrnb" 528 } 529 }, 530 { 531 "OMX.qcom.audio.decoder.amrwb", 532 NULL, // Create instance function 533 // Unique instance handle 534 { 535 NULL, 536 NULL, 537 NULL, 538 NULL 539 }, 540 NULL, // Shared object library handle 541 "libOmxAmrwbDec.so", 542 { 543 "audio_decoder.amrwb" 544 } 545 }, 546 { 547 "OMX.qcom.audio.decoder.tunneled.mp3", 548 NULL, // Create instance function 549 // Unique instance handle 550 { 551 NULL, 552 NULL, 553 NULL, 554 NULL 555 }, 556 NULL, // Shared object library handle 557 "libOmxMp3Dec.so", 558 { 559 "audio_decoder.mp3" 560 } 561 }, 562 { 563 "OMX.qcom.audio.decoder.tunneled.aac", 564 NULL, // Create instance function 565 // Unique instance handle 566 { 567 NULL, 568 NULL, 569 NULL, 570 NULL 571 }, 572 NULL, // Shared object library handle 573 "libOmxAacDec.so", 574 { 575 "audio_decoder.aac" 576 } 577 }, 578 { 579 "OMX.qcom.audio.decoder.tunneled.amrnb", 580 NULL, // Create instance function 581 // Unique instance handle 582 { 583 NULL, 584 NULL, 585 NULL, 586 NULL 587 }, 588 NULL, // Shared object library handle 589 "libOmxAmrDec.so", 590 { 591 "audio_decoder.amrnb" 592 } 593 }, 594 { 595 "OMX.qcom.audio.encoder.tunneled.aac", 596 NULL, // Create instance function 597 // Unique instance handle 598 { 599 NULL, 600 NULL, 601 NULL, 602 NULL 603 }, 604 NULL, // Shared object library handle 605 "libOmxAacEnc.so", 606 { 607 "audio_encoder.aac" 608 } 609 }, 610 { 611 "OMX.qcom.audio.decoder.tunneled.Qcelp13Hw", 612 NULL, // Create instance function 613 // Unique instance handle 614 { 615 NULL, 616 NULL, 617 NULL, 618 NULL 619 }, 620 NULL, // Shared object library handle 621 "libOmxQcelpHwDec.so", 622 { 623 "audio_decoder.Qcelp13" 624 } 625 }, 626 { 627 "OMX.qcom.audio.decoder.tunneled.evrc", 628 NULL, // Create instance function 629 // Unique instance handle 630 { 631 NULL, 632 NULL, 633 NULL, 634 NULL 635 }, 636 NULL, // Shared object library handle 637 "libOmxEvrcHwDec.so", 638 { 639 "audio_decoder.evrc" 640 } 641 }, 642 { 643 "OMX.qcom.audio.encoder.tunneled.amr", 644 NULL, // Create instance function 645 // Unique instance handle 646 { 647 NULL, 648 NULL, 649 NULL, 650 NULL 651 }, 652 NULL, // Shared object library handle 653 "libOmxAmrEnc.so", 654 { 655 "audio_encoder.amr" 656 } 657 }, 658 { 659 "OMX.qcom.audio.decoder.tunneled.wma", 660 NULL, // Create instance function 661 // Unique instance handle 662 { 663 NULL, 664 NULL, 665 NULL, 666 NULL 667 }, 668 NULL, // Shared object library handle 669 "libOmxWmaDec.so", 670 { 671 "audio_decoder.wma" 672 } 673 }, 674 { 675 "OMX.qcom.audio.decoder.tunneled.amrwb", 676 NULL, // Create instance function 677 // Unique instance handle 678 { 679 NULL, 680 NULL, 681 NULL, 682 NULL 683 } 684 NULL, // Shared object library handle 685 "libOmxAmrwbDec.so", 686 { 687 "audio_decoder.amrwb" 688 } 689 }, 690 { 691 "OMX.qcom.audio.decoder.tunneled.amrwbp", 692 NULL, // Create instance function 693 // Unique instance handle 694 { 695 NULL, 696 NULL, 697 NULL, 698 NULL 699 }, 700 NULL, // Shared object library handle 701 "libOmxAmrwbDec.so", 702 { 703 "audio_decoder.amrwbp" 704 } 705 } 706 #endif 707 }; 708 709 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type); 710 711 712