1 /*-------------------------------------------------------------------------- 2 Copyright (c) 2014-16, 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 QTI'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 }, 49 NULL, // Shared object library handle 50 "libOmxVdec.so", 51 { 52 "video_decoder.avc" 53 } 54 }, 55 { 56 "OMX.qcom.video.decoder.avc.dsmode", 57 NULL, // Create instance function 58 // Unique instance handle 59 { 60 NULL 61 }, 62 NULL, // Shared object library handle 63 "libOmxVideoDSMode.so", 64 { 65 "video_decoder.avc" 66 } 67 }, 68 { 69 "OMX.qcom.video.decoder.avc.secure", 70 NULL, // Create instance function 71 // Unique instance handle 72 { 73 NULL 74 }, 75 NULL, // Shared object library handle 76 "libOmxVdec.so", 77 { 78 "video_decoder.avc" 79 } 80 }, 81 { 82 "OMX.qcom.file.muxer", 83 NULL, // Create instance function 84 // Unique instance handle 85 { 86 NULL 87 }, 88 NULL, // Shared object library handle 89 90 "libOmxMux.so", 91 { 92 "container_muxer.mp2" 93 } 94 }, 95 { 96 "OMX.qcom.video.decoder.hevc", 97 NULL, // Create instance function 98 // Unique instance handle 99 { 100 NULL 101 }, 102 NULL, // Shared object library handle 103 "libOmxVdec.so", 104 { 105 "video_decoder.hevc" 106 } 107 }, 108 { 109 "OMX.qcom.video.decoder.hevc.secure", 110 NULL, // Create instance function 111 // Unique instance handle 112 { 113 NULL 114 }, 115 NULL, // Shared object library handle 116 "libOmxVdec.so", 117 { 118 "video_decoder.hevc" 119 } 120 }, 121 { 122 "OMX.qcom.video.decoder.vp8", 123 NULL, // Create instance function 124 // Unique instance handle 125 { 126 NULL 127 }, 128 NULL, // Shared object library handle 129 "libOmxVdec.so", 130 { 131 "video_decoder.vp8" 132 } 133 }, 134 { 135 "OMX.qcom.video.encoder.avc", 136 NULL, // Create instance function 137 // Unique instance handle 138 { 139 NULL 140 }, 141 NULL, // Shared object library handle 142 "libOmxVenc.so", 143 { 144 "video_encoder.avc" 145 } 146 }, 147 { 148 "OMX.qcom.video.encoder.avc.secure", 149 NULL, // Create instance function 150 // Unique instance handle 151 { 152 NULL 153 }, 154 NULL, // Shared object library handle 155 "libOmxVenc.so", 156 { 157 "video_encoder.avc" 158 } 159 }, 160 { 161 "OMX.qti.video.decoder.mpeg4sw", 162 NULL, // Create instance function 163 // Unique instance handle 164 { 165 NULL 166 }, 167 NULL, // Shared object library handle 168 "libOmxSwVdec.so", 169 { 170 "video_decoder.mpeg4" 171 } 172 }, 173 { 174 "OMX.qti.video.decoder.h263sw", 175 NULL, // Create instance function 176 // Unique instance handle 177 { 178 NULL 179 }, 180 NULL, // Shared object library handle 181 "libOmxSwVdec.so", 182 { 183 "video_decoder.h263" 184 } 185 }, 186 { 187 "OMX.qti.video.decoder.divxsw", 188 NULL, // Create instance function 189 // Unique instance handle 190 { 191 NULL 192 }, 193 NULL, // Shared object library handle 194 "libOmxSwVdec.so", 195 { 196 "video_decoder.divx" 197 } 198 }, 199 { 200 "OMX.qti.video.decoder.divx4sw", 201 NULL, // Create instance function 202 // Unique instance handle 203 { 204 NULL 205 }, 206 NULL, // Shared object library handle 207 "libOmxSwVdec.so", 208 { 209 "video_decoder.divx" 210 } 211 }, 212 { 213 "OMX.qcom.video.encoder.mpeg4sw", 214 NULL, // Create instance function 215 // Unique instance handle 216 { 217 NULL 218 }, 219 NULL, // Shared object library handle 220 "libOmxSwVencMpeg4.so", 221 { 222 "video_encoder.mpeg4" 223 } 224 }, 225 { 226 "OMX.qcom.video.encoder.h263sw", 227 NULL, // Create instance function 228 // Unique instance handle 229 { 230 NULL 231 }, 232 NULL, // Shared object library handle 233 "libOmxSwVencMpeg4.so", 234 { 235 "video_encoder.h263" 236 } 237 }, 238 { 239 "OMX.qcom.audio.encoder.g711mlaw", 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 "libOmxG711Enc.so", 250 { 251 "audio_encoder.g711" 252 } 253 }, 254 { 255 "OMX.qcom.audio.encoder.g711alaw", 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 "libOmxG711Enc.so", 266 { 267 "audio_encoder.g711" 268 } 269 }, 270 { 271 "OMX.qcom.audio.encoder.amrwb", 272 NULL, // Create instance function 273 // Unique instance handle 274 { 275 NULL 276 }, 277 NULL, // Shared object library handle 278 "libOmxAmrEnc.so", 279 { 280 "audio_encoder.amrwb" 281 } 282 }, 283 { 284 "OMX.qcom.audio.decoder.g711mlaw", 285 NULL, // Create instance function 286 // Unique instance handle 287 { 288 NULL 289 }, 290 NULL, // Shared object library handle 291 "libOmxG711Dec.so", 292 { 293 "audio_decoder.g711" 294 } 295 }, 296 { 297 "OMX.qcom.audio.decoder.g711alaw", 298 NULL, // Create instance function 299 // Unique instance handle 300 { 301 NULL 302 }, 303 NULL, // Shared object library handle 304 "libOmxG711Dec.so", 305 { 306 "audio_decoder.g711" 307 } 308 }, 309 { 310 "OMX.qcom.audio.decoder.amrwb", 311 NULL, // Create instance function 312 // Unique instance handle 313 { 314 NULL 315 }, 316 NULL, // Shared object library handle 317 "libOmxAmrDec.so", 318 { 319 "audio_decoder.amrwb" 320 } 321 }, 322 { 323 "OMX.qcom.audio.decoder.amrnb", 324 NULL, // Create instance function 325 // Unique instance handle 326 { 327 NULL 328 }, 329 NULL, // Shared object library handle 330 "libOmxAmrDec.so", 331 { 332 "audio_decoder.amrnb" 333 } 334 }, 335 { 336 "OMX.qcom.audio.decoder.Qcelp13", 337 NULL, // Create instance function 338 // Unique instance handle 339 { 340 NULL, 341 NULL, 342 NULL, 343 NULL 344 }, 345 NULL, // Shared object library handle 346 "libOmxQcelp13Dec.so", 347 { 348 "audio_decoder.Qcelp13" 349 } 350 }, 351 { 352 "OMX.qcom.audio.decoder.evrc", 353 NULL, // Create instance function 354 // Unique instance handle 355 { 356 NULL, 357 NULL, 358 NULL, 359 NULL 360 }, 361 NULL, // Shared object library handle 362 "libOmxEvrcDec.so", 363 { 364 "audio_decoder.evrc" 365 } 366 }, 367 { 368 "OMX.qcom.audio.decoder.wma", 369 NULL, // Create instance function 370 // Unique instance handle 371 { 372 NULL, 373 NULL, 374 NULL, 375 NULL 376 }, 377 NULL, // Shared object library handle 378 "libOmxWmaDec.so", 379 { 380 "audio_decoder.wma" 381 } 382 }, 383 { 384 "OMX.qcom.audio.decoder.wma10Pro", 385 NULL, // Create instance function 386 // Unique instance handle 387 { 388 NULL, 389 NULL, 390 NULL, 391 NULL 392 }, 393 NULL, // Shared object library handle 394 "libOmxWmaDec.so", 395 { 396 "audio_decoder.wma" 397 } 398 }, 399 { 400 "OMX.qcom.audio.decoder.aac", 401 NULL, // Create instance function 402 // Unique instance handle 403 { 404 NULL, 405 NULL, 406 NULL, 407 NULL 408 }, 409 NULL, // Shared object library handle 410 "libOmxAacDec.so", 411 { 412 "audio_decoder.aac" 413 } 414 }, 415 { 416 "OMX.qcom.audio.decoder.alac", 417 NULL, // Create instance function 418 // Unique instance handle 419 { 420 NULL, 421 NULL, 422 NULL, 423 NULL 424 }, 425 NULL, // Shared object library handle 426 "libOmxAlacDec.so", 427 { 428 "audio_decoder.alac" 429 } 430 }, 431 { 432 "OMX.qti.audio.decoder.alac.sw", 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 "libOmxAlacDecSw.so", 443 { 444 "audio_decoder.alac" 445 } 446 }, 447 { 448 "OMX.qcom.audio.decoder.ape", 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 "libOmxApeDec.so", 459 { 460 "audio_decoder.ape" 461 } 462 }, 463 { 464 "OMX.qti.audio.decoder.ape.sw", 465 NULL, // Create instance function 466 // Unique instance handle 467 { 468 NULL, 469 NULL, 470 NULL, 471 NULL 472 }, 473 NULL, // Shared object library handle 474 "libOmxApeDecSw.so", 475 { 476 "audio_decoder.ape" 477 } 478 }, 479 { 480 "OMX.qti.audio.decoder.flac.sw", 481 NULL, // Create instance function 482 // Unique instance handle 483 { 484 NULL, 485 NULL, 486 NULL, 487 NULL 488 }, 489 NULL, // Shared object library handle 490 "libOmxFlacDecSw.so", 491 { 492 "audio_decoder.flac" 493 } 494 }, 495 { 496 "OMX.qcom.audio.encoder.aac", 497 NULL, // Create instance function 498 // Unique instance handle 499 { 500 NULL, 501 NULL, 502 NULL, 503 NULL 504 }, 505 NULL, // Shared object library handle 506 "libOmxAacEnc.so", 507 { 508 "audio_encoder.aac" 509 } 510 }, 511 { 512 "OMX.qcom.audio.encoder.qcelp13", 513 NULL, // Create instance function 514 // Unique instance handle 515 { 516 NULL, 517 NULL, 518 NULL, 519 NULL 520 }, 521 NULL, // Shared object library handle 522 "libOmxQcelp13Enc.so", 523 { 524 "audio_encoder.qcelp13" 525 } 526 }, 527 { 528 "OMX.qcom.audio.encoder.evrc", 529 NULL, // Create instance function 530 // Unique instance handle 531 { 532 NULL, 533 NULL, 534 NULL, 535 NULL 536 }, 537 NULL, // Shared object library handle 538 "libOmxEvrcEnc.so", 539 { 540 "audio_encoder.evrc" 541 } 542 }, 543 { 544 "OMX.qcom.audio.encoder.amrnb", 545 NULL, // Create instance function 546 // Unique instance handle 547 { 548 NULL, 549 NULL, 550 NULL, 551 NULL 552 }, 553 NULL, // Shared object library handle 554 "libOmxAmrEnc.so", 555 { 556 "audio_encoder.amrnb" 557 } 558 }, 559 { 560 "OMX.qcom.audio.decoder.multiaac", 561 NULL, // Create instance function 562 // Unique instance handle 563 { 564 NULL, 565 NULL, 566 NULL, 567 NULL 568 }, 569 NULL, // Shared object library handle 570 "libOmxAacDec.so", 571 { 572 "audio_decoder.aac" 573 } 574 } 575 }; 576 577 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type); 578 579 580