]> git.sesse.net Git - ffmpeg/blob - libavcodec/profiles.c
Merge commit '8f144d9e3d5cb2ca92e5bdf7cc9f72effa1bd2ce'
[ffmpeg] / libavcodec / profiles.c
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
26 const AVProfile ff_aac_profiles[] = {
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_LOW,   "LC"   },
34     { FF_PROFILE_AAC_SSR,   "SSR"  },
35     { FF_PROFILE_AAC_LTP,   "LTP"  },
36     { FF_PROFILE_UNKNOWN },
37 };
38
39 const AVProfile ff_dca_profiles[] = {
40     { FF_PROFILE_DTS,         "DTS"         },
41     { FF_PROFILE_DTS_ES,      "DTS-ES"      },
42     { FF_PROFILE_DTS_96_24,   "DTS 96/24"   },
43     { FF_PROFILE_DTS_HD_HRA,  "DTS-HD HRA"  },
44     { FF_PROFILE_DTS_HD_MA,   "DTS-HD MA"   },
45     { FF_PROFILE_DTS_EXPRESS, "DTS Express" },
46     { FF_PROFILE_UNKNOWN },
47 };
48
49 const AVProfile ff_dnxhd_profiles[] = {
50   { FF_PROFILE_DNXHD,      "DNXHD"},
51   { FF_PROFILE_DNXHR_LB,   "DNXHR LB"},
52   { FF_PROFILE_DNXHR_SQ,   "DNXHR SQ"},
53   { FF_PROFILE_DNXHR_HQ,   "DNXHR HQ" },
54   { FF_PROFILE_DNXHR_HQX,  "DNXHR HQX"},
55   { FF_PROFILE_DNXHR_444,  "DNXHR 444"},
56   { FF_PROFILE_UNKNOWN },
57 };
58
59 const AVProfile ff_h264_profiles[] = {
60     { FF_PROFILE_H264_BASELINE,             "Baseline"              },
61     { FF_PROFILE_H264_CONSTRAINED_BASELINE, "Constrained Baseline"  },
62     { FF_PROFILE_H264_MAIN,                 "Main"                  },
63     { FF_PROFILE_H264_EXTENDED,             "Extended"              },
64     { FF_PROFILE_H264_HIGH,                 "High"                  },
65     { FF_PROFILE_H264_HIGH_10,              "High 10"               },
66     { FF_PROFILE_H264_HIGH_10_INTRA,        "High 10 Intra"         },
67     { FF_PROFILE_H264_HIGH_422,             "High 4:2:2"            },
68     { FF_PROFILE_H264_HIGH_422_INTRA,       "High 4:2:2 Intra"      },
69     { FF_PROFILE_H264_HIGH_444,             "High 4:4:4"            },
70     { FF_PROFILE_H264_HIGH_444_PREDICTIVE,  "High 4:4:4 Predictive" },
71     { FF_PROFILE_H264_HIGH_444_INTRA,       "High 4:4:4 Intra"      },
72     { FF_PROFILE_H264_CAVLC_444,            "CAVLC 4:4:4"           },
73     { FF_PROFILE_H264_MULTIVIEW_HIGH,       "Multiview High"        },
74     { FF_PROFILE_H264_STEREO_HIGH,          "Stereo High"           },
75     { FF_PROFILE_UNKNOWN },
76 };
77
78 const AVProfile ff_hevc_profiles[] = {
79     { FF_PROFILE_HEVC_MAIN,                 "Main"                },
80     { FF_PROFILE_HEVC_MAIN_10,              "Main 10"             },
81     { FF_PROFILE_HEVC_MAIN_STILL_PICTURE,   "Main Still Picture"  },
82     { FF_PROFILE_HEVC_REXT,                 "Rext"                },
83     { FF_PROFILE_UNKNOWN },
84 };
85
86 const AVProfile ff_jpeg2000_profiles[] = {
87     { FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0,  "JPEG 2000 codestream restriction 0"   },
88     { FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1,  "JPEG 2000 codestream restriction 1"   },
89     { FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION, "JPEG 2000 no codestream restrictions" },
90     { FF_PROFILE_JPEG2000_DCINEMA_2K,             "JPEG 2000 digital cinema 2K"          },
91     { FF_PROFILE_JPEG2000_DCINEMA_4K,             "JPEG 2000 digital cinema 4K"          },
92     { FF_PROFILE_UNKNOWN },
93 };
94
95 const AVProfile ff_mpeg2_video_profiles[] = {
96     { FF_PROFILE_MPEG2_422,          "4:2:2"              },
97     { FF_PROFILE_MPEG2_HIGH,         "High"               },
98     { FF_PROFILE_MPEG2_SS,           "Spatially Scalable" },
99     { FF_PROFILE_MPEG2_SNR_SCALABLE, "SNR Scalable"       },
100     { FF_PROFILE_MPEG2_MAIN,         "Main"               },
101     { FF_PROFILE_MPEG2_SIMPLE,       "Simple"             },
102     { FF_PROFILE_RESERVED,           "Reserved"           },
103     { FF_PROFILE_RESERVED,           "Reserved"           },
104     { FF_PROFILE_UNKNOWN                                  },
105 };
106
107 const AVProfile ff_mpeg4_video_profiles[] = {
108     { FF_PROFILE_MPEG4_SIMPLE,                    "Simple Profile" },
109     { FF_PROFILE_MPEG4_SIMPLE_SCALABLE,           "Simple Scalable Profile" },
110     { FF_PROFILE_MPEG4_CORE,                      "Core Profile" },
111     { FF_PROFILE_MPEG4_MAIN,                      "Main Profile" },
112     { FF_PROFILE_MPEG4_N_BIT,                     "N-bit Profile" },
113     { FF_PROFILE_MPEG4_SCALABLE_TEXTURE,          "Scalable Texture Profile" },
114     { FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION,     "Simple Face Animation Profile" },
115     { FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE,    "Basic Animated Texture Profile" },
116     { FF_PROFILE_MPEG4_HYBRID,                    "Hybrid Profile" },
117     { FF_PROFILE_MPEG4_ADVANCED_REAL_TIME,        "Advanced Real Time Simple Profile" },
118     { FF_PROFILE_MPEG4_CORE_SCALABLE,             "Code Scalable Profile" },
119     { FF_PROFILE_MPEG4_ADVANCED_CODING,           "Advanced Coding Profile" },
120     { FF_PROFILE_MPEG4_ADVANCED_CORE,             "Advanced Core Profile" },
121     { FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE, "Advanced Scalable Texture Profile" },
122     { FF_PROFILE_MPEG4_SIMPLE_STUDIO,             "Simple Studio Profile" },
123     { FF_PROFILE_MPEG4_ADVANCED_SIMPLE,           "Advanced Simple Profile" },
124     { FF_PROFILE_UNKNOWN },
125 };
126
127 const AVProfile ff_vc1_profiles[] = {
128     { FF_PROFILE_VC1_SIMPLE,   "Simple"   },
129     { FF_PROFILE_VC1_MAIN,     "Main"     },
130     { FF_PROFILE_VC1_COMPLEX,  "Complex"  },
131     { FF_PROFILE_VC1_ADVANCED, "Advanced" },
132     { FF_PROFILE_UNKNOWN },
133 };
134
135 const AVProfile ff_vp9_profiles[] = {
136     { FF_PROFILE_VP9_0, "Profile 0" },
137     { FF_PROFILE_VP9_1, "Profile 1" },
138     { FF_PROFILE_VP9_2, "Profile 2" },
139     { FF_PROFILE_VP9_3, "Profile 3" },
140     { FF_PROFILE_UNKNOWN },
141 };
142
143 const AVProfile ff_av1_profiles[] = {
144     { FF_PROFILE_AV1_MAIN,         "Main" },
145     { FF_PROFILE_AV1_HIGH,         "High" },
146     { FF_PROFILE_AV1_PROFESSIONAL, "Professional" },
147     { FF_PROFILE_UNKNOWN },
148 };
149
150 const AVProfile ff_sbc_profiles[] = {
151     { FF_PROFILE_SBC_MSBC, "mSBC" },
152     { FF_PROFILE_UNKNOWN },
153 };
154
155 #endif /* !CONFIG_SMALL */