FFmpeg
codec_id.h
Go to the documentation of this file.
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 /**
25  * @addtogroup lavc_core
26  * @{
27  */
28 
29 /**
30  * Identify the syntax and semantics of the bitstream.
31  * The principle is roughly:
32  * Two decoders with the same ID can decode the same streams.
33  * Two encoders with the same ID can encode compatible streams.
34  * There may be slight deviations from the principle due to implementation
35  * details.
36  *
37  * If you add a codec ID to this list, add it so that
38  * 1. no value of an existing codec ID changes (that would break ABI),
39  * 2. it is as close as possible to similar codecs
40  *
41  * After adding new codec IDs, do not forget to add an entry to the codec
42  * descriptor list and bump libavcodec minor version.
43  */
44 enum AVCodecID {
46 
47  /* video codecs */
49  AV_CODEC_ID_MPEG2VIDEO, ///< preferred ID for MPEG-1/2 video decoding
184 #define AV_CODEC_ID_IFF_BYTERUN1 AV_CODEC_ID_IFF_ILBM
222 #define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC
242 
295 
296  /* various PCM "codecs" */
297  AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs
329 
335 
336  /* various ADPCM codecs */
368 
387 
388  /* AMR */
391 
392  /* RealAudio codecs*/
395 
396  /* various DPCM codecs */
401 
405 
406  /* audio codecs */
407  AV_CODEC_ID_MP2 = 0x15000,
408  AV_CODEC_ID_MP3, ///< preferred ID for decoding MPEG audio layer 1, 2 or 3
425  AV_CODEC_ID_GSM, ///< as in Berlin toast format
437  AV_CODEC_ID_GSM_MS, /* as found in WAV */
475 
502 
503  /* subtitle codecs */
504  AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs.
507  AV_CODEC_ID_TEXT, ///< raw UTF-8 text
514 
532 
533  /* other specific kind of codecs (generally used for attachments) */
534  AV_CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs.
535  AV_CODEC_ID_TTF = 0x18000,
536 
537  AV_CODEC_ID_SCTE_35, ///< Contain timestamp estimated through PCR of program stream.
547 
548 
549  AV_CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it
550 
551  AV_CODEC_ID_MPEG2TS = 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS
552  * stream (only used by libavformat) */
553  AV_CODEC_ID_MPEG4SYSTEMS = 0x20001, /**< _FAKE_ codec to indicate a MPEG-4 Systems
554  * stream (only used by libavformat) */
555  AV_CODEC_ID_FFMETADATA = 0x21000, ///< Dummy codec for streams containing only metadata information.
556  AV_CODEC_ID_WRAPPED_AVFRAME = 0x21001, ///< Passthrough codec, AVFrames wrapped in AVPacket
557 };
558 
559 
560 /**
561  * @}
562  */
563 
564 #endif // AVCODEC_CODEC_ID_H
codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it ...
Definition: codec_id.h:549
A dummy id pointing at the start of audio codecs.
Definition: codec_id.h:297
Dummy codec for streams containing only metadata information.
Definition: codec_id.h:555
Contain timestamp estimated through PCR of program stream.
Definition: codec_id.h:537
A dummy ID pointing at the start of various fake codecs.
Definition: codec_id.h:534
AVCodecID
Identify the syntax and semantics of the bitstream.
Definition: codec_id.h:44
preferred ID for decoding MPEG audio layer 1, 2 or 3
Definition: codec_id.h:408
Passthrough codec, AVFrames wrapped in AVPacket.
Definition: codec_id.h:556
preferred ID for MPEG-1/2 video decoding
Definition: codec_id.h:49
FAKE codec to indicate a MPEG-4 Systems stream (only used by libavformat)
Definition: codec_id.h:553
raw UTF-8 text
Definition: codec_id.h:507
FAKE codec to indicate a raw MPEG-2 TS stream (only used by libavformat)
Definition: codec_id.h:551
as in Berlin toast format
Definition: codec_id.h:425
A dummy ID pointing at the start of subtitle codecs.
Definition: codec_id.h:504