1 /*-------------------------------------------------------------------------- 2 Copyright (c) 2013, 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 QCOM'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.avc.secure", 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.avc" 67 } 68 }, 69 { 70 "OMX.qcom.video.decoder.divx4", 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.divx" 80 } 81 }, 82 { 83 "OMX.qcom.video.decoder.divx", 84 NULL, // Create instance function 85 // Unique instance handle 86 { 87 NULL 88 }, 89 NULL, // Shared object library handle 90 "libOmxVdec.so", 91 { 92 "video_decoder.divx" 93 } 94 }, 95 { 96 "OMX.qcom.video.decoder.divx311", 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.divx" 106 } 107 }, 108 { 109 "OMX.qcom.video.decoder.mpeg4", 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.mpeg4" 119 } 120 }, 121 { 122 "OMX.qcom.video.decoder.mpeg2", 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.mpeg2" 132 } 133 }, 134 { 135 "OMX.qcom.video.decoder.vc1", 136 NULL, // Create instance function 137 // Unique instance handle 138 { 139 NULL 140 }, 141 NULL, // Shared object library handle 142 "libOmxVdec.so", 143 { 144 "video_decoder.vc1" 145 } 146 }, 147 { 148 "OMX.qcom.video.decoder.wmv", 149 NULL, // Create instance function 150 // Unique instance handle 151 { 152 NULL 153 }, 154 NULL, // Shared object library handle 155 "libOmxVdec.so", 156 { 157 "video_decoder.vc1" 158 } 159 }, 160 { 161 "OMX.qcom.video.decoder.h263", 162 NULL, // Create instance function 163 // Unique instance handle 164 { 165 NULL 166 }, 167 NULL, // Shared object library handle 168 "libOmxVdec.so", 169 { 170 "video_decoder.h263" 171 } 172 }, 173 { 174 "OMX.qcom.video.decoder.hevc", 175 NULL, // Create instance function 176 // Unique instance handle 177 { 178 NULL 179 }, 180 NULL, // Shared object library handle 181 "libOmxVdecHevc.so", 182 { 183 "video_decoder.hevc" 184 } 185 }, 186 { 187 "OMX.qcom.video.decoder.hevchybrid", 188 NULL, // Create instance function 189 // Unique instance handle 190 { 191 NULL 192 }, 193 NULL, // Shared object library handle 194 "libOmxVdecHevc.so", 195 { 196 "video_decoder.hevc" 197 } 198 }, 199 { 200 "OMX.qcom.video.decoder.hevcswvdec", 201 NULL, // Create instance function 202 // Unique instance handle 203 { 204 NULL 205 }, 206 NULL, // Shared object library handle 207 "libOmxVdecHevc.so", 208 { 209 "video_decoder.hevcswvdec" 210 } 211 }, 212 { 213 "OMX.qcom.video.decoder.vp8", 214 NULL, // Create instance function 215 // Unique instance handle 216 { 217 NULL 218 }, 219 NULL, // Shared object library handle 220 "libOmxVdec.so", 221 { 222 "video_decoder.vp8" 223 } 224 }, 225 { 226 "OMX.qcom.video.encoder.mpeg4", 227 NULL, // Create instance function 228 // Unique instance handle 229 { 230 NULL 231 }, 232 NULL, // Shared object library handle 233 "libOmxVenc.so", 234 { 235 "video_encoder.mpeg4" 236 } 237 }, 238 { 239 "OMX.qcom.video.encoder.h263", 240 NULL, // Create instance function 241 // Unique instance handle 242 { 243 NULL 244 }, 245 NULL, // Shared object library handle 246 "libOmxVenc.so", 247 { 248 "video_encoder.h263" 249 } 250 }, 251 { 252 "OMX.qcom.video.encoder.avc", 253 NULL, // Create instance function 254 // Unique instance handle 255 { 256 NULL 257 }, 258 NULL, // Shared object library handle 259 "libOmxVenc.so", 260 { 261 "video_encoder.avc" 262 } 263 }, 264 { 265 "OMX.qcom.video.encoder.avc.secure", 266 NULL, // Create instance function 267 // Unique instance handle 268 { 269 NULL 270 }, 271 NULL, // Shared object library handle 272 "libOmxVenc.so", 273 { 274 "video_encoder.avc" 275 } 276 }, 277 { 278 "OMX.qcom.video.encoder.vp8", 279 NULL, // Create instance function 280 // Unique instance handle 281 { 282 NULL 283 }, 284 NULL, // Shared object library handle 285 "libOmxVenc.so", 286 { 287 "video_encoder.vp8" 288 } 289 }, 290 { 291 "OMX.qcom.audio.decoder.Qcelp13", 292 NULL, // Create instance function 293 // Unique instance handle 294 { 295 NULL 296 }, 297 NULL, // Shared object library handle 298 "libOmxQcelp13Dec.so", 299 { 300 "audio_decoder.Qcelp13" 301 } 302 }, 303 { 304 "OMX.qcom.audio.decoder.evrc", 305 NULL, // Create instance function 306 // Unique instance handle 307 { 308 NULL 309 }, 310 NULL, // Shared object library handle 311 "libOmxEvrcDec.so", 312 { 313 "audio_decoder.evrc" 314 } 315 }, 316 { 317 "OMX.qcom.audio.decoder.wma", 318 NULL, // Create instance function 319 // Unique instance handle 320 { 321 NULL 322 }, 323 NULL, // Shared object library handle 324 "libOmxWmaDec.so", 325 { 326 "audio_decoder.wma" 327 } 328 }, 329 { 330 "OMX.qcom.audio.decoder.amrwbplus", 331 NULL, // Create instance function 332 // Unique instance handle 333 { 334 NULL 335 }, 336 NULL, // Shared object library handle 337 "libOmxAmrwbplusDec.so", 338 { 339 "audio_decoder.awbplus" 340 } 341 }, 342 { 343 "OMX.qcom.audio.decoder.wma10Pro", 344 NULL, // Create instance function 345 // Unique instance handle 346 { 347 NULL 348 }, 349 NULL, // Shared object library handle 350 "libOmxWmaDec.so", 351 { 352 "audio_decoder.wma" 353 } 354 }, 355 { 356 "OMX.qcom.audio.decoder.wmaLossLess", 357 NULL, // Create instance function 358 // Unique instance handle 359 { 360 NULL 361 }, 362 NULL, // Shared object library handle 363 "libOmxWmaDec.so", 364 { 365 "audio_decoder.wma" 366 } 367 }, 368 { 369 "OMX.qcom.audio.decoder.aac", 370 NULL, // Create instance function 371 // Unique instance handle 372 { 373 NULL 374 }, 375 NULL, // Shared object library handle 376 "libOmxAacDec.so", 377 { 378 "audio_decoder.aac" 379 } 380 }, 381 { 382 "OMX.qcom.audio.encoder.aac", 383 NULL, // Create instance function 384 // Unique instance handle 385 { 386 NULL 387 }, 388 NULL, // Shared object library handle 389 "libOmxAacEnc.so", 390 { 391 "audio_encoder.aac" 392 } 393 }, 394 { 395 "OMX.qcom.audio.encoder.qcelp13", 396 NULL, // Create instance function 397 // Unique instance handle 398 { 399 NULL 400 }, 401 NULL, // Shared object library handle 402 "libOmxQcelp13Enc.so", 403 { 404 "audio_encoder.qcelp13" 405 } 406 }, 407 { 408 "OMX.qcom.audio.encoder.evrc", 409 NULL, // Create instance function 410 // Unique instance handle 411 { 412 NULL 413 }, 414 NULL, // Shared object library handle 415 "libOmxEvrcEnc.so", 416 { 417 "audio_encoder.evrc" 418 } 419 }, 420 { 421 "OMX.qcom.audio.encoder.amrnb", 422 NULL, // Create instance function 423 // Unique instance handle 424 { 425 NULL 426 }, 427 NULL, // Shared object library handle 428 "libOmxAmrEnc.so", 429 { 430 "audio_encoder.amrnb" 431 } 432 }, 433 { 434 "OMX.qcom.audio.decoder.aac", 435 NULL, // Create instance function 436 // Unique instance handle 437 { 438 NULL 439 }, 440 NULL, // Shared object library handle 441 "libOmxAacDec.so", 442 { 443 "audio_decoder.aac" 444 } 445 }, 446 { 447 "OMX.qcom.audio.decoder.multiaac", 448 NULL, // Create instance function 449 // Unique instance handle 450 { 451 NULL 452 }, 453 NULL, // Shared object library handle 454 "libOmxAacDec.so", 455 { 456 "audio_decoder.aac" 457 } 458 }, 459 { 460 "AIV.play", 461 NULL, // Create instance function 462 // Unique instance handle 463 { 464 NULL 465 }, 466 NULL, // Shared object library handle 467 "libAivPlay.so", 468 { 469 "AIV.play.101" 470 } 471 }, 472 { 473 "OMX.qcom.file.muxer", 474 NULL, // Create instance function 475 // Unique instance handle 476 { 477 NULL 478 }, 479 NULL, // Shared object library handle 480 "libOmxMux.so", 481 { 482 "container_muxer.mp2" 483 } 484 } 485 }; 486 487 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type); 488 489 490