codec_id.h 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634
  1. /*
  2. * Codec IDs
  3. *
  4. * This file is part of FFmpeg.
  5. *
  6. * FFmpeg is free software; you can redistribute it and/or
  7. * modify it under the terms of the GNU Lesser General Public
  8. * License as published by the Free Software Foundation; either
  9. * version 2.1 of the License, or (at your option) any later version.
  10. *
  11. * FFmpeg is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * Lesser General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU Lesser General Public
  17. * License along with FFmpeg; if not, write to the Free Software
  18. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  19. */
  20. #ifndef AVCODEC_CODEC_ID_H
  21. #define AVCODEC_CODEC_ID_H
  22. #include "libavutil/avutil.h"
  23. #include "libavutil/samplefmt.h"
  24. /**
  25. * @addtogroup lavc_core
  26. * @{
  27. */
  28. /**
  29. * Identify the syntax and semantics of the bitstream.
  30. * The principle is roughly:
  31. * Two decoders with the same ID can decode the same streams.
  32. * Two encoders with the same ID can encode compatible streams.
  33. * There may be slight deviations from the principle due to implementation
  34. * details.
  35. *
  36. * If you add a codec ID to this list, add it so that
  37. * 1. no value of an existing codec ID changes (that would break ABI),
  38. * 2. it is as close as possible to similar codecs
  39. *
  40. * After adding new codec IDs, do not forget to add an entry to the codec
  41. * descriptor list and bump libavcodec minor version.
  42. */
  43. enum AVCodecID {
  44. AV_CODEC_ID_NONE,
  45. /* video codecs */
  46. AV_CODEC_ID_MPEG1VIDEO,
  47. AV_CODEC_ID_MPEG2VIDEO, ///< preferred ID for MPEG-1/2 video decoding
  48. AV_CODEC_ID_H261,
  49. AV_CODEC_ID_H263,
  50. AV_CODEC_ID_RV10,
  51. AV_CODEC_ID_RV20,
  52. AV_CODEC_ID_MJPEG,
  53. AV_CODEC_ID_MJPEGB,
  54. AV_CODEC_ID_LJPEG,
  55. AV_CODEC_ID_SP5X,
  56. AV_CODEC_ID_JPEGLS,
  57. AV_CODEC_ID_MPEG4,
  58. AV_CODEC_ID_RAWVIDEO,
  59. AV_CODEC_ID_MSMPEG4V1,
  60. AV_CODEC_ID_MSMPEG4V2,
  61. AV_CODEC_ID_MSMPEG4V3,
  62. AV_CODEC_ID_WMV1,
  63. AV_CODEC_ID_WMV2,
  64. AV_CODEC_ID_H263P,
  65. AV_CODEC_ID_H263I,
  66. AV_CODEC_ID_FLV1,
  67. AV_CODEC_ID_SVQ1,
  68. AV_CODEC_ID_SVQ3,
  69. AV_CODEC_ID_DVVIDEO,
  70. AV_CODEC_ID_HUFFYUV,
  71. AV_CODEC_ID_CYUV,
  72. AV_CODEC_ID_H264,
  73. AV_CODEC_ID_INDEO3,
  74. AV_CODEC_ID_VP3,
  75. AV_CODEC_ID_THEORA,
  76. AV_CODEC_ID_ASV1,
  77. AV_CODEC_ID_ASV2,
  78. AV_CODEC_ID_FFV1,
  79. AV_CODEC_ID_4XM,
  80. AV_CODEC_ID_VCR1,
  81. AV_CODEC_ID_CLJR,
  82. AV_CODEC_ID_MDEC,
  83. AV_CODEC_ID_ROQ,
  84. AV_CODEC_ID_INTERPLAY_VIDEO,
  85. AV_CODEC_ID_XAN_WC3,
  86. AV_CODEC_ID_XAN_WC4,
  87. AV_CODEC_ID_RPZA,
  88. AV_CODEC_ID_CINEPAK,
  89. AV_CODEC_ID_WS_VQA,
  90. AV_CODEC_ID_MSRLE,
  91. AV_CODEC_ID_MSVIDEO1,
  92. AV_CODEC_ID_IDCIN,
  93. AV_CODEC_ID_8BPS,
  94. AV_CODEC_ID_SMC,
  95. AV_CODEC_ID_FLIC,
  96. AV_CODEC_ID_TRUEMOTION1,
  97. AV_CODEC_ID_VMDVIDEO,
  98. AV_CODEC_ID_MSZH,
  99. AV_CODEC_ID_ZLIB,
  100. AV_CODEC_ID_QTRLE,
  101. AV_CODEC_ID_TSCC,
  102. AV_CODEC_ID_ULTI,
  103. AV_CODEC_ID_QDRAW,
  104. AV_CODEC_ID_VIXL,
  105. AV_CODEC_ID_QPEG,
  106. AV_CODEC_ID_PNG,
  107. AV_CODEC_ID_PPM,
  108. AV_CODEC_ID_PBM,
  109. AV_CODEC_ID_PGM,
  110. AV_CODEC_ID_PGMYUV,
  111. AV_CODEC_ID_PAM,
  112. AV_CODEC_ID_FFVHUFF,
  113. AV_CODEC_ID_RV30,
  114. AV_CODEC_ID_RV40,
  115. AV_CODEC_ID_VC1,
  116. AV_CODEC_ID_WMV3,
  117. AV_CODEC_ID_LOCO,
  118. AV_CODEC_ID_WNV1,
  119. AV_CODEC_ID_AASC,
  120. AV_CODEC_ID_INDEO2,
  121. AV_CODEC_ID_FRAPS,
  122. AV_CODEC_ID_TRUEMOTION2,
  123. AV_CODEC_ID_BMP,
  124. AV_CODEC_ID_CSCD,
  125. AV_CODEC_ID_MMVIDEO,
  126. AV_CODEC_ID_ZMBV,
  127. AV_CODEC_ID_AVS,
  128. AV_CODEC_ID_SMACKVIDEO,
  129. AV_CODEC_ID_NUV,
  130. AV_CODEC_ID_KMVC,
  131. AV_CODEC_ID_FLASHSV,
  132. AV_CODEC_ID_CAVS,
  133. AV_CODEC_ID_JPEG2000,
  134. AV_CODEC_ID_VMNC,
  135. AV_CODEC_ID_VP5,
  136. AV_CODEC_ID_VP6,
  137. AV_CODEC_ID_VP6F,
  138. AV_CODEC_ID_TARGA,
  139. AV_CODEC_ID_DSICINVIDEO,
  140. AV_CODEC_ID_TIERTEXSEQVIDEO,
  141. AV_CODEC_ID_TIFF,
  142. AV_CODEC_ID_GIF,
  143. AV_CODEC_ID_DXA,
  144. AV_CODEC_ID_DNXHD,
  145. AV_CODEC_ID_THP,
  146. AV_CODEC_ID_SGI,
  147. AV_CODEC_ID_C93,
  148. AV_CODEC_ID_BETHSOFTVID,
  149. AV_CODEC_ID_PTX,
  150. AV_CODEC_ID_TXD,
  151. AV_CODEC_ID_VP6A,
  152. AV_CODEC_ID_AMV,
  153. AV_CODEC_ID_VB,
  154. AV_CODEC_ID_PCX,
  155. AV_CODEC_ID_SUNRAST,
  156. AV_CODEC_ID_INDEO4,
  157. AV_CODEC_ID_INDEO5,
  158. AV_CODEC_ID_MIMIC,
  159. AV_CODEC_ID_RL2,
  160. AV_CODEC_ID_ESCAPE124,
  161. AV_CODEC_ID_DIRAC,
  162. AV_CODEC_ID_BFI,
  163. AV_CODEC_ID_CMV,
  164. AV_CODEC_ID_MOTIONPIXELS,
  165. AV_CODEC_ID_TGV,
  166. AV_CODEC_ID_TGQ,
  167. AV_CODEC_ID_TQI,
  168. AV_CODEC_ID_AURA,
  169. AV_CODEC_ID_AURA2,
  170. AV_CODEC_ID_V210X,
  171. AV_CODEC_ID_TMV,
  172. AV_CODEC_ID_V210,
  173. AV_CODEC_ID_DPX,
  174. AV_CODEC_ID_MAD,
  175. AV_CODEC_ID_FRWU,
  176. AV_CODEC_ID_FLASHSV2,
  177. AV_CODEC_ID_CDGRAPHICS,
  178. AV_CODEC_ID_R210,
  179. AV_CODEC_ID_ANM,
  180. AV_CODEC_ID_BINKVIDEO,
  181. AV_CODEC_ID_IFF_ILBM,
  182. #define AV_CODEC_ID_IFF_BYTERUN1 AV_CODEC_ID_IFF_ILBM
  183. AV_CODEC_ID_KGV1,
  184. AV_CODEC_ID_YOP,
  185. AV_CODEC_ID_VP8,
  186. AV_CODEC_ID_PICTOR,
  187. AV_CODEC_ID_ANSI,
  188. AV_CODEC_ID_A64_MULTI,
  189. AV_CODEC_ID_A64_MULTI5,
  190. AV_CODEC_ID_R10K,
  191. AV_CODEC_ID_MXPEG,
  192. AV_CODEC_ID_LAGARITH,
  193. AV_CODEC_ID_PRORES,
  194. AV_CODEC_ID_JV,
  195. AV_CODEC_ID_DFA,
  196. AV_CODEC_ID_WMV3IMAGE,
  197. AV_CODEC_ID_VC1IMAGE,
  198. AV_CODEC_ID_UTVIDEO,
  199. AV_CODEC_ID_BMV_VIDEO,
  200. AV_CODEC_ID_VBLE,
  201. AV_CODEC_ID_DXTORY,
  202. AV_CODEC_ID_V410,
  203. AV_CODEC_ID_XWD,
  204. AV_CODEC_ID_CDXL,
  205. AV_CODEC_ID_XBM,
  206. AV_CODEC_ID_ZEROCODEC,
  207. AV_CODEC_ID_MSS1,
  208. AV_CODEC_ID_MSA1,
  209. AV_CODEC_ID_TSCC2,
  210. AV_CODEC_ID_MTS2,
  211. AV_CODEC_ID_CLLC,
  212. AV_CODEC_ID_MSS2,
  213. AV_CODEC_ID_VP9,
  214. AV_CODEC_ID_AIC,
  215. AV_CODEC_ID_ESCAPE130,
  216. AV_CODEC_ID_G2M,
  217. AV_CODEC_ID_WEBP,
  218. AV_CODEC_ID_HNM4_VIDEO,
  219. AV_CODEC_ID_HEVC,
  220. #define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC
  221. AV_CODEC_ID_FIC,
  222. AV_CODEC_ID_ALIAS_PIX,
  223. AV_CODEC_ID_BRENDER_PIX,
  224. AV_CODEC_ID_PAF_VIDEO,
  225. AV_CODEC_ID_EXR,
  226. AV_CODEC_ID_VP7,
  227. AV_CODEC_ID_SANM,
  228. AV_CODEC_ID_SGIRLE,
  229. AV_CODEC_ID_MVC1,
  230. AV_CODEC_ID_MVC2,
  231. AV_CODEC_ID_HQX,
  232. AV_CODEC_ID_TDSC,
  233. AV_CODEC_ID_HQ_HQA,
  234. AV_CODEC_ID_HAP,
  235. AV_CODEC_ID_DDS,
  236. AV_CODEC_ID_DXV,
  237. AV_CODEC_ID_SCREENPRESSO,
  238. AV_CODEC_ID_RSCC,
  239. AV_CODEC_ID_AVS2,
  240. AV_CODEC_ID_PGX,
  241. AV_CODEC_ID_AVS3,
  242. AV_CODEC_ID_MSP2,
  243. AV_CODEC_ID_VVC,
  244. #define AV_CODEC_ID_H266 AV_CODEC_ID_VVC
  245. AV_CODEC_ID_Y41P,
  246. AV_CODEC_ID_AVRP,
  247. AV_CODEC_ID_012V,
  248. AV_CODEC_ID_AVUI,
  249. AV_CODEC_ID_AYUV,
  250. AV_CODEC_ID_TARGA_Y216,
  251. AV_CODEC_ID_V308,
  252. AV_CODEC_ID_V408,
  253. AV_CODEC_ID_YUV4,
  254. AV_CODEC_ID_AVRN,
  255. AV_CODEC_ID_CPIA,
  256. AV_CODEC_ID_XFACE,
  257. AV_CODEC_ID_SNOW,
  258. AV_CODEC_ID_SMVJPEG,
  259. AV_CODEC_ID_APNG,
  260. AV_CODEC_ID_DAALA,
  261. AV_CODEC_ID_CFHD,
  262. AV_CODEC_ID_TRUEMOTION2RT,
  263. AV_CODEC_ID_M101,
  264. AV_CODEC_ID_MAGICYUV,
  265. AV_CODEC_ID_SHEERVIDEO,
  266. AV_CODEC_ID_YLC,
  267. AV_CODEC_ID_PSD,
  268. AV_CODEC_ID_PIXLET,
  269. AV_CODEC_ID_SPEEDHQ,
  270. AV_CODEC_ID_FMVC,
  271. AV_CODEC_ID_SCPR,
  272. AV_CODEC_ID_CLEARVIDEO,
  273. AV_CODEC_ID_XPM,
  274. AV_CODEC_ID_AV1,
  275. AV_CODEC_ID_BITPACKED,
  276. AV_CODEC_ID_MSCC,
  277. AV_CODEC_ID_SRGC,
  278. AV_CODEC_ID_SVG,
  279. AV_CODEC_ID_GDV,
  280. AV_CODEC_ID_FITS,
  281. AV_CODEC_ID_IMM4,
  282. AV_CODEC_ID_PROSUMER,
  283. AV_CODEC_ID_MWSC,
  284. AV_CODEC_ID_WCMV,
  285. AV_CODEC_ID_RASC,
  286. AV_CODEC_ID_HYMT,
  287. AV_CODEC_ID_ARBC,
  288. AV_CODEC_ID_AGM,
  289. AV_CODEC_ID_LSCR,
  290. AV_CODEC_ID_VP4,
  291. AV_CODEC_ID_IMM5,
  292. AV_CODEC_ID_MVDV,
  293. AV_CODEC_ID_MVHA,
  294. AV_CODEC_ID_CDTOONS,
  295. AV_CODEC_ID_MV30,
  296. AV_CODEC_ID_NOTCHLC,
  297. AV_CODEC_ID_PFM,
  298. AV_CODEC_ID_MOBICLIP,
  299. AV_CODEC_ID_PHOTOCD,
  300. AV_CODEC_ID_IPU,
  301. AV_CODEC_ID_ARGO,
  302. AV_CODEC_ID_CRI,
  303. AV_CODEC_ID_SIMBIOSIS_IMX,
  304. AV_CODEC_ID_SGA_VIDEO,
  305. AV_CODEC_ID_GEM,
  306. AV_CODEC_ID_VBN,
  307. AV_CODEC_ID_JPEGXL,
  308. AV_CODEC_ID_QOI,
  309. AV_CODEC_ID_PHM,
  310. /* various PCM "codecs" */
  311. AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs
  312. AV_CODEC_ID_PCM_S16LE = 0x10000,
  313. AV_CODEC_ID_PCM_S16BE,
  314. AV_CODEC_ID_PCM_U16LE,
  315. AV_CODEC_ID_PCM_U16BE,
  316. AV_CODEC_ID_PCM_S8,
  317. AV_CODEC_ID_PCM_U8,
  318. AV_CODEC_ID_PCM_MULAW,
  319. AV_CODEC_ID_PCM_ALAW,
  320. AV_CODEC_ID_PCM_S32LE,
  321. AV_CODEC_ID_PCM_S32BE,
  322. AV_CODEC_ID_PCM_U32LE,
  323. AV_CODEC_ID_PCM_U32BE,
  324. AV_CODEC_ID_PCM_S24LE,
  325. AV_CODEC_ID_PCM_S24BE,
  326. AV_CODEC_ID_PCM_U24LE,
  327. AV_CODEC_ID_PCM_U24BE,
  328. AV_CODEC_ID_PCM_S24DAUD,
  329. AV_CODEC_ID_PCM_ZORK,
  330. AV_CODEC_ID_PCM_S16LE_PLANAR,
  331. AV_CODEC_ID_PCM_DVD,
  332. AV_CODEC_ID_PCM_F32BE,
  333. AV_CODEC_ID_PCM_F32LE,
  334. AV_CODEC_ID_PCM_F64BE,
  335. AV_CODEC_ID_PCM_F64LE,
  336. AV_CODEC_ID_PCM_BLURAY,
  337. AV_CODEC_ID_PCM_LXF,
  338. AV_CODEC_ID_S302M,
  339. AV_CODEC_ID_PCM_S8_PLANAR,
  340. AV_CODEC_ID_PCM_S24LE_PLANAR,
  341. AV_CODEC_ID_PCM_S32LE_PLANAR,
  342. AV_CODEC_ID_PCM_S16BE_PLANAR,
  343. AV_CODEC_ID_PCM_S64LE,
  344. AV_CODEC_ID_PCM_S64BE,
  345. AV_CODEC_ID_PCM_F16LE,
  346. AV_CODEC_ID_PCM_F24LE,
  347. AV_CODEC_ID_PCM_VIDC,
  348. AV_CODEC_ID_PCM_SGA,
  349. /* various ADPCM codecs */
  350. AV_CODEC_ID_ADPCM_IMA_QT = 0x11000,
  351. AV_CODEC_ID_ADPCM_IMA_WAV,
  352. AV_CODEC_ID_ADPCM_IMA_DK3,
  353. AV_CODEC_ID_ADPCM_IMA_DK4,
  354. AV_CODEC_ID_ADPCM_IMA_WS,
  355. AV_CODEC_ID_ADPCM_IMA_SMJPEG,
  356. AV_CODEC_ID_ADPCM_MS,
  357. AV_CODEC_ID_ADPCM_4XM,
  358. AV_CODEC_ID_ADPCM_XA,
  359. AV_CODEC_ID_ADPCM_ADX,
  360. AV_CODEC_ID_ADPCM_EA,
  361. AV_CODEC_ID_ADPCM_G726,
  362. AV_CODEC_ID_ADPCM_CT,
  363. AV_CODEC_ID_ADPCM_SWF,
  364. AV_CODEC_ID_ADPCM_YAMAHA,
  365. AV_CODEC_ID_ADPCM_SBPRO_4,
  366. AV_CODEC_ID_ADPCM_SBPRO_3,
  367. AV_CODEC_ID_ADPCM_SBPRO_2,
  368. AV_CODEC_ID_ADPCM_THP,
  369. AV_CODEC_ID_ADPCM_IMA_AMV,
  370. AV_CODEC_ID_ADPCM_EA_R1,
  371. AV_CODEC_ID_ADPCM_EA_R3,
  372. AV_CODEC_ID_ADPCM_EA_R2,
  373. AV_CODEC_ID_ADPCM_IMA_EA_SEAD,
  374. AV_CODEC_ID_ADPCM_IMA_EA_EACS,
  375. AV_CODEC_ID_ADPCM_EA_XAS,
  376. AV_CODEC_ID_ADPCM_EA_MAXIS_XA,
  377. AV_CODEC_ID_ADPCM_IMA_ISS,
  378. AV_CODEC_ID_ADPCM_G722,
  379. AV_CODEC_ID_ADPCM_IMA_APC,
  380. AV_CODEC_ID_ADPCM_VIMA,
  381. AV_CODEC_ID_ADPCM_AFC,
  382. AV_CODEC_ID_ADPCM_IMA_OKI,
  383. AV_CODEC_ID_ADPCM_DTK,
  384. AV_CODEC_ID_ADPCM_IMA_RAD,
  385. AV_CODEC_ID_ADPCM_G726LE,
  386. AV_CODEC_ID_ADPCM_THP_LE,
  387. AV_CODEC_ID_ADPCM_PSX,
  388. AV_CODEC_ID_ADPCM_AICA,
  389. AV_CODEC_ID_ADPCM_IMA_DAT4,
  390. AV_CODEC_ID_ADPCM_MTAF,
  391. AV_CODEC_ID_ADPCM_AGM,
  392. AV_CODEC_ID_ADPCM_ARGO,
  393. AV_CODEC_ID_ADPCM_IMA_SSI,
  394. AV_CODEC_ID_ADPCM_ZORK,
  395. AV_CODEC_ID_ADPCM_IMA_APM,
  396. AV_CODEC_ID_ADPCM_IMA_ALP,
  397. AV_CODEC_ID_ADPCM_IMA_MTF,
  398. AV_CODEC_ID_ADPCM_IMA_CUNNING,
  399. AV_CODEC_ID_ADPCM_IMA_MOFLEX,
  400. AV_CODEC_ID_ADPCM_IMA_ACORN,
  401. /* AMR */
  402. AV_CODEC_ID_AMR_NB = 0x12000,
  403. AV_CODEC_ID_AMR_WB,
  404. /* RealAudio codecs*/
  405. AV_CODEC_ID_RA_144 = 0x13000,
  406. AV_CODEC_ID_RA_288,
  407. /* various DPCM codecs */
  408. AV_CODEC_ID_ROQ_DPCM = 0x14000,
  409. AV_CODEC_ID_INTERPLAY_DPCM,
  410. AV_CODEC_ID_XAN_DPCM,
  411. AV_CODEC_ID_SOL_DPCM,
  412. AV_CODEC_ID_SDX2_DPCM,
  413. AV_CODEC_ID_GREMLIN_DPCM,
  414. AV_CODEC_ID_DERF_DPCM,
  415. /* audio codecs */
  416. AV_CODEC_ID_MP2 = 0x15000,
  417. AV_CODEC_ID_MP3, ///< preferred ID for decoding MPEG audio layer 1, 2 or 3
  418. AV_CODEC_ID_AAC,
  419. AV_CODEC_ID_AC3,
  420. AV_CODEC_ID_DTS,
  421. AV_CODEC_ID_VORBIS,
  422. AV_CODEC_ID_DVAUDIO,
  423. AV_CODEC_ID_WMAV1,
  424. AV_CODEC_ID_WMAV2,
  425. AV_CODEC_ID_MACE3,
  426. AV_CODEC_ID_MACE6,
  427. AV_CODEC_ID_VMDAUDIO,
  428. AV_CODEC_ID_FLAC,
  429. AV_CODEC_ID_MP3ADU,
  430. AV_CODEC_ID_MP3ON4,
  431. AV_CODEC_ID_SHORTEN,
  432. AV_CODEC_ID_ALAC,
  433. AV_CODEC_ID_WESTWOOD_SND1,
  434. AV_CODEC_ID_GSM, ///< as in Berlin toast format
  435. AV_CODEC_ID_QDM2,
  436. AV_CODEC_ID_COOK,
  437. AV_CODEC_ID_TRUESPEECH,
  438. AV_CODEC_ID_TTA,
  439. AV_CODEC_ID_SMACKAUDIO,
  440. AV_CODEC_ID_QCELP,
  441. AV_CODEC_ID_WAVPACK,
  442. AV_CODEC_ID_DSICINAUDIO,
  443. AV_CODEC_ID_IMC,
  444. AV_CODEC_ID_MUSEPACK7,
  445. AV_CODEC_ID_MLP,
  446. AV_CODEC_ID_GSM_MS, /* as found in WAV */
  447. AV_CODEC_ID_ATRAC3,
  448. AV_CODEC_ID_APE,
  449. AV_CODEC_ID_NELLYMOSER,
  450. AV_CODEC_ID_MUSEPACK8,
  451. AV_CODEC_ID_SPEEX,
  452. AV_CODEC_ID_WMAVOICE,
  453. AV_CODEC_ID_WMAPRO,
  454. AV_CODEC_ID_WMALOSSLESS,
  455. AV_CODEC_ID_ATRAC3P,
  456. AV_CODEC_ID_EAC3,
  457. AV_CODEC_ID_SIPR,
  458. AV_CODEC_ID_MP1,
  459. AV_CODEC_ID_TWINVQ,
  460. AV_CODEC_ID_TRUEHD,
  461. AV_CODEC_ID_MP4ALS,
  462. AV_CODEC_ID_ATRAC1,
  463. AV_CODEC_ID_BINKAUDIO_RDFT,
  464. AV_CODEC_ID_BINKAUDIO_DCT,
  465. AV_CODEC_ID_AAC_LATM,
  466. AV_CODEC_ID_QDMC,
  467. AV_CODEC_ID_CELT,
  468. AV_CODEC_ID_G723_1,
  469. AV_CODEC_ID_G729,
  470. AV_CODEC_ID_8SVX_EXP,
  471. AV_CODEC_ID_8SVX_FIB,
  472. AV_CODEC_ID_BMV_AUDIO,
  473. AV_CODEC_ID_RALF,
  474. AV_CODEC_ID_IAC,
  475. AV_CODEC_ID_ILBC,
  476. AV_CODEC_ID_OPUS,
  477. AV_CODEC_ID_COMFORT_NOISE,
  478. AV_CODEC_ID_TAK,
  479. AV_CODEC_ID_METASOUND,
  480. AV_CODEC_ID_PAF_AUDIO,
  481. AV_CODEC_ID_ON2AVC,
  482. AV_CODEC_ID_DSS_SP,
  483. AV_CODEC_ID_CODEC2,
  484. AV_CODEC_ID_FFWAVESYNTH,
  485. AV_CODEC_ID_SONIC,
  486. AV_CODEC_ID_SONIC_LS,
  487. AV_CODEC_ID_EVRC,
  488. AV_CODEC_ID_SMV,
  489. AV_CODEC_ID_DSD_LSBF,
  490. AV_CODEC_ID_DSD_MSBF,
  491. AV_CODEC_ID_DSD_LSBF_PLANAR,
  492. AV_CODEC_ID_DSD_MSBF_PLANAR,
  493. AV_CODEC_ID_4GV,
  494. AV_CODEC_ID_INTERPLAY_ACM,
  495. AV_CODEC_ID_XMA1,
  496. AV_CODEC_ID_XMA2,
  497. AV_CODEC_ID_DST,
  498. AV_CODEC_ID_ATRAC3AL,
  499. AV_CODEC_ID_ATRAC3PAL,
  500. AV_CODEC_ID_DOLBY_E,
  501. AV_CODEC_ID_APTX,
  502. AV_CODEC_ID_APTX_HD,
  503. AV_CODEC_ID_SBC,
  504. AV_CODEC_ID_ATRAC9,
  505. AV_CODEC_ID_HCOM,
  506. AV_CODEC_ID_ACELP_KELVIN,
  507. AV_CODEC_ID_MPEGH_3D_AUDIO,
  508. AV_CODEC_ID_SIREN,
  509. AV_CODEC_ID_HCA,
  510. AV_CODEC_ID_FASTAUDIO,
  511. AV_CODEC_ID_MSNSIREN,
  512. AV_CODEC_ID_DFPWM,
  513. /* subtitle codecs */
  514. AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs.
  515. AV_CODEC_ID_DVD_SUBTITLE = 0x17000,
  516. AV_CODEC_ID_DVB_SUBTITLE,
  517. AV_CODEC_ID_TEXT, ///< raw UTF-8 text
  518. AV_CODEC_ID_XSUB,
  519. AV_CODEC_ID_SSA,
  520. AV_CODEC_ID_MOV_TEXT,
  521. AV_CODEC_ID_HDMV_PGS_SUBTITLE,
  522. AV_CODEC_ID_DVB_TELETEXT,
  523. AV_CODEC_ID_SRT,
  524. AV_CODEC_ID_MICRODVD,
  525. AV_CODEC_ID_EIA_608,
  526. AV_CODEC_ID_JACOSUB,
  527. AV_CODEC_ID_SAMI,
  528. AV_CODEC_ID_REALTEXT,
  529. AV_CODEC_ID_STL,
  530. AV_CODEC_ID_SUBVIEWER1,
  531. AV_CODEC_ID_SUBVIEWER,
  532. AV_CODEC_ID_SUBRIP,
  533. AV_CODEC_ID_WEBVTT,
  534. AV_CODEC_ID_MPL2,
  535. AV_CODEC_ID_VPLAYER,
  536. AV_CODEC_ID_PJS,
  537. AV_CODEC_ID_ASS,
  538. AV_CODEC_ID_HDMV_TEXT_SUBTITLE,
  539. AV_CODEC_ID_TTML,
  540. AV_CODEC_ID_ARIB_CAPTION,
  541. /* other specific kind of codecs (generally used for attachments) */
  542. AV_CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs.
  543. AV_CODEC_ID_TTF = 0x18000,
  544. AV_CODEC_ID_SCTE_35, ///< Contain timestamp estimated through PCR of program stream.
  545. AV_CODEC_ID_EPG,
  546. AV_CODEC_ID_BINTEXT,
  547. AV_CODEC_ID_XBIN,
  548. AV_CODEC_ID_IDF,
  549. AV_CODEC_ID_OTF,
  550. AV_CODEC_ID_SMPTE_KLV,
  551. AV_CODEC_ID_DVD_NAV,
  552. AV_CODEC_ID_TIMED_ID3,
  553. AV_CODEC_ID_BIN_DATA,
  554. AV_CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it
  555. AV_CODEC_ID_MPEG2TS = 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS
  556. * stream (only used by libavformat) */
  557. AV_CODEC_ID_MPEG4SYSTEMS = 0x20001, /**< _FAKE_ codec to indicate a MPEG-4 Systems
  558. * stream (only used by libavformat) */
  559. AV_CODEC_ID_FFMETADATA = 0x21000, ///< Dummy codec for streams containing only metadata information.
  560. AV_CODEC_ID_WRAPPED_AVFRAME = 0x21001, ///< Passthrough codec, AVFrames wrapped in AVPacket
  561. };
  562. /**
  563. * Get the type of the given codec.
  564. */
  565. enum AVMediaType avcodec_get_type(enum AVCodecID codec_id);
  566. /**
  567. * Get the name of a codec.
  568. * @return a static string identifying the codec; never NULL
  569. */
  570. const char *avcodec_get_name(enum AVCodecID id);
  571. /**
  572. * Return codec bits per sample.
  573. *
  574. * @param[in] codec_id the codec
  575. * @return Number of bits per sample or zero if unknown for the given codec.
  576. */
  577. int av_get_bits_per_sample(enum AVCodecID codec_id);
  578. /**
  579. * Return codec bits per sample.
  580. * Only return non-zero if the bits per sample is exactly correct, not an
  581. * approximation.
  582. *
  583. * @param[in] codec_id the codec
  584. * @return Number of bits per sample or zero if unknown for the given codec.
  585. */
  586. int av_get_exact_bits_per_sample(enum AVCodecID codec_id);
  587. /**
  588. * Return a name for the specified profile, if available.
  589. *
  590. * @param codec_id the ID of the codec to which the requested profile belongs
  591. * @param profile the profile value for which a name is requested
  592. * @return A name for the profile if found, NULL otherwise.
  593. *
  594. * @note unlike av_get_profile_name(), which searches a list of profiles
  595. * supported by a specific decoder or encoder implementation, this
  596. * function searches the list of profiles from the AVCodecDescriptor
  597. */
  598. const char *avcodec_profile_name(enum AVCodecID codec_id, int profile);
  599. /**
  600. * Return the PCM codec associated with a sample format.
  601. * @param be endianness, 0 for little, 1 for big,
  602. * -1 (or anything else) for native
  603. * @return AV_CODEC_ID_PCM_* or AV_CODEC_ID_NONE
  604. */
  605. enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be);
  606. /**
  607. * @}
  608. */
  609. #endif // AVCODEC_CODEC_ID_H