1 /*-------------------------------------------------------------------------- 2 Copyright (c) 2010-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 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 #ifdef ENABLE_DRMPLAY 41 #include "drmplay_version.h" 42 #endif 43 44 omx_core_cb_type core[] = 45 { 46 { 47 "OMX.qcom.video.decoder.avc", 48 NULL, // Create instance function 49 // Unique instance handle 50 { 51 NULL, 52 NULL, 53 NULL, 54 NULL 55 }, 56 NULL, // Shared object library handle 57 "libOmxVdec.so", 58 { 59 "video_decoder.avc" 60 } 61 }, 62 { 63 "OMX.qcom.video.decoder.avc.secure", 64 NULL, // Create instance function 65 // Unique instance handle 66 { 67 NULL, 68 NULL, 69 NULL, 70 NULL 71 }, 72 NULL, // Shared object library handle 73 "libOmxVdec.so", 74 { 75 "video_decoder.avc" 76 } 77 }, 78 { 79 "OMX.qcom.video.decoder.divx4", 80 NULL, // Create instance function 81 // Unique instance handle 82 { 83 NULL, 84 NULL, 85 NULL, 86 NULL 87 }, 88 NULL, // Shared object library handle 89 "libOmxVdec.so", 90 { 91 "video_decoder.divx" 92 } 93 }, 94 { 95 "OMX.qcom.video.decoder.divx", 96 NULL, // Create instance function 97 // Unique instance handle 98 { 99 NULL, 100 NULL, 101 NULL, 102 NULL 103 }, 104 NULL, // Shared object library handle 105 "libOmxVdec.so", 106 { 107 "video_decoder.divx" 108 } 109 }, 110 { 111 "OMX.qcom.video.decoder.divx311", 112 NULL, // Create instance function 113 // Unique instance handle 114 { 115 NULL, 116 NULL, 117 NULL, 118 NULL 119 }, 120 NULL, // Shared object library handle 121 "libOmxVdec.so", 122 { 123 "video_decoder.divx" 124 } 125 }, 126 { 127 "OMX.qcom.video.decoder.mpeg4", 128 NULL, // Create instance function 129 // Unique instance handle 130 { 131 NULL, 132 NULL, 133 NULL, 134 NULL 135 }, 136 NULL, // Shared object library handle 137 "libOmxVdec.so", 138 { 139 "video_decoder.mpeg4" 140 } 141 }, 142 { 143 "OMX.qcom.video.decoder.mpeg2", 144 NULL, // Create instance function 145 // Unique instance handle 146 { 147 NULL, 148 NULL, 149 NULL, 150 NULL 151 }, 152 NULL, // Shared object library handle 153 "libOmxVdec.so", 154 { 155 "video_decoder.mpeg2" 156 } 157 }, 158 { 159 "OMX.qcom.video.decoder.vc1", 160 NULL, // Create instance function 161 // Unique instance handle 162 { 163 NULL, 164 NULL, 165 NULL, 166 NULL 167 }, 168 NULL, // Shared object library handle 169 "libOmxVdec.so", 170 { 171 "video_decoder.vc1" 172 } 173 }, 174 { 175 "OMX.qcom.video.decoder.wmv", 176 NULL, // Create instance function 177 // Unique instance handle 178 { 179 NULL, 180 NULL, 181 NULL, 182 NULL 183 }, 184 NULL, // Shared object library handle 185 "libOmxVdec.so", 186 { 187 "video_decoder.vc1" 188 } 189 }, 190 { 191 "OMX.qcom.video.decoder.h263", 192 NULL, // Create instance function 193 // Unique instance handle 194 { 195 NULL, 196 NULL, 197 NULL, 198 NULL 199 }, 200 NULL, // Shared object library handle 201 "libOmxVdec.so", 202 { 203 "video_decoder.h263" 204 } 205 }, 206 { 207 "OMX.qcom.video.encoder.mpeg4", 208 NULL, // Create instance function 209 // Unique instance handle 210 { 211 NULL, 212 NULL, 213 NULL, 214 NULL 215 }, 216 NULL, // Shared object library handle 217 "libOmxVenc.so", 218 { 219 "video_encoder.mpeg4" 220 } 221 }, 222 { 223 "OMX.qcom.video.encoder.h263", 224 NULL, // Create instance function 225 // Unique instance handle 226 { 227 NULL, 228 NULL, 229 NULL, 230 NULL 231 }, 232 NULL, // Shared object library handle 233 "libOmxVenc.so", 234 { 235 "video_encoder.h263" 236 } 237 }, 238 { 239 "OMX.qcom.video.encoder.avc", 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 "libOmxVenc.so", 250 { 251 "video_encoder.avc" 252 } 253 }, 254 { 255 "OMX.qcom.audio.decoder.Qcelp13", 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 "libOmxQcelp13Dec.so", 266 { 267 "audio_decoder.Qcelp13" 268 } 269 }, 270 { 271 "OMX.qcom.audio.decoder.evrc", 272 NULL, // Create instance function 273 // Unique instance handle 274 { 275 NULL, 276 NULL, 277 NULL, 278 NULL 279 }, 280 NULL, // Shared object library handle 281 "libOmxEvrcDec.so", 282 { 283 "audio_decoder.evrc" 284 } 285 }, 286 { 287 "OMX.qcom.audio.decoder.wma", 288 NULL, // Create instance function 289 // Unique instance handle 290 { 291 NULL, 292 NULL, 293 NULL, 294 NULL 295 }, 296 NULL, // Shared object library handle 297 "libOmxWmaDec.so", 298 { 299 "audio_decoder.wma" 300 } 301 }, 302 { 303 "OMX.qcom.audio.decoder.wma10Pro", 304 NULL, // Create instance function 305 // Unique instance handle 306 { 307 NULL, 308 NULL, 309 NULL, 310 NULL 311 }, 312 NULL, // Shared object library handle 313 "libOmxWmaDec.so", 314 { 315 "audio_decoder.wma" 316 } 317 }, 318 { 319 "OMX.qcom.audio.decoder.wmaLossLess", 320 NULL, // Create instance function 321 // Unique instance handle 322 { 323 NULL, 324 NULL, 325 NULL, 326 NULL 327 }, 328 NULL, // Shared object library handle 329 "libOmxWmaDec.so", 330 { 331 "audio_decoder.wma" 332 } 333 }, 334 { 335 "OMX.qcom.audio.encoder.aac", 336 NULL, // Create instance function 337 // Unique instance handle 338 { 339 NULL, 340 NULL, 341 NULL, 342 NULL 343 }, 344 NULL, // Shared object library handle 345 "libOmxAacEnc.so", 346 { 347 "audio_encoder.aac" 348 } 349 }, 350 { 351 "OMX.qcom.audio.encoder.qcelp13", 352 NULL, // Create instance function 353 // Unique instance handle 354 { 355 NULL, 356 NULL, 357 NULL, 358 NULL 359 }, 360 NULL, // Shared object library handle 361 "libOmxQcelp13Enc.so", 362 { 363 "audio_encoder.qcelp13" 364 } 365 }, 366 { 367 "OMX.qcom.audio.encoder.evrc", 368 NULL, // Create instance function 369 // Unique instance handle 370 { 371 NULL, 372 NULL, 373 NULL, 374 NULL 375 }, 376 NULL, // Shared object library handle 377 "libOmxEvrcEnc.so", 378 { 379 "audio_encoder.evrc" 380 } 381 }, 382 { 383 "OMX.qcom.audio.encoder.amrnb", 384 NULL, // Create instance function 385 // Unique instance handle 386 { 387 NULL, 388 NULL, 389 NULL, 390 NULL 391 }, 392 NULL, // Shared object library handle 393 "libOmxAmrEnc.so", 394 { 395 "audio_encoder.amrnb" 396 } 397 }, 398 { 399 "OMX.qcom.audio.decoder.aac", 400 NULL, // Create instance function 401 // Unique instance handle 402 { 403 NULL, 404 NULL, 405 NULL, 406 NULL 407 }, 408 NULL, // Shared object library handle 409 "libOmxAacDec.so", 410 { 411 "audio_decoder.aac" 412 } 413 }, 414 { 415 "OMX.qcom.audio.decoder.multiaac", 416 NULL, // Create instance function 417 // Unique instance handle 418 { 419 NULL, 420 NULL, 421 NULL, 422 NULL 423 }, 424 NULL, // Shared object library handle 425 "libOmxAacDec.so", 426 { 427 "audio_decoder.aac" 428 } 429 }, 430 #ifdef ENABLE_DRMPLAY 431 { 432 "drm.play" DRMPLAY_API_VERSION, 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 "libDrmPlay.so", 443 { 444 "drm.play" DRMPLAY_API_VERSION 445 } 446 }, 447 { 448 "OMX.qcom.file.muxer", 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 "libOmxMux.so", 459 { 460 "container_muxer.mp2" 461 } 462 } 463 #endif 464 }; 465 466 const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type); 467 468 469