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_SSR, "SSR" }, 34 { FF_PROFILE_AAC_LTP, "LTP" }, 35 { FF_PROFILE_UNKNOWN }, 36 }; 37 38 const AVProfile ff_dca_profiles[] = { 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" }, 45 { FF_PROFILE_UNKNOWN }, 46 }; 47 48 const AVProfile ff_dnxhd_profiles[] = { 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"}, 55 { FF_PROFILE_UNKNOWN }, 56 }; 57 58 const AVProfile ff_h264_profiles[] = { 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" }, 74 { FF_PROFILE_UNKNOWN }, 75 }; 76 77 const AVProfile ff_vvc_profiles[] = { 78 { FF_PROFILE_VVC_MAIN_10, "Main 10" }, 79 { FF_PROFILE_VVC_MAIN_10_444, "Main 10 4:4:4" }, 80 { FF_PROFILE_UNKNOWN }, 81 }; 82 83 const AVProfile ff_hevc_profiles[] = { 84 { FF_PROFILE_HEVC_MAIN, "Main" }, 85 { FF_PROFILE_HEVC_MAIN_10, "Main 10" }, 86 { FF_PROFILE_HEVC_MAIN_STILL_PICTURE, "Main Still Picture" }, 87 { FF_PROFILE_HEVC_REXT, "Rext" }, 88 { FF_PROFILE_UNKNOWN }, 89 }; 90 91 const AVProfile ff_jpeg2000_profiles[] = { 92 { FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0, "JPEG 2000 codestream restriction 0" }, 93 { FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1, "JPEG 2000 codestream restriction 1" }, 94 { FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION, "JPEG 2000 no codestream restrictions" }, 95 { FF_PROFILE_JPEG2000_DCINEMA_2K, "JPEG 2000 digital cinema 2K" }, 96 { FF_PROFILE_JPEG2000_DCINEMA_4K, "JPEG 2000 digital cinema 4K" }, 97 { FF_PROFILE_UNKNOWN }, 98 }; 99 100 const AVProfile ff_mpeg2_video_profiles[] = { 101 { FF_PROFILE_MPEG2_422, "4:2:2" }, 102 { FF_PROFILE_MPEG2_HIGH, "High" }, 103 { FF_PROFILE_MPEG2_SS, "Spatially Scalable" }, 104 { FF_PROFILE_MPEG2_SNR_SCALABLE, "SNR Scalable" }, 105 { FF_PROFILE_MPEG2_MAIN, "Main" }, 106 { FF_PROFILE_MPEG2_SIMPLE, "Simple" }, 107 { FF_PROFILE_RESERVED, "Reserved" }, 108 { FF_PROFILE_UNKNOWN }, 109 }; 110 111 const AVProfile ff_mpeg4_video_profiles[] = { 112 { FF_PROFILE_MPEG4_SIMPLE, "Simple Profile" }, 113 { FF_PROFILE_MPEG4_SIMPLE_SCALABLE, "Simple Scalable Profile" }, 114 { FF_PROFILE_MPEG4_CORE, "Core Profile" }, 115 { FF_PROFILE_MPEG4_MAIN, "Main Profile" }, 116 { FF_PROFILE_MPEG4_N_BIT, "N-bit Profile" }, 117 { FF_PROFILE_MPEG4_SCALABLE_TEXTURE, "Scalable Texture Profile" }, 118 { FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION, "Simple Face Animation Profile" }, 119 { FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE, "Basic Animated Texture Profile" }, 120 { FF_PROFILE_MPEG4_HYBRID, "Hybrid Profile" }, 121 { FF_PROFILE_MPEG4_ADVANCED_REAL_TIME, "Advanced Real Time Simple Profile" }, 122 { FF_PROFILE_MPEG4_CORE_SCALABLE, "Code Scalable Profile" }, 123 { FF_PROFILE_MPEG4_ADVANCED_CODING, "Advanced Coding Profile" }, 124 { FF_PROFILE_MPEG4_ADVANCED_CORE, "Advanced Core Profile" }, 125 { FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE, "Advanced Scalable Texture Profile" }, 126 { FF_PROFILE_MPEG4_SIMPLE_STUDIO, "Simple Studio Profile" }, 127 { FF_PROFILE_MPEG4_ADVANCED_SIMPLE, "Advanced Simple Profile" }, 128 { FF_PROFILE_UNKNOWN }, 129 }; 130 131 const AVProfile ff_vc1_profiles[] = { 132 { FF_PROFILE_VC1_SIMPLE, "Simple" }, 133 { FF_PROFILE_VC1_MAIN, "Main" }, 134 { FF_PROFILE_VC1_COMPLEX, "Complex" }, 135 { FF_PROFILE_VC1_ADVANCED, "Advanced" }, 136 { FF_PROFILE_UNKNOWN }, 137 }; 138 139 const AVProfile ff_vp9_profiles[] = { 140 { FF_PROFILE_VP9_0, "Profile 0" }, 141 { FF_PROFILE_VP9_1, "Profile 1" }, 142 { FF_PROFILE_VP9_2, "Profile 2" }, 143 { FF_PROFILE_VP9_3, "Profile 3" }, 144 { FF_PROFILE_UNKNOWN }, 145 }; 146 147 const AVProfile ff_av1_profiles[] = { 148 { FF_PROFILE_AV1_MAIN, "Main" }, 149 { FF_PROFILE_AV1_HIGH, "High" }, 150 { FF_PROFILE_AV1_PROFESSIONAL, "Professional" }, 151 { FF_PROFILE_UNKNOWN }, 152 }; 153 154 const AVProfile ff_sbc_profiles[] = { 155 { FF_PROFILE_SBC_MSBC, "mSBC" }, 156 { FF_PROFILE_UNKNOWN }, 157 }; 158 159 const AVProfile ff_prores_profiles[] = { 160 { FF_PROFILE_PRORES_PROXY, "Proxy" }, 161 { FF_PROFILE_PRORES_LT, "LT" }, 162 { FF_PROFILE_PRORES_STANDARD, "Standard" }, 163 { FF_PROFILE_PRORES_HQ, "HQ" }, 164 { FF_PROFILE_PRORES_4444, "4444" }, 165 { FF_PROFILE_PRORES_XQ, "XQ" }, 166 { FF_PROFILE_UNKNOWN } 167 }; 168 169 const AVProfile ff_mjpeg_profiles[] = { 170 { FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT, "Baseline" }, 171 { FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT, "Sequential" }, 172 { FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT, "Progressive" }, 173 { FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS, "Lossless" }, 174 { FF_PROFILE_MJPEG_JPEG_LS, "JPEG LS" }, 175 { FF_PROFILE_UNKNOWN } 176 }; 177 178 const AVProfile ff_arib_caption_profiles[] = { 179 { FF_PROFILE_ARIB_PROFILE_A, "Profile A" }, 180 { FF_PROFILE_ARIB_PROFILE_C, "Profile C" }, 181 { FF_PROFILE_UNKNOWN } 182 }; 183 184 #endif /* !CONFIG_SMALL */ 185