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