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 312 /* various PCM "codecs" */ 313 AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs 314 AV_CODEC_ID_PCM_S16LE = 0x10000, 315 AV_CODEC_ID_PCM_S16BE, 316 AV_CODEC_ID_PCM_U16LE, 317 AV_CODEC_ID_PCM_U16BE, 318 AV_CODEC_ID_PCM_S8, 319 AV_CODEC_ID_PCM_U8, 320 AV_CODEC_ID_PCM_MULAW, 321 AV_CODEC_ID_PCM_ALAW, 322 AV_CODEC_ID_PCM_S32LE, 323 AV_CODEC_ID_PCM_S32BE, 324 AV_CODEC_ID_PCM_U32LE, 325 AV_CODEC_ID_PCM_U32BE, 326 AV_CODEC_ID_PCM_S24LE, 327 AV_CODEC_ID_PCM_S24BE, 328 AV_CODEC_ID_PCM_U24LE, 329 AV_CODEC_ID_PCM_U24BE, 330 AV_CODEC_ID_PCM_S24DAUD, 331 AV_CODEC_ID_PCM_ZORK, 332 AV_CODEC_ID_PCM_S16LE_PLANAR, 333 AV_CODEC_ID_PCM_DVD, 334 AV_CODEC_ID_PCM_F32BE, 335 AV_CODEC_ID_PCM_F32LE, 336 AV_CODEC_ID_PCM_F64BE, 337 AV_CODEC_ID_PCM_F64LE, 338 AV_CODEC_ID_PCM_BLURAY, 339 AV_CODEC_ID_PCM_LXF, 340 AV_CODEC_ID_S302M, 341 AV_CODEC_ID_PCM_S8_PLANAR, 342 AV_CODEC_ID_PCM_S24LE_PLANAR, 343 AV_CODEC_ID_PCM_S32LE_PLANAR, 344 AV_CODEC_ID_PCM_S16BE_PLANAR, 345 AV_CODEC_ID_PCM_S64LE, 346 AV_CODEC_ID_PCM_S64BE, 347 AV_CODEC_ID_PCM_F16LE, 348 AV_CODEC_ID_PCM_F24LE, 349 AV_CODEC_ID_PCM_VIDC, 350 AV_CODEC_ID_PCM_SGA, 351 352 /* various ADPCM codecs */ 353 AV_CODEC_ID_ADPCM_IMA_QT = 0x11000, 354 AV_CODEC_ID_ADPCM_IMA_WAV, 355 AV_CODEC_ID_ADPCM_IMA_DK3, 356 AV_CODEC_ID_ADPCM_IMA_DK4, 357 AV_CODEC_ID_ADPCM_IMA_WS, 358 AV_CODEC_ID_ADPCM_IMA_SMJPEG, 359 AV_CODEC_ID_ADPCM_MS, 360 AV_CODEC_ID_ADPCM_4XM, 361 AV_CODEC_ID_ADPCM_XA, 362 AV_CODEC_ID_ADPCM_ADX, 363 AV_CODEC_ID_ADPCM_EA, 364 AV_CODEC_ID_ADPCM_G726, 365 AV_CODEC_ID_ADPCM_CT, 366 AV_CODEC_ID_ADPCM_SWF, 367 AV_CODEC_ID_ADPCM_YAMAHA, 368 AV_CODEC_ID_ADPCM_SBPRO_4, 369 AV_CODEC_ID_ADPCM_SBPRO_3, 370 AV_CODEC_ID_ADPCM_SBPRO_2, 371 AV_CODEC_ID_ADPCM_THP, 372 AV_CODEC_ID_ADPCM_IMA_AMV, 373 AV_CODEC_ID_ADPCM_EA_R1, 374 AV_CODEC_ID_ADPCM_EA_R3, 375 AV_CODEC_ID_ADPCM_EA_R2, 376 AV_CODEC_ID_ADPCM_IMA_EA_SEAD, 377 AV_CODEC_ID_ADPCM_IMA_EA_EACS, 378 AV_CODEC_ID_ADPCM_EA_XAS, 379 AV_CODEC_ID_ADPCM_EA_MAXIS_XA, 380 AV_CODEC_ID_ADPCM_IMA_ISS, 381 AV_CODEC_ID_ADPCM_G722, 382 AV_CODEC_ID_ADPCM_IMA_APC, 383 AV_CODEC_ID_ADPCM_VIMA, 384 AV_CODEC_ID_ADPCM_AFC, 385 AV_CODEC_ID_ADPCM_IMA_OKI, 386 AV_CODEC_ID_ADPCM_DTK, 387 AV_CODEC_ID_ADPCM_IMA_RAD, 388 AV_CODEC_ID_ADPCM_G726LE, 389 AV_CODEC_ID_ADPCM_THP_LE, 390 AV_CODEC_ID_ADPCM_PSX, 391 AV_CODEC_ID_ADPCM_AICA, 392 AV_CODEC_ID_ADPCM_IMA_DAT4, 393 AV_CODEC_ID_ADPCM_MTAF, 394 AV_CODEC_ID_ADPCM_AGM, 395 AV_CODEC_ID_ADPCM_ARGO, 396 AV_CODEC_ID_ADPCM_IMA_SSI, 397 AV_CODEC_ID_ADPCM_ZORK, 398 AV_CODEC_ID_ADPCM_IMA_APM, 399 AV_CODEC_ID_ADPCM_IMA_ALP, 400 AV_CODEC_ID_ADPCM_IMA_MTF, 401 AV_CODEC_ID_ADPCM_IMA_CUNNING, 402 AV_CODEC_ID_ADPCM_IMA_MOFLEX, 403 AV_CODEC_ID_ADPCM_IMA_ACORN, 404 405 /* AMR */ 406 AV_CODEC_ID_AMR_NB = 0x12000, 407 AV_CODEC_ID_AMR_WB, 408 409 /* RealAudio codecs*/ 410 AV_CODEC_ID_RA_144 = 0x13000, 411 AV_CODEC_ID_RA_288, 412 413 /* various DPCM codecs */ 414 AV_CODEC_ID_ROQ_DPCM = 0x14000, 415 AV_CODEC_ID_INTERPLAY_DPCM, 416 AV_CODEC_ID_XAN_DPCM, 417 AV_CODEC_ID_SOL_DPCM, 418 AV_CODEC_ID_SDX2_DPCM, 419 AV_CODEC_ID_GREMLIN_DPCM, 420 AV_CODEC_ID_DERF_DPCM, 421 422 /* audio codecs */ 423 AV_CODEC_ID_MP2 = 0x15000, 424 AV_CODEC_ID_MP3, ///< preferred ID for decoding MPEG audio layer 1, 2 or 3 425 AV_CODEC_ID_AAC, 426 AV_CODEC_ID_AC3, 427 AV_CODEC_ID_DTS, 428 AV_CODEC_ID_VORBIS, 429 AV_CODEC_ID_DVAUDIO, 430 AV_CODEC_ID_WMAV1, 431 AV_CODEC_ID_WMAV2, 432 AV_CODEC_ID_MACE3, 433 AV_CODEC_ID_MACE6, 434 AV_CODEC_ID_VMDAUDIO, 435 AV_CODEC_ID_FLAC, 436 AV_CODEC_ID_MP3ADU, 437 AV_CODEC_ID_MP3ON4, 438 AV_CODEC_ID_SHORTEN, 439 AV_CODEC_ID_ALAC, 440 AV_CODEC_ID_WESTWOOD_SND1, 441 AV_CODEC_ID_GSM, ///< as in Berlin toast format 442 AV_CODEC_ID_QDM2, 443 AV_CODEC_ID_COOK, 444 AV_CODEC_ID_TRUESPEECH, 445 AV_CODEC_ID_TTA, 446 AV_CODEC_ID_SMACKAUDIO, 447 AV_CODEC_ID_QCELP, 448 AV_CODEC_ID_WAVPACK, 449 AV_CODEC_ID_DSICINAUDIO, 450 AV_CODEC_ID_IMC, 451 AV_CODEC_ID_MUSEPACK7, 452 AV_CODEC_ID_MLP, 453 AV_CODEC_ID_GSM_MS, /* as found in WAV */ 454 AV_CODEC_ID_ATRAC3, 455 AV_CODEC_ID_APE, 456 AV_CODEC_ID_NELLYMOSER, 457 AV_CODEC_ID_MUSEPACK8, 458 AV_CODEC_ID_SPEEX, 459 AV_CODEC_ID_WMAVOICE, 460 AV_CODEC_ID_WMAPRO, 461 AV_CODEC_ID_WMALOSSLESS, 462 AV_CODEC_ID_ATRAC3P, 463 AV_CODEC_ID_EAC3, 464 AV_CODEC_ID_SIPR, 465 AV_CODEC_ID_MP1, 466 AV_CODEC_ID_TWINVQ, 467 AV_CODEC_ID_TRUEHD, 468 AV_CODEC_ID_MP4ALS, 469 AV_CODEC_ID_ATRAC1, 470 AV_CODEC_ID_BINKAUDIO_RDFT, 471 AV_CODEC_ID_BINKAUDIO_DCT, 472 AV_CODEC_ID_AAC_LATM, 473 AV_CODEC_ID_QDMC, 474 AV_CODEC_ID_CELT, 475 AV_CODEC_ID_G723_1, 476 AV_CODEC_ID_G729, 477 AV_CODEC_ID_8SVX_EXP, 478 AV_CODEC_ID_8SVX_FIB, 479 AV_CODEC_ID_BMV_AUDIO, 480 AV_CODEC_ID_RALF, 481 AV_CODEC_ID_IAC, 482 AV_CODEC_ID_ILBC, 483 AV_CODEC_ID_OPUS, 484 AV_CODEC_ID_COMFORT_NOISE, 485 AV_CODEC_ID_TAK, 486 AV_CODEC_ID_METASOUND, 487 AV_CODEC_ID_PAF_AUDIO, 488 AV_CODEC_ID_ON2AVC, 489 AV_CODEC_ID_DSS_SP, 490 AV_CODEC_ID_CODEC2, 491 AV_CODEC_ID_FFWAVESYNTH, 492 AV_CODEC_ID_SONIC, 493 AV_CODEC_ID_SONIC_LS, 494 AV_CODEC_ID_EVRC, 495 AV_CODEC_ID_SMV, 496 AV_CODEC_ID_DSD_LSBF, 497 AV_CODEC_ID_DSD_MSBF, 498 AV_CODEC_ID_DSD_LSBF_PLANAR, 499 AV_CODEC_ID_DSD_MSBF_PLANAR, 500 AV_CODEC_ID_4GV, 501 AV_CODEC_ID_INTERPLAY_ACM, 502 AV_CODEC_ID_XMA1, 503 AV_CODEC_ID_XMA2, 504 AV_CODEC_ID_DST, 505 AV_CODEC_ID_ATRAC3AL, 506 AV_CODEC_ID_ATRAC3PAL, 507 AV_CODEC_ID_DOLBY_E, 508 AV_CODEC_ID_APTX, 509 AV_CODEC_ID_APTX_HD, 510 AV_CODEC_ID_SBC, 511 AV_CODEC_ID_ATRAC9, 512 AV_CODEC_ID_HCOM, 513 AV_CODEC_ID_ACELP_KELVIN, 514 AV_CODEC_ID_MPEGH_3D_AUDIO, 515 AV_CODEC_ID_SIREN, 516 AV_CODEC_ID_HCA, 517 AV_CODEC_ID_FASTAUDIO, 518 AV_CODEC_ID_MSNSIREN, 519 520 /* subtitle codecs */ 521 AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs. 522 AV_CODEC_ID_DVD_SUBTITLE = 0x17000, 523 AV_CODEC_ID_DVB_SUBTITLE, 524 AV_CODEC_ID_TEXT, ///< raw UTF-8 text 525 AV_CODEC_ID_XSUB, 526 AV_CODEC_ID_SSA, 527 AV_CODEC_ID_MOV_TEXT, 528 AV_CODEC_ID_HDMV_PGS_SUBTITLE, 529 AV_CODEC_ID_DVB_TELETEXT, 530 AV_CODEC_ID_SRT, 531 AV_CODEC_ID_MICRODVD, 532 AV_CODEC_ID_EIA_608, 533 AV_CODEC_ID_JACOSUB, 534 AV_CODEC_ID_SAMI, 535 AV_CODEC_ID_REALTEXT, 536 AV_CODEC_ID_STL, 537 AV_CODEC_ID_SUBVIEWER1, 538 AV_CODEC_ID_SUBVIEWER, 539 AV_CODEC_ID_SUBRIP, 540 AV_CODEC_ID_WEBVTT, 541 AV_CODEC_ID_MPL2, 542 AV_CODEC_ID_VPLAYER, 543 AV_CODEC_ID_PJS, 544 AV_CODEC_ID_ASS, 545 AV_CODEC_ID_HDMV_TEXT_SUBTITLE, 546 AV_CODEC_ID_TTML, 547 AV_CODEC_ID_ARIB_CAPTION, 548 549 /* other specific kind of codecs (generally used for attachments) */ 550 AV_CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs. 551 AV_CODEC_ID_TTF = 0x18000, 552 553 AV_CODEC_ID_SCTE_35, ///< Contain timestamp estimated through PCR of program stream. 554 AV_CODEC_ID_EPG, 555 AV_CODEC_ID_BINTEXT, 556 AV_CODEC_ID_XBIN, 557 AV_CODEC_ID_IDF, 558 AV_CODEC_ID_OTF, 559 AV_CODEC_ID_SMPTE_KLV, 560 AV_CODEC_ID_DVD_NAV, 561 AV_CODEC_ID_TIMED_ID3, 562 AV_CODEC_ID_BIN_DATA, 563 564 565 AV_CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it 566 567 AV_CODEC_ID_MPEG2TS = 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS 568 * stream (only used by libavformat) */ 569 AV_CODEC_ID_MPEG4SYSTEMS = 0x20001, /**< _FAKE_ codec to indicate a MPEG-4 Systems 570 * stream (only used by libavformat) */ 571 AV_CODEC_ID_FFMETADATA = 0x21000, ///< Dummy codec for streams containing only metadata information. 572 AV_CODEC_ID_WRAPPED_AVFRAME = 0x21001, ///< Passthrough codec, AVFrames wrapped in AVPacket 573 }; 574 575 /** 576 * Get the type of the given codec. 577 */ 578 enum AVMediaType avcodec_get_type(enum AVCodecID codec_id); 579 580 /** 581 * Get the name of a codec. 582 * @return a static string identifying the codec; never NULL 583 */ 584 const char *avcodec_get_name(enum AVCodecID id); 585 586 /** 587 * Return codec bits per sample. 588 * 589 * @param[in] codec_id the codec 590 * @return Number of bits per sample or zero if unknown for the given codec. 591 */ 592 int av_get_bits_per_sample(enum AVCodecID codec_id); 593 594 /** 595 * Return codec bits per sample. 596 * Only return non-zero if the bits per sample is exactly correct, not an 597 * approximation. 598 * 599 * @param[in] codec_id the codec 600 * @return Number of bits per sample or zero if unknown for the given codec. 601 */ 602 int av_get_exact_bits_per_sample(enum AVCodecID codec_id); 603 604 /** 605 * Return a name for the specified profile, if available. 606 * 607 * @param codec_id the ID of the codec to which the requested profile belongs 608 * @param profile the profile value for which a name is requested 609 * @return A name for the profile if found, NULL otherwise. 610 * 611 * @note unlike av_get_profile_name(), which searches a list of profiles 612 * supported by a specific decoder or encoder implementation, this 613 * function searches the list of profiles from the AVCodecDescriptor 614 */ 615 const char *avcodec_profile_name(enum AVCodecID codec_id, int profile); 616 617 /** 618 * Return the PCM codec associated with a sample format. 619 * @param be endianness, 0 for little, 1 for big, 620 * -1 (or anything else) for native 621 * @return AV_CODEC_ID_PCM_* or AV_CODEC_ID_NONE 622 */ 623 enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be); 624 625 /** 626 * @} 627 */ 628 629 #endif // AVCODEC_CODEC_ID_H 630