You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

653 lines
20KB

  1. /*
  2. * Utils for libavcodec
  3. * Copyright (c) 2002 Fabrice Bellard.
  4. *
  5. * This library is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU Lesser General Public
  7. * License as published by the Free Software Foundation; either
  8. * version 2 of the License, or (at your option) any later version.
  9. *
  10. * This library is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. * Lesser General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU Lesser General Public
  16. * License along with this library; if not, write to the Free Software
  17. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  18. */
  19. /**
  20. * @file allcodecs.c
  21. * Utils for libavcodec.
  22. */
  23. #include "avcodec.h"
  24. /* If you do not call this function, then you can select exactly which
  25. formats you want to support */
  26. /**
  27. * simple call to register all the codecs.
  28. */
  29. void avcodec_register_all(void)
  30. {
  31. static int inited = 0;
  32. if (inited != 0)
  33. return;
  34. inited = 1;
  35. /* encoders */
  36. #ifdef CONFIG_ENCODERS
  37. #ifdef CONFIG_AC3_ENCODER
  38. register_avcodec(&ac3_encoder);
  39. #endif //CONFIG_AC3_ENCODER
  40. #ifdef CONFIG_MP2_ENCODER
  41. register_avcodec(&mp2_encoder);
  42. #endif //CONFIG_MP2_ENCODER
  43. #ifdef CONFIG_MP3LAME
  44. #ifdef CONFIG_MP3LAME_ENCODER
  45. register_avcodec(&mp3lame_encoder);
  46. #endif //CONFIG_MP3LAME_ENCODER
  47. #endif
  48. #ifdef CONFIG_LIBVORBIS
  49. #ifdef CONFIG_OGGVORBIS_ENCODER
  50. register_avcodec(&oggvorbis_encoder);
  51. #endif //CONFIG_OGGVORBIS_ENCODER
  52. #if (defined CONFIG_OGGVORBIS_DECODER && !defined CONFIG_VORBIS_DECODER)
  53. register_avcodec(&oggvorbis_decoder);
  54. #endif //CONFIG_OGGVORBIS_DECODER
  55. #endif
  56. #ifdef CONFIG_LIBTHEORA
  57. #ifdef CONFIG_OGGTHEORA_ENCODER
  58. // register_avcodec(&oggtheora_encoder);
  59. #endif //CONFIG_OGGTHEORA_ENCODER
  60. #ifdef CONFIG_OGGTHEORA_DECODER
  61. register_avcodec(&oggtheora_decoder);
  62. #endif //CONFIG_OGGTHEORA_DECODER
  63. #endif
  64. #ifdef CONFIG_FAAC
  65. #ifdef CONFIG_FAAC_ENCODER
  66. register_avcodec(&faac_encoder);
  67. #endif //CONFIG_FAAC_ENCODER
  68. #endif
  69. #ifdef CONFIG_XVID
  70. #ifdef CONFIG_XVID_ENCODER
  71. register_avcodec(&xvid_encoder);
  72. #endif //CONFIG_XVID_ENCODER
  73. #endif
  74. #ifdef CONFIG_MPEG1VIDEO_ENCODER
  75. register_avcodec(&mpeg1video_encoder);
  76. #endif //CONFIG_MPEG1VIDEO_ENCODER
  77. #ifdef CONFIG_H264_ENCODER
  78. // register_avcodec(&h264_encoder);
  79. #endif //CONFIG_H264_ENCODER
  80. #ifdef CONFIG_MPEG2VIDEO_ENCODER
  81. register_avcodec(&mpeg2video_encoder);
  82. #endif //CONFIG_MPEG2VIDEO_ENCODER
  83. #ifdef CONFIG_H261_ENCODER
  84. register_avcodec(&h261_encoder);
  85. #endif //CONFIG_H261_ENCODER
  86. #ifdef CONFIG_H263_ENCODER
  87. register_avcodec(&h263_encoder);
  88. #endif //CONFIG_H263_ENCODER
  89. #ifdef CONFIG_H263P_ENCODER
  90. register_avcodec(&h263p_encoder);
  91. #endif //CONFIG_H263P_ENCODER
  92. #ifdef CONFIG_FLV_ENCODER
  93. register_avcodec(&flv_encoder);
  94. #endif //CONFIG_FLV_ENCODER
  95. #ifdef CONFIG_RV10_ENCODER
  96. register_avcodec(&rv10_encoder);
  97. #endif //CONFIG_RV10_ENCODER
  98. #ifdef CONFIG_RV20_ENCODER
  99. register_avcodec(&rv20_encoder);
  100. #endif //CONFIG_RV20_ENCODER
  101. #ifdef CONFIG_MPEG4_ENCODER
  102. register_avcodec(&mpeg4_encoder);
  103. #endif //CONFIG_MPEG4_ENCODER
  104. #ifdef CONFIG_MSMPEG4V1_ENCODER
  105. register_avcodec(&msmpeg4v1_encoder);
  106. #endif //CONFIG_MSMPEG4V1_ENCODER
  107. #ifdef CONFIG_MSMPEG4V2_ENCODER
  108. register_avcodec(&msmpeg4v2_encoder);
  109. #endif //CONFIG_MSMPEG4V2_ENCODER
  110. #ifdef CONFIG_MSMPEG4V3_ENCODER
  111. register_avcodec(&msmpeg4v3_encoder);
  112. #endif //CONFIG_MSMPEG4V3_ENCODER
  113. #ifdef CONFIG_WMV1_ENCODER
  114. register_avcodec(&wmv1_encoder);
  115. #endif //CONFIG_WMV1_ENCODER
  116. #ifdef CONFIG_WMV2_ENCODER
  117. register_avcodec(&wmv2_encoder);
  118. #endif //CONFIG_WMV2_ENCODER
  119. #ifdef CONFIG_SVQ1_ENCODER
  120. register_avcodec(&svq1_encoder);
  121. #endif //CONFIG_SVQ1_ENCODER
  122. #ifdef CONFIG_MJPEG_ENCODER
  123. register_avcodec(&mjpeg_encoder);
  124. #endif //CONFIG_MJPEG_ENCODER
  125. #ifdef CONFIG_LJPEG_ENCODER
  126. register_avcodec(&ljpeg_encoder);
  127. #endif //CONFIG_LJPEG_ENCODER
  128. #ifdef CONFIG_JPEGLS_ENCODER
  129. register_avcodec(&jpegls_encoder);
  130. #endif //CONFIG_JPEGLS_ENCODER
  131. #ifdef CONFIG_ZLIB
  132. #ifdef CONFIG_PNG_ENCODER
  133. register_avcodec(&png_encoder);
  134. #endif //CONFIG_PNG_ENCODER
  135. #endif
  136. #ifdef CONFIG_PPM_ENCODER
  137. register_avcodec(&ppm_encoder);
  138. #endif //CONFIG_PPM_ENCODER
  139. #ifdef CONFIG_PGM_ENCODER
  140. register_avcodec(&pgm_encoder);
  141. #endif //CONFIG_PGM_ENCODER
  142. #ifdef CONFIG_PGMYUV_ENCODER
  143. register_avcodec(&pgmyuv_encoder);
  144. #endif //CONFIG_PGMYUV_ENCODER
  145. #ifdef CONFIG_PBM_ENCODER
  146. register_avcodec(&pbm_encoder);
  147. #endif //CONFIG_PBM_ENCODER
  148. #ifdef CONFIG_PAM_ENCODER
  149. register_avcodec(&pam_encoder);
  150. #endif //CONFIG_PAM_ENCODER
  151. #ifdef CONFIG_HUFFYUV_ENCODER
  152. register_avcodec(&huffyuv_encoder);
  153. #endif //CONFIG_HUFFYUV_ENCODER
  154. #ifdef CONFIG_FFVHUFF_ENCODER
  155. register_avcodec(&ffvhuff_encoder);
  156. #endif //CONFIG_FFVHUFF_ENCODER
  157. #ifdef CONFIG_ASV1_ENCODER
  158. register_avcodec(&asv1_encoder);
  159. #endif //CONFIG_ASV1_ENCODER
  160. #ifdef CONFIG_ASV2_ENCODER
  161. register_avcodec(&asv2_encoder);
  162. #endif //CONFIG_ASV2_ENCODER
  163. #ifdef CONFIG_FFV1_ENCODER
  164. register_avcodec(&ffv1_encoder);
  165. #endif //CONFIG_FFV1_ENCODER
  166. #ifdef CONFIG_SNOW_ENCODER
  167. register_avcodec(&snow_encoder);
  168. #endif //CONFIG_SNOW_ENCODER
  169. #ifdef CONFIG_ZLIB_ENCODER
  170. register_avcodec(&zlib_encoder);
  171. #endif //CONFIG_ZLIB_ENCODER
  172. #ifdef CONFIG_DVVIDEO_ENCODER
  173. register_avcodec(&dvvideo_encoder);
  174. #endif //CONFIG_DVVIDEO_ENCODER
  175. #ifdef CONFIG_SONIC_ENCODER
  176. register_avcodec(&sonic_encoder);
  177. #endif //CONFIG_SONIC_ENCODER
  178. #ifdef CONFIG_SONIC_LS_ENCODER
  179. register_avcodec(&sonic_ls_encoder);
  180. #endif //CONFIG_SONIC_LS_ENCODER
  181. #ifdef CONFIG_X264
  182. #ifdef CONFIG_X264_ENCODER
  183. register_avcodec(&x264_encoder);
  184. #endif //CONFIG_X264_ENCODER
  185. #endif
  186. #ifdef CONFIG_LIBGSM
  187. register_avcodec(&libgsm_encoder);
  188. #endif //CONFIG_LIBGSM
  189. #ifdef CONFIG_RAWVIDEO_ENCODER
  190. register_avcodec(&rawvideo_encoder);
  191. #endif //CONFIG_RAWVIDEO_ENCODER
  192. #endif /* CONFIG_ENCODERS */
  193. /* decoders */
  194. #ifdef CONFIG_DECODERS
  195. #ifdef CONFIG_H263_DECODER
  196. register_avcodec(&h263_decoder);
  197. #endif //CONFIG_H263_DECODER
  198. #ifdef CONFIG_H261_DECODER
  199. register_avcodec(&h261_decoder);
  200. #endif //CONFIG_H261_DECODER
  201. #ifdef CONFIG_MPEG4_DECODER
  202. register_avcodec(&mpeg4_decoder);
  203. #endif //CONFIG_MPEG4_DECODER
  204. #ifdef CONFIG_MSMPEG4V1_DECODER
  205. register_avcodec(&msmpeg4v1_decoder);
  206. #endif //CONFIG_MSMPEG4V1_DECODER
  207. #ifdef CONFIG_MSMPEG4V2_DECODER
  208. register_avcodec(&msmpeg4v2_decoder);
  209. #endif //CONFIG_MSMPEG4V2_DECODER
  210. #ifdef CONFIG_MSMPEG4V3_DECODER
  211. register_avcodec(&msmpeg4v3_decoder);
  212. #endif //CONFIG_MSMPEG4V3_DECODER
  213. #ifdef CONFIG_WMV1_DECODER
  214. register_avcodec(&wmv1_decoder);
  215. #endif //CONFIG_WMV1_DECODER
  216. #ifdef CONFIG_WMV2_DECODER
  217. register_avcodec(&wmv2_decoder);
  218. #endif //CONFIG_WMV2_DECODER
  219. #ifdef CONFIG_VC9_DECODER
  220. register_avcodec(&vc9_decoder);
  221. #endif //CONFIG_VC9_DECODER
  222. /* Reenable when it stops crashing on every file, causing bug report spam.
  223. #ifdef CONFIG_WMV3_DECODER
  224. register_avcodec(&wmv3_decoder);
  225. #endif //CONFIG_WMV3_DECODER
  226. */
  227. #ifdef CONFIG_H263I_DECODER
  228. register_avcodec(&h263i_decoder);
  229. #endif //CONFIG_H263I_DECODER
  230. #ifdef CONFIG_FLV_DECODER
  231. register_avcodec(&flv_decoder);
  232. #endif //CONFIG_FLV_DECODER
  233. #ifdef CONFIG_RV10_DECODER
  234. register_avcodec(&rv10_decoder);
  235. #endif //CONFIG_RV10_DECODER
  236. #ifdef CONFIG_RV20_DECODER
  237. register_avcodec(&rv20_decoder);
  238. #endif //CONFIG_RV20_DECODER
  239. #ifdef CONFIG_SVQ1_DECODER
  240. register_avcodec(&svq1_decoder);
  241. #endif //CONFIG_SVQ1_DECODER
  242. #ifdef CONFIG_SVQ3_DECODER
  243. register_avcodec(&svq3_decoder);
  244. #endif //CONFIG_SVQ3_DECODER
  245. #ifdef CONFIG_WMAV1_DECODER
  246. register_avcodec(&wmav1_decoder);
  247. #endif //CONFIG_WMAV1_DECODER
  248. #ifdef CONFIG_WMAV2_DECODER
  249. register_avcodec(&wmav2_decoder);
  250. #endif //CONFIG_WMAV2_DECODER
  251. #ifdef CONFIG_INDEO2_DECODER
  252. register_avcodec(&indeo2_decoder);
  253. #endif //CONFIG_INDEO2_DECODER
  254. #ifdef CONFIG_INDEO3_DECODER
  255. register_avcodec(&indeo3_decoder);
  256. #endif //CONFIG_INDEO3_DECODER
  257. #ifdef CONFIG_TSCC_DECODER
  258. register_avcodec(&tscc_decoder);
  259. #endif //CONFIG_TSCC_DECODER
  260. #ifdef CONFIG_CSCD_DECODER
  261. register_avcodec(&cscd_decoder);
  262. #endif //CONFIG_CSCD_DECODER
  263. #ifdef CONFIG_NUV_DECODER
  264. register_avcodec(&nuv_decoder);
  265. #endif //CONFIG_NUV_DECODER
  266. #ifdef CONFIG_ULTI_DECODER
  267. register_avcodec(&ulti_decoder);
  268. #endif //CONFIG_ULTI_DECODER
  269. #ifdef CONFIG_QDRAW_DECODER
  270. register_avcodec(&qdraw_decoder);
  271. #endif //CONFIG_QDRAW_DECODER
  272. #ifdef CONFIG_XL_DECODER
  273. register_avcodec(&xl_decoder);
  274. #endif //CONFIG_XL_DECODER
  275. #ifdef CONFIG_QPEG_DECODER
  276. register_avcodec(&qpeg_decoder);
  277. #endif //CONFIG_QPEG_DECODER
  278. #ifdef CONFIG_LOCO_DECODER
  279. register_avcodec(&loco_decoder);
  280. #endif //CONFIG_LOCO_DECODER
  281. #ifdef CONFIG_WNV1_DECODER
  282. register_avcodec(&wnv1_decoder);
  283. #endif //CONFIG_WNV1_DECODER
  284. #ifdef CONFIG_AASC_DECODER
  285. register_avcodec(&aasc_decoder);
  286. #endif //CONFIG_AASC_DECODER
  287. #ifdef CONFIG_FRAPS_DECODER
  288. register_avcodec(&fraps_decoder);
  289. #endif //CONFIG_FRAPS_DECODER
  290. #ifdef CONFIG_FAAD
  291. #ifdef CONFIG_AAC_DECODER
  292. register_avcodec(&aac_decoder);
  293. #endif //CONFIG_AAC_DECODER
  294. #ifdef CONFIG_MPEG4AAC_DECODER
  295. register_avcodec(&mpeg4aac_decoder);
  296. #endif //CONFIG_MPEG4AAC_DECODER
  297. #endif
  298. #ifdef CONFIG_MPEG1VIDEO_DECODER
  299. register_avcodec(&mpeg1video_decoder);
  300. #endif //CONFIG_MPEG1VIDEO_DECODER
  301. #ifdef CONFIG_MPEG2VIDEO_DECODER
  302. register_avcodec(&mpeg2video_decoder);
  303. #endif //CONFIG_MPEG2VIDEO_DECODER
  304. #ifdef CONFIG_MPEGVIDEO_DECODER
  305. register_avcodec(&mpegvideo_decoder);
  306. #endif //CONFIG_MPEGVIDEO_DECODER
  307. #ifdef HAVE_XVMC
  308. #ifdef CONFIG_MPEG_XVMC_DECODER
  309. register_avcodec(&mpeg_xvmc_decoder);
  310. #endif //CONFIG_MPEG_XVMC_DECODER
  311. #endif
  312. #ifdef CONFIG_DVVIDEO_DECODER
  313. register_avcodec(&dvvideo_decoder);
  314. #endif //CONFIG_DVVIDEO_DECODER
  315. #ifdef CONFIG_MJPEG_DECODER
  316. register_avcodec(&mjpeg_decoder);
  317. #endif //CONFIG_MJPEG_DECODER
  318. #ifdef CONFIG_MJPEGB_DECODER
  319. register_avcodec(&mjpegb_decoder);
  320. #endif //CONFIG_MJPEGB_DECODER
  321. #ifdef CONFIG_SP5X_DECODER
  322. register_avcodec(&sp5x_decoder);
  323. #endif //CONFIG_SP5X_DECODER
  324. #ifdef CONFIG_ZLIB
  325. #ifdef CONFIG_PNG_DECODER
  326. register_avcodec(&png_decoder);
  327. #endif //CONFIG_PNG_DECODER
  328. #endif
  329. #ifdef CONFIG_MP2_DECODER
  330. register_avcodec(&mp2_decoder);
  331. #endif //CONFIG_MP2_DECODER
  332. #ifdef CONFIG_MP3_DECODER
  333. register_avcodec(&mp3_decoder);
  334. #endif //CONFIG_MP3_DECODER
  335. #ifdef CONFIG_MP3ADU_DECODER
  336. register_avcodec(&mp3adu_decoder);
  337. #endif //CONFIG_MP3ADU_DECODER
  338. #ifdef CONFIG_MP3ON4_DECODER
  339. register_avcodec(&mp3on4_decoder);
  340. #endif //CONFIG_MP3ON4_DECODER
  341. #ifdef CONFIG_MACE3_DECODER
  342. register_avcodec(&mace3_decoder);
  343. #endif //CONFIG_MACE3_DECODER
  344. #ifdef CONFIG_MACE6_DECODER
  345. register_avcodec(&mace6_decoder);
  346. #endif //CONFIG_MACE6_DECODER
  347. #ifdef CONFIG_HUFFYUV_DECODER
  348. register_avcodec(&huffyuv_decoder);
  349. #endif //CONFIG_HUFFYUV_DECODER
  350. #ifdef CONFIG_FFVHUFF_DECODER
  351. register_avcodec(&ffvhuff_decoder);
  352. #endif //CONFIG_FFVHUFF_DECODER
  353. #ifdef CONFIG_FFV1_DECODER
  354. register_avcodec(&ffv1_decoder);
  355. #endif //CONFIG_FFV1_DECODER
  356. #ifdef CONFIG_SNOW_DECODER
  357. register_avcodec(&snow_decoder);
  358. #endif //CONFIG_SNOW_DECODER
  359. #ifdef CONFIG_CYUV_DECODER
  360. register_avcodec(&cyuv_decoder);
  361. #endif //CONFIG_CYUV_DECODER
  362. #ifdef CONFIG_H264_DECODER
  363. register_avcodec(&h264_decoder);
  364. #endif //CONFIG_H264_DECODER
  365. #ifdef CONFIG_VP3_DECODER
  366. register_avcodec(&vp3_decoder);
  367. #endif //CONFIG_VP3_DECODER
  368. #if (defined CONFIG_THEORA_DECODER && !defined CONFIG_LIBTHEORA)
  369. register_avcodec(&theora_decoder);
  370. #endif //CONFIG_THEORA_DECODER
  371. #ifdef CONFIG_ASV1_DECODER
  372. register_avcodec(&asv1_decoder);
  373. #endif //CONFIG_ASV1_DECODER
  374. #ifdef CONFIG_ASV2_DECODER
  375. register_avcodec(&asv2_decoder);
  376. #endif //CONFIG_ASV2_DECODER
  377. #ifdef CONFIG_VCR1_DECODER
  378. register_avcodec(&vcr1_decoder);
  379. #endif //CONFIG_VCR1_DECODER
  380. #ifdef CONFIG_CLJR_DECODER
  381. register_avcodec(&cljr_decoder);
  382. #endif //CONFIG_CLJR_DECODER
  383. #ifdef CONFIG_FOURXM_DECODER
  384. register_avcodec(&fourxm_decoder);
  385. #endif //CONFIG_FOURXM_DECODER
  386. #ifdef CONFIG_MDEC_DECODER
  387. register_avcodec(&mdec_decoder);
  388. #endif //CONFIG_MDEC_DECODER
  389. #ifdef CONFIG_ROQ_DECODER
  390. register_avcodec(&roq_decoder);
  391. #endif //CONFIG_ROQ_DECODER
  392. #ifdef CONFIG_INTERPLAY_VIDEO_DECODER
  393. register_avcodec(&interplay_video_decoder);
  394. #endif //CONFIG_INTERPLAY_VIDEO_DECODER
  395. #ifdef CONFIG_XAN_WC3_DECODER
  396. register_avcodec(&xan_wc3_decoder);
  397. #endif //CONFIG_XAN_WC3_DECODER
  398. #ifdef CONFIG_RPZA_DECODER
  399. register_avcodec(&rpza_decoder);
  400. #endif //CONFIG_RPZA_DECODER
  401. #ifdef CONFIG_CINEPAK_DECODER
  402. register_avcodec(&cinepak_decoder);
  403. #endif //CONFIG_CINEPAK_DECODER
  404. #ifdef CONFIG_MSRLE_DECODER
  405. register_avcodec(&msrle_decoder);
  406. #endif //CONFIG_MSRLE_DECODER
  407. #ifdef CONFIG_MSVIDEO1_DECODER
  408. register_avcodec(&msvideo1_decoder);
  409. #endif //CONFIG_MSVIDEO1_DECODER
  410. #ifdef CONFIG_VQA_DECODER
  411. register_avcodec(&vqa_decoder);
  412. #endif //CONFIG_VQA_DECODER
  413. #ifdef CONFIG_IDCIN_DECODER
  414. register_avcodec(&idcin_decoder);
  415. #endif //CONFIG_IDCIN_DECODER
  416. #ifdef CONFIG_EIGHTBPS_DECODER
  417. register_avcodec(&eightbps_decoder);
  418. #endif //CONFIG_EIGHTBPS_DECODER
  419. #ifdef CONFIG_SMC_DECODER
  420. register_avcodec(&smc_decoder);
  421. #endif //CONFIG_SMC_DECODER
  422. #ifdef CONFIG_FLIC_DECODER
  423. register_avcodec(&flic_decoder);
  424. #endif //CONFIG_FLIC_DECODER
  425. #ifdef CONFIG_TRUEMOTION1_DECODER
  426. register_avcodec(&truemotion1_decoder);
  427. #endif //CONFIG_TRUEMOTION1_DECODER
  428. #ifdef CONFIG_TRUEMOTION2_DECODER
  429. register_avcodec(&truemotion2_decoder);
  430. #endif //CONFIG_TRUEMOTION2_DECODER
  431. #ifdef CONFIG_VMDVIDEO_DECODER
  432. register_avcodec(&vmdvideo_decoder);
  433. #endif //CONFIG_VMDVIDEO_DECODER
  434. #ifdef CONFIG_VMDAUDIO_DECODER
  435. register_avcodec(&vmdaudio_decoder);
  436. #endif //CONFIG_VMDAUDIO_DECODER
  437. #ifdef CONFIG_MSZH_DECODER
  438. register_avcodec(&mszh_decoder);
  439. #endif //CONFIG_MSZH_DECODER
  440. #ifdef CONFIG_ZLIB_DECODER
  441. register_avcodec(&zlib_decoder);
  442. #endif //CONFIG_ZLIB_DECODER
  443. #ifdef CONFIG_ZMBV_DECODER
  444. register_avcodec(&zmbv_decoder);
  445. #endif //CONFIG_ZMBV_DECODER
  446. #ifdef CONFIG_SMACKER_DECODER
  447. register_avcodec(&smacker_decoder);
  448. #endif //CONFIG_SMACKER_DECODER
  449. #ifdef CONFIG_SMACKAUD_DECODER
  450. register_avcodec(&smackaud_decoder);
  451. #endif //CONFIG_SMACKAUD_DECODER
  452. #ifdef CONFIG_SONIC_DECODER
  453. register_avcodec(&sonic_decoder);
  454. #endif //CONFIG_SONIC_DECODER
  455. #ifdef CONFIG_AC3
  456. #ifdef CONFIG_AC3_DECODER
  457. register_avcodec(&ac3_decoder);
  458. #endif //CONFIG_AC3_DECODER
  459. #endif
  460. #ifdef CONFIG_DTS
  461. #ifdef CONFIG_DTS_DECODER
  462. register_avcodec(&dts_decoder);
  463. #endif //CONFIG_DTS_DECODER
  464. #endif
  465. #ifdef CONFIG_RA_144_DECODER
  466. register_avcodec(&ra_144_decoder);
  467. #endif //CONFIG_RA_144_DECODER
  468. #ifdef CONFIG_RA_288_DECODER
  469. register_avcodec(&ra_288_decoder);
  470. #endif //CONFIG_RA_288_DECODER
  471. #ifdef CONFIG_ROQ_DPCM_DECODER
  472. register_avcodec(&roq_dpcm_decoder);
  473. #endif //CONFIG_ROQ_DPCM_DECODER
  474. #ifdef CONFIG_INTERPLAY_DPCM_DECODER
  475. register_avcodec(&interplay_dpcm_decoder);
  476. #endif //CONFIG_INTERPLAY_DPCM_DECODER
  477. #ifdef CONFIG_XAN_DPCM_DECODER
  478. register_avcodec(&xan_dpcm_decoder);
  479. #endif //CONFIG_XAN_DPCM_DECODER
  480. #ifdef CONFIG_SOL_DPCM_DECODER
  481. register_avcodec(&sol_dpcm_decoder);
  482. #endif //CONFIG_SOL_DPCM_DECODER
  483. #ifdef CONFIG_QTRLE_DECODER
  484. register_avcodec(&qtrle_decoder);
  485. #endif //CONFIG_QTRLE_DECODER
  486. #ifdef CONFIG_FLAC_DECODER
  487. register_avcodec(&flac_decoder);
  488. #endif //CONFIG_FLAC_DECODER
  489. #ifdef CONFIG_SHORTEN_DECODER
  490. register_avcodec(&shorten_decoder);
  491. #endif //CONFIG_SHORTEN_DECODER
  492. #ifdef CONFIG_ALAC_DECODER
  493. register_avcodec(&alac_decoder);
  494. #endif //CONFIG_ALAC_DECODER
  495. #ifdef CONFIG_WS_SND1_DECODER
  496. register_avcodec(&ws_snd1_decoder);
  497. #endif //CONFIG_WS_SND1_DECODER
  498. #ifdef CONFIG_VORBIS_DECODER
  499. register_avcodec(&vorbis_decoder);
  500. #endif
  501. #ifdef CONFIG_LIBGSM
  502. register_avcodec(&libgsm_decoder);
  503. #endif //CONFIG_LIBGSM
  504. #ifdef CONFIG_QDM2_DECODER
  505. register_avcodec(&qdm2_decoder);
  506. #endif //CONFIG_QDM2_DECODER
  507. #ifdef CONFIG_COOK_DECODER
  508. register_avcodec(&cook_decoder);
  509. #endif //CONFIG_COOK_DECODER
  510. #ifdef CONFIG_TRUESPEECH_DECODER
  511. register_avcodec(&truespeech_decoder);
  512. #endif //CONFIG_TRUESPEECH_DECODER
  513. #ifdef CONFIG_TTA_DECODER
  514. register_avcodec(&tta_decoder);
  515. #endif //CONFIG_TTA_DECODER
  516. #ifdef CONFIG_AVS_DECODER
  517. register_avcodec(&avs_decoder);
  518. #endif //CONFIG_AVS_DECODER
  519. #ifdef CONFIG_RAWVIDEO_DECODER
  520. register_avcodec(&rawvideo_decoder);
  521. #endif //CONFIG_RAWVIDEO_DECODER
  522. #endif /* CONFIG_DECODERS */
  523. #ifdef AMR_NB
  524. #ifdef CONFIG_AMR_NB_DECODER
  525. register_avcodec(&amr_nb_decoder);
  526. #endif //CONFIG_AMR_NB_DECODER
  527. #ifdef CONFIG_ENCODERS
  528. #ifdef CONFIG_AMR_NB_ENCODER
  529. register_avcodec(&amr_nb_encoder);
  530. #endif //CONFIG_AMR_NB_ENCODER
  531. #endif //CONFIG_ENCODERS
  532. #endif /* AMR_NB */
  533. #ifdef AMR_WB
  534. #ifdef CONFIG_AMR_WB_DECODER
  535. register_avcodec(&amr_wb_decoder);
  536. #endif //CONFIG_AMR_WB_DECODER
  537. #ifdef CONFIG_ENCODERS
  538. #ifdef CONFIG_AMR_WB_ENCODER
  539. register_avcodec(&amr_wb_encoder);
  540. #endif //CONFIG_AMR_WB_ENCODER
  541. #endif //CONFIG_ENCODERS
  542. #endif /* AMR_WB */
  543. #ifdef CONFIG_BMP_DECODER
  544. register_avcodec(&bmp_decoder);
  545. #endif
  546. #if CONFIG_MMVIDEO_DECODER
  547. register_avcodec(&mmvideo_decoder);
  548. #endif //CONFIG_MMVIDEO_DECODER
  549. /* pcm codecs */
  550. #if defined (CONFIG_ENCODERS) && defined (CONFIG_DECODERS)
  551. #define PCM_CODEC(id, name) \
  552. register_avcodec(& name ## _encoder); \
  553. register_avcodec(& name ## _decoder);
  554. #elif defined (CONFIG_ENCODERS)
  555. #define PCM_CODEC(id, name) \
  556. register_avcodec(& name ## _encoder);
  557. #elif defined (CONFIG_DECODERS)
  558. #define PCM_CODEC(id, name) \
  559. register_avcodec(& name ## _decoder);
  560. #endif
  561. PCM_CODEC(CODEC_ID_PCM_S32LE, pcm_s32le);
  562. PCM_CODEC(CODEC_ID_PCM_S32BE, pcm_s32be);
  563. PCM_CODEC(CODEC_ID_PCM_U32LE, pcm_u32le);
  564. PCM_CODEC(CODEC_ID_PCM_U32BE, pcm_u32be);
  565. PCM_CODEC(CODEC_ID_PCM_S24LE, pcm_s24le);
  566. PCM_CODEC(CODEC_ID_PCM_S24BE, pcm_s24be);
  567. PCM_CODEC(CODEC_ID_PCM_U24LE, pcm_u24le);
  568. PCM_CODEC(CODEC_ID_PCM_U24BE, pcm_u24be);
  569. PCM_CODEC(CODEC_ID_PCM_S24DAUD, pcm_s24daud);
  570. PCM_CODEC(CODEC_ID_PCM_S16LE, pcm_s16le);
  571. PCM_CODEC(CODEC_ID_PCM_S16BE, pcm_s16be);
  572. PCM_CODEC(CODEC_ID_PCM_U16LE, pcm_u16le);
  573. PCM_CODEC(CODEC_ID_PCM_U16BE, pcm_u16be);
  574. PCM_CODEC(CODEC_ID_PCM_S8, pcm_s8);
  575. PCM_CODEC(CODEC_ID_PCM_U8, pcm_u8);
  576. PCM_CODEC(CODEC_ID_PCM_ALAW, pcm_alaw);
  577. PCM_CODEC(CODEC_ID_PCM_MULAW, pcm_mulaw);
  578. /* adpcm codecs */
  579. PCM_CODEC(CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt);
  580. PCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav);
  581. PCM_CODEC(CODEC_ID_ADPCM_IMA_DK3, adpcm_ima_dk3);
  582. PCM_CODEC(CODEC_ID_ADPCM_IMA_DK4, adpcm_ima_dk4);
  583. PCM_CODEC(CODEC_ID_ADPCM_IMA_WS, adpcm_ima_ws);
  584. PCM_CODEC(CODEC_ID_ADPCM_IMA_SMJPEG, adpcm_ima_smjpeg);
  585. PCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms);
  586. PCM_CODEC(CODEC_ID_ADPCM_4XM, adpcm_4xm);
  587. PCM_CODEC(CODEC_ID_ADPCM_XA, adpcm_xa);
  588. PCM_CODEC(CODEC_ID_ADPCM_ADX, adpcm_adx);
  589. PCM_CODEC(CODEC_ID_ADPCM_EA, adpcm_ea);
  590. PCM_CODEC(CODEC_ID_ADPCM_G726, adpcm_g726);
  591. PCM_CODEC(CODEC_ID_ADPCM_CT, adpcm_ct);
  592. PCM_CODEC(CODEC_ID_ADPCM_SWF, adpcm_swf);
  593. PCM_CODEC(CODEC_ID_ADPCM_YAMAHA, adpcm_yamaha);
  594. PCM_CODEC(CODEC_ID_ADPCM_SBPRO_4, adpcm_sbpro_4);
  595. PCM_CODEC(CODEC_ID_ADPCM_SBPRO_3, adpcm_sbpro_3);
  596. PCM_CODEC(CODEC_ID_ADPCM_SBPRO_2, adpcm_sbpro_2);
  597. #undef PCM_CODEC
  598. /* subtitles */
  599. #ifdef CONFIG_DVDSUB_DECODER
  600. register_avcodec(&dvdsub_decoder);
  601. #endif
  602. #ifdef CONFIG_DVDSUB_ENCODER
  603. register_avcodec(&dvdsub_encoder);
  604. #endif
  605. #ifdef CONFIG_DVBSUB_DECODER
  606. register_avcodec(&dvbsub_decoder);
  607. #endif
  608. #ifdef CONFIG_DVBSUB_ENCODER
  609. register_avcodec(&dvbsub_encoder);
  610. #endif
  611. /* parsers */
  612. av_register_codec_parser(&mpegvideo_parser);
  613. av_register_codec_parser(&mpeg4video_parser);
  614. #if defined(CONFIG_H261_DECODER) || defined(CONFIG_H261_ENCODER)
  615. av_register_codec_parser(&h261_parser);
  616. #endif
  617. av_register_codec_parser(&h263_parser);
  618. #ifdef CONFIG_H264_DECODER
  619. av_register_codec_parser(&h264_parser);
  620. #endif
  621. av_register_codec_parser(&mjpeg_parser);
  622. av_register_codec_parser(&pnm_parser);
  623. av_register_codec_parser(&mpegaudio_parser);
  624. av_register_codec_parser(&ac3_parser);
  625. #ifdef CONFIG_DVDSUB_DECODER
  626. av_register_codec_parser(&dvdsub_parser);
  627. #endif
  628. #ifdef CONFIG_DVBSUB_DECODER
  629. av_register_codec_parser(&dvbsub_parser);
  630. #endif
  631. av_register_codec_parser(&aac_parser);
  632. }