FFmpeg
profiles.c
Go to the documentation of this file.
1 /*
2  * This file is part of FFmpeg.
3  *
4  * FFmpeg is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * FFmpeg is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with FFmpeg; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17  */
18 
19 #include "config.h"
20 
21 #include "avcodec.h"
22 #include "profiles.h"
23 
24 #if !CONFIG_SMALL
25 
27  { FF_PROFILE_AAC_LOW, "LC" },
28  { FF_PROFILE_AAC_HE, "HE-AAC" },
29  { FF_PROFILE_AAC_HE_V2, "HE-AACv2" },
30  { FF_PROFILE_AAC_LD, "LD" },
31  { FF_PROFILE_AAC_ELD, "ELD" },
32  { FF_PROFILE_AAC_MAIN, "Main" },
33  { FF_PROFILE_AAC_SSR, "SSR" },
34  { FF_PROFILE_AAC_LTP, "LTP" },
36 };
37 
39  { FF_PROFILE_DTS, "DTS" },
40  { FF_PROFILE_DTS_ES, "DTS-ES" },
41  { FF_PROFILE_DTS_96_24, "DTS 96/24" },
42  { FF_PROFILE_DTS_HD_HRA, "DTS-HD HRA" },
43  { FF_PROFILE_DTS_HD_MA, "DTS-HD MA" },
44  { FF_PROFILE_DTS_EXPRESS, "DTS Express" },
46 };
47 
49  { FF_PROFILE_DNXHD, "DNXHD"},
50  { FF_PROFILE_DNXHR_LB, "DNXHR LB"},
51  { FF_PROFILE_DNXHR_SQ, "DNXHR SQ"},
52  { FF_PROFILE_DNXHR_HQ, "DNXHR HQ" },
53  { FF_PROFILE_DNXHR_HQX, "DNXHR HQX"},
54  { FF_PROFILE_DNXHR_444, "DNXHR 444"},
56 };
57 
59  { FF_PROFILE_H264_BASELINE, "Baseline" },
60  { FF_PROFILE_H264_CONSTRAINED_BASELINE, "Constrained Baseline" },
61  { FF_PROFILE_H264_MAIN, "Main" },
62  { FF_PROFILE_H264_EXTENDED, "Extended" },
63  { FF_PROFILE_H264_HIGH, "High" },
64  { FF_PROFILE_H264_HIGH_10, "High 10" },
65  { FF_PROFILE_H264_HIGH_10_INTRA, "High 10 Intra" },
66  { FF_PROFILE_H264_HIGH_422, "High 4:2:2" },
67  { FF_PROFILE_H264_HIGH_422_INTRA, "High 4:2:2 Intra" },
68  { FF_PROFILE_H264_HIGH_444, "High 4:4:4" },
69  { FF_PROFILE_H264_HIGH_444_PREDICTIVE, "High 4:4:4 Predictive" },
70  { FF_PROFILE_H264_HIGH_444_INTRA, "High 4:4:4 Intra" },
71  { FF_PROFILE_H264_CAVLC_444, "CAVLC 4:4:4" },
72  { FF_PROFILE_H264_MULTIVIEW_HIGH, "Multiview High" },
73  { FF_PROFILE_H264_STEREO_HIGH, "Stereo High" },
75 };
76 
78  { FF_PROFILE_HEVC_MAIN, "Main" },
79  { FF_PROFILE_HEVC_MAIN_10, "Main 10" },
80  { FF_PROFILE_HEVC_MAIN_STILL_PICTURE, "Main Still Picture" },
81  { FF_PROFILE_HEVC_REXT, "Rext" },
83 };
84 
86  { FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0, "JPEG 2000 codestream restriction 0" },
87  { FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1, "JPEG 2000 codestream restriction 1" },
88  { FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION, "JPEG 2000 no codestream restrictions" },
89  { FF_PROFILE_JPEG2000_DCINEMA_2K, "JPEG 2000 digital cinema 2K" },
90  { FF_PROFILE_JPEG2000_DCINEMA_4K, "JPEG 2000 digital cinema 4K" },
92 };
93 
95  { FF_PROFILE_MPEG2_422, "4:2:2" },
96  { FF_PROFILE_MPEG2_HIGH, "High" },
97  { FF_PROFILE_MPEG2_SS, "Spatially Scalable" },
98  { FF_PROFILE_MPEG2_SNR_SCALABLE, "SNR Scalable" },
99  { FF_PROFILE_MPEG2_MAIN, "Main" },
100  { FF_PROFILE_MPEG2_SIMPLE, "Simple" },
101  { FF_PROFILE_RESERVED, "Reserved" },
102  { FF_PROFILE_RESERVED, "Reserved" },
103  { FF_PROFILE_UNKNOWN },
104 };
105 
107  { FF_PROFILE_MPEG4_SIMPLE, "Simple Profile" },
108  { FF_PROFILE_MPEG4_SIMPLE_SCALABLE, "Simple Scalable Profile" },
109  { FF_PROFILE_MPEG4_CORE, "Core Profile" },
110  { FF_PROFILE_MPEG4_MAIN, "Main Profile" },
111  { FF_PROFILE_MPEG4_N_BIT, "N-bit Profile" },
112  { FF_PROFILE_MPEG4_SCALABLE_TEXTURE, "Scalable Texture Profile" },
113  { FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION, "Simple Face Animation Profile" },
114  { FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE, "Basic Animated Texture Profile" },
115  { FF_PROFILE_MPEG4_HYBRID, "Hybrid Profile" },
116  { FF_PROFILE_MPEG4_ADVANCED_REAL_TIME, "Advanced Real Time Simple Profile" },
117  { FF_PROFILE_MPEG4_CORE_SCALABLE, "Code Scalable Profile" },
118  { FF_PROFILE_MPEG4_ADVANCED_CODING, "Advanced Coding Profile" },
119  { FF_PROFILE_MPEG4_ADVANCED_CORE, "Advanced Core Profile" },
120  { FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE, "Advanced Scalable Texture Profile" },
121  { FF_PROFILE_MPEG4_SIMPLE_STUDIO, "Simple Studio Profile" },
122  { FF_PROFILE_MPEG4_ADVANCED_SIMPLE, "Advanced Simple Profile" },
123  { FF_PROFILE_UNKNOWN },
124 };
125 
127  { FF_PROFILE_VC1_SIMPLE, "Simple" },
128  { FF_PROFILE_VC1_MAIN, "Main" },
129  { FF_PROFILE_VC1_COMPLEX, "Complex" },
130  { FF_PROFILE_VC1_ADVANCED, "Advanced" },
131  { FF_PROFILE_UNKNOWN },
132 };
133 
135  { FF_PROFILE_VP9_0, "Profile 0" },
136  { FF_PROFILE_VP9_1, "Profile 1" },
137  { FF_PROFILE_VP9_2, "Profile 2" },
138  { FF_PROFILE_VP9_3, "Profile 3" },
139  { FF_PROFILE_UNKNOWN },
140 };
141 
143  { FF_PROFILE_AV1_MAIN, "Main" },
144  { FF_PROFILE_AV1_HIGH, "High" },
145  { FF_PROFILE_AV1_PROFESSIONAL, "Professional" },
146  { FF_PROFILE_UNKNOWN },
147 };
148 
150  { FF_PROFILE_SBC_MSBC, "mSBC" },
151  { FF_PROFILE_UNKNOWN },
152 };
153 
155  { FF_PROFILE_PRORES_PROXY, "Proxy" },
156  { FF_PROFILE_PRORES_LT, "LT" },
157  { FF_PROFILE_PRORES_STANDARD, "Standard" },
158  { FF_PROFILE_PRORES_HQ, "HQ" },
159  { FF_PROFILE_PRORES_4444, "4444" },
160  { FF_PROFILE_PRORES_XQ, "XQ" },
162 };
163 
167  { FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT, "Progressive" },
168  { FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS, "Lossless" },
169  { FF_PROFILE_MJPEG_JPEG_LS, "JPEG LS" },
171 };
172 
174  { FF_PROFILE_ARIB_PROFILE_A, "Profile A" },
175  { FF_PROFILE_ARIB_PROFILE_C, "Profile C" },
177 };
178 
179 #endif /* !CONFIG_SMALL */
FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE
#define FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE
Definition: avcodec.h:2965
FF_PROFILE_HEVC_REXT
#define FF_PROFILE_HEVC_REXT
Definition: avcodec.h:2989
ff_mpeg4_video_profiles
const AVProfile ff_mpeg4_video_profiles[]
Definition: profiles.c:106
FF_PROFILE_PRORES_XQ
#define FF_PROFILE_PRORES_XQ
Definition: avcodec.h:3008
FF_PROFILE_MPEG2_SIMPLE
#define FF_PROFILE_MPEG2_SIMPLE
Definition: avcodec.h:2932
FF_PROFILE_VP9_0
#define FF_PROFILE_VP9_0
Definition: avcodec.h:2981
FF_PROFILE_MPEG4_SIMPLE
#define FF_PROFILE_MPEG4_SIMPLE
Definition: avcodec.h:2958
ff_prores_profiles
const AVProfile ff_prores_profiles[]
Definition: profiles.c:154
ff_hevc_profiles
const AVProfile ff_hevc_profiles[]
Definition: profiles.c:77
FF_PROFILE_H264_BASELINE
#define FF_PROFILE_H264_BASELINE
Definition: avcodec.h:2937
FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION
#define FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION
Definition: avcodec.h:2977
FF_PROFILE_AAC_MAIN
#define FF_PROFILE_AAC_MAIN
Definition: avcodec.h:2902
FF_PROFILE_H264_CONSTRAINED_BASELINE
#define FF_PROFILE_H264_CONSTRAINED_BASELINE
Definition: avcodec.h:2938
FF_PROFILE_MJPEG_JPEG_LS
#define FF_PROFILE_MJPEG_JPEG_LS
Definition: avcodec.h:2999
FF_PROFILE_MPEG4_N_BIT
#define FF_PROFILE_MPEG4_N_BIT
Definition: avcodec.h:2962
FF_PROFILE_AAC_LTP
#define FF_PROFILE_AAC_LTP
Definition: avcodec.h:2905
FF_PROFILE_H264_HIGH_444_PREDICTIVE
#define FF_PROFILE_H264_HIGH_444_PREDICTIVE
Definition: avcodec.h:2949
ff_jpeg2000_profiles
const AVProfile ff_jpeg2000_profiles[]
Definition: profiles.c:85
ff_aac_profiles
const AVProfile ff_aac_profiles[]
Definition: profiles.c:26
FF_PROFILE_DNXHD
#define FF_PROFILE_DNXHD
Definition: avcodec.h:2913
FF_PROFILE_H264_CAVLC_444
#define FF_PROFILE_H264_CAVLC_444
Definition: avcodec.h:2951
FF_PROFILE_MPEG4_SIMPLE_STUDIO
#define FF_PROFILE_MPEG4_SIMPLE_STUDIO
Definition: avcodec.h:2972
FF_PROFILE_MPEG2_MAIN
#define FF_PROFILE_MPEG2_MAIN
Definition: avcodec.h:2931
FF_PROFILE_MPEG4_MAIN
#define FF_PROFILE_MPEG4_MAIN
Definition: avcodec.h:2961
FF_PROFILE_H264_MULTIVIEW_HIGH
#define FF_PROFILE_H264_MULTIVIEW_HIGH
Definition: avcodec.h:2944
FF_PROFILE_MPEG4_SIMPLE_SCALABLE
#define FF_PROFILE_MPEG4_SIMPLE_SCALABLE
Definition: avcodec.h:2959
AVProfile
AVProfile.
Definition: avcodec.h:3414
ff_dca_profiles
const AVProfile ff_dca_profiles[]
Definition: profiles.c:38
FF_PROFILE_DTS_HD_HRA
#define FF_PROFILE_DTS_HD_HRA
Definition: avcodec.h:2923
FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT
#define FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT
Definition: avcodec.h:2995
FF_PROFILE_H264_HIGH
#define FF_PROFILE_H264_HIGH
Definition: avcodec.h:2941
FF_PROFILE_DNXHR_LB
#define FF_PROFILE_DNXHR_LB
Definition: avcodec.h:2914
FF_PROFILE_PRORES_LT
#define FF_PROFILE_PRORES_LT
Definition: avcodec.h:3004
FF_PROFILE_MPEG4_CORE
#define FF_PROFILE_MPEG4_CORE
Definition: avcodec.h:2960
ff_mjpeg_profiles
const AVProfile ff_mjpeg_profiles[]
Definition: profiles.c:164
FF_PROFILE_AAC_HE_V2
#define FF_PROFILE_AAC_HE_V2
Definition: avcodec.h:2907
FF_PROFILE_H264_STEREO_HIGH
#define FF_PROFILE_H264_STEREO_HIGH
Definition: avcodec.h:2947
FF_PROFILE_HEVC_MAIN
#define FF_PROFILE_HEVC_MAIN
Definition: avcodec.h:2986
FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1
#define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1
Definition: avcodec.h:2976
FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT
#define FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT
Definition: avcodec.h:2997
FF_PROFILE_MPEG4_CORE_SCALABLE
#define FF_PROFILE_MPEG4_CORE_SCALABLE
Definition: avcodec.h:2968
ff_arib_caption_profiles
const AVProfile ff_arib_caption_profiles[]
Definition: profiles.c:173
FF_PROFILE_VP9_3
#define FF_PROFILE_VP9_3
Definition: avcodec.h:2984
FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS
#define FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS
Definition: avcodec.h:2998
FF_PROFILE_H264_EXTENDED
#define FF_PROFILE_H264_EXTENDED
Definition: avcodec.h:2940
FF_PROFILE_ARIB_PROFILE_C
#define FF_PROFILE_ARIB_PROFILE_C
Definition: avcodec.h:3011
FF_PROFILE_UNKNOWN
#define FF_PROFILE_UNKNOWN
Definition: avcodec.h:2899
ff_av1_profiles
const AVProfile ff_av1_profiles[]
Definition: profiles.c:142
FF_PROFILE_VP9_2
#define FF_PROFILE_VP9_2
Definition: avcodec.h:2983
ff_dnxhd_profiles
const AVProfile ff_dnxhd_profiles[]
Definition: profiles.c:48
FF_PROFILE_VC1_SIMPLE
#define FF_PROFILE_VC1_SIMPLE
Definition: avcodec.h:2953
FF_PROFILE_DNXHR_HQ
#define FF_PROFILE_DNXHR_HQ
Definition: avcodec.h:2916
FF_PROFILE_MPEG2_HIGH
#define FF_PROFILE_MPEG2_HIGH
Definition: avcodec.h:2928
FF_PROFILE_DTS_ES
#define FF_PROFILE_DTS_ES
Definition: avcodec.h:2921
FF_PROFILE_VC1_MAIN
#define FF_PROFILE_VC1_MAIN
Definition: avcodec.h:2954
FF_PROFILE_AAC_LD
#define FF_PROFILE_AAC_LD
Definition: avcodec.h:2908
profiles.h
FF_PROFILE_MPEG4_ADVANCED_CORE
#define FF_PROFILE_MPEG4_ADVANCED_CORE
Definition: avcodec.h:2970
ff_h264_profiles
const AVProfile ff_h264_profiles[]
Definition: profiles.c:58
FF_PROFILE_HEVC_MAIN_10
#define FF_PROFILE_HEVC_MAIN_10
Definition: avcodec.h:2987
FF_PROFILE_AAC_ELD
#define FF_PROFILE_AAC_ELD
Definition: avcodec.h:2909
FF_PROFILE_MPEG2_SNR_SCALABLE
#define FF_PROFILE_MPEG2_SNR_SCALABLE
Definition: avcodec.h:2930
FF_PROFILE_AAC_SSR
#define FF_PROFILE_AAC_SSR
Definition: avcodec.h:2904
FF_PROFILE_MPEG4_HYBRID
#define FF_PROFILE_MPEG4_HYBRID
Definition: avcodec.h:2966
FF_PROFILE_AV1_MAIN
#define FF_PROFILE_AV1_MAIN
Definition: avcodec.h:2991
FF_PROFILE_PRORES_HQ
#define FF_PROFILE_PRORES_HQ
Definition: avcodec.h:3006
FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION
#define FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION
Definition: avcodec.h:2964
FF_PROFILE_PRORES_STANDARD
#define FF_PROFILE_PRORES_STANDARD
Definition: avcodec.h:3005
FF_PROFILE_H264_HIGH_422
#define FF_PROFILE_H264_HIGH_422
Definition: avcodec.h:2945
FF_PROFILE_AAC_LOW
#define FF_PROFILE_AAC_LOW
Definition: avcodec.h:2903
FF_PROFILE_MPEG4_ADVANCED_CODING
#define FF_PROFILE_MPEG4_ADVANCED_CODING
Definition: avcodec.h:2969
FF_PROFILE_MPEG2_SS
#define FF_PROFILE_MPEG2_SS
Definition: avcodec.h:2929
FF_PROFILE_DTS
#define FF_PROFILE_DTS
Definition: avcodec.h:2920
FF_PROFILE_MPEG4_SCALABLE_TEXTURE
#define FF_PROFILE_MPEG4_SCALABLE_TEXTURE
Definition: avcodec.h:2963
ff_mpeg2_video_profiles
const AVProfile ff_mpeg2_video_profiles[]
Definition: profiles.c:94
FF_PROFILE_ARIB_PROFILE_A
#define FF_PROFILE_ARIB_PROFILE_A
Definition: avcodec.h:3010
FF_PROFILE_DNXHR_SQ
#define FF_PROFILE_DNXHR_SQ
Definition: avcodec.h:2915
FF_PROFILE_HEVC_MAIN_STILL_PICTURE
#define FF_PROFILE_HEVC_MAIN_STILL_PICTURE
Definition: avcodec.h:2988
FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT
#define FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT
Definition: avcodec.h:2996
FF_PROFILE_MPEG2_422
#define FF_PROFILE_MPEG2_422
Definition: avcodec.h:2927
FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0
#define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0
Definition: avcodec.h:2975
FF_PROFILE_MPEG4_ADVANCED_SIMPLE
#define FF_PROFILE_MPEG4_ADVANCED_SIMPLE
Definition: avcodec.h:2973
FF_PROFILE_JPEG2000_DCINEMA_4K
#define FF_PROFILE_JPEG2000_DCINEMA_4K
Definition: avcodec.h:2979
FF_PROFILE_H264_HIGH_10_INTRA
#define FF_PROFILE_H264_HIGH_10_INTRA
Definition: avcodec.h:2943
ff_sbc_profiles
const AVProfile ff_sbc_profiles[]
Definition: profiles.c:149
FF_PROFILE_AV1_PROFESSIONAL
#define FF_PROFILE_AV1_PROFESSIONAL
Definition: avcodec.h:2993
avcodec.h
FF_PROFILE_AAC_HE
#define FF_PROFILE_AAC_HE
Definition: avcodec.h:2906
FF_PROFILE_H264_HIGH_444_INTRA
#define FF_PROFILE_H264_HIGH_444_INTRA
Definition: avcodec.h:2950
FF_PROFILE_PRORES_4444
#define FF_PROFILE_PRORES_4444
Definition: avcodec.h:3007
FF_PROFILE_PRORES_PROXY
#define FF_PROFILE_PRORES_PROXY
Definition: avcodec.h:3003
FF_PROFILE_DTS_96_24
#define FF_PROFILE_DTS_96_24
Definition: avcodec.h:2922
FF_PROFILE_VP9_1
#define FF_PROFILE_VP9_1
Definition: avcodec.h:2982
FF_PROFILE_H264_HIGH_444
#define FF_PROFILE_H264_HIGH_444
Definition: avcodec.h:2948
FF_PROFILE_MPEG4_ADVANCED_REAL_TIME
#define FF_PROFILE_MPEG4_ADVANCED_REAL_TIME
Definition: avcodec.h:2967
FF_PROFILE_H264_HIGH_422_INTRA
#define FF_PROFILE_H264_HIGH_422_INTRA
Definition: avcodec.h:2946
FF_PROFILE_VC1_ADVANCED
#define FF_PROFILE_VC1_ADVANCED
Definition: avcodec.h:2956
config.h
FF_PROFILE_SBC_MSBC
#define FF_PROFILE_SBC_MSBC
Definition: avcodec.h:3001
ff_vc1_profiles
const AVProfile ff_vc1_profiles[]
Definition: profiles.c:126
FF_PROFILE_H264_MAIN
#define FF_PROFILE_H264_MAIN
Definition: avcodec.h:2939
FF_PROFILE_DNXHR_HQX
#define FF_PROFILE_DNXHR_HQX
Definition: avcodec.h:2917
FF_PROFILE_DTS_HD_MA
#define FF_PROFILE_DTS_HD_MA
Definition: avcodec.h:2924
FF_PROFILE_VC1_COMPLEX
#define FF_PROFILE_VC1_COMPLEX
Definition: avcodec.h:2955
FF_PROFILE_DNXHR_444
#define FF_PROFILE_DNXHR_444
Definition: avcodec.h:2918
FF_PROFILE_H264_HIGH_10
#define FF_PROFILE_H264_HIGH_10
Definition: avcodec.h:2942
FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE
#define FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE
Definition: avcodec.h:2971
FF_PROFILE_AV1_HIGH
#define FF_PROFILE_AV1_HIGH
Definition: avcodec.h:2992
FF_PROFILE_RESERVED
#define FF_PROFILE_RESERVED
Definition: avcodec.h:2900
FF_PROFILE_JPEG2000_DCINEMA_2K
#define FF_PROFILE_JPEG2000_DCINEMA_2K
Definition: avcodec.h:2978
ff_vp9_profiles
const AVProfile ff_vp9_profiles[]
Definition: profiles.c:134
FF_PROFILE_DTS_EXPRESS
#define FF_PROFILE_DTS_EXPRESS
Definition: avcodec.h:2925