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 QTI's OpenMAX core. 35 36 *//*========================================================================*/ 37 38 39 #include "qc_omx_core.h" 40 41 omx_core_cb_type core[] = 42 { 43 { 44 "OMX.qcom.video.decoder.avc", 45 NULL, // Create instance function 46 // Unique instance handle 47 { 48 NULL 49 }, 50 NULL, // Shared object library handle 51 "libOmxVdec.so", 52 { 53 "video_decoder.avc" 54 } 55 }, 56 { 57 "OMX.qcom.video.decoder.hevc", 58 NULL, // Create instance function 59 // Unique instance handle 60 { 61 NULL 62 }, 63 NULL, // Shared object library handle 64 "libOmxVdec.so", 65 { 66 "video_decoder.hevc" 67 } 68 }, 69 { 70 "OMX.qcom.video.decoder.vp8", 71 NULL, // Create instance function 72 // Unique instance handle 73 { 74 NULL 75 }, 76 NULL, // Shared object library handle 77 "libOmxVdec.so", 78 { 79 "video_decoder.vp8" 80 } 81 }, 82 { 83 "OMX.qcom.video.encoder.avc", 84 NULL, // Create instance function 85 // Unique instance handle 86 { 87 NULL 88 }, 89 NULL, // Shared object library handle 90 "libOmxVenc.so", 91 { 92 "video_encoder.avc" 93 } 94 }, 95 { 96 "OMX.qti.video.decoder.mpeg4sw", 97 NULL, // Create instance function 98 // Unique instance handle 99 { 100 NULL 101 }, 102 NULL, // Shared object library handle 103 "libOmxSwVdec.so", 104 { 105 "video_decoder.mpeg4" 106 } 107 }, 108 { 109 "OMX.qti.video.decoder.h263sw", 110 NULL, // Create instance function 111 // Unique instance handle 112 { 113 NULL 114 }, 115 NULL, // Shared object library handle 116 "libOmxSwVdec.so", 117 { 118 "video_decoder.h263" 119 } 120 }, 121 { 122 "OMX.qti.video.decoder.divxsw", 123 NULL, // Create instance function 124 // Unique instance handle 125 { 126 NULL 127 }, 128 NULL, // Shared object library handle 129 "libOmxSwVdec.so", 130 { 131 "video_decoder.divx" 132 } 133 }, 134 { 135 "OMX.qti.video.decoder.divx4sw", 136 NULL, // Create instance function 137 // Unique instance handle 138 { 139 NULL 140 }, 141 NULL, // Shared object library handle 142 "libOmxSwVdec.so", 143 { 144 "video_decoder.divx" 145 } 146 }, 147 { 148 "OMX.qcom.video.encoder.mpeg4sw", 149 NULL, // Create instance function 150 // Unique instance handle 151 { 152 NULL 153 }, 154 NULL, // Shared object library handle 155 "libOmxSwVencMpeg4.so", 156 { 157 "video_encoder.mpeg4" 158 } 159 }, 160 { 161 "OMX.qcom.video.encoder.h263sw", 162 NULL, // Create instance function 163 // Unique instance handle 164 { 165 NULL 166 }, 167 NULL, // Shared object library handle 168 "libOmxSwVencMpeg4.so", 169 { 170 "video_encoder.h263" 171 } 172 }, 173 { 174 "OMX.qcom.audio.decoder.Qcelp13", 175 NULL, // Create instance function 176 // Unique instance handle 177 { 178 NULL 179 }, 180 NULL, // Shared object library handle 181 "libOmxQcelp13Dec.so", 182 { 183 "audio_decoder.Qcelp13" 184 } 185 }, 186 { 187 "OMX.qcom.audio.decoder.evrc", 188 NULL, // Create instance function 189 // Unique instance handle 190 { 191 NULL 192 }, 193 NULL, // Shared object library handle 194 "libOmxEvrcDec.so", 195 { 196 "audio_decoder.evrc" 197 } 198 }, 199 { 200 "OMX.qcom.audio.decoder.wma", 201 NULL, // Create instance function 202 // Unique instance handle 203 { 204 NULL 205 }, 206 NULL, // Shared object library handle 207 "libOmxWmaDec.so", 208 { 209 "audio_decoder.wma" 210 } 211 }, 212 { 213 "OMX.qcom.audio.decoder.amrwbplus", 214 NULL, // Create instance function 215 // Unique instance handle 216 { 217 NULL 218 }, 219 NULL, // Shared object library handle 220 "libOmxAmrwbplusDec.so", 221 { 222 "audio_decoder.awbplus" 223 } 224 }, 225 { 226 "OMX.qcom.audio.decoder.wma10Pro", 227 NULL, // Create instance function 228 // Unique instance handle 229 { 230 NULL 231 }, 232 NULL, // Shared object library handle 233 "libOmxWmaDec.so", 234 { 235 "audio_decoder.wma" 236 } 237 }, 238 { 239 "OMX.qcom.audio.decoder.wmaLossLess", 240 NULL, // Create instance function 241 // Unique instance handle 242 { 243 NULL 244 }, 245 NULL, // Shared object library handle 246 "libOmxWmaDec.so", 247 { 248 "audio_decoder.wma" 249 } 250 }, 251 { 252 "OMX.qcom.audio.encoder.aac", 253 NULL, // Create instance function 254 // Unique instance handle 255 { 256 NULL 257 }, 258 NULL, // Shared object library handle 259 "libOmxAacEnc.so", 260 { 261 "audio_encoder.aac" 262 } 263 }, 264 { 265 "OMX.qcom.audio.encoder.qcelp13", 266 NULL, // Create instance function 267 // Unique instance handle 268 { 269 NULL 270 }, 271 NULL, // Shared object library handle 272 "libOmxQcelp13Enc.so", 273 { 274 "audio_encoder.qcelp13" 275 } 276 }, 277 { 278 "OMX.qcom.audio.encoder.evrc", 279 NULL, // Create instance function 280 // Unique instance handle 281 { 282 NULL 283 }, 284 NULL, // Shared object library handle 285 "libOmxEvrcEnc.so", 286 { 287 "audio_encoder.evrc" 288 } 289 }, 290 { 291 "OMX.qcom.audio.encoder.amrnb", 292 NULL, // Create instance function 293 // Unique instance handle 294 { 295 NULL 296 }, 297 NULL, // Shared object library handle 298 "libOmxAmrEnc.so", 299 { 300 "audio_encoder.amrnb" 301 } 302 }, 303 { 304 "OMX.qcom.audio.encoder.g711mlaw", 305 NULL, // Create instance function 306 // Unique instance handle 307 { 308 NULL, 309 NULL, 310 NULL, 311 NULL 312 }, 313 NULL, // Shared object library handle 314 "libOmxG711Enc.so", 315 { 316 "audio_encoder.g711" 317 } 318 }, 319 { 320 "OMX.qcom.audio.encoder.g711alaw", 321 NULL, // Create instance function 322 // Unique instance handle 323 { 324 NULL, 325 NULL, 326 NULL, 327 NULL 328 }, 329 NULL, // Shared object library handle 330 "libOmxG711Enc.so", 331 { 332 "audio_encoder.g711" 333 } 334 }, 335 { 336 "OMX.qcom.audio.encoder.amrwb", 337 NULL, // Create instance function 338 // Unique instance handle 339 { 340 NULL 341 }, 342 NULL, // Shared object library handle 343 "libOmxAmrEnc.so", 344 { 345 "audio_encoder.amrwb" 346 } 347 }, 348 { 349 "OMX.qcom.audio.decoder.g711mlaw", 350 NULL, // Create instance function 351 // Unique instance handle 352 { 353 NULL 354 }, 355 NULL, // Shared object library handle 356 "libOmxG711Dec.so", 357 { 358 "audio_decoder.g711" 359 } 360 }, 361 { 362 "OMX.qcom.audio.decoder.g711alaw", 363 NULL, // Create instance function 364 // Unique instance handle 365 { 366 NULL 367 }, 368 NULL, // Shared object library handle 369 "libOmxG711Dec.so", 370 { 371 "audio_decoder.g711" 372 } 373 }, 374 { 375 "OMX.qcom.audio.decoder.amrwb", 376 NULL, // Create instance function 377 // Unique instance handle 378 { 379 NULL 380 }, 381 NULL, // Shared object library handle 382 "libOmxAmrDec.so", 383 { 384 "audio_decoder.amrwb" 385 } 386 }, 387 { 388 "OMX.qcom.audio.decoder.amrnb", 389 NULL, // Create instance function 390 // Unique instance handle 391 { 392 NULL 393 }, 394 NULL, // Shared object library handle 395 "libOmxAmrDec.so", 396 { 397 "audio_decoder.amrnb" 398 } 399 }, 400 { 401 "OMX.qcom.audio.decoder.aac", 402 NULL, // Create instance function 403 // Unique instance handle 404 { 405 NULL 406 }, 407 NULL, // Shared object library handle 408 "libOmxAacDec.so", 409 { 410 "audio_decoder.aac" 411 } 412 }, 413 { 414 "OMX.qcom.audio.decoder.multiaac", 415 NULL, // Create instance function 416 // Unique instance handle 417 { 418 NULL 419 }, 420 NULL, // Shared object library handle 421 "libOmxAacDec.so", 422 { 423 "audio_decoder.aac" 424 } 425 }, 426 { 427 "AIV.play", 428 NULL, // Create instance function 429 // Unique instance handle 430 { 431 NULL 432 }, 433 NULL, // Shared object library handle 434 "libAivPlay.so", 435 { 436 "AIV.play.101" 437 } 438 }, 439 { 440 "OMX.qcom.file.muxer", 441 NULL, // Create instance function 442 // Unique instance handle 443 { 444 NULL 445 }, 446 NULL, // Shared object library handle 447 "libOmxMux.so", 448 { 449 "container_muxer.mp2" 450 } 451 }, 452 { 453 "OMX.qti.audio.decoder.alac.sw", 454 NULL, // Create instance function 455 // Unique instance handle 456 { 457 NULL, 458 NULL, 459 NULL, 460 NULL 461 }, 462 NULL, // Shared object library handle 463 "libOmxAlacDecSw.so", 464 { 465 "audio_decoder.alac" 466 } 467 }, 468 { 469 "OMX.qcom.audio.decoder.alac", 470 NULL, // Create instance function 471 // Unique instance handle 472 { 473 NULL 474 }, 475 NULL, // Shared object library handle 476 "libOmxAlacDec.so", 477 { 478 "audio_decoder.alac" 479 } 480 }, 481 { 482 "OMX.qcom.audio.decoder.ape", 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 "libOmxApeDec.so", 493 { 494 "audio_decoder.ape" 495 } 496 }, 497 { 498 "OMX.qti.audio.decoder.ape.sw", 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 "libOmxApeDecSw.so", 509 { 510 "audio_decoder.ape" 511 } 512 }, 513 { 514 "OMX.qti.audio.decoder.flac.sw", 515 NULL, // Create instance function 516 // Unique instance handle 517 { 518 NULL, 519 NULL, 520 NULL, 521 NULL 522 }, 523 NULL, // Shared object library handle 524 "libOmxFlacDecSw.so", 525 { 526 "audio_decoder.flac" 527 } 528 } 529 }; 530 531 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type); 532 533 534