/sunxi-cedarx/SOURCE/omxil/aw_registry_table.c

https://github.com/allwinner-zh/media-codec · C · 670 lines · 577 code · 33 blank · 60 comment · 0 complexity · f440106b7548e6f436302ed82f8849fd MD5 · raw file

  1. /*
  2. * Cedarx framework.
  3. * Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
  4. *
  5. * This file is part of Cedarx.
  6. *
  7. * Cedarx is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU Lesser General Public
  9. * License as published by the Free Software Foundation; either
  10. * version 2.1 of the License, or (at your option) any later version.
  11. *
  12. * This program is distributed "as is" WITHOUT ANY WARRANTY of any
  13. * kind, whether express or implied; without even the implied warranty
  14. * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU Lesser General Public License for more details.
  16. */
  17. /*============================================================================
  18. O p e n M A X w r a p p e r s
  19. O p e n M A X C o r e
  20. This module contains the registry table for the QCOM's OpenMAX core.
  21. *//*========================================================================*/
  22. #include "aw_omx_core.h"
  23. omx_core_cb_type core[] =
  24. {
  25. //*1. mjpeg decoder
  26. {
  27. "OMX.allwinner.video.decoder.mjpeg",
  28. NULL,// Create instance function
  29. // Unique instance handle
  30. {
  31. NULL,
  32. NULL,
  33. NULL,
  34. NULL
  35. },
  36. NULL, // Shared object library handle
  37. "libOmxVdec.so",
  38. {
  39. "video_decoder.mjpeg"
  40. }
  41. },
  42. //*2. mpeg1 decoder
  43. {
  44. "OMX.allwinner.video.decoder.mpeg1",
  45. NULL,
  46. {
  47. NULL,
  48. NULL,
  49. NULL,
  50. NULL
  51. },
  52. NULL,
  53. "libOmxVdec.so",
  54. {
  55. "video_decoder.mpeg1"
  56. }
  57. },
  58. //*3. mpeg2 decoder
  59. {
  60. "OMX.allwinner.video.decoder.mpeg2",
  61. NULL,
  62. {
  63. NULL,
  64. NULL,
  65. NULL,
  66. NULL
  67. },
  68. NULL,
  69. "libOmxVdec.so",
  70. {
  71. "video_decoder.mpeg2"
  72. }
  73. },
  74. //*4. mpeg4 decoder
  75. {
  76. "OMX.allwinner.video.decoder.mpeg4",
  77. NULL,
  78. {
  79. NULL,
  80. NULL,
  81. NULL,
  82. NULL
  83. },
  84. NULL,
  85. "libOmxVdec.so",
  86. {
  87. "video_decoder.mpeg4"
  88. }
  89. },
  90. //*5. msmpeg4v1 decoder
  91. {
  92. "OMX.allwinner.video.decoder.msmpeg4v1",
  93. NULL,
  94. {
  95. NULL,
  96. NULL,
  97. NULL,
  98. NULL
  99. },
  100. NULL,
  101. "libOmxVdec.so",
  102. {
  103. "video_decoder.msmpeg4v1"
  104. }
  105. },
  106. //*6. msmpeg4v2 decoder
  107. {
  108. "OMX.allwinner.video.decoder.msmpeg4v2",
  109. NULL,
  110. {
  111. NULL,
  112. NULL,
  113. NULL,
  114. NULL
  115. },
  116. NULL,
  117. "libOmxVdec.so",
  118. {
  119. "video_decoder.msmpeg4v2"
  120. }
  121. },
  122. //*7. divx decoder
  123. {
  124. "OMX.allwinner.video.decoder.divx",
  125. NULL,
  126. {
  127. NULL,
  128. NULL,
  129. NULL,
  130. NULL
  131. },
  132. NULL,
  133. "libOmxVdec.so",
  134. {
  135. "video_decoder.divx"
  136. }
  137. },
  138. //*8. xvid decoder
  139. {
  140. "OMX.allwinner.video.decoder.xvid",
  141. NULL,
  142. {
  143. NULL,
  144. NULL,
  145. NULL,
  146. NULL
  147. },
  148. NULL,
  149. "libOmxVdec.so",
  150. {
  151. "video_decoder.xvid"
  152. }
  153. },
  154. //*9. h263 decoder
  155. {
  156. "OMX.allwinner.video.decoder.h263",
  157. NULL,
  158. {
  159. NULL,
  160. NULL,
  161. NULL,
  162. NULL
  163. },
  164. NULL,
  165. "libOmxVdec.so",
  166. {
  167. "video_decoder.h263"
  168. }
  169. },
  170. //*10. h263 decoder
  171. {
  172. "OMX.allwinner.video.decoder.s263",
  173. NULL,
  174. {
  175. NULL,
  176. NULL,
  177. NULL,
  178. NULL
  179. },
  180. NULL,
  181. "libOmxVdec.so",
  182. {
  183. "video_decoder.s263"
  184. }
  185. },
  186. //*11. rxg2 decoder
  187. {
  188. "OMX.allwinner.video.decoder.rxg2",
  189. NULL,
  190. {
  191. NULL,
  192. NULL,
  193. NULL,
  194. NULL
  195. },
  196. NULL,
  197. "libOmxVdec.so",
  198. {
  199. "video_decoder.rxg2"
  200. }
  201. },
  202. //*12. wmv1 decoder
  203. {
  204. "OMX.allwinner.video.decoder.wmv1",
  205. NULL,
  206. {
  207. NULL,
  208. NULL,
  209. NULL,
  210. NULL
  211. },
  212. NULL,
  213. "libOmxVdec.so",
  214. {
  215. "video_decoder.wmv1"
  216. }
  217. },
  218. //*13. wmv2 decoder
  219. {
  220. "OMX.allwinner.video.decoder.wmv2",
  221. NULL,
  222. {
  223. NULL,
  224. NULL,
  225. NULL,
  226. NULL
  227. },
  228. NULL,
  229. "libOmxVdec.so",
  230. {
  231. "video_decoder.wmv2"
  232. }
  233. },
  234. //*14. vc1 decoder
  235. {
  236. "OMX.allwinner.video.decoder.vc1",
  237. NULL,
  238. {
  239. NULL,
  240. NULL,
  241. NULL,
  242. NULL
  243. },
  244. NULL,
  245. "libOmxVdec.so",
  246. {
  247. "video_decoder.vc1"
  248. }
  249. },
  250. //*15. vp6 decoder
  251. {
  252. "OMX.allwinner.video.decoder.vp6",
  253. NULL,
  254. {
  255. NULL,
  256. NULL,
  257. NULL,
  258. NULL
  259. },
  260. NULL,
  261. "libOmxVdec.so",
  262. {
  263. "video_decoder.vp6"
  264. }
  265. },
  266. //*16. vp8 decoder
  267. {
  268. "OMX.allwinner.video.decoder.vp8",
  269. NULL,
  270. {
  271. NULL,
  272. NULL,
  273. NULL,
  274. NULL
  275. },
  276. NULL,
  277. "libOmxVdec.so",
  278. {
  279. "video_decoder.vp8"
  280. }
  281. },
  282. //*17. vp9 decoder
  283. {
  284. "OMX.allwinner.video.decoder.vp9",
  285. NULL,
  286. {
  287. NULL,
  288. NULL,
  289. NULL,
  290. NULL
  291. },
  292. NULL,
  293. "libOmxVdec.so",
  294. {
  295. "video_decoder.vp9"
  296. }
  297. },
  298. //*18. avc decoder
  299. {
  300. "OMX.allwinner.video.decoder.avc",
  301. NULL,
  302. {
  303. NULL,
  304. NULL,
  305. NULL,
  306. NULL
  307. },
  308. NULL,
  309. "libOmxVdec.so",
  310. {
  311. "video_decoder.avc"
  312. }
  313. },
  314. //*19. avc decoder (secure)
  315. {
  316. "OMX.allwinner.video.decoder.avc.secure",
  317. NULL,
  318. {
  319. NULL,
  320. NULL,
  321. NULL,
  322. NULL
  323. },
  324. NULL,
  325. "libOmxVdec.so",
  326. {
  327. "video_decoder.avc.secure"
  328. }
  329. },
  330. //*20. h265 decoder
  331. {
  332. "OMX.allwinner.video.decoder.hevc",
  333. NULL,
  334. {
  335. NULL,
  336. NULL,
  337. NULL,
  338. NULL
  339. },
  340. NULL,
  341. "libOmxVdec.so",
  342. {
  343. "video_decoder.hevc"
  344. }
  345. },
  346. //*20. divx3 decoder
  347. {
  348. "OMX.allwinner.video.decoder.divx3",
  349. NULL,
  350. {
  351. NULL,
  352. NULL,
  353. NULL,
  354. NULL
  355. },
  356. NULL,
  357. "libOmxVdec.so",
  358. {
  359. "video_decoder.divx3"
  360. }
  361. },
  362. #if 0
  363. //*1. avc encoder
  364. {
  365. "OMX.allwinner.video.encoder.avc",
  366. NULL,
  367. {
  368. NULL,
  369. NULL,
  370. NULL,
  371. NULL
  372. },
  373. NULL,
  374. "libOmxVenc.so",
  375. {
  376. "video_encode.avc"
  377. }
  378. },
  379. //*2. h263 encoder
  380. {
  381. "OMX.allwinner.video.encoder.h263",
  382. NULL,
  383. {
  384. NULL,
  385. NULL,
  386. NULL,
  387. NULL
  388. },
  389. NULL,
  390. "libOmxVenc.so",
  391. {
  392. "video_encode.h263"
  393. }
  394. },
  395. //*3. mpeg4 encoder
  396. {
  397. "OMX.allwinner.video.encoder.mpeg4",
  398. NULL,
  399. {
  400. NULL,
  401. NULL,
  402. NULL,
  403. NULL
  404. },
  405. NULL,
  406. "libOmxVenc.so",
  407. {
  408. "video_encode.mpeg4"
  409. }
  410. },
  411. //audio dec
  412. //*3. wma decoder
  413. {
  414. "OMX.allwinner.audio.decoder.wma",
  415. NULL,
  416. {
  417. NULL,
  418. NULL,
  419. NULL,
  420. NULL
  421. },
  422. NULL,
  423. "libOmxAdec.so",
  424. {
  425. "audio_decoder.wma"
  426. }
  427. },
  428. //*3. aac decoder
  429. {
  430. "OMX.allwinner.audio.decoder.aac",
  431. NULL,
  432. {
  433. NULL,
  434. NULL,
  435. NULL,
  436. NULL
  437. },
  438. NULL,
  439. "libOmxAdec.so",
  440. {
  441. "audio_decoder.aac"
  442. }
  443. },
  444. //*3. mp3 decoder
  445. {
  446. "OMX.allwinner.audio.decoder.mp3",
  447. NULL,
  448. {
  449. NULL,
  450. NULL,
  451. NULL,
  452. NULL
  453. },
  454. NULL,
  455. "libOmxAdec.so",
  456. {
  457. "audio_decoder.mp3"
  458. }
  459. },
  460. //
  461. {
  462. "OMX.allwinner.audio.decoder.amrnb",
  463. NULL,
  464. {
  465. NULL,
  466. NULL,
  467. NULL,
  468. NULL
  469. },
  470. NULL,
  471. "libOmxAdec.so",
  472. {
  473. "audio_decoder.amrnb"
  474. }
  475. },
  476. //
  477. {
  478. "OMX.allwinner.audio.decoder.amrwb",
  479. NULL,
  480. {
  481. NULL,
  482. NULL,
  483. NULL,
  484. NULL
  485. },
  486. NULL,
  487. "libOmxAdec.so",
  488. {
  489. "audio_decoder.amrwb"
  490. }
  491. },
  492. //
  493. {
  494. "OMX.allwinner.audio.decoder.g711.alaw",
  495. NULL,
  496. {
  497. NULL,
  498. NULL,
  499. NULL,
  500. NULL
  501. },
  502. NULL,
  503. "libOmxAdec.so",
  504. {
  505. "audio_decoder.g711alaw"
  506. }
  507. },
  508. //
  509. {
  510. "OMX.allwinner.audio.decoder.g711.mlaw",
  511. NULL,
  512. {
  513. NULL,
  514. NULL,
  515. NULL,
  516. NULL
  517. },
  518. NULL,
  519. "libOmxAdec.so",
  520. {
  521. "audio_decoder.g711mlaw"
  522. }
  523. },
  524. {
  525. "OMX.allwinner.audio.decoder.adpcm",
  526. NULL,
  527. {
  528. NULL,
  529. NULL,
  530. NULL,
  531. NULL
  532. },
  533. NULL,
  534. "libOmxAdec.so",
  535. {
  536. "audio_decoder.adpcm"
  537. }
  538. },
  539. //
  540. {
  541. "OMX.allwinner.audio.decoder.vorbis",
  542. NULL,
  543. {
  544. NULL,
  545. NULL,
  546. NULL,
  547. NULL
  548. },
  549. NULL,
  550. "libOmxAdec.so",
  551. {
  552. "audio_decoder.ogg"
  553. }
  554. },
  555. //
  556. {
  557. "OMX.allwinner.audio.decoder.ape",
  558. NULL,
  559. {
  560. NULL,
  561. NULL,
  562. NULL,
  563. NULL
  564. },
  565. NULL,
  566. "libOmxAdec.so",
  567. {
  568. "audio_decoder.ape"
  569. }
  570. },
  571. {
  572. "OMX.allwinner.audio.decoder.ac3",
  573. NULL,
  574. {
  575. NULL,
  576. NULL,
  577. NULL,
  578. NULL
  579. },
  580. NULL,
  581. "libOmxAdec.so",
  582. {
  583. "audio_decoder.ac3"
  584. }
  585. },
  586. {
  587. "OMX.allwinner.audio.decoder.dts",
  588. NULL,
  589. {
  590. NULL,
  591. NULL,
  592. NULL,
  593. NULL
  594. },
  595. NULL,
  596. "libOmxAdec.so",
  597. {
  598. "audio_decoder.dts"
  599. }
  600. },
  601. //
  602. {
  603. "OMX.allwinner.audio.decoder.flac",
  604. NULL,
  605. {
  606. NULL,
  607. NULL,
  608. NULL,
  609. NULL
  610. },
  611. NULL,
  612. "libOmxAdec.so",
  613. {
  614. "audio_decoder.flac"
  615. }
  616. },
  617. //
  618. {
  619. "OMX.allwinner.audio.decoder.raw",
  620. NULL,
  621. {
  622. NULL,
  623. NULL,
  624. NULL,
  625. NULL
  626. },
  627. NULL,
  628. "libOmxAdec.so",
  629. {
  630. "audio_decoder.raw"
  631. }
  632. },
  633. #endif
  634. };
  635. const unsigned int SIZE_OF_CORE = sizeof(core) / sizeof(omx_core_cb_type);