FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
profiles.c
Go to the documentation of this file.
1 /*
2  *
3  * This file is part of FFmpeg.
4  *
5  * FFmpeg 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.1 of the License, or (at your option) any later version.
9  *
10  * FFmpeg 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 FFmpeg; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18  */
19 
20 #include "config.h"
21 
22 #include "avcodec.h"
23 #include "profiles.h"
24 
25 #if !CONFIG_SMALL
26 
28  { FF_PROFILE_AAC_LOW, "LC" },
29  { FF_PROFILE_AAC_HE, "HE-AAC" },
30  { FF_PROFILE_AAC_HE_V2, "HE-AACv2" },
31  { FF_PROFILE_AAC_LD, "LD" },
32  { FF_PROFILE_AAC_ELD, "ELD" },
33  { FF_PROFILE_AAC_MAIN, "Main" },
34  { FF_PROFILE_AAC_LOW, "LC" },
35  { FF_PROFILE_AAC_SSR, "SSR" },
36  { FF_PROFILE_AAC_LTP, "LTP" },
38 };
39 
41  { FF_PROFILE_DTS, "DTS" },
42  { FF_PROFILE_DTS_ES, "DTS-ES" },
43  { FF_PROFILE_DTS_96_24, "DTS 96/24" },
44  { FF_PROFILE_DTS_HD_HRA, "DTS-HD HRA" },
45  { FF_PROFILE_DTS_HD_MA, "DTS-HD MA" },
46  { FF_PROFILE_DTS_EXPRESS, "DTS Express" },
48 };
49 
51  { FF_PROFILE_H264_BASELINE, "Baseline" },
52  { FF_PROFILE_H264_CONSTRAINED_BASELINE, "Constrained Baseline" },
53  { FF_PROFILE_H264_MAIN, "Main" },
54  { FF_PROFILE_H264_EXTENDED, "Extended" },
55  { FF_PROFILE_H264_HIGH, "High" },
56  { FF_PROFILE_H264_HIGH_10, "High 10" },
57  { FF_PROFILE_H264_HIGH_10_INTRA, "High 10 Intra" },
58  { FF_PROFILE_H264_HIGH_422, "High 4:2:2" },
59  { FF_PROFILE_H264_HIGH_422_INTRA, "High 4:2:2 Intra" },
60  { FF_PROFILE_H264_HIGH_444, "High 4:4:4" },
61  { FF_PROFILE_H264_HIGH_444_PREDICTIVE, "High 4:4:4 Predictive" },
62  { FF_PROFILE_H264_HIGH_444_INTRA, "High 4:4:4 Intra" },
63  { FF_PROFILE_H264_CAVLC_444, "CAVLC 4:4:4" },
65 };
66 
68  { FF_PROFILE_HEVC_MAIN, "Main" },
69  { FF_PROFILE_HEVC_MAIN_10, "Main 10" },
70  { FF_PROFILE_HEVC_MAIN_STILL_PICTURE, "Main Still Picture" },
71  { FF_PROFILE_HEVC_REXT, "Rext" },
73 };
74 
76  { FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0, "JPEG 2000 codestream restriction 0" },
77  { FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1, "JPEG 2000 codestream restriction 1" },
78  { FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION, "JPEG 2000 no codestream restrictions" },
79  { FF_PROFILE_JPEG2000_DCINEMA_2K, "JPEG 2000 digital cinema 2K" },
80  { FF_PROFILE_JPEG2000_DCINEMA_4K, "JPEG 2000 digital cinema 4K" },
82 };
83 
85  { FF_PROFILE_MPEG2_422, "4:2:2" },
86  { FF_PROFILE_MPEG2_HIGH, "High" },
87  { FF_PROFILE_MPEG2_SS, "Spatially Scalable" },
88  { FF_PROFILE_MPEG2_SNR_SCALABLE, "SNR Scalable" },
89  { FF_PROFILE_MPEG2_MAIN, "Main" },
90  { FF_PROFILE_MPEG2_SIMPLE, "Simple" },
91  { FF_PROFILE_RESERVED, "Reserved" },
92  { FF_PROFILE_RESERVED, "Reserved" },
94 };
95 
97  { FF_PROFILE_MPEG4_SIMPLE, "Simple Profile" },
98  { FF_PROFILE_MPEG4_SIMPLE_SCALABLE, "Simple Scalable Profile" },
99  { FF_PROFILE_MPEG4_CORE, "Core Profile" },
100  { FF_PROFILE_MPEG4_MAIN, "Main Profile" },
101  { FF_PROFILE_MPEG4_N_BIT, "N-bit Profile" },
102  { FF_PROFILE_MPEG4_SCALABLE_TEXTURE, "Scalable Texture Profile" },
103  { FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION, "Simple Face Animation Profile" },
104  { FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE, "Basic Animated Texture Profile" },
105  { FF_PROFILE_MPEG4_HYBRID, "Hybrid Profile" },
106  { FF_PROFILE_MPEG4_ADVANCED_REAL_TIME, "Advanced Real Time Simple Profile" },
107  { FF_PROFILE_MPEG4_CORE_SCALABLE, "Code Scalable Profile" },
108  { FF_PROFILE_MPEG4_ADVANCED_CODING, "Advanced Coding Profile" },
109  { FF_PROFILE_MPEG4_ADVANCED_CORE, "Advanced Core Profile" },
110  { FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE, "Advanced Scalable Texture Profile" },
111  { FF_PROFILE_MPEG4_SIMPLE_STUDIO, "Simple Studio Profile" },
112  { FF_PROFILE_MPEG4_ADVANCED_SIMPLE, "Advanced Simple Profile" },
113  { FF_PROFILE_UNKNOWN },
114 };
115 
117  { FF_PROFILE_VC1_SIMPLE, "Simple" },
118  { FF_PROFILE_VC1_MAIN, "Main" },
119  { FF_PROFILE_VC1_COMPLEX, "Complex" },
120  { FF_PROFILE_VC1_ADVANCED, "Advanced" },
121  { FF_PROFILE_UNKNOWN },
122 };
123 
125  { FF_PROFILE_VP9_0, "Profile 0" },
126  { FF_PROFILE_VP9_1, "Profile 1" },
127  { FF_PROFILE_VP9_2, "Profile 2" },
128  { FF_PROFILE_VP9_3, "Profile 3" },
129  { FF_PROFILE_UNKNOWN },
130 };
131 
132 #endif /* !CONFIG_SMALL */
#define FF_PROFILE_H264_MAIN
Definition: avcodec.h:3062
#define FF_PROFILE_MPEG4_SIMPLE
Definition: avcodec.h:3079
#define FF_PROFILE_H264_CAVLC_444
Definition: avcodec.h:3072
#define FF_PROFILE_MPEG2_MAIN
Definition: avcodec.h:3054
#define FF_PROFILE_DTS_HD_HRA
Definition: avcodec.h:3046
const AVProfile ff_aac_profiles[]
Definition: profiles.c:27
#define FF_PROFILE_MPEG4_SIMPLE_STUDIO
Definition: avcodec.h:3093
#define FF_PROFILE_DTS_EXPRESS
Definition: avcodec.h:3048
#define FF_PROFILE_AAC_MAIN
Definition: avcodec.h:3032
#define FF_PROFILE_MPEG4_SIMPLE_SCALABLE
Definition: avcodec.h:3080
#define FF_PROFILE_AAC_HE_V2
Definition: avcodec.h:3037
#define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1
Definition: avcodec.h:3097
const AVProfile ff_mpeg4_video_profiles[]
Definition: profiles.c:96
#define FF_PROFILE_MPEG4_CORE_SCALABLE
Definition: avcodec.h:3089
#define FF_PROFILE_H264_HIGH_444_PREDICTIVE
Definition: avcodec.h:3070
#define FF_PROFILE_VP9_0
Definition: avcodec.h:3102
#define FF_PROFILE_H264_BASELINE
Definition: avcodec.h:3060
#define FF_PROFILE_MPEG4_CORE
Definition: avcodec.h:3081
#define FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION
Definition: avcodec.h:3098
#define FF_PROFILE_MPEG4_MAIN
Definition: avcodec.h:3082
#define FF_PROFILE_HEVC_MAIN
Definition: avcodec.h:3107
#define FF_PROFILE_MPEG4_N_BIT
Definition: avcodec.h:3083
#define FF_PROFILE_AAC_LTP
Definition: avcodec.h:3035
#define FF_PROFILE_H264_EXTENDED
Definition: avcodec.h:3063
#define FF_PROFILE_AAC_LD
Definition: avcodec.h:3038
#define FF_PROFILE_HEVC_MAIN_10
Definition: avcodec.h:3108
const AVProfile ff_hevc_profiles[]
Definition: profiles.c:67
#define FF_PROFILE_VP9_3
Definition: avcodec.h:3105
#define FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION
Definition: avcodec.h:3085
#define FF_PROFILE_DTS_ES
Definition: avcodec.h:3044
#define FF_PROFILE_H264_HIGH_422
Definition: avcodec.h:3067
#define FF_PROFILE_H264_HIGH
Definition: avcodec.h:3064
#define FF_PROFILE_AAC_ELD
Definition: avcodec.h:3039
#define FF_PROFILE_MPEG2_SNR_SCALABLE
Definition: avcodec.h:3053
#define FF_PROFILE_MPEG4_SCALABLE_TEXTURE
Definition: avcodec.h:3084
#define FF_PROFILE_VP9_2
Definition: avcodec.h:3104
const AVProfile ff_mpeg2_video_profiles[]
Definition: profiles.c:84
#define FF_PROFILE_MPEG2_HIGH
Definition: avcodec.h:3051
#define FF_PROFILE_VC1_MAIN
Definition: avcodec.h:3075
#define FF_PROFILE_AAC_LOW
Definition: avcodec.h:3033
#define FF_PROFILE_UNKNOWN
Definition: avcodec.h:3029
#define FF_PROFILE_MPEG4_ADVANCED_CORE
Definition: avcodec.h:3091
#define FF_PROFILE_HEVC_MAIN_STILL_PICTURE
Definition: avcodec.h:3109
#define FF_PROFILE_MPEG2_422
Definition: avcodec.h:3050
#define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0
Definition: avcodec.h:3096
#define FF_PROFILE_DTS
Definition: avcodec.h:3043
#define FF_PROFILE_JPEG2000_DCINEMA_4K
Definition: avcodec.h:3100
#define FF_PROFILE_MPEG4_HYBRID
Definition: avcodec.h:3087
#define FF_PROFILE_VC1_SIMPLE
Definition: avcodec.h:3074
#define FF_PROFILE_DTS_96_24
Definition: avcodec.h:3045
#define FF_PROFILE_VP9_1
Definition: avcodec.h:3103
Libavcodec external API header.
#define FF_PROFILE_H264_HIGH_422_INTRA
Definition: avcodec.h:3068
#define FF_PROFILE_MPEG4_ADVANCED_SIMPLE
Definition: avcodec.h:3094
#define FF_PROFILE_AAC_SSR
Definition: avcodec.h:3034
#define FF_PROFILE_H264_HIGH_10_INTRA
Definition: avcodec.h:3066
#define FF_PROFILE_H264_HIGH_444
Definition: avcodec.h:3069
#define FF_PROFILE_MPEG4_ADVANCED_CODING
Definition: avcodec.h:3090
#define FF_PROFILE_VC1_COMPLEX
Definition: avcodec.h:3076
#define FF_PROFILE_MPEG4_ADVANCED_REAL_TIME
Definition: avcodec.h:3088
#define FF_PROFILE_MPEG2_SS
Definition: avcodec.h:3052
const AVProfile ff_dca_profiles[]
Definition: profiles.c:40
#define FF_PROFILE_RESERVED
Definition: avcodec.h:3030
const AVProfile ff_vc1_profiles[]
Definition: profiles.c:116
AVProfile.
Definition: avcodec.h:3380
const AVProfile ff_h264_profiles[]
Definition: profiles.c:50
#define FF_PROFILE_HEVC_REXT
Definition: avcodec.h:3110
#define FF_PROFILE_VC1_ADVANCED
Definition: avcodec.h:3077
#define FF_PROFILE_MPEG2_SIMPLE
Definition: avcodec.h:3055
#define FF_PROFILE_JPEG2000_DCINEMA_2K
Definition: avcodec.h:3099
#define FF_PROFILE_AAC_HE
Definition: avcodec.h:3036
#define FF_PROFILE_H264_HIGH_444_INTRA
Definition: avcodec.h:3071
#define FF_PROFILE_DTS_HD_MA
Definition: avcodec.h:3047
#define FF_PROFILE_H264_CONSTRAINED_BASELINE
Definition: avcodec.h:3061
const AVProfile ff_vp9_profiles[]
Definition: profiles.c:124
#define FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE
Definition: avcodec.h:3086
#define FF_PROFILE_H264_HIGH_10
Definition: avcodec.h:3065
#define FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE
Definition: avcodec.h:3092
const AVProfile ff_jpeg2000_profiles[]
Definition: profiles.c:75