tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

codec_desc.c (139898B)


      1 /*
      2 * This file is part of FFmpeg.
      3 *
      4 * This table was generated from the long and short names of AVCodecs
      5 * please see the respective codec sources for authorship
      6 *
      7 * FFmpeg is free software; you can redistribute it and/or
      8 * modify it under the terms of the GNU Lesser General Public
      9 * License as published by the Free Software Foundation; either
     10 * version 2.1 of the License, or (at your option) any later version.
     11 *
     12 * FFmpeg is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     15 * Lesser General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU Lesser General Public
     18 * License along with FFmpeg; if not, write to the Free Software
     19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
     20 */
     21 
     22 #include <stdlib.h>
     23 #include <string.h>
     24 
     25 #include "libavutil/internal.h"
     26 #include "libavutil/macros.h"
     27 
     28 #include "codec_id.h"
     29 #include "codec_desc.h"
     30 #include "profiles.h"
     31 
     32 #define MT(...) (const char *const[]){ __VA_ARGS__, NULL }
     33 
     34 static const AVCodecDescriptor codec_descriptors[] = {
     35    /* video codecs */
     36    {
     37        .id        = AV_CODEC_ID_MPEG1VIDEO,
     38        .type      = AVMEDIA_TYPE_VIDEO,
     39        .name      = "mpeg1video",
     40        .long_name = NULL_IF_CONFIG_SMALL("MPEG-1 video"),
     41        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER |
     42                     // FIXME this is strigly speaking not true, as MPEG-1 does
     43                     // not allow field coding, but our mpeg12 code (decoder and
     44                     // parser) can sometimes change codec id at runtime, so
     45                     // this is safer
     46                     AV_CODEC_PROP_FIELDS,
     47    },
     48    {
     49        .id        = AV_CODEC_ID_MPEG2VIDEO,
     50        .type      = AVMEDIA_TYPE_VIDEO,
     51        .name      = "mpeg2video",
     52        .long_name = NULL_IF_CONFIG_SMALL("MPEG-2 video"),
     53        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER |
     54                     AV_CODEC_PROP_FIELDS,
     55        .profiles  = NULL_IF_CONFIG_SMALL(ff_mpeg2_video_profiles),
     56    },
     57    {
     58        .id        = AV_CODEC_ID_H261,
     59        .type      = AVMEDIA_TYPE_VIDEO,
     60        .name      = "h261",
     61        .long_name = NULL_IF_CONFIG_SMALL("H.261"),
     62        .props     = AV_CODEC_PROP_LOSSY,
     63    },
     64    {
     65        .id        = AV_CODEC_ID_H263,
     66        .type      = AVMEDIA_TYPE_VIDEO,
     67        .name      = "h263",
     68        .long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2"),
     69        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
     70    },
     71    {
     72        .id        = AV_CODEC_ID_RV10,
     73        .type      = AVMEDIA_TYPE_VIDEO,
     74        .name      = "rv10",
     75        .long_name = NULL_IF_CONFIG_SMALL("RealVideo 1.0"),
     76        .props     = AV_CODEC_PROP_LOSSY,
     77    },
     78    {
     79        .id        = AV_CODEC_ID_RV20,
     80        .type      = AVMEDIA_TYPE_VIDEO,
     81        .name      = "rv20",
     82        .long_name = NULL_IF_CONFIG_SMALL("RealVideo 2.0"),
     83        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
     84    },
     85    {
     86        .id        = AV_CODEC_ID_MJPEG,
     87        .type      = AVMEDIA_TYPE_VIDEO,
     88        .name      = "mjpeg",
     89        .long_name = NULL_IF_CONFIG_SMALL("Motion JPEG"),
     90        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
     91        .mime_types= MT("image/jpeg"),
     92        .profiles  = NULL_IF_CONFIG_SMALL(ff_mjpeg_profiles),
     93    },
     94    {
     95        .id        = AV_CODEC_ID_MJPEGB,
     96        .type      = AVMEDIA_TYPE_VIDEO,
     97        .name      = "mjpegb",
     98        .long_name = NULL_IF_CONFIG_SMALL("Apple MJPEG-B"),
     99        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    100    },
    101    {
    102        .id        = AV_CODEC_ID_LJPEG,
    103        .type      = AVMEDIA_TYPE_VIDEO,
    104        .name      = "ljpeg",
    105        .long_name = NULL_IF_CONFIG_SMALL("Lossless JPEG"),
    106        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    107    },
    108    {
    109        .id        = AV_CODEC_ID_SP5X,
    110        .type      = AVMEDIA_TYPE_VIDEO,
    111        .name      = "sp5x",
    112        .long_name = NULL_IF_CONFIG_SMALL("Sunplus JPEG (SP5X)"),
    113        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    114    },
    115    {
    116        .id        = AV_CODEC_ID_JPEGLS,
    117        .type      = AVMEDIA_TYPE_VIDEO,
    118        .name      = "jpegls",
    119        .long_name = NULL_IF_CONFIG_SMALL("JPEG-LS"),
    120        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
    121                     AV_CODEC_PROP_LOSSLESS,
    122    },
    123    {
    124        .id        = AV_CODEC_ID_MPEG4,
    125        .type      = AVMEDIA_TYPE_VIDEO,
    126        .name      = "mpeg4",
    127        .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2"),
    128        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
    129        .profiles  = NULL_IF_CONFIG_SMALL(ff_mpeg4_video_profiles),
    130    },
    131    {
    132        .id        = AV_CODEC_ID_RAWVIDEO,
    133        .type      = AVMEDIA_TYPE_VIDEO,
    134        .name      = "rawvideo",
    135        .long_name = NULL_IF_CONFIG_SMALL("raw video"),
    136        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    137    },
    138    {
    139        .id        = AV_CODEC_ID_MSMPEG4V1,
    140        .type      = AVMEDIA_TYPE_VIDEO,
    141        .name      = "msmpeg4v1",
    142        .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 1"),
    143        .props     = AV_CODEC_PROP_LOSSY,
    144    },
    145    {
    146        .id        = AV_CODEC_ID_MSMPEG4V2,
    147        .type      = AVMEDIA_TYPE_VIDEO,
    148        .name      = "msmpeg4v2",
    149        .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 2"),
    150        .props     = AV_CODEC_PROP_LOSSY,
    151    },
    152    {
    153        .id        = AV_CODEC_ID_MSMPEG4V3,
    154        .type      = AVMEDIA_TYPE_VIDEO,
    155        .name      = "msmpeg4v3",
    156        .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 3"),
    157        .props     = AV_CODEC_PROP_LOSSY,
    158    },
    159    {
    160        .id        = AV_CODEC_ID_WMV1,
    161        .type      = AVMEDIA_TYPE_VIDEO,
    162        .name      = "wmv1",
    163        .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 7"),
    164        .props     = AV_CODEC_PROP_LOSSY,
    165    },
    166    {
    167        .id        = AV_CODEC_ID_WMV2,
    168        .type      = AVMEDIA_TYPE_VIDEO,
    169        .name      = "wmv2",
    170        .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 8"),
    171        .props     = AV_CODEC_PROP_LOSSY,
    172    },
    173    {
    174        .id        = AV_CODEC_ID_H263P,
    175        .type      = AVMEDIA_TYPE_VIDEO,
    176        .name      = "h263p",
    177        .long_name = NULL_IF_CONFIG_SMALL("H.263+ / H.263-1998 / H.263 version 2"),
    178        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
    179    },
    180    {
    181        .id        = AV_CODEC_ID_H263I,
    182        .type      = AVMEDIA_TYPE_VIDEO,
    183        .name      = "h263i",
    184        .long_name = NULL_IF_CONFIG_SMALL("Intel H.263"),
    185        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
    186    },
    187    {
    188        .id        = AV_CODEC_ID_FLV1,
    189        .type      = AVMEDIA_TYPE_VIDEO,
    190        .name      = "flv1",
    191        .long_name = NULL_IF_CONFIG_SMALL("FLV / Sorenson Spark / Sorenson H.263 (Flash Video)"),
    192        .props     = AV_CODEC_PROP_LOSSY,
    193    },
    194    {
    195        .id        = AV_CODEC_ID_SVQ1,
    196        .type      = AVMEDIA_TYPE_VIDEO,
    197        .name      = "svq1",
    198        .long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1"),
    199        .props     = AV_CODEC_PROP_LOSSY,
    200    },
    201    {
    202        .id        = AV_CODEC_ID_SVQ3,
    203        .type      = AVMEDIA_TYPE_VIDEO,
    204        .name      = "svq3",
    205        .long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3"),
    206        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
    207    },
    208    {
    209        .id        = AV_CODEC_ID_DVVIDEO,
    210        .type      = AVMEDIA_TYPE_VIDEO,
    211        .name      = "dvvideo",
    212        .long_name = NULL_IF_CONFIG_SMALL("DV (Digital Video)"),
    213        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    214    },
    215    {
    216        .id        = AV_CODEC_ID_HUFFYUV,
    217        .type      = AVMEDIA_TYPE_VIDEO,
    218        .name      = "huffyuv",
    219        .long_name = NULL_IF_CONFIG_SMALL("HuffYUV"),
    220        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    221    },
    222    {
    223        .id        = AV_CODEC_ID_CYUV,
    224        .type      = AVMEDIA_TYPE_VIDEO,
    225        .name      = "cyuv",
    226        .long_name = NULL_IF_CONFIG_SMALL("Creative YUV (CYUV)"),
    227        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    228    },
    229    {
    230        .id        = AV_CODEC_ID_H264,
    231        .type      = AVMEDIA_TYPE_VIDEO,
    232        .name      = "h264",
    233        .long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
    234        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS |
    235                     AV_CODEC_PROP_REORDER | AV_CODEC_PROP_FIELDS,
    236        .profiles  = NULL_IF_CONFIG_SMALL(ff_h264_profiles),
    237    },
    238    {
    239        .id        = AV_CODEC_ID_INDEO3,
    240        .type      = AVMEDIA_TYPE_VIDEO,
    241        .name      = "indeo3",
    242        .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo 3"),
    243        .props     = AV_CODEC_PROP_LOSSY,
    244    },
    245    {
    246        .id        = AV_CODEC_ID_VP3,
    247        .type      = AVMEDIA_TYPE_VIDEO,
    248        .name      = "vp3",
    249        .long_name = NULL_IF_CONFIG_SMALL("On2 VP3"),
    250        .props     = AV_CODEC_PROP_LOSSY,
    251    },
    252    {
    253        .id        = AV_CODEC_ID_THEORA,
    254        .type      = AVMEDIA_TYPE_VIDEO,
    255        .name      = "theora",
    256        .long_name = NULL_IF_CONFIG_SMALL("Theora"),
    257        .props     = AV_CODEC_PROP_LOSSY,
    258    },
    259    {
    260        .id        = AV_CODEC_ID_ASV1,
    261        .type      = AVMEDIA_TYPE_VIDEO,
    262        .name      = "asv1",
    263        .long_name = NULL_IF_CONFIG_SMALL("ASUS V1"),
    264        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    265    },
    266    {
    267        .id        = AV_CODEC_ID_ASV2,
    268        .type      = AVMEDIA_TYPE_VIDEO,
    269        .name      = "asv2",
    270        .long_name = NULL_IF_CONFIG_SMALL("ASUS V2"),
    271        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    272    },
    273    {
    274        .id        = AV_CODEC_ID_FFV1,
    275        .type      = AVMEDIA_TYPE_VIDEO,
    276        .name      = "ffv1",
    277        .long_name = NULL_IF_CONFIG_SMALL("FFmpeg video codec #1"),
    278        .props     = AV_CODEC_PROP_LOSSLESS,
    279    },
    280    {
    281        .id        = AV_CODEC_ID_4XM,
    282        .type      = AVMEDIA_TYPE_VIDEO,
    283        .name      = "4xm",
    284        .long_name = NULL_IF_CONFIG_SMALL("4X Movie"),
    285        .props     = AV_CODEC_PROP_LOSSY,
    286    },
    287    {
    288        .id        = AV_CODEC_ID_VCR1,
    289        .type      = AVMEDIA_TYPE_VIDEO,
    290        .name      = "vcr1",
    291        .long_name = NULL_IF_CONFIG_SMALL("ATI VCR1"),
    292        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    293    },
    294    {
    295        .id        = AV_CODEC_ID_CLJR,
    296        .type      = AVMEDIA_TYPE_VIDEO,
    297        .name      = "cljr",
    298        .long_name = NULL_IF_CONFIG_SMALL("Cirrus Logic AccuPak"),
    299        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    300    },
    301    {
    302        .id        = AV_CODEC_ID_MDEC,
    303        .type      = AVMEDIA_TYPE_VIDEO,
    304        .name      = "mdec",
    305        .long_name = NULL_IF_CONFIG_SMALL("Sony PlayStation MDEC (Motion DECoder)"),
    306        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    307    },
    308    {
    309        .id        = AV_CODEC_ID_ROQ,
    310        .type      = AVMEDIA_TYPE_VIDEO,
    311        .name      = "roq",
    312        .long_name = NULL_IF_CONFIG_SMALL("id RoQ video"),
    313        .props     = AV_CODEC_PROP_LOSSY,
    314    },
    315    {
    316        .id        = AV_CODEC_ID_INTERPLAY_VIDEO,
    317        .type      = AVMEDIA_TYPE_VIDEO,
    318        .name      = "interplayvideo",
    319        .long_name = NULL_IF_CONFIG_SMALL("Interplay MVE video"),
    320        .props     = AV_CODEC_PROP_LOSSY,
    321    },
    322    {
    323        .id        = AV_CODEC_ID_XAN_WC3,
    324        .type      = AVMEDIA_TYPE_VIDEO,
    325        .name      = "xan_wc3",
    326        .long_name = NULL_IF_CONFIG_SMALL("Wing Commander III / Xan"),
    327        .props     = AV_CODEC_PROP_LOSSY,
    328    },
    329    {
    330        .id        = AV_CODEC_ID_XAN_WC4,
    331        .type      = AVMEDIA_TYPE_VIDEO,
    332        .name      = "xan_wc4",
    333        .long_name = NULL_IF_CONFIG_SMALL("Wing Commander IV / Xxan"),
    334        .props     = AV_CODEC_PROP_LOSSY,
    335    },
    336    {
    337        .id        = AV_CODEC_ID_RPZA,
    338        .type      = AVMEDIA_TYPE_VIDEO,
    339        .name      = "rpza",
    340        .long_name = NULL_IF_CONFIG_SMALL("QuickTime video (RPZA)"),
    341        .props     = AV_CODEC_PROP_LOSSY,
    342    },
    343    {
    344        .id        = AV_CODEC_ID_CINEPAK,
    345        .type      = AVMEDIA_TYPE_VIDEO,
    346        .name      = "cinepak",
    347        .long_name = NULL_IF_CONFIG_SMALL("Cinepak"),
    348        .props     = AV_CODEC_PROP_LOSSY,
    349    },
    350    {
    351        .id        = AV_CODEC_ID_WS_VQA,
    352        .type      = AVMEDIA_TYPE_VIDEO,
    353        .name      = "ws_vqa",
    354        .long_name = NULL_IF_CONFIG_SMALL("Westwood Studios VQA (Vector Quantized Animation) video"),
    355        .props     = AV_CODEC_PROP_LOSSY,
    356    },
    357    {
    358        .id        = AV_CODEC_ID_MSRLE,
    359        .type      = AVMEDIA_TYPE_VIDEO,
    360        .name      = "msrle",
    361        .long_name = NULL_IF_CONFIG_SMALL("Microsoft RLE"),
    362        .props     = AV_CODEC_PROP_LOSSLESS,
    363    },
    364    {
    365        .id        = AV_CODEC_ID_MSVIDEO1,
    366        .type      = AVMEDIA_TYPE_VIDEO,
    367        .name      = "msvideo1",
    368        .long_name = NULL_IF_CONFIG_SMALL("Microsoft Video 1"),
    369        .props     = AV_CODEC_PROP_LOSSY,
    370    },
    371    {
    372        .id        = AV_CODEC_ID_IDCIN,
    373        .type      = AVMEDIA_TYPE_VIDEO,
    374        .name      = "idcin",
    375        .long_name = NULL_IF_CONFIG_SMALL("id Quake II CIN video"),
    376        .props     = AV_CODEC_PROP_LOSSY,
    377    },
    378    {
    379        .id        = AV_CODEC_ID_8BPS,
    380        .type      = AVMEDIA_TYPE_VIDEO,
    381        .name      = "8bps",
    382        .long_name = NULL_IF_CONFIG_SMALL("QuickTime 8BPS video"),
    383        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    384    },
    385    {
    386        .id        = AV_CODEC_ID_SMC,
    387        .type      = AVMEDIA_TYPE_VIDEO,
    388        .name      = "smc",
    389        .long_name = NULL_IF_CONFIG_SMALL("QuickTime Graphics (SMC)"),
    390        .props     = AV_CODEC_PROP_LOSSY,
    391    },
    392    {
    393        .id        = AV_CODEC_ID_FLIC,
    394        .type      = AVMEDIA_TYPE_VIDEO,
    395        .name      = "flic",
    396        .long_name = NULL_IF_CONFIG_SMALL("Autodesk Animator Flic video"),
    397        .props     = AV_CODEC_PROP_LOSSLESS,
    398    },
    399    {
    400        .id        = AV_CODEC_ID_TRUEMOTION1,
    401        .type      = AVMEDIA_TYPE_VIDEO,
    402        .name      = "truemotion1",
    403        .long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 1.0"),
    404        .props     = AV_CODEC_PROP_LOSSY,
    405    },
    406    {
    407        .id        = AV_CODEC_ID_VMDVIDEO,
    408        .type      = AVMEDIA_TYPE_VIDEO,
    409        .name      = "vmdvideo",
    410        .long_name = NULL_IF_CONFIG_SMALL("Sierra VMD video"),
    411        .props     = AV_CODEC_PROP_LOSSY,
    412    },
    413    {
    414        .id        = AV_CODEC_ID_MSZH,
    415        .type      = AVMEDIA_TYPE_VIDEO,
    416        .name      = "mszh",
    417        .long_name = NULL_IF_CONFIG_SMALL("LCL (LossLess Codec Library) MSZH"),
    418        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    419    },
    420    {
    421        .id        = AV_CODEC_ID_ZLIB,
    422        .type      = AVMEDIA_TYPE_VIDEO,
    423        .name      = "zlib",
    424        .long_name = NULL_IF_CONFIG_SMALL("LCL (LossLess Codec Library) ZLIB"),
    425        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    426    },
    427    {
    428        .id        = AV_CODEC_ID_QTRLE,
    429        .type      = AVMEDIA_TYPE_VIDEO,
    430        .name      = "qtrle",
    431        .long_name = NULL_IF_CONFIG_SMALL("QuickTime Animation (RLE) video"),
    432        .props     = AV_CODEC_PROP_LOSSLESS,
    433    },
    434    {
    435        .id        = AV_CODEC_ID_TSCC,
    436        .type      = AVMEDIA_TYPE_VIDEO,
    437        .name      = "tscc",
    438        .long_name = NULL_IF_CONFIG_SMALL("TechSmith Screen Capture Codec"),
    439        .props     = AV_CODEC_PROP_LOSSLESS,
    440    },
    441    {
    442        .id        = AV_CODEC_ID_ULTI,
    443        .type      = AVMEDIA_TYPE_VIDEO,
    444        .name      = "ulti",
    445        .long_name = NULL_IF_CONFIG_SMALL("IBM UltiMotion"),
    446        .props     = AV_CODEC_PROP_LOSSY,
    447    },
    448    {
    449        .id        = AV_CODEC_ID_QDRAW,
    450        .type      = AVMEDIA_TYPE_VIDEO,
    451        .name      = "qdraw",
    452        .long_name = NULL_IF_CONFIG_SMALL("Apple QuickDraw"),
    453        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    454    },
    455    {
    456        .id        = AV_CODEC_ID_VIXL,
    457        .type      = AVMEDIA_TYPE_VIDEO,
    458        .name      = "vixl",
    459        .long_name = NULL_IF_CONFIG_SMALL("Miro VideoXL"),
    460        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    461    },
    462    {
    463        .id        = AV_CODEC_ID_QPEG,
    464        .type      = AVMEDIA_TYPE_VIDEO,
    465        .name      = "qpeg",
    466        .long_name = NULL_IF_CONFIG_SMALL("Q-team QPEG"),
    467        .props     = AV_CODEC_PROP_LOSSY,
    468    },
    469    {
    470        .id        = AV_CODEC_ID_PNG,
    471        .type      = AVMEDIA_TYPE_VIDEO,
    472        .name      = "png",
    473        .long_name = NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"),
    474        .props     = AV_CODEC_PROP_LOSSLESS,
    475        .mime_types= MT("image/png"),
    476    },
    477    {
    478        .id        = AV_CODEC_ID_PPM,
    479        .type      = AVMEDIA_TYPE_VIDEO,
    480        .name      = "ppm",
    481        .long_name = NULL_IF_CONFIG_SMALL("PPM (Portable PixelMap) image"),
    482        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    483    },
    484    {
    485        .id        = AV_CODEC_ID_PBM,
    486        .type      = AVMEDIA_TYPE_VIDEO,
    487        .name      = "pbm",
    488        .long_name = NULL_IF_CONFIG_SMALL("PBM (Portable BitMap) image"),
    489        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    490    },
    491    {
    492        .id        = AV_CODEC_ID_PGM,
    493        .type      = AVMEDIA_TYPE_VIDEO,
    494        .name      = "pgm",
    495        .long_name = NULL_IF_CONFIG_SMALL("PGM (Portable GrayMap) image"),
    496        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    497    },
    498    {
    499        .id        = AV_CODEC_ID_PGMYUV,
    500        .type      = AVMEDIA_TYPE_VIDEO,
    501        .name      = "pgmyuv",
    502        .long_name = NULL_IF_CONFIG_SMALL("PGMYUV (Portable GrayMap YUV) image"),
    503        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    504    },
    505    {
    506        .id        = AV_CODEC_ID_PAM,
    507        .type      = AVMEDIA_TYPE_VIDEO,
    508        .name      = "pam",
    509        .long_name = NULL_IF_CONFIG_SMALL("PAM (Portable AnyMap) image"),
    510        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    511        .mime_types= MT("image/x-portable-pixmap"),
    512    },
    513    {
    514        .id        = AV_CODEC_ID_FFVHUFF,
    515        .type      = AVMEDIA_TYPE_VIDEO,
    516        .name      = "ffvhuff",
    517        .long_name = NULL_IF_CONFIG_SMALL("Huffyuv FFmpeg variant"),
    518        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    519    },
    520    {
    521        .id        = AV_CODEC_ID_RV30,
    522        .type      = AVMEDIA_TYPE_VIDEO,
    523        .name      = "rv30",
    524        .long_name = NULL_IF_CONFIG_SMALL("RealVideo 3.0"),
    525        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
    526    },
    527    {
    528        .id        = AV_CODEC_ID_RV40,
    529        .type      = AVMEDIA_TYPE_VIDEO,
    530        .name      = "rv40",
    531        .long_name = NULL_IF_CONFIG_SMALL("RealVideo 4.0"),
    532        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
    533    },
    534    {
    535        .id        = AV_CODEC_ID_VC1,
    536        .type      = AVMEDIA_TYPE_VIDEO,
    537        .name      = "vc1",
    538        .long_name = NULL_IF_CONFIG_SMALL("SMPTE VC-1"),
    539        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER |
    540                     AV_CODEC_PROP_FIELDS,
    541        .profiles  = NULL_IF_CONFIG_SMALL(ff_vc1_profiles),
    542    },
    543    {
    544        .id        = AV_CODEC_ID_WMV3,
    545        .type      = AVMEDIA_TYPE_VIDEO,
    546        .name      = "wmv3",
    547        .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9"),
    548        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
    549        .profiles  = NULL_IF_CONFIG_SMALL(ff_vc1_profiles),
    550    },
    551    {
    552        .id        = AV_CODEC_ID_LOCO,
    553        .type      = AVMEDIA_TYPE_VIDEO,
    554        .name      = "loco",
    555        .long_name = NULL_IF_CONFIG_SMALL("LOCO"),
    556        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    557    },
    558    {
    559        .id        = AV_CODEC_ID_WNV1,
    560        .type      = AVMEDIA_TYPE_VIDEO,
    561        .name      = "wnv1",
    562        .long_name = NULL_IF_CONFIG_SMALL("Winnov WNV1"),
    563        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    564    },
    565    {
    566        .id        = AV_CODEC_ID_AASC,
    567        .type      = AVMEDIA_TYPE_VIDEO,
    568        .name      = "aasc",
    569        .long_name = NULL_IF_CONFIG_SMALL("Autodesk RLE"),
    570        .props     = AV_CODEC_PROP_LOSSLESS,
    571    },
    572    {
    573        .id        = AV_CODEC_ID_INDEO2,
    574        .type      = AVMEDIA_TYPE_VIDEO,
    575        .name      = "indeo2",
    576        .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo 2"),
    577        .props     = AV_CODEC_PROP_LOSSY,
    578    },
    579    {
    580        .id        = AV_CODEC_ID_FRAPS,
    581        .type      = AVMEDIA_TYPE_VIDEO,
    582        .name      = "fraps",
    583        .long_name = NULL_IF_CONFIG_SMALL("Fraps"),
    584        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    585    },
    586    {
    587        .id        = AV_CODEC_ID_TRUEMOTION2,
    588        .type      = AVMEDIA_TYPE_VIDEO,
    589        .name      = "truemotion2",
    590        .long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 2.0"),
    591        .props     = AV_CODEC_PROP_LOSSY,
    592    },
    593    {
    594        .id        = AV_CODEC_ID_BMP,
    595        .type      = AVMEDIA_TYPE_VIDEO,
    596        .name      = "bmp",
    597        .long_name = NULL_IF_CONFIG_SMALL("BMP (Windows and OS/2 bitmap)"),
    598        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    599        .mime_types= MT("image/x-ms-bmp"),
    600    },
    601    {
    602        .id        = AV_CODEC_ID_CSCD,
    603        .type      = AVMEDIA_TYPE_VIDEO,
    604        .name      = "cscd",
    605        .long_name = NULL_IF_CONFIG_SMALL("CamStudio"),
    606        .props     = AV_CODEC_PROP_LOSSLESS,
    607    },
    608    {
    609        .id        = AV_CODEC_ID_MMVIDEO,
    610        .type      = AVMEDIA_TYPE_VIDEO,
    611        .name      = "mmvideo",
    612        .long_name = NULL_IF_CONFIG_SMALL("American Laser Games MM Video"),
    613        .props     = AV_CODEC_PROP_LOSSY,
    614    },
    615    {
    616        .id        = AV_CODEC_ID_ZMBV,
    617        .type      = AVMEDIA_TYPE_VIDEO,
    618        .name      = "zmbv",
    619        .long_name = NULL_IF_CONFIG_SMALL("Zip Motion Blocks Video"),
    620        .props     = AV_CODEC_PROP_LOSSLESS,
    621    },
    622    {
    623        .id        = AV_CODEC_ID_AVS,
    624        .type      = AVMEDIA_TYPE_VIDEO,
    625        .name      = "avs",
    626        .long_name = NULL_IF_CONFIG_SMALL("AVS (Audio Video Standard) video"),
    627        .props     = AV_CODEC_PROP_LOSSY,
    628    },
    629    {
    630        .id        = AV_CODEC_ID_SMACKVIDEO,
    631        .type      = AVMEDIA_TYPE_VIDEO,
    632        .name      = "smackvideo",
    633        .long_name = NULL_IF_CONFIG_SMALL("Smacker video"),
    634        .props     = AV_CODEC_PROP_LOSSY,
    635    },
    636    {
    637        .id        = AV_CODEC_ID_NUV,
    638        .type      = AVMEDIA_TYPE_VIDEO,
    639        .name      = "nuv",
    640        .long_name = NULL_IF_CONFIG_SMALL("NuppelVideo/RTJPEG"),
    641        .props     = AV_CODEC_PROP_LOSSY,
    642    },
    643    {
    644        .id        = AV_CODEC_ID_KMVC,
    645        .type      = AVMEDIA_TYPE_VIDEO,
    646        .name      = "kmvc",
    647        .long_name = NULL_IF_CONFIG_SMALL("Karl Morton's video codec"),
    648        .props     = AV_CODEC_PROP_LOSSY,
    649    },
    650    {
    651        .id        = AV_CODEC_ID_FLASHSV,
    652        .type      = AVMEDIA_TYPE_VIDEO,
    653        .name      = "flashsv",
    654        .long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video v1"),
    655        .props     = AV_CODEC_PROP_LOSSLESS,
    656    },
    657    {
    658        .id        = AV_CODEC_ID_CAVS,
    659        .type      = AVMEDIA_TYPE_VIDEO,
    660        .name      = "cavs",
    661        .long_name = NULL_IF_CONFIG_SMALL("Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile)"),
    662        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
    663    },
    664    {
    665        .id        = AV_CODEC_ID_JPEG2000,
    666        .type      = AVMEDIA_TYPE_VIDEO,
    667        .name      = "jpeg2000",
    668        .long_name = NULL_IF_CONFIG_SMALL("JPEG 2000"),
    669        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
    670                     AV_CODEC_PROP_LOSSLESS,
    671        .mime_types= MT("image/jp2"),
    672        .profiles  = NULL_IF_CONFIG_SMALL(ff_jpeg2000_profiles),
    673    },
    674    {
    675        .id        = AV_CODEC_ID_VMNC,
    676        .type      = AVMEDIA_TYPE_VIDEO,
    677        .name      = "vmnc",
    678        .long_name = NULL_IF_CONFIG_SMALL("VMware Screen Codec / VMware Video"),
    679        .props     = AV_CODEC_PROP_LOSSLESS,
    680    },
    681    {
    682        .id        = AV_CODEC_ID_VP5,
    683        .type      = AVMEDIA_TYPE_VIDEO,
    684        .name      = "vp5",
    685        .long_name = NULL_IF_CONFIG_SMALL("On2 VP5"),
    686        .props     = AV_CODEC_PROP_LOSSY,
    687    },
    688    {
    689        .id        = AV_CODEC_ID_VP6,
    690        .type      = AVMEDIA_TYPE_VIDEO,
    691        .name      = "vp6",
    692        .long_name = NULL_IF_CONFIG_SMALL("On2 VP6"),
    693        .props     = AV_CODEC_PROP_LOSSY,
    694    },
    695    {
    696        .id        = AV_CODEC_ID_VP6F,
    697        .type      = AVMEDIA_TYPE_VIDEO,
    698        .name      = "vp6f",
    699        .long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version)"),
    700        .props     = AV_CODEC_PROP_LOSSY,
    701    },
    702    {
    703        .id        = AV_CODEC_ID_TARGA,
    704        .type      = AVMEDIA_TYPE_VIDEO,
    705        .name      = "targa",
    706        .long_name = NULL_IF_CONFIG_SMALL("Truevision Targa image"),
    707        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    708        .mime_types= MT("image/x-targa", "image/x-tga"),
    709    },
    710    {
    711        .id        = AV_CODEC_ID_DSICINVIDEO,
    712        .type      = AVMEDIA_TYPE_VIDEO,
    713        .name      = "dsicinvideo",
    714        .long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN video"),
    715        .props     = AV_CODEC_PROP_LOSSY,
    716    },
    717    {
    718        .id        = AV_CODEC_ID_TIERTEXSEQVIDEO,
    719        .type      = AVMEDIA_TYPE_VIDEO,
    720        .name      = "tiertexseqvideo",
    721        .long_name = NULL_IF_CONFIG_SMALL("Tiertex Limited SEQ video"),
    722        .props     = AV_CODEC_PROP_LOSSY,
    723    },
    724    {
    725        .id        = AV_CODEC_ID_TIFF,
    726        .type      = AVMEDIA_TYPE_VIDEO,
    727        .name      = "tiff",
    728        .long_name = NULL_IF_CONFIG_SMALL("TIFF image"),
    729        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    730        .mime_types= MT("image/tiff"),
    731    },
    732    {
    733        .id        = AV_CODEC_ID_GIF,
    734        .type      = AVMEDIA_TYPE_VIDEO,
    735        .name      = "gif",
    736        .long_name = NULL_IF_CONFIG_SMALL("CompuServe GIF (Graphics Interchange Format)"),
    737        .props     = AV_CODEC_PROP_LOSSLESS,
    738        .mime_types= MT("image/gif"),
    739    },
    740    {
    741        .id        = AV_CODEC_ID_DXA,
    742        .type      = AVMEDIA_TYPE_VIDEO,
    743        .name      = "dxa",
    744        .long_name = NULL_IF_CONFIG_SMALL("Feeble Files/ScummVM DXA"),
    745        .props     = AV_CODEC_PROP_LOSSLESS,
    746    },
    747    {
    748        .id        = AV_CODEC_ID_DNXHD,
    749        .type      = AVMEDIA_TYPE_VIDEO,
    750        .name      = "dnxhd",
    751        .long_name = NULL_IF_CONFIG_SMALL("VC3/DNxHD"),
    752        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    753        .profiles  = NULL_IF_CONFIG_SMALL(ff_dnxhd_profiles),
    754    },
    755    {
    756        .id        = AV_CODEC_ID_THP,
    757        .type      = AVMEDIA_TYPE_VIDEO,
    758        .name      = "thp",
    759        .long_name = NULL_IF_CONFIG_SMALL("Nintendo Gamecube THP video"),
    760        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    761    },
    762    {
    763        .id        = AV_CODEC_ID_SGI,
    764        .type      = AVMEDIA_TYPE_VIDEO,
    765        .name      = "sgi",
    766        .long_name = NULL_IF_CONFIG_SMALL("SGI image"),
    767        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    768    },
    769    {
    770        .id        = AV_CODEC_ID_C93,
    771        .type      = AVMEDIA_TYPE_VIDEO,
    772        .name      = "c93",
    773        .long_name = NULL_IF_CONFIG_SMALL("Interplay C93"),
    774        .props     = AV_CODEC_PROP_LOSSY,
    775    },
    776    {
    777        .id        = AV_CODEC_ID_BETHSOFTVID,
    778        .type      = AVMEDIA_TYPE_VIDEO,
    779        .name      = "bethsoftvid",
    780        .long_name = NULL_IF_CONFIG_SMALL("Bethesda VID video"),
    781        .props     = AV_CODEC_PROP_LOSSY,
    782    },
    783    {
    784        .id        = AV_CODEC_ID_PTX,
    785        .type      = AVMEDIA_TYPE_VIDEO,
    786        .name      = "ptx",
    787        .long_name = NULL_IF_CONFIG_SMALL("V.Flash PTX image"),
    788        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    789    },
    790    {
    791        .id        = AV_CODEC_ID_TXD,
    792        .type      = AVMEDIA_TYPE_VIDEO,
    793        .name      = "txd",
    794        .long_name = NULL_IF_CONFIG_SMALL("Renderware TXD (TeXture Dictionary) image"),
    795        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    796    },
    797    {
    798        .id        = AV_CODEC_ID_VP6A,
    799        .type      = AVMEDIA_TYPE_VIDEO,
    800        .name      = "vp6a",
    801        .long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version, with alpha channel)"),
    802        .props     = AV_CODEC_PROP_LOSSY,
    803    },
    804    {
    805        .id        = AV_CODEC_ID_AMV,
    806        .type      = AVMEDIA_TYPE_VIDEO,
    807        .name      = "amv",
    808        .long_name = NULL_IF_CONFIG_SMALL("AMV Video"),
    809        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    810    },
    811    {
    812        .id        = AV_CODEC_ID_VB,
    813        .type      = AVMEDIA_TYPE_VIDEO,
    814        .name      = "vb",
    815        .long_name = NULL_IF_CONFIG_SMALL("Beam Software VB"),
    816        .props     = AV_CODEC_PROP_LOSSY,
    817    },
    818    {
    819        .id        = AV_CODEC_ID_PCX,
    820        .type      = AVMEDIA_TYPE_VIDEO,
    821        .name      = "pcx",
    822        .long_name = NULL_IF_CONFIG_SMALL("PC Paintbrush PCX image"),
    823        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    824        .mime_types= MT("image/x-pcx"),
    825    },
    826    {
    827        .id        = AV_CODEC_ID_SUNRAST,
    828        .type      = AVMEDIA_TYPE_VIDEO,
    829        .name      = "sunrast",
    830        .long_name = NULL_IF_CONFIG_SMALL("Sun Rasterfile image"),
    831        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    832    },
    833    {
    834        .id        = AV_CODEC_ID_INDEO4,
    835        .type      = AVMEDIA_TYPE_VIDEO,
    836        .name      = "indeo4",
    837        .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo Video Interactive 4"),
    838        .props     = AV_CODEC_PROP_LOSSY,
    839    },
    840    {
    841        .id        = AV_CODEC_ID_INDEO5,
    842        .type      = AVMEDIA_TYPE_VIDEO,
    843        .name      = "indeo5",
    844        .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo Video Interactive 5"),
    845        .props     = AV_CODEC_PROP_LOSSY,
    846    },
    847    {
    848        .id        = AV_CODEC_ID_MIMIC,
    849        .type      = AVMEDIA_TYPE_VIDEO,
    850        .name      = "mimic",
    851        .long_name = NULL_IF_CONFIG_SMALL("Mimic"),
    852        .props     = AV_CODEC_PROP_LOSSY,
    853    },
    854    {
    855        .id        = AV_CODEC_ID_RL2,
    856        .type      = AVMEDIA_TYPE_VIDEO,
    857        .name      = "rl2",
    858        .long_name = NULL_IF_CONFIG_SMALL("RL2 video"),
    859        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    860    },
    861    {
    862        .id        = AV_CODEC_ID_ESCAPE124,
    863        .type      = AVMEDIA_TYPE_VIDEO,
    864        .name      = "escape124",
    865        .long_name = NULL_IF_CONFIG_SMALL("Escape 124"),
    866        .props     = AV_CODEC_PROP_LOSSY,
    867    },
    868    {
    869        .id        = AV_CODEC_ID_DIRAC,
    870        .type      = AVMEDIA_TYPE_VIDEO,
    871        .name      = "dirac",
    872        .long_name = NULL_IF_CONFIG_SMALL("Dirac"),
    873        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS | AV_CODEC_PROP_REORDER,
    874    },
    875    {
    876        .id        = AV_CODEC_ID_BFI,
    877        .type      = AVMEDIA_TYPE_VIDEO,
    878        .name      = "bfi",
    879        .long_name = NULL_IF_CONFIG_SMALL("Brute Force & Ignorance"),
    880        .props     = AV_CODEC_PROP_LOSSY,
    881    },
    882    {
    883        .id        = AV_CODEC_ID_CMV,
    884        .type      = AVMEDIA_TYPE_VIDEO,
    885        .name      = "cmv",
    886        .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts CMV video"),
    887        .props     = AV_CODEC_PROP_LOSSY,
    888    },
    889    {
    890        .id        = AV_CODEC_ID_MOTIONPIXELS,
    891        .type      = AVMEDIA_TYPE_VIDEO,
    892        .name      = "motionpixels",
    893        .long_name = NULL_IF_CONFIG_SMALL("Motion Pixels video"),
    894        .props     = AV_CODEC_PROP_LOSSY,
    895    },
    896    {
    897        .id        = AV_CODEC_ID_TGV,
    898        .type      = AVMEDIA_TYPE_VIDEO,
    899        .name      = "tgv",
    900        .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TGV video"),
    901        .props     = AV_CODEC_PROP_LOSSY,
    902    },
    903    {
    904        .id        = AV_CODEC_ID_TGQ,
    905        .type      = AVMEDIA_TYPE_VIDEO,
    906        .name      = "tgq",
    907        .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TGQ video"),
    908        .props     = AV_CODEC_PROP_LOSSY,
    909    },
    910    {
    911        .id        = AV_CODEC_ID_TQI,
    912        .type      = AVMEDIA_TYPE_VIDEO,
    913        .name      = "tqi",
    914        .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TQI video"),
    915        .props     = AV_CODEC_PROP_LOSSY,
    916    },
    917    {
    918        .id        = AV_CODEC_ID_AURA,
    919        .type      = AVMEDIA_TYPE_VIDEO,
    920        .name      = "aura",
    921        .long_name = NULL_IF_CONFIG_SMALL("Auravision AURA"),
    922        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    923    },
    924    {
    925        .id        = AV_CODEC_ID_AURA2,
    926        .type      = AVMEDIA_TYPE_VIDEO,
    927        .name      = "aura2",
    928        .long_name = NULL_IF_CONFIG_SMALL("Auravision Aura 2"),
    929        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    930    },
    931    {
    932        .id        = AV_CODEC_ID_V210X,
    933        .type      = AVMEDIA_TYPE_VIDEO,
    934        .name      = "v210x",
    935        .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
    936        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    937    },
    938    {
    939        .id        = AV_CODEC_ID_TMV,
    940        .type      = AVMEDIA_TYPE_VIDEO,
    941        .name      = "tmv",
    942        .long_name = NULL_IF_CONFIG_SMALL("8088flex TMV"),
    943        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
    944    },
    945    {
    946        .id        = AV_CODEC_ID_V210,
    947        .type      = AVMEDIA_TYPE_VIDEO,
    948        .name      = "v210",
    949        .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
    950        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    951    },
    952    {
    953        .id        = AV_CODEC_ID_DPX,
    954        .type      = AVMEDIA_TYPE_VIDEO,
    955        .name      = "dpx",
    956        .long_name = NULL_IF_CONFIG_SMALL("DPX (Digital Picture Exchange) image"),
    957        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    958    },
    959    {
    960        .id        = AV_CODEC_ID_MAD,
    961        .type      = AVMEDIA_TYPE_VIDEO,
    962        .name      = "mad",
    963        .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts Madcow Video"),
    964        .props     = AV_CODEC_PROP_LOSSY,
    965    },
    966    {
    967        .id        = AV_CODEC_ID_FRWU,
    968        .type      = AVMEDIA_TYPE_VIDEO,
    969        .name      = "frwu",
    970        .long_name = NULL_IF_CONFIG_SMALL("Forward Uncompressed"),
    971        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    972    },
    973    {
    974        .id        = AV_CODEC_ID_FLASHSV2,
    975        .type      = AVMEDIA_TYPE_VIDEO,
    976        .name      = "flashsv2",
    977        .long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video v2"),
    978        .props     = AV_CODEC_PROP_LOSSY,
    979    },
    980    {
    981        .id        = AV_CODEC_ID_CDGRAPHICS,
    982        .type      = AVMEDIA_TYPE_VIDEO,
    983        .name      = "cdgraphics",
    984        .long_name = NULL_IF_CONFIG_SMALL("CD Graphics video"),
    985        .props     = AV_CODEC_PROP_LOSSY,
    986    },
    987    {
    988        .id        = AV_CODEC_ID_R210,
    989        .type      = AVMEDIA_TYPE_VIDEO,
    990        .name      = "r210",
    991        .long_name = NULL_IF_CONFIG_SMALL("Uncompressed RGB 10-bit"),
    992        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
    993    },
    994    {
    995        .id        = AV_CODEC_ID_ANM,
    996        .type      = AVMEDIA_TYPE_VIDEO,
    997        .name      = "anm",
    998        .long_name = NULL_IF_CONFIG_SMALL("Deluxe Paint Animation"),
    999        .props     = AV_CODEC_PROP_LOSSY,
   1000    },
   1001    {
   1002        .id        = AV_CODEC_ID_BINKVIDEO,
   1003        .type      = AVMEDIA_TYPE_VIDEO,
   1004        .name      = "binkvideo",
   1005        .long_name = NULL_IF_CONFIG_SMALL("Bink video"),
   1006        .props     = AV_CODEC_PROP_LOSSY,
   1007    },
   1008    {
   1009        .id        = AV_CODEC_ID_IFF_ILBM,
   1010        .type      = AVMEDIA_TYPE_VIDEO,
   1011        .name      = "iff_ilbm",
   1012        .long_name = NULL_IF_CONFIG_SMALL("IFF ACBM/ANIM/DEEP/ILBM/PBM/RGB8/RGBN"),
   1013        .props     = AV_CODEC_PROP_LOSSY,
   1014    },
   1015    {
   1016        .id        = AV_CODEC_ID_KGV1,
   1017        .type      = AVMEDIA_TYPE_VIDEO,
   1018        .name      = "kgv1",
   1019        .long_name = NULL_IF_CONFIG_SMALL("Kega Game Video"),
   1020        .props     = AV_CODEC_PROP_LOSSY,
   1021    },
   1022    {
   1023        .id        = AV_CODEC_ID_YOP,
   1024        .type      = AVMEDIA_TYPE_VIDEO,
   1025        .name      = "yop",
   1026        .long_name = NULL_IF_CONFIG_SMALL("Psygnosis YOP Video"),
   1027        .props     = AV_CODEC_PROP_LOSSY,
   1028    },
   1029    {
   1030        .id        = AV_CODEC_ID_VP8,
   1031        .type      = AVMEDIA_TYPE_VIDEO,
   1032        .name      = "vp8",
   1033        .long_name = NULL_IF_CONFIG_SMALL("On2 VP8"),
   1034        .props     = AV_CODEC_PROP_LOSSY,
   1035    },
   1036    {
   1037        .id        = AV_CODEC_ID_PICTOR,
   1038        .type      = AVMEDIA_TYPE_VIDEO,
   1039        .name      = "pictor",
   1040        .long_name = NULL_IF_CONFIG_SMALL("Pictor/PC Paint"),
   1041        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1042    },
   1043    {
   1044        .id        = AV_CODEC_ID_ANSI,
   1045        .type      = AVMEDIA_TYPE_VIDEO,
   1046        .name      = "ansi",
   1047        .long_name = NULL_IF_CONFIG_SMALL("ASCII/ANSI art"),
   1048        .props     = AV_CODEC_PROP_LOSSY,
   1049    },
   1050    {
   1051        .id        = AV_CODEC_ID_A64_MULTI,
   1052        .type      = AVMEDIA_TYPE_VIDEO,
   1053        .name      = "a64_multi",
   1054        .long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64"),
   1055        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1056    },
   1057    {
   1058        .id        = AV_CODEC_ID_A64_MULTI5,
   1059        .type      = AVMEDIA_TYPE_VIDEO,
   1060        .name      = "a64_multi5",
   1061        .long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64, extended with 5th color (colram)"),
   1062        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1063    },
   1064    {
   1065        .id        = AV_CODEC_ID_R10K,
   1066        .type      = AVMEDIA_TYPE_VIDEO,
   1067        .name      = "r10k",
   1068        .long_name = NULL_IF_CONFIG_SMALL("AJA Kona 10-bit RGB Codec"),
   1069        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1070    },
   1071    {
   1072        .id        = AV_CODEC_ID_MXPEG,
   1073        .type      = AVMEDIA_TYPE_VIDEO,
   1074        .name      = "mxpeg",
   1075        .long_name = NULL_IF_CONFIG_SMALL("Mobotix MxPEG video"),
   1076        .props     = AV_CODEC_PROP_LOSSY,
   1077    },
   1078    {
   1079        .id        = AV_CODEC_ID_LAGARITH,
   1080        .type      = AVMEDIA_TYPE_VIDEO,
   1081        .name      = "lagarith",
   1082        .long_name = NULL_IF_CONFIG_SMALL("Lagarith lossless"),
   1083        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1084    },
   1085    {
   1086        .id        = AV_CODEC_ID_PRORES,
   1087        .type      = AVMEDIA_TYPE_VIDEO,
   1088        .name      = "prores",
   1089        .long_name = NULL_IF_CONFIG_SMALL("Apple ProRes (iCodec Pro)"),
   1090        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1091        .profiles  = NULL_IF_CONFIG_SMALL(ff_prores_profiles),
   1092    },
   1093    {
   1094        .id        = AV_CODEC_ID_JV,
   1095        .type      = AVMEDIA_TYPE_VIDEO,
   1096        .name      = "jv",
   1097        .long_name = NULL_IF_CONFIG_SMALL("Bitmap Brothers JV video"),
   1098        .props     = AV_CODEC_PROP_LOSSY,
   1099    },
   1100    {
   1101        .id        = AV_CODEC_ID_DFA,
   1102        .type      = AVMEDIA_TYPE_VIDEO,
   1103        .name      = "dfa",
   1104        .long_name = NULL_IF_CONFIG_SMALL("Chronomaster DFA"),
   1105        .props     = AV_CODEC_PROP_LOSSY,
   1106    },
   1107    {
   1108        .id        = AV_CODEC_ID_WMV3IMAGE,
   1109        .type      = AVMEDIA_TYPE_VIDEO,
   1110        .name      = "wmv3image",
   1111        .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image"),
   1112        .props     = AV_CODEC_PROP_LOSSY,
   1113    },
   1114    {
   1115        .id        = AV_CODEC_ID_VC1IMAGE,
   1116        .type      = AVMEDIA_TYPE_VIDEO,
   1117        .name      = "vc1image",
   1118        .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image v2"),
   1119        .props     = AV_CODEC_PROP_LOSSY,
   1120    },
   1121    {
   1122        .id        = AV_CODEC_ID_UTVIDEO,
   1123        .type      = AVMEDIA_TYPE_VIDEO,
   1124        .name      = "utvideo",
   1125        .long_name = NULL_IF_CONFIG_SMALL("Ut Video"),
   1126        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1127    },
   1128    {
   1129        .id        = AV_CODEC_ID_BMV_VIDEO,
   1130        .type      = AVMEDIA_TYPE_VIDEO,
   1131        .name      = "bmv_video",
   1132        .long_name = NULL_IF_CONFIG_SMALL("Discworld II BMV video"),
   1133        .props     = AV_CODEC_PROP_LOSSLESS,
   1134    },
   1135    {
   1136        .id        = AV_CODEC_ID_VBLE,
   1137        .type      = AVMEDIA_TYPE_VIDEO,
   1138        .name      = "vble",
   1139        .long_name = NULL_IF_CONFIG_SMALL("VBLE Lossless Codec"),
   1140        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1141    },
   1142    {
   1143        .id        = AV_CODEC_ID_DXTORY,
   1144        .type      = AVMEDIA_TYPE_VIDEO,
   1145        .name      = "dxtory",
   1146        .long_name = NULL_IF_CONFIG_SMALL("Dxtory"),
   1147        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1148    },
   1149 #if FF_API_V408_CODECID
   1150    {
   1151        .id        = AV_CODEC_ID_V410,
   1152        .type      = AVMEDIA_TYPE_VIDEO,
   1153        .name      = "v410",
   1154        .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:4:4 10-bit"),
   1155        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1156    },
   1157 #endif
   1158    {
   1159        .id        = AV_CODEC_ID_XWD,
   1160        .type      = AVMEDIA_TYPE_VIDEO,
   1161        .name      = "xwd",
   1162        .long_name = NULL_IF_CONFIG_SMALL("XWD (X Window Dump) image"),
   1163        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1164        .mime_types= MT("image/x-xwindowdump"),
   1165    },
   1166    {
   1167        .id        = AV_CODEC_ID_CDXL,
   1168        .type      = AVMEDIA_TYPE_VIDEO,
   1169        .name      = "cdxl",
   1170        .long_name = NULL_IF_CONFIG_SMALL("Commodore CDXL video"),
   1171        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1172    },
   1173    {
   1174        .id        = AV_CODEC_ID_XBM,
   1175        .type      = AVMEDIA_TYPE_VIDEO,
   1176        .name      = "xbm",
   1177        .long_name = NULL_IF_CONFIG_SMALL("XBM (X BitMap) image"),
   1178        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1179        .mime_types= MT("image/x-xbitmap"),
   1180    },
   1181    {
   1182        .id        = AV_CODEC_ID_ZEROCODEC,
   1183        .type      = AVMEDIA_TYPE_VIDEO,
   1184        .name      = "zerocodec",
   1185        .long_name = NULL_IF_CONFIG_SMALL("ZeroCodec Lossless Video"),
   1186        .props     = AV_CODEC_PROP_LOSSLESS,
   1187    },
   1188    {
   1189        .id        = AV_CODEC_ID_MSS1,
   1190        .type      = AVMEDIA_TYPE_VIDEO,
   1191        .name      = "mss1",
   1192        .long_name = NULL_IF_CONFIG_SMALL("MS Screen 1"),
   1193        .props     = AV_CODEC_PROP_LOSSY,
   1194    },
   1195    {
   1196        .id        = AV_CODEC_ID_MSA1,
   1197        .type      = AVMEDIA_TYPE_VIDEO,
   1198        .name      = "msa1",
   1199        .long_name = NULL_IF_CONFIG_SMALL("MS ATC Screen"),
   1200        .props     = AV_CODEC_PROP_LOSSY,
   1201    },
   1202    {
   1203        .id        = AV_CODEC_ID_TSCC2,
   1204        .type      = AVMEDIA_TYPE_VIDEO,
   1205        .name      = "tscc2",
   1206        .long_name = NULL_IF_CONFIG_SMALL("TechSmith Screen Codec 2"),
   1207        .props     = AV_CODEC_PROP_LOSSY,
   1208    },
   1209    {
   1210        .id        = AV_CODEC_ID_MTS2,
   1211        .type      = AVMEDIA_TYPE_VIDEO,
   1212        .name      = "mts2",
   1213        .long_name = NULL_IF_CONFIG_SMALL("MS Expression Encoder Screen"),
   1214        .props     = AV_CODEC_PROP_LOSSY,
   1215    },
   1216    {
   1217        .id        = AV_CODEC_ID_CLLC,
   1218        .type      = AVMEDIA_TYPE_VIDEO,
   1219        .name      = "cllc",
   1220        .long_name = NULL_IF_CONFIG_SMALL("Canopus Lossless Codec"),
   1221        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1222    },
   1223    {
   1224        .id        = AV_CODEC_ID_MSS2,
   1225        .type      = AVMEDIA_TYPE_VIDEO,
   1226        .name      = "mss2",
   1227        .long_name = NULL_IF_CONFIG_SMALL("MS Windows Media Video V9 Screen"),
   1228        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1229    },
   1230    {
   1231        .id        = AV_CODEC_ID_VP9,
   1232        .type      = AVMEDIA_TYPE_VIDEO,
   1233        .name      = "vp9",
   1234        .long_name = NULL_IF_CONFIG_SMALL("Google VP9"),
   1235        .props     = AV_CODEC_PROP_LOSSY,
   1236        .profiles  = NULL_IF_CONFIG_SMALL(ff_vp9_profiles),
   1237    },
   1238    {
   1239        .id        = AV_CODEC_ID_AIC,
   1240        .type      = AVMEDIA_TYPE_VIDEO,
   1241        .name      = "aic",
   1242        .long_name = NULL_IF_CONFIG_SMALL("Apple Intermediate Codec"),
   1243        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1244    },
   1245    {
   1246        .id        = AV_CODEC_ID_ESCAPE130,
   1247        .type      = AVMEDIA_TYPE_VIDEO,
   1248        .name      = "escape130",
   1249        .long_name = NULL_IF_CONFIG_SMALL("Escape 130"),
   1250        .props     = AV_CODEC_PROP_LOSSY,
   1251    },
   1252    {
   1253        .id        = AV_CODEC_ID_G2M,
   1254        .type      = AVMEDIA_TYPE_VIDEO,
   1255        .name      = "g2m",
   1256        .long_name = NULL_IF_CONFIG_SMALL("Go2Meeting"),
   1257        .props     = AV_CODEC_PROP_LOSSY,
   1258    },
   1259    {
   1260        .id        = AV_CODEC_ID_WEBP,
   1261        .type      = AVMEDIA_TYPE_VIDEO,
   1262        .name      = "webp",
   1263        .long_name = NULL_IF_CONFIG_SMALL("WebP"),
   1264        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
   1265                     AV_CODEC_PROP_LOSSLESS,
   1266        .mime_types= MT("image/webp"),
   1267    },
   1268    {
   1269        .id        = AV_CODEC_ID_HNM4_VIDEO,
   1270        .type      = AVMEDIA_TYPE_VIDEO,
   1271        .name      = "hnm4video",
   1272        .long_name = NULL_IF_CONFIG_SMALL("HNM 4 video"),
   1273        .props     = AV_CODEC_PROP_LOSSY,
   1274    },
   1275    {
   1276        .id        = AV_CODEC_ID_HEVC,
   1277        .type      = AVMEDIA_TYPE_VIDEO,
   1278        .name      = "hevc",
   1279        .long_name = NULL_IF_CONFIG_SMALL("H.265 / HEVC (High Efficiency Video Coding)"),
   1280        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
   1281        .profiles  = NULL_IF_CONFIG_SMALL(ff_hevc_profiles),
   1282    },
   1283    {
   1284        .id        = AV_CODEC_ID_FIC,
   1285        .type      = AVMEDIA_TYPE_VIDEO,
   1286        .name      = "fic",
   1287        .long_name = NULL_IF_CONFIG_SMALL("Mirillis FIC"),
   1288        .props     = AV_CODEC_PROP_LOSSY,
   1289    },
   1290    {
   1291        .id        = AV_CODEC_ID_ALIAS_PIX,
   1292        .type      = AVMEDIA_TYPE_VIDEO,
   1293        .name      = "alias_pix",
   1294        .long_name = NULL_IF_CONFIG_SMALL("Alias/Wavefront PIX image"),
   1295        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1296    },
   1297    {
   1298        .id        = AV_CODEC_ID_BRENDER_PIX,
   1299        .type      = AVMEDIA_TYPE_VIDEO,
   1300        .name      = "brender_pix",
   1301        .long_name = NULL_IF_CONFIG_SMALL("BRender PIX image"),
   1302        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1303    },
   1304    {
   1305        .id        = AV_CODEC_ID_PAF_VIDEO,
   1306        .type      = AVMEDIA_TYPE_VIDEO,
   1307        .name      = "paf_video",
   1308        .long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Video"),
   1309        .props     = AV_CODEC_PROP_LOSSY,
   1310    },
   1311    {
   1312        .id        = AV_CODEC_ID_EXR,
   1313        .type      = AVMEDIA_TYPE_VIDEO,
   1314        .name      = "exr",
   1315        .long_name = NULL_IF_CONFIG_SMALL("OpenEXR image"),
   1316        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
   1317                     AV_CODEC_PROP_LOSSLESS,
   1318    },
   1319    {
   1320        .id        = AV_CODEC_ID_VP7,
   1321        .type      = AVMEDIA_TYPE_VIDEO,
   1322        .name      = "vp7",
   1323        .long_name = NULL_IF_CONFIG_SMALL("On2 VP7"),
   1324        .props     = AV_CODEC_PROP_LOSSY,
   1325    },
   1326    {
   1327        .id        = AV_CODEC_ID_SANM,
   1328        .type      = AVMEDIA_TYPE_VIDEO,
   1329        .name      = "sanm",
   1330        .long_name = NULL_IF_CONFIG_SMALL("LucasArts SANM/SMUSH video"),
   1331        .props     = AV_CODEC_PROP_LOSSY,
   1332    },
   1333    {
   1334        .id        = AV_CODEC_ID_SGIRLE,
   1335        .type      = AVMEDIA_TYPE_VIDEO,
   1336        .name      = "sgirle",
   1337        .long_name = NULL_IF_CONFIG_SMALL("SGI RLE 8-bit"),
   1338        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1339    },
   1340    {
   1341        .id        = AV_CODEC_ID_MVC1,
   1342        .type      = AVMEDIA_TYPE_VIDEO,
   1343        .name      = "mvc1",
   1344        .long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Motion Video Compressor 1"),
   1345        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1346    },
   1347    {
   1348        .id        = AV_CODEC_ID_MVC2,
   1349        .type      = AVMEDIA_TYPE_VIDEO,
   1350        .name      = "mvc2",
   1351        .long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Motion Video Compressor 2"),
   1352        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1353    },
   1354    {
   1355        .id        = AV_CODEC_ID_HQX,
   1356        .type      = AVMEDIA_TYPE_VIDEO,
   1357        .name      = "hqx",
   1358        .long_name = NULL_IF_CONFIG_SMALL("Canopus HQX"),
   1359        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1360    },
   1361    {
   1362        .id        = AV_CODEC_ID_TDSC,
   1363        .type      = AVMEDIA_TYPE_VIDEO,
   1364        .name      = "tdsc",
   1365        .long_name = NULL_IF_CONFIG_SMALL("TDSC"),
   1366        .props     = AV_CODEC_PROP_LOSSY,
   1367    },
   1368    {
   1369        .id        = AV_CODEC_ID_HQ_HQA,
   1370        .type      = AVMEDIA_TYPE_VIDEO,
   1371        .name      = "hq_hqa",
   1372        .long_name = NULL_IF_CONFIG_SMALL("Canopus HQ/HQA"),
   1373        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1374    },
   1375    {
   1376        .id        = AV_CODEC_ID_HAP,
   1377        .type      = AVMEDIA_TYPE_VIDEO,
   1378        .name      = "hap",
   1379        .long_name = NULL_IF_CONFIG_SMALL("Vidvox Hap"),
   1380        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1381    },
   1382    {
   1383        .id        = AV_CODEC_ID_DDS,
   1384        .type      = AVMEDIA_TYPE_VIDEO,
   1385        .name      = "dds",
   1386        .long_name = NULL_IF_CONFIG_SMALL("DirectDraw Surface image decoder"),
   1387        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
   1388                     AV_CODEC_PROP_LOSSLESS,
   1389    },
   1390    {
   1391        .id        = AV_CODEC_ID_DXV,
   1392        .type      = AVMEDIA_TYPE_VIDEO,
   1393        .name      = "dxv",
   1394        .long_name = NULL_IF_CONFIG_SMALL("Resolume DXV"),
   1395        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1396    },
   1397    {
   1398        .id        = AV_CODEC_ID_SCREENPRESSO,
   1399        .type      = AVMEDIA_TYPE_VIDEO,
   1400        .name      = "screenpresso",
   1401        .long_name = NULL_IF_CONFIG_SMALL("Screenpresso"),
   1402        .props     = AV_CODEC_PROP_LOSSLESS,
   1403    },
   1404    {
   1405        .id        = AV_CODEC_ID_RSCC,
   1406        .type      = AVMEDIA_TYPE_VIDEO,
   1407        .name      = "rscc",
   1408        .long_name = NULL_IF_CONFIG_SMALL("innoHeim/Rsupport Screen Capture Codec"),
   1409        .props     = AV_CODEC_PROP_LOSSLESS,
   1410    },
   1411    {
   1412        .id        = AV_CODEC_ID_AVS2,
   1413        .type      = AVMEDIA_TYPE_VIDEO,
   1414        .name      = "avs2",
   1415        .long_name = NULL_IF_CONFIG_SMALL("AVS2-P2/IEEE1857.4"),
   1416        .props     = AV_CODEC_PROP_LOSSY,
   1417    },
   1418    {
   1419        .id        = AV_CODEC_ID_PGX,
   1420        .type      = AVMEDIA_TYPE_VIDEO,
   1421        .name      = "pgx",
   1422        .long_name = NULL_IF_CONFIG_SMALL("PGX (JPEG2000 Test Format)"),
   1423        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1424    },
   1425    {
   1426        .id        = AV_CODEC_ID_AVS3,
   1427        .type      = AVMEDIA_TYPE_VIDEO,
   1428        .name      = "avs3",
   1429        .long_name = NULL_IF_CONFIG_SMALL("AVS3-P2/IEEE1857.10"),
   1430        .props     = AV_CODEC_PROP_LOSSY,
   1431    },
   1432    {
   1433        .id        = AV_CODEC_ID_MSP2,
   1434        .type      = AVMEDIA_TYPE_VIDEO,
   1435        .name      = "msp2",
   1436        .long_name = NULL_IF_CONFIG_SMALL("Microsoft Paint (MSP) version 2"),
   1437        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1438    },
   1439    {
   1440        .id        = AV_CODEC_ID_VVC,
   1441        .type      = AVMEDIA_TYPE_VIDEO,
   1442        .name      = "vvc",
   1443        .long_name = NULL_IF_CONFIG_SMALL("H.266 / VVC (Versatile Video Coding)"),
   1444        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
   1445        .profiles  = NULL_IF_CONFIG_SMALL(ff_vvc_profiles),
   1446    },
   1447    {
   1448        .id        = AV_CODEC_ID_Y41P,
   1449        .type      = AVMEDIA_TYPE_VIDEO,
   1450        .name      = "y41p",
   1451        .long_name = NULL_IF_CONFIG_SMALL("Uncompressed YUV 4:1:1 12-bit"),
   1452        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1453    },
   1454    {
   1455        .id        = AV_CODEC_ID_AVRP,
   1456        .type      = AVMEDIA_TYPE_VIDEO,
   1457        .name      = "avrp",
   1458        .long_name = NULL_IF_CONFIG_SMALL("Avid 1:1 10-bit RGB Packer"),
   1459        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1460    },
   1461    {
   1462        .id        = AV_CODEC_ID_012V,
   1463        .type      = AVMEDIA_TYPE_VIDEO,
   1464        .name      = "012v",
   1465        .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
   1466        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1467    },
   1468    {
   1469        .id        = AV_CODEC_ID_AVUI,
   1470        .type      = AVMEDIA_TYPE_VIDEO,
   1471        .name      = "avui",
   1472        .long_name = NULL_IF_CONFIG_SMALL("Avid Meridien Uncompressed"),
   1473        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1474    },
   1475    {
   1476        .id        = AV_CODEC_ID_TARGA_Y216,
   1477        .type      = AVMEDIA_TYPE_VIDEO,
   1478        .name      = "targa_y216",
   1479        .long_name = NULL_IF_CONFIG_SMALL("Pinnacle TARGA CineWave YUV16"),
   1480        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1481    },
   1482 #if FF_API_V408_CODECID
   1483    {
   1484        .id        = AV_CODEC_ID_V308,
   1485        .type      = AVMEDIA_TYPE_VIDEO,
   1486        .name      = "v308",
   1487        .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:4:4"),
   1488        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1489    },
   1490    {
   1491        .id        = AV_CODEC_ID_V408,
   1492        .type      = AVMEDIA_TYPE_VIDEO,
   1493        .name      = "v408",
   1494        .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed QT 4:4:4:4"),
   1495        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1496    },
   1497 #endif
   1498    {
   1499        .id        = AV_CODEC_ID_YUV4,
   1500        .type      = AVMEDIA_TYPE_VIDEO,
   1501        .name      = "yuv4",
   1502        .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:2:0"),
   1503        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1504    },
   1505    {
   1506        .id        = AV_CODEC_ID_AVRN,
   1507        .type      = AVMEDIA_TYPE_VIDEO,
   1508        .name      = "avrn",
   1509        .long_name = NULL_IF_CONFIG_SMALL("Avid AVI Codec"),
   1510        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1511    },
   1512    {
   1513        .id        = AV_CODEC_ID_CPIA,
   1514        .type      = AVMEDIA_TYPE_VIDEO,
   1515        .name      = "cpia",
   1516        .long_name = NULL_IF_CONFIG_SMALL("CPiA video format"),
   1517    },
   1518    {
   1519        .id        = AV_CODEC_ID_XFACE,
   1520        .type      = AVMEDIA_TYPE_VIDEO,
   1521        .name      = "xface",
   1522        .long_name = NULL_IF_CONFIG_SMALL("X-face image"),
   1523        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1524    },
   1525    {
   1526        .id        = AV_CODEC_ID_SNOW,
   1527        .type      = AVMEDIA_TYPE_VIDEO,
   1528        .name      = "snow",
   1529        .long_name = NULL_IF_CONFIG_SMALL("Snow"),
   1530        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
   1531    },
   1532    {
   1533        .id        = AV_CODEC_ID_SMVJPEG,
   1534        .type      = AVMEDIA_TYPE_VIDEO,
   1535        .name      = "smvjpeg",
   1536        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1537        .long_name = NULL_IF_CONFIG_SMALL("Sigmatel Motion Video"),
   1538    },
   1539    {
   1540        .id        = AV_CODEC_ID_APNG,
   1541        .type      = AVMEDIA_TYPE_VIDEO,
   1542        .name      = "apng",
   1543        .long_name = NULL_IF_CONFIG_SMALL("APNG (Animated Portable Network Graphics) image"),
   1544        .props     = AV_CODEC_PROP_LOSSLESS,
   1545        .mime_types= MT("image/png"),
   1546    },
   1547    {
   1548        .id        = AV_CODEC_ID_DAALA,
   1549        .type      = AVMEDIA_TYPE_VIDEO,
   1550        .name      = "daala",
   1551        .long_name = NULL_IF_CONFIG_SMALL("Daala"),
   1552        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
   1553    },
   1554    {
   1555        .id        = AV_CODEC_ID_CFHD,
   1556        .type      = AVMEDIA_TYPE_VIDEO,
   1557        .name      = "cfhd",
   1558        .long_name = NULL_IF_CONFIG_SMALL("GoPro CineForm HD"),
   1559        .props     = AV_CODEC_PROP_LOSSY,
   1560    },
   1561    {
   1562        .id        = AV_CODEC_ID_TRUEMOTION2RT,
   1563        .type      = AVMEDIA_TYPE_VIDEO,
   1564        .name      = "truemotion2rt",
   1565        .long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 2.0 Real Time"),
   1566        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1567    },
   1568    {
   1569        .id        = AV_CODEC_ID_M101,
   1570        .type      = AVMEDIA_TYPE_VIDEO,
   1571        .name      = "m101",
   1572        .long_name = NULL_IF_CONFIG_SMALL("Matrox Uncompressed SD"),
   1573        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1574    },
   1575    {
   1576        .id        = AV_CODEC_ID_MAGICYUV,
   1577        .type      = AVMEDIA_TYPE_VIDEO,
   1578        .name      = "magicyuv",
   1579        .long_name = NULL_IF_CONFIG_SMALL("MagicYUV video"),
   1580        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1581    },
   1582    {
   1583        .id        = AV_CODEC_ID_SHEERVIDEO,
   1584        .type      = AVMEDIA_TYPE_VIDEO,
   1585        .name      = "sheervideo",
   1586        .long_name = NULL_IF_CONFIG_SMALL("BitJazz SheerVideo"),
   1587        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1588    },
   1589    {
   1590        .id        = AV_CODEC_ID_YLC,
   1591        .type      = AVMEDIA_TYPE_VIDEO,
   1592        .name      = "ylc",
   1593        .long_name = NULL_IF_CONFIG_SMALL("YUY2 Lossless Codec"),
   1594        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1595    },
   1596    {
   1597        .id        = AV_CODEC_ID_PSD,
   1598        .type      = AVMEDIA_TYPE_VIDEO,
   1599        .name      = "psd",
   1600        .long_name = NULL_IF_CONFIG_SMALL("Photoshop PSD file"),
   1601        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1602    },
   1603    {
   1604        .id        = AV_CODEC_ID_PIXLET,
   1605        .type      = AVMEDIA_TYPE_VIDEO,
   1606        .name      = "pixlet",
   1607        .long_name = NULL_IF_CONFIG_SMALL("Apple Pixlet"),
   1608        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1609    },
   1610    {
   1611        .id        = AV_CODEC_ID_SPEEDHQ,
   1612        .type      = AVMEDIA_TYPE_VIDEO,
   1613        .name      = "speedhq",
   1614        .long_name = NULL_IF_CONFIG_SMALL("NewTek SpeedHQ"),
   1615        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1616    },
   1617    {
   1618        .id        = AV_CODEC_ID_FMVC,
   1619        .type      = AVMEDIA_TYPE_VIDEO,
   1620        .name      = "fmvc",
   1621        .long_name = NULL_IF_CONFIG_SMALL("FM Screen Capture Codec"),
   1622        .props     = AV_CODEC_PROP_LOSSLESS,
   1623    },
   1624    {
   1625        .id        = AV_CODEC_ID_SCPR,
   1626        .type      = AVMEDIA_TYPE_VIDEO,
   1627        .name      = "scpr",
   1628        .long_name = NULL_IF_CONFIG_SMALL("ScreenPressor"),
   1629        .props     = AV_CODEC_PROP_LOSSLESS | AV_CODEC_PROP_LOSSY,
   1630    },
   1631    {
   1632        .id        = AV_CODEC_ID_CLEARVIDEO,
   1633        .type      = AVMEDIA_TYPE_VIDEO,
   1634        .name      = "clearvideo",
   1635        .long_name = NULL_IF_CONFIG_SMALL("Iterated Systems ClearVideo"),
   1636        .props     = AV_CODEC_PROP_LOSSY,
   1637    },
   1638    {
   1639        .id        = AV_CODEC_ID_XPM,
   1640        .type      = AVMEDIA_TYPE_VIDEO,
   1641        .name      = "xpm",
   1642        .long_name = NULL_IF_CONFIG_SMALL("XPM (X PixMap) image"),
   1643        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1644        .mime_types= MT("image/x-xpixmap"),
   1645    },
   1646    {
   1647        .id        = AV_CODEC_ID_AV1,
   1648        .type      = AVMEDIA_TYPE_VIDEO,
   1649        .name      = "av1",
   1650        .long_name = NULL_IF_CONFIG_SMALL("Alliance for Open Media AV1"),
   1651        .props     = AV_CODEC_PROP_LOSSY,
   1652        .profiles  = NULL_IF_CONFIG_SMALL(ff_av1_profiles),
   1653    },
   1654    {
   1655        .id        = AV_CODEC_ID_BITPACKED,
   1656        .type      = AVMEDIA_TYPE_VIDEO,
   1657        .name      = "bitpacked",
   1658        .long_name = NULL_IF_CONFIG_SMALL("Bitpacked"),
   1659        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1660    },
   1661    {
   1662        .id        = AV_CODEC_ID_MSCC,
   1663        .type      = AVMEDIA_TYPE_VIDEO,
   1664        .name      = "mscc",
   1665        .long_name = NULL_IF_CONFIG_SMALL("Mandsoft Screen Capture Codec"),
   1666        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1667    },
   1668    {
   1669        .id        = AV_CODEC_ID_SRGC,
   1670        .type      = AVMEDIA_TYPE_VIDEO,
   1671        .name      = "srgc",
   1672        .long_name = NULL_IF_CONFIG_SMALL("Screen Recorder Gold Codec"),
   1673        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1674    },
   1675    {
   1676        .id        = AV_CODEC_ID_SVG,
   1677        .type      = AVMEDIA_TYPE_VIDEO,
   1678        .name      = "svg",
   1679        .long_name = NULL_IF_CONFIG_SMALL("Scalable Vector Graphics"),
   1680        .props     = AV_CODEC_PROP_LOSSLESS,
   1681        .mime_types= MT("image/svg+xml"),
   1682    },
   1683    {
   1684        .id        = AV_CODEC_ID_GDV,
   1685        .type      = AVMEDIA_TYPE_VIDEO,
   1686        .name      = "gdv",
   1687        .long_name = NULL_IF_CONFIG_SMALL("Gremlin Digital Video"),
   1688        .props     = AV_CODEC_PROP_LOSSY,
   1689    },
   1690    {
   1691        .id        = AV_CODEC_ID_FITS,
   1692        .type      = AVMEDIA_TYPE_VIDEO,
   1693        .name      = "fits",
   1694        .long_name = NULL_IF_CONFIG_SMALL("FITS (Flexible Image Transport System)"),
   1695        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1696    },
   1697    {
   1698        .id        = AV_CODEC_ID_IMM4,
   1699        .type      = AVMEDIA_TYPE_VIDEO,
   1700        .name      = "imm4",
   1701        .long_name = NULL_IF_CONFIG_SMALL("Infinity IMM4"),
   1702        .props     = AV_CODEC_PROP_LOSSY,
   1703    },
   1704    {
   1705        .id        = AV_CODEC_ID_PROSUMER,
   1706        .type      = AVMEDIA_TYPE_VIDEO,
   1707        .name      = "prosumer",
   1708        .long_name = NULL_IF_CONFIG_SMALL("Brooktree ProSumer Video"),
   1709        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1710    },
   1711    {
   1712        .id        = AV_CODEC_ID_MWSC,
   1713        .type      = AVMEDIA_TYPE_VIDEO,
   1714        .name      = "mwsc",
   1715        .long_name = NULL_IF_CONFIG_SMALL("MatchWare Screen Capture Codec"),
   1716        .props     = AV_CODEC_PROP_LOSSLESS,
   1717    },
   1718    {
   1719        .id        = AV_CODEC_ID_WCMV,
   1720        .type      = AVMEDIA_TYPE_VIDEO,
   1721        .name      = "wcmv",
   1722        .long_name = NULL_IF_CONFIG_SMALL("WinCAM Motion Video"),
   1723        .props     = AV_CODEC_PROP_LOSSLESS,
   1724    },
   1725    {
   1726        .id        = AV_CODEC_ID_RASC,
   1727        .type      = AVMEDIA_TYPE_VIDEO,
   1728        .name      = "rasc",
   1729        .long_name = NULL_IF_CONFIG_SMALL("RemotelyAnywhere Screen Capture"),
   1730        .props     = AV_CODEC_PROP_LOSSY,
   1731    },
   1732    {
   1733        .id        = AV_CODEC_ID_HYMT,
   1734        .type      = AVMEDIA_TYPE_VIDEO,
   1735        .name      = "hymt",
   1736        .long_name = NULL_IF_CONFIG_SMALL("HuffYUV MT"),
   1737        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1738    },
   1739    {
   1740        .id        = AV_CODEC_ID_ARBC,
   1741        .type      = AVMEDIA_TYPE_VIDEO,
   1742        .name      = "arbc",
   1743        .long_name = NULL_IF_CONFIG_SMALL("Gryphon's Anim Compressor"),
   1744        .props     = AV_CODEC_PROP_LOSSY,
   1745    },
   1746    {
   1747        .id        = AV_CODEC_ID_AGM,
   1748        .type      = AVMEDIA_TYPE_VIDEO,
   1749        .name      = "agm",
   1750        .long_name = NULL_IF_CONFIG_SMALL("Amuse Graphics Movie"),
   1751        .props     = AV_CODEC_PROP_LOSSY,
   1752    },
   1753    {
   1754        .id        = AV_CODEC_ID_LSCR,
   1755        .type      = AVMEDIA_TYPE_VIDEO,
   1756        .name      = "lscr",
   1757        .long_name = NULL_IF_CONFIG_SMALL("LEAD Screen Capture"),
   1758        .props     = AV_CODEC_PROP_LOSSY,
   1759    },
   1760    {
   1761        .id        = AV_CODEC_ID_VP4,
   1762        .type      = AVMEDIA_TYPE_VIDEO,
   1763        .name      = "vp4",
   1764        .long_name = NULL_IF_CONFIG_SMALL("On2 VP4"),
   1765        .props     = AV_CODEC_PROP_LOSSY,
   1766    },
   1767    {
   1768        .id        = AV_CODEC_ID_IMM5,
   1769        .type      = AVMEDIA_TYPE_VIDEO,
   1770        .name      = "imm5",
   1771        .long_name = NULL_IF_CONFIG_SMALL("Infinity IMM5"),
   1772        .props     = AV_CODEC_PROP_LOSSY,
   1773    },
   1774    {
   1775        .id        = AV_CODEC_ID_MVDV,
   1776        .type      = AVMEDIA_TYPE_VIDEO,
   1777        .name      = "mvdv",
   1778        .long_name = NULL_IF_CONFIG_SMALL("MidiVid VQ"),
   1779        .props     = AV_CODEC_PROP_LOSSY,
   1780    },
   1781    {
   1782        .id        = AV_CODEC_ID_MVHA,
   1783        .type      = AVMEDIA_TYPE_VIDEO,
   1784        .name      = "mvha",
   1785        .long_name = NULL_IF_CONFIG_SMALL("MidiVid Archive Codec"),
   1786        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1787    },
   1788    {
   1789        .id        = AV_CODEC_ID_CDTOONS,
   1790        .type      = AVMEDIA_TYPE_VIDEO,
   1791        .name      = "cdtoons",
   1792        .long_name = NULL_IF_CONFIG_SMALL("CDToons video"),
   1793        .props     = AV_CODEC_PROP_LOSSLESS,
   1794    },
   1795    {
   1796        .id        = AV_CODEC_ID_MV30,
   1797        .type      = AVMEDIA_TYPE_VIDEO,
   1798        .name      = "mv30",
   1799        .long_name = NULL_IF_CONFIG_SMALL("MidiVid 3.0"),
   1800        .props     = AV_CODEC_PROP_LOSSY,
   1801    },
   1802    {
   1803        .id        = AV_CODEC_ID_NOTCHLC,
   1804        .type      = AVMEDIA_TYPE_VIDEO,
   1805        .name      = "notchlc",
   1806        .long_name = NULL_IF_CONFIG_SMALL("NotchLC"),
   1807        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1808    },
   1809    {
   1810        .id        = AV_CODEC_ID_PFM,
   1811        .type      = AVMEDIA_TYPE_VIDEO,
   1812        .name      = "pfm",
   1813        .long_name = NULL_IF_CONFIG_SMALL("PFM (Portable FloatMap) image"),
   1814        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1815    },
   1816    {
   1817        .id        = AV_CODEC_ID_MOBICLIP,
   1818        .type      = AVMEDIA_TYPE_VIDEO,
   1819        .name      = "mobiclip",
   1820        .long_name = NULL_IF_CONFIG_SMALL("MobiClip Video"),
   1821        .props     = AV_CODEC_PROP_LOSSY,
   1822    },
   1823    {
   1824        .id        = AV_CODEC_ID_PHOTOCD,
   1825        .type      = AVMEDIA_TYPE_VIDEO,
   1826        .name      = "photocd",
   1827        .long_name = NULL_IF_CONFIG_SMALL("Kodak Photo CD"),
   1828        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1829    },
   1830    {
   1831        .id        = AV_CODEC_ID_IPU,
   1832        .type      = AVMEDIA_TYPE_VIDEO,
   1833        .name      = "ipu",
   1834        .long_name = NULL_IF_CONFIG_SMALL("IPU Video"),
   1835        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1836    },
   1837    {
   1838        .id        = AV_CODEC_ID_ARGO,
   1839        .type      = AVMEDIA_TYPE_VIDEO,
   1840        .name      = "argo",
   1841        .long_name = NULL_IF_CONFIG_SMALL("Argonaut Games Video"),
   1842        .props     = AV_CODEC_PROP_LOSSY,
   1843    },
   1844    {
   1845        .id        = AV_CODEC_ID_CRI,
   1846        .type      = AVMEDIA_TYPE_VIDEO,
   1847        .name      = "cri",
   1848        .long_name = NULL_IF_CONFIG_SMALL("Cintel RAW"),
   1849        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
   1850    },
   1851    {
   1852        .id        = AV_CODEC_ID_SIMBIOSIS_IMX,
   1853        .type      = AVMEDIA_TYPE_VIDEO,
   1854        .name      = "simbiosis_imx",
   1855        .long_name = NULL_IF_CONFIG_SMALL("Simbiosis Interactive IMX Video"),
   1856        .props     = AV_CODEC_PROP_LOSSY,
   1857    },
   1858    {
   1859        .id        = AV_CODEC_ID_SGA_VIDEO,
   1860        .type      = AVMEDIA_TYPE_VIDEO,
   1861        .name      = "sga",
   1862        .long_name = NULL_IF_CONFIG_SMALL("Digital Pictures SGA Video"),
   1863        .props     = AV_CODEC_PROP_LOSSY,
   1864    },
   1865    {
   1866        .id        = AV_CODEC_ID_GEM,
   1867        .type      = AVMEDIA_TYPE_VIDEO,
   1868        .name      = "gem",
   1869        .long_name = NULL_IF_CONFIG_SMALL("GEM Raster image"),
   1870        .props     = AV_CODEC_PROP_LOSSY,
   1871    },
   1872    {
   1873        .id        = AV_CODEC_ID_VBN,
   1874        .type      = AVMEDIA_TYPE_VIDEO,
   1875        .name      = "vbn",
   1876        .long_name = NULL_IF_CONFIG_SMALL("Vizrt Binary Image"),
   1877        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1878    },
   1879    {
   1880        .id        = AV_CODEC_ID_JPEGXL,
   1881        .type      = AVMEDIA_TYPE_VIDEO,
   1882        .name      = "jpegxl",
   1883        .long_name = NULL_IF_CONFIG_SMALL("JPEG XL"),
   1884        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
   1885                     AV_CODEC_PROP_LOSSLESS,
   1886        .mime_types= MT("image/jxl"),
   1887    },
   1888    {
   1889        .id        = AV_CODEC_ID_QOI,
   1890        .type      = AVMEDIA_TYPE_VIDEO,
   1891        .name      = "qoi",
   1892        .long_name = NULL_IF_CONFIG_SMALL("QOI (Quite OK Image)"),
   1893        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1894    },
   1895    {
   1896        .id        = AV_CODEC_ID_PHM,
   1897        .type      = AVMEDIA_TYPE_VIDEO,
   1898        .name      = "phm",
   1899        .long_name = NULL_IF_CONFIG_SMALL("PHM (Portable HalfFloatMap) image"),
   1900        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1901    },
   1902    {
   1903        .id        = AV_CODEC_ID_RADIANCE_HDR,
   1904        .type      = AVMEDIA_TYPE_VIDEO,
   1905        .name      = "hdr",
   1906        .long_name = NULL_IF_CONFIG_SMALL("HDR (Radiance RGBE format) image"),
   1907        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1908    },
   1909    {
   1910        .id        = AV_CODEC_ID_WBMP,
   1911        .type      = AVMEDIA_TYPE_VIDEO,
   1912        .name      = "wbmp",
   1913        .long_name = NULL_IF_CONFIG_SMALL("WBMP (Wireless Application Protocol Bitmap) image"),
   1914        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1915    },
   1916    {
   1917        .id        = AV_CODEC_ID_MEDIA100,
   1918        .type      = AVMEDIA_TYPE_VIDEO,
   1919        .name      = "media100",
   1920        .long_name = NULL_IF_CONFIG_SMALL("Media 100i"),
   1921        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1922    },
   1923    {
   1924        .id        = AV_CODEC_ID_VQC,
   1925        .type      = AVMEDIA_TYPE_VIDEO,
   1926        .name      = "vqc",
   1927        .long_name = NULL_IF_CONFIG_SMALL("ViewQuest VQC"),
   1928        .props     = AV_CODEC_PROP_LOSSY,
   1929    },
   1930    {
   1931        .id        = AV_CODEC_ID_PDV,
   1932        .type      = AVMEDIA_TYPE_VIDEO,
   1933        .name      = "pdv",
   1934        .long_name = NULL_IF_CONFIG_SMALL("PDV (PlayDate Video)"),
   1935        .props     = AV_CODEC_PROP_LOSSY,
   1936    },
   1937    {
   1938        .id        = AV_CODEC_ID_EVC,
   1939        .type      = AVMEDIA_TYPE_VIDEO,
   1940        .name      = "evc",
   1941        .long_name = NULL_IF_CONFIG_SMALL("MPEG-5 EVC (Essential Video Coding)"),
   1942        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
   1943        .profiles  = NULL_IF_CONFIG_SMALL(ff_evc_profiles),
   1944    },
   1945    {
   1946        .id        = AV_CODEC_ID_RTV1,
   1947        .type      = AVMEDIA_TYPE_VIDEO,
   1948        .name      = "rtv1",
   1949        .long_name = NULL_IF_CONFIG_SMALL("RTV1 (RivaTuner Video)"),
   1950        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1951    },
   1952    {
   1953        .id        = AV_CODEC_ID_VMIX,
   1954        .type      = AVMEDIA_TYPE_VIDEO,
   1955        .name      = "vmix",
   1956        .long_name = NULL_IF_CONFIG_SMALL("vMix Video"),
   1957        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1958    },
   1959    {
   1960        .id        = AV_CODEC_ID_LEAD,
   1961        .type      = AVMEDIA_TYPE_VIDEO,
   1962        .name      = "lead",
   1963        .long_name = NULL_IF_CONFIG_SMALL("LEAD MCMP"),
   1964        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   1965    },
   1966    {
   1967        .id        = AV_CODEC_ID_DNXUC,
   1968        .type      = AVMEDIA_TYPE_VIDEO,
   1969        .name      = "dnxuc",
   1970        .long_name = NULL_IF_CONFIG_SMALL("DNxUncompressed / SMPTE RDD 50"),
   1971        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1972    },
   1973    {
   1974        .id        = AV_CODEC_ID_RV60,
   1975        .type      = AVMEDIA_TYPE_VIDEO,
   1976        .name      = "rv60",
   1977        .long_name = NULL_IF_CONFIG_SMALL("RealVideo 6.0"),
   1978        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
   1979    },
   1980    {
   1981        .id        = AV_CODEC_ID_JPEGXL_ANIM,
   1982        .type      = AVMEDIA_TYPE_VIDEO,
   1983        .name      = "jpegxl_anim",
   1984        .long_name = NULL_IF_CONFIG_SMALL("JPEG XL animated"),
   1985        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
   1986        .mime_types= MT("image/jxl"),
   1987    },
   1988 
   1989    /* various PCM "codecs" */
   1990    {
   1991        .id        = AV_CODEC_ID_PCM_S16LE,
   1992        .type      = AVMEDIA_TYPE_AUDIO,
   1993        .name      = "pcm_s16le",
   1994        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit little-endian"),
   1995        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   1996    },
   1997    {
   1998        .id        = AV_CODEC_ID_PCM_S16BE,
   1999        .type      = AVMEDIA_TYPE_AUDIO,
   2000        .name      = "pcm_s16be",
   2001        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit big-endian"),
   2002        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2003    },
   2004    {
   2005        .id        = AV_CODEC_ID_PCM_U16LE,
   2006        .type      = AVMEDIA_TYPE_AUDIO,
   2007        .name      = "pcm_u16le",
   2008        .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 16-bit little-endian"),
   2009        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2010    },
   2011    {
   2012        .id        = AV_CODEC_ID_PCM_U16BE,
   2013        .type      = AVMEDIA_TYPE_AUDIO,
   2014        .name      = "pcm_u16be",
   2015        .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 16-bit big-endian"),
   2016        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2017    },
   2018    {
   2019        .id        = AV_CODEC_ID_PCM_S8,
   2020        .type      = AVMEDIA_TYPE_AUDIO,
   2021        .name      = "pcm_s8",
   2022        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 8-bit"),
   2023        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2024    },
   2025    {
   2026        .id        = AV_CODEC_ID_PCM_U8,
   2027        .type      = AVMEDIA_TYPE_AUDIO,
   2028        .name      = "pcm_u8",
   2029        .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 8-bit"),
   2030        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2031    },
   2032    {
   2033        .id        = AV_CODEC_ID_PCM_MULAW,
   2034        .type      = AVMEDIA_TYPE_AUDIO,
   2035        .name      = "pcm_mulaw",
   2036        .long_name = NULL_IF_CONFIG_SMALL("PCM mu-law / G.711 mu-law"),
   2037        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2038    },
   2039    {
   2040        .id        = AV_CODEC_ID_PCM_ALAW,
   2041        .type      = AVMEDIA_TYPE_AUDIO,
   2042        .name      = "pcm_alaw",
   2043        .long_name = NULL_IF_CONFIG_SMALL("PCM A-law / G.711 A-law"),
   2044        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2045    },
   2046    {
   2047        .id        = AV_CODEC_ID_PCM_S32LE,
   2048        .type      = AVMEDIA_TYPE_AUDIO,
   2049        .name      = "pcm_s32le",
   2050        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit little-endian"),
   2051        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2052    },
   2053    {
   2054        .id        = AV_CODEC_ID_PCM_S32BE,
   2055        .type      = AVMEDIA_TYPE_AUDIO,
   2056        .name      = "pcm_s32be",
   2057        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit big-endian"),
   2058        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2059    },
   2060    {
   2061        .id        = AV_CODEC_ID_PCM_U32LE,
   2062        .type      = AVMEDIA_TYPE_AUDIO,
   2063        .name      = "pcm_u32le",
   2064        .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 32-bit little-endian"),
   2065        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2066    },
   2067    {
   2068        .id        = AV_CODEC_ID_PCM_U32BE,
   2069        .type      = AVMEDIA_TYPE_AUDIO,
   2070        .name      = "pcm_u32be",
   2071        .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 32-bit big-endian"),
   2072        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2073    },
   2074    {
   2075        .id        = AV_CODEC_ID_PCM_S24LE,
   2076        .type      = AVMEDIA_TYPE_AUDIO,
   2077        .name      = "pcm_s24le",
   2078        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit little-endian"),
   2079        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2080    },
   2081    {
   2082        .id        = AV_CODEC_ID_PCM_S24BE,
   2083        .type      = AVMEDIA_TYPE_AUDIO,
   2084        .name      = "pcm_s24be",
   2085        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit big-endian"),
   2086        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2087    },
   2088    {
   2089        .id        = AV_CODEC_ID_PCM_U24LE,
   2090        .type      = AVMEDIA_TYPE_AUDIO,
   2091        .name      = "pcm_u24le",
   2092        .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 24-bit little-endian"),
   2093        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2094    },
   2095    {
   2096        .id        = AV_CODEC_ID_PCM_U24BE,
   2097        .type      = AVMEDIA_TYPE_AUDIO,
   2098        .name      = "pcm_u24be",
   2099        .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 24-bit big-endian"),
   2100        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2101    },
   2102    {
   2103        .id        = AV_CODEC_ID_PCM_S24DAUD,
   2104        .type      = AVMEDIA_TYPE_AUDIO,
   2105        .name      = "pcm_s24daud",
   2106        .long_name = NULL_IF_CONFIG_SMALL("PCM D-Cinema audio signed 24-bit"),
   2107        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2108    },
   2109    {
   2110        .id        = AV_CODEC_ID_PCM_S16LE_PLANAR,
   2111        .type      = AVMEDIA_TYPE_AUDIO,
   2112        .name      = "pcm_s16le_planar",
   2113        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit little-endian planar"),
   2114        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2115    },
   2116    {
   2117        .id        = AV_CODEC_ID_PCM_DVD,
   2118        .type      = AVMEDIA_TYPE_AUDIO,
   2119        .name      = "pcm_dvd",
   2120        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20|24-bit big-endian"),
   2121        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2122    },
   2123    {
   2124        .id        = AV_CODEC_ID_PCM_F32BE,
   2125        .type      = AVMEDIA_TYPE_AUDIO,
   2126        .name      = "pcm_f32be",
   2127        .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point big-endian"),
   2128        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2129    },
   2130    {
   2131        .id        = AV_CODEC_ID_PCM_F32LE,
   2132        .type      = AVMEDIA_TYPE_AUDIO,
   2133        .name      = "pcm_f32le",
   2134        .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point little-endian"),
   2135        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2136    },
   2137    {
   2138        .id        = AV_CODEC_ID_PCM_F64BE,
   2139        .type      = AVMEDIA_TYPE_AUDIO,
   2140        .name      = "pcm_f64be",
   2141        .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point big-endian"),
   2142        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2143    },
   2144    {
   2145        .id        = AV_CODEC_ID_PCM_F64LE,
   2146        .type      = AVMEDIA_TYPE_AUDIO,
   2147        .name      = "pcm_f64le",
   2148        .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point little-endian"),
   2149        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2150    },
   2151    {
   2152        .id        = AV_CODEC_ID_PCM_BLURAY,
   2153        .type      = AVMEDIA_TYPE_AUDIO,
   2154        .name      = "pcm_bluray",
   2155        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for Blu-ray media"),
   2156        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2157    },
   2158    {
   2159        .id        = AV_CODEC_ID_PCM_LXF,
   2160        .type      = AVMEDIA_TYPE_AUDIO,
   2161        .name      = "pcm_lxf",
   2162        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20-bit little-endian planar"),
   2163        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2164    },
   2165    {
   2166        .id        = AV_CODEC_ID_S302M,
   2167        .type      = AVMEDIA_TYPE_AUDIO,
   2168        .name      = "s302m",
   2169        .long_name = NULL_IF_CONFIG_SMALL("SMPTE 302M"),
   2170        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2171    },
   2172    {
   2173        .id        = AV_CODEC_ID_PCM_S8_PLANAR,
   2174        .type      = AVMEDIA_TYPE_AUDIO,
   2175        .name      = "pcm_s8_planar",
   2176        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 8-bit planar"),
   2177        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2178    },
   2179    {
   2180        .id        = AV_CODEC_ID_PCM_S24LE_PLANAR,
   2181        .type      = AVMEDIA_TYPE_AUDIO,
   2182        .name      = "pcm_s24le_planar",
   2183        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit little-endian planar"),
   2184        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2185    },
   2186    {
   2187        .id        = AV_CODEC_ID_PCM_S32LE_PLANAR,
   2188        .type      = AVMEDIA_TYPE_AUDIO,
   2189        .name      = "pcm_s32le_planar",
   2190        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit little-endian planar"),
   2191        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2192    },
   2193    {
   2194        .id        = AV_CODEC_ID_PCM_S16BE_PLANAR,
   2195        .type      = AVMEDIA_TYPE_AUDIO,
   2196        .name      = "pcm_s16be_planar",
   2197        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit big-endian planar"),
   2198        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2199    },
   2200    {
   2201        .id        = AV_CODEC_ID_PCM_S64LE,
   2202        .type      = AVMEDIA_TYPE_AUDIO,
   2203        .name      = "pcm_s64le",
   2204        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 64-bit little-endian"),
   2205        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2206    },
   2207    {
   2208        .id        = AV_CODEC_ID_PCM_S64BE,
   2209        .type      = AVMEDIA_TYPE_AUDIO,
   2210        .name      = "pcm_s64be",
   2211        .long_name = NULL_IF_CONFIG_SMALL("PCM signed 64-bit big-endian"),
   2212        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2213    },
   2214    {
   2215        .id        = AV_CODEC_ID_PCM_F16LE,
   2216        .type      = AVMEDIA_TYPE_AUDIO,
   2217        .name      = "pcm_f16le",
   2218        .long_name = NULL_IF_CONFIG_SMALL("PCM 16.8 floating point little-endian"),
   2219        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2220    },
   2221    {
   2222        .id        = AV_CODEC_ID_PCM_F24LE,
   2223        .type      = AVMEDIA_TYPE_AUDIO,
   2224        .name      = "pcm_f24le",
   2225        .long_name = NULL_IF_CONFIG_SMALL("PCM 24.0 floating point little-endian"),
   2226        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2227    },
   2228    {
   2229        .id        = AV_CODEC_ID_PCM_VIDC,
   2230        .type      = AVMEDIA_TYPE_AUDIO,
   2231        .name      = "pcm_vidc",
   2232        .long_name = NULL_IF_CONFIG_SMALL("PCM Archimedes VIDC"),
   2233        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2234    },
   2235    {
   2236        .id        = AV_CODEC_ID_PCM_SGA,
   2237        .type      = AVMEDIA_TYPE_AUDIO,
   2238        .name      = "pcm_sga",
   2239        .long_name = NULL_IF_CONFIG_SMALL("PCM SGA"),
   2240        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2241    },
   2242 
   2243    /* various ADPCM codecs */
   2244    {
   2245        .id        = AV_CODEC_ID_ADPCM_IMA_QT,
   2246        .type      = AVMEDIA_TYPE_AUDIO,
   2247        .name      = "adpcm_ima_qt",
   2248        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA QuickTime"),
   2249        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2250    },
   2251    {
   2252        .id        = AV_CODEC_ID_ADPCM_IMA_WAV,
   2253        .type      = AVMEDIA_TYPE_AUDIO,
   2254        .name      = "adpcm_ima_wav",
   2255        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA WAV"),
   2256        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2257    },
   2258    {
   2259        .id        = AV_CODEC_ID_ADPCM_IMA_DK3,
   2260        .type      = AVMEDIA_TYPE_AUDIO,
   2261        .name      = "adpcm_ima_dk3",
   2262        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Duck DK3"),
   2263        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2264    },
   2265    {
   2266        .id        = AV_CODEC_ID_ADPCM_IMA_DK4,
   2267        .type      = AVMEDIA_TYPE_AUDIO,
   2268        .name      = "adpcm_ima_dk4",
   2269        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Duck DK4"),
   2270        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2271    },
   2272    {
   2273        .id        = AV_CODEC_ID_ADPCM_IMA_WS,
   2274        .type      = AVMEDIA_TYPE_AUDIO,
   2275        .name      = "adpcm_ima_ws",
   2276        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Westwood"),
   2277        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2278    },
   2279    {
   2280        .id        = AV_CODEC_ID_ADPCM_IMA_SMJPEG,
   2281        .type      = AVMEDIA_TYPE_AUDIO,
   2282        .name      = "adpcm_ima_smjpeg",
   2283        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Loki SDL MJPEG"),
   2284        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2285    },
   2286    {
   2287        .id        = AV_CODEC_ID_ADPCM_MS,
   2288        .type      = AVMEDIA_TYPE_AUDIO,
   2289        .name      = "adpcm_ms",
   2290        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Microsoft"),
   2291        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2292    },
   2293    {
   2294        .id        = AV_CODEC_ID_ADPCM_4XM,
   2295        .type      = AVMEDIA_TYPE_AUDIO,
   2296        .name      = "adpcm_4xm",
   2297        .long_name = NULL_IF_CONFIG_SMALL("ADPCM 4X Movie"),
   2298        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2299    },
   2300    {
   2301        .id        = AV_CODEC_ID_ADPCM_XA,
   2302        .type      = AVMEDIA_TYPE_AUDIO,
   2303        .name      = "adpcm_xa",
   2304        .long_name = NULL_IF_CONFIG_SMALL("ADPCM CDROM XA"),
   2305        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2306    },
   2307    {
   2308        .id        = AV_CODEC_ID_ADPCM_ADX,
   2309        .type      = AVMEDIA_TYPE_AUDIO,
   2310        .name      = "adpcm_adx",
   2311        .long_name = NULL_IF_CONFIG_SMALL("SEGA CRI ADX ADPCM"),
   2312        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2313    },
   2314    {
   2315        .id        = AV_CODEC_ID_ADPCM_EA,
   2316        .type      = AVMEDIA_TYPE_AUDIO,
   2317        .name      = "adpcm_ea",
   2318        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts"),
   2319        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2320    },
   2321    {
   2322        .id        = AV_CODEC_ID_ADPCM_G726,
   2323        .type      = AVMEDIA_TYPE_AUDIO,
   2324        .name      = "adpcm_g726",
   2325        .long_name = NULL_IF_CONFIG_SMALL("G.726 ADPCM"),
   2326        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2327    },
   2328    {
   2329        .id        = AV_CODEC_ID_ADPCM_CT,
   2330        .type      = AVMEDIA_TYPE_AUDIO,
   2331        .name      = "adpcm_ct",
   2332        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Creative Technology"),
   2333        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2334    },
   2335    {
   2336        .id        = AV_CODEC_ID_ADPCM_SWF,
   2337        .type      = AVMEDIA_TYPE_AUDIO,
   2338        .name      = "adpcm_swf",
   2339        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Shockwave Flash"),
   2340        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2341    },
   2342    {
   2343        .id        = AV_CODEC_ID_ADPCM_YAMAHA,
   2344        .type      = AVMEDIA_TYPE_AUDIO,
   2345        .name      = "adpcm_yamaha",
   2346        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Yamaha"),
   2347        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2348    },
   2349    {
   2350        .id        = AV_CODEC_ID_ADPCM_SBPRO_4,
   2351        .type      = AVMEDIA_TYPE_AUDIO,
   2352        .name      = "adpcm_sbpro_4",
   2353        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Sound Blaster Pro 4-bit"),
   2354        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2355    },
   2356    {
   2357        .id        = AV_CODEC_ID_ADPCM_SBPRO_3,
   2358        .type      = AVMEDIA_TYPE_AUDIO,
   2359        .name      = "adpcm_sbpro_3",
   2360        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Sound Blaster Pro 2.6-bit"),
   2361        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2362    },
   2363    {
   2364        .id        = AV_CODEC_ID_ADPCM_SBPRO_2,
   2365        .type      = AVMEDIA_TYPE_AUDIO,
   2366        .name      = "adpcm_sbpro_2",
   2367        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Sound Blaster Pro 2-bit"),
   2368        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2369    },
   2370    {
   2371        .id        = AV_CODEC_ID_ADPCM_THP,
   2372        .type      = AVMEDIA_TYPE_AUDIO,
   2373        .name      = "adpcm_thp",
   2374        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo THP"),
   2375        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2376    },
   2377    {
   2378        .id        = AV_CODEC_ID_ADPCM_IMA_AMV,
   2379        .type      = AVMEDIA_TYPE_AUDIO,
   2380        .name      = "adpcm_ima_amv",
   2381        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA AMV"),
   2382        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2383    },
   2384    {
   2385        .id        = AV_CODEC_ID_ADPCM_EA_R1,
   2386        .type      = AVMEDIA_TYPE_AUDIO,
   2387        .name      = "adpcm_ea_r1",
   2388        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts R1"),
   2389        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2390    },
   2391    {
   2392        .id        = AV_CODEC_ID_ADPCM_EA_R3,
   2393        .type      = AVMEDIA_TYPE_AUDIO,
   2394        .name      = "adpcm_ea_r3",
   2395        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts R3"),
   2396        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2397    },
   2398    {
   2399        .id        = AV_CODEC_ID_ADPCM_EA_R2,
   2400        .type      = AVMEDIA_TYPE_AUDIO,
   2401        .name      = "adpcm_ea_r2",
   2402        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts R2"),
   2403        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2404    },
   2405    {
   2406        .id        = AV_CODEC_ID_ADPCM_IMA_EA_SEAD,
   2407        .type      = AVMEDIA_TYPE_AUDIO,
   2408        .name      = "adpcm_ima_ea_sead",
   2409        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Electronic Arts SEAD"),
   2410        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2411    },
   2412    {
   2413        .id        = AV_CODEC_ID_ADPCM_IMA_EA_EACS,
   2414        .type      = AVMEDIA_TYPE_AUDIO,
   2415        .name      = "adpcm_ima_ea_eacs",
   2416        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Electronic Arts EACS"),
   2417        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2418    },
   2419    {
   2420        .id        = AV_CODEC_ID_ADPCM_EA_XAS,
   2421        .type      = AVMEDIA_TYPE_AUDIO,
   2422        .name      = "adpcm_ea_xas",
   2423        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts XAS"),
   2424        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2425    },
   2426    {
   2427        .id        = AV_CODEC_ID_ADPCM_EA_MAXIS_XA,
   2428        .type      = AVMEDIA_TYPE_AUDIO,
   2429        .name      = "adpcm_ea_maxis_xa",
   2430        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts Maxis CDROM XA"),
   2431        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2432    },
   2433    {
   2434        .id        = AV_CODEC_ID_ADPCM_IMA_ISS,
   2435        .type      = AVMEDIA_TYPE_AUDIO,
   2436        .name      = "adpcm_ima_iss",
   2437        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Funcom ISS"),
   2438        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2439    },
   2440    {
   2441        .id        = AV_CODEC_ID_ADPCM_G722,
   2442        .type      = AVMEDIA_TYPE_AUDIO,
   2443        .name      = "adpcm_g722",
   2444        .long_name = NULL_IF_CONFIG_SMALL("G.722 ADPCM"),
   2445        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2446    },
   2447    {
   2448        .id        = AV_CODEC_ID_ADPCM_IMA_APC,
   2449        .type      = AVMEDIA_TYPE_AUDIO,
   2450        .name      = "adpcm_ima_apc",
   2451        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA CRYO APC"),
   2452        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2453    },
   2454    {
   2455        .id        = AV_CODEC_ID_ADPCM_VIMA,
   2456        .type      = AVMEDIA_TYPE_AUDIO,
   2457        .name      = "adpcm_vima",
   2458        .long_name = NULL_IF_CONFIG_SMALL("LucasArts VIMA audio"),
   2459        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2460    },
   2461    {
   2462        .id        = AV_CODEC_ID_ADPCM_AFC,
   2463        .type      = AVMEDIA_TYPE_AUDIO,
   2464        .name      = "adpcm_afc",
   2465        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo Gamecube AFC"),
   2466        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2467    },
   2468    {
   2469        .id        = AV_CODEC_ID_ADPCM_IMA_OKI,
   2470        .type      = AVMEDIA_TYPE_AUDIO,
   2471        .name      = "adpcm_ima_oki",
   2472        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Dialogic OKI"),
   2473        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2474    },
   2475    {
   2476        .id        = AV_CODEC_ID_ADPCM_DTK,
   2477        .type      = AVMEDIA_TYPE_AUDIO,
   2478        .name      = "adpcm_dtk",
   2479        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo Gamecube DTK"),
   2480        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2481    },
   2482    {
   2483        .id        = AV_CODEC_ID_ADPCM_IMA_RAD,
   2484        .type      = AVMEDIA_TYPE_AUDIO,
   2485        .name      = "adpcm_ima_rad",
   2486        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Radical"),
   2487        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2488    },
   2489    {
   2490        .id        = AV_CODEC_ID_ADPCM_G726LE,
   2491        .type      = AVMEDIA_TYPE_AUDIO,
   2492        .name      = "adpcm_g726le",
   2493        .long_name = NULL_IF_CONFIG_SMALL("G.726 ADPCM little-endian"),
   2494        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2495    },
   2496    {
   2497        .id        = AV_CODEC_ID_ADPCM_THP_LE,
   2498        .type      = AVMEDIA_TYPE_AUDIO,
   2499        .name      = "adpcm_thp_le",
   2500        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo THP (Little-Endian)"),
   2501        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2502    },
   2503    {
   2504        .id        = AV_CODEC_ID_ADPCM_PSX,
   2505        .type      = AVMEDIA_TYPE_AUDIO,
   2506        .name      = "adpcm_psx",
   2507        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Playstation"),
   2508        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2509    },
   2510    {
   2511        .id        = AV_CODEC_ID_ADPCM_AICA,
   2512        .type      = AVMEDIA_TYPE_AUDIO,
   2513        .name      = "adpcm_aica",
   2514        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Yamaha AICA"),
   2515        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2516    },
   2517    {
   2518        .id        = AV_CODEC_ID_ADPCM_IMA_DAT4,
   2519        .type      = AVMEDIA_TYPE_AUDIO,
   2520        .name      = "adpcm_ima_dat4",
   2521        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Eurocom DAT4"),
   2522        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2523    },
   2524    {
   2525        .id        = AV_CODEC_ID_ADPCM_MTAF,
   2526        .type      = AVMEDIA_TYPE_AUDIO,
   2527        .name      = "adpcm_mtaf",
   2528        .long_name = NULL_IF_CONFIG_SMALL("ADPCM MTAF"),
   2529        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2530    },
   2531    {
   2532        .id        = AV_CODEC_ID_ADPCM_AGM,
   2533        .type      = AVMEDIA_TYPE_AUDIO,
   2534        .name      = "adpcm_agm",
   2535        .long_name = NULL_IF_CONFIG_SMALL("ADPCM AmuseGraphics Movie AGM"),
   2536        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2537    },
   2538    {
   2539        .id        = AV_CODEC_ID_ADPCM_ARGO,
   2540        .type      = AVMEDIA_TYPE_AUDIO,
   2541        .name      = "adpcm_argo",
   2542        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Argonaut Games"),
   2543        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2544    },
   2545    {
   2546        .id        = AV_CODEC_ID_ADPCM_IMA_SSI,
   2547        .type      = AVMEDIA_TYPE_AUDIO,
   2548        .name      = "adpcm_ima_ssi",
   2549        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Simon & Schuster Interactive"),
   2550        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2551    },
   2552    {
   2553        .id        = AV_CODEC_ID_ADPCM_ZORK,
   2554        .type      = AVMEDIA_TYPE_AUDIO,
   2555        .name      = "adpcm_zork",
   2556        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Zork"),
   2557        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2558    },
   2559    {
   2560        .id        = AV_CODEC_ID_ADPCM_IMA_APM,
   2561        .type      = AVMEDIA_TYPE_AUDIO,
   2562        .name      = "adpcm_ima_apm",
   2563        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Ubisoft APM"),
   2564        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2565    },
   2566    {
   2567        .id        = AV_CODEC_ID_ADPCM_IMA_ALP,
   2568        .type      = AVMEDIA_TYPE_AUDIO,
   2569        .name      = "adpcm_ima_alp",
   2570        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA High Voltage Software ALP"),
   2571        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2572    },
   2573    {
   2574        .id        = AV_CODEC_ID_ADPCM_IMA_MTF,
   2575        .type      = AVMEDIA_TYPE_AUDIO,
   2576        .name      = "adpcm_ima_mtf",
   2577        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Capcom's MT Framework"),
   2578        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2579    },
   2580    {
   2581        .id        = AV_CODEC_ID_ADPCM_IMA_CUNNING,
   2582        .type      = AVMEDIA_TYPE_AUDIO,
   2583        .name      = "adpcm_ima_cunning",
   2584        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Cunning Developments"),
   2585        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2586    },
   2587    {
   2588        .id        = AV_CODEC_ID_ADPCM_IMA_MOFLEX,
   2589        .type      = AVMEDIA_TYPE_AUDIO,
   2590        .name      = "adpcm_ima_moflex",
   2591        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA MobiClip MOFLEX"),
   2592        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2593    },
   2594    {
   2595        .id        = AV_CODEC_ID_ADPCM_IMA_ACORN,
   2596        .type      = AVMEDIA_TYPE_AUDIO,
   2597        .name      = "adpcm_ima_acorn",
   2598        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Acorn Replay"),
   2599        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2600    },
   2601    {
   2602        .id        = AV_CODEC_ID_ADPCM_XMD,
   2603        .type      = AVMEDIA_TYPE_AUDIO,
   2604        .name      = "adpcm_xmd",
   2605        .long_name = NULL_IF_CONFIG_SMALL("ADPCM Konami XMD"),
   2606        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2607    },
   2608    {
   2609        .id        = AV_CODEC_ID_ADPCM_IMA_XBOX,
   2610        .type      = AVMEDIA_TYPE_AUDIO,
   2611        .name      = "adpcm_ima_xbox",
   2612        .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Xbox"),
   2613        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2614    },
   2615 
   2616    /* AMR */
   2617    {
   2618        .id        = AV_CODEC_ID_AMR_NB,
   2619        .type      = AVMEDIA_TYPE_AUDIO,
   2620        .name      = "amr_nb",
   2621        .long_name = NULL_IF_CONFIG_SMALL("AMR-NB (Adaptive Multi-Rate NarrowBand)"),
   2622        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2623    },
   2624    {
   2625        .id        = AV_CODEC_ID_AMR_WB,
   2626        .type      = AVMEDIA_TYPE_AUDIO,
   2627        .name      = "amr_wb",
   2628        .long_name = NULL_IF_CONFIG_SMALL("AMR-WB (Adaptive Multi-Rate WideBand)"),
   2629        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2630    },
   2631 
   2632    /* RealAudio codecs*/
   2633    {
   2634        .id        = AV_CODEC_ID_RA_144,
   2635        .type      = AVMEDIA_TYPE_AUDIO,
   2636        .name      = "ra_144",
   2637        .long_name = NULL_IF_CONFIG_SMALL("RealAudio 1.0 (14.4K)"),
   2638        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2639    },
   2640    {
   2641        .id        = AV_CODEC_ID_RA_288,
   2642        .type      = AVMEDIA_TYPE_AUDIO,
   2643        .name      = "ra_288",
   2644        .long_name = NULL_IF_CONFIG_SMALL("RealAudio 2.0 (28.8K)"),
   2645        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2646    },
   2647 
   2648    /* various DPCM codecs */
   2649    {
   2650        .id        = AV_CODEC_ID_ROQ_DPCM,
   2651        .type      = AVMEDIA_TYPE_AUDIO,
   2652        .name      = "roq_dpcm",
   2653        .long_name = NULL_IF_CONFIG_SMALL("DPCM id RoQ"),
   2654        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2655    },
   2656    {
   2657        .id        = AV_CODEC_ID_INTERPLAY_DPCM,
   2658        .type      = AVMEDIA_TYPE_AUDIO,
   2659        .name      = "interplay_dpcm",
   2660        .long_name = NULL_IF_CONFIG_SMALL("DPCM Interplay"),
   2661        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2662    },
   2663    {
   2664        .id        = AV_CODEC_ID_XAN_DPCM,
   2665        .type      = AVMEDIA_TYPE_AUDIO,
   2666        .name      = "xan_dpcm",
   2667        .long_name = NULL_IF_CONFIG_SMALL("DPCM Xan"),
   2668        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2669    },
   2670    {
   2671        .id        = AV_CODEC_ID_SOL_DPCM,
   2672        .type      = AVMEDIA_TYPE_AUDIO,
   2673        .name      = "sol_dpcm",
   2674        .long_name = NULL_IF_CONFIG_SMALL("DPCM Sol"),
   2675        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2676    },
   2677    {
   2678        .id        = AV_CODEC_ID_SDX2_DPCM,
   2679        .type      = AVMEDIA_TYPE_AUDIO,
   2680        .name      = "sdx2_dpcm",
   2681        .long_name = NULL_IF_CONFIG_SMALL("DPCM Squareroot-Delta-Exact"),
   2682        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2683    },
   2684    {
   2685        .id        = AV_CODEC_ID_GREMLIN_DPCM,
   2686        .type      = AVMEDIA_TYPE_AUDIO,
   2687        .name      = "gremlin_dpcm",
   2688        .long_name = NULL_IF_CONFIG_SMALL("DPCM Gremlin"),
   2689        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2690    },
   2691    {
   2692        .id        = AV_CODEC_ID_DERF_DPCM,
   2693        .type      = AVMEDIA_TYPE_AUDIO,
   2694        .name      = "derf_dpcm",
   2695        .long_name = NULL_IF_CONFIG_SMALL("DPCM Xilam DERF"),
   2696        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2697    },
   2698    {
   2699        .id        = AV_CODEC_ID_WADY_DPCM,
   2700        .type      = AVMEDIA_TYPE_AUDIO,
   2701        .name      = "wady_dpcm",
   2702        .long_name = NULL_IF_CONFIG_SMALL("DPCM Marble WADY"),
   2703        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2704    },
   2705    {
   2706        .id        = AV_CODEC_ID_CBD2_DPCM,
   2707        .type      = AVMEDIA_TYPE_AUDIO,
   2708        .name      = "cbd2_dpcm",
   2709        .long_name = NULL_IF_CONFIG_SMALL("DPCM Cuberoot-Delta-Exact"),
   2710        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2711    },
   2712 
   2713    /* audio codecs */
   2714    {
   2715        .id        = AV_CODEC_ID_MP2,
   2716        .type      = AVMEDIA_TYPE_AUDIO,
   2717        .name      = "mp2",
   2718        .long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"),
   2719        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2720    },
   2721    {
   2722        .id        = AV_CODEC_ID_MP3,
   2723        .type      = AVMEDIA_TYPE_AUDIO,
   2724        .name      = "mp3",
   2725        .long_name = NULL_IF_CONFIG_SMALL("MP3 (MPEG audio layer 3)"),
   2726        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2727    },
   2728    {
   2729        .id        = AV_CODEC_ID_AAC,
   2730        .type      = AVMEDIA_TYPE_AUDIO,
   2731        .name      = "aac",
   2732        .long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
   2733        .props     = AV_CODEC_PROP_LOSSY,
   2734        .profiles  = NULL_IF_CONFIG_SMALL(ff_aac_profiles),
   2735    },
   2736    {
   2737        .id        = AV_CODEC_ID_AC3,
   2738        .type      = AVMEDIA_TYPE_AUDIO,
   2739        .name      = "ac3",
   2740        .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
   2741        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2742    },
   2743    {
   2744        .id        = AV_CODEC_ID_DTS,
   2745        .type      = AVMEDIA_TYPE_AUDIO,
   2746        .name      = "dts",
   2747        .long_name = NULL_IF_CONFIG_SMALL("DCA (DTS Coherent Acoustics)"),
   2748        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
   2749        .profiles  = NULL_IF_CONFIG_SMALL(ff_dca_profiles),
   2750    },
   2751    {
   2752        .id        = AV_CODEC_ID_VORBIS,
   2753        .type      = AVMEDIA_TYPE_AUDIO,
   2754        .name      = "vorbis",
   2755        .long_name = NULL_IF_CONFIG_SMALL("Vorbis"),
   2756        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2757    },
   2758    {
   2759        .id        = AV_CODEC_ID_DVAUDIO,
   2760        .type      = AVMEDIA_TYPE_AUDIO,
   2761        .name      = "dvaudio",
   2762        .long_name = NULL_IF_CONFIG_SMALL("DV audio"),
   2763        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2764    },
   2765    {
   2766        .id        = AV_CODEC_ID_WMAV1,
   2767        .type      = AVMEDIA_TYPE_AUDIO,
   2768        .name      = "wmav1",
   2769        .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 1"),
   2770        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2771    },
   2772    {
   2773        .id        = AV_CODEC_ID_WMAV2,
   2774        .type      = AVMEDIA_TYPE_AUDIO,
   2775        .name      = "wmav2",
   2776        .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 2"),
   2777        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2778    },
   2779    {
   2780        .id        = AV_CODEC_ID_MACE3,
   2781        .type      = AVMEDIA_TYPE_AUDIO,
   2782        .name      = "mace3",
   2783        .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 3:1"),
   2784        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2785    },
   2786    {
   2787        .id        = AV_CODEC_ID_MACE6,
   2788        .type      = AVMEDIA_TYPE_AUDIO,
   2789        .name      = "mace6",
   2790        .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 6:1"),
   2791        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2792    },
   2793    {
   2794        .id        = AV_CODEC_ID_VMDAUDIO,
   2795        .type      = AVMEDIA_TYPE_AUDIO,
   2796        .name      = "vmdaudio",
   2797        .long_name = NULL_IF_CONFIG_SMALL("Sierra VMD audio"),
   2798        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2799    },
   2800    {
   2801        .id        = AV_CODEC_ID_FLAC,
   2802        .type      = AVMEDIA_TYPE_AUDIO,
   2803        .name      = "flac",
   2804        .long_name = NULL_IF_CONFIG_SMALL("FLAC (Free Lossless Audio Codec)"),
   2805        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2806    },
   2807    {
   2808        .id        = AV_CODEC_ID_MP3ADU,
   2809        .type      = AVMEDIA_TYPE_AUDIO,
   2810        .name      = "mp3adu",
   2811        .long_name = NULL_IF_CONFIG_SMALL("ADU (Application Data Unit) MP3 (MPEG audio layer 3)"),
   2812        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2813    },
   2814    {
   2815        .id        = AV_CODEC_ID_MP3ON4,
   2816        .type      = AVMEDIA_TYPE_AUDIO,
   2817        .name      = "mp3on4",
   2818        .long_name = NULL_IF_CONFIG_SMALL("MP3onMP4"),
   2819        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2820    },
   2821    {
   2822        .id        = AV_CODEC_ID_SHORTEN,
   2823        .type      = AVMEDIA_TYPE_AUDIO,
   2824        .name      = "shorten",
   2825        .long_name = NULL_IF_CONFIG_SMALL("Shorten"),
   2826        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2827    },
   2828    {
   2829        .id        = AV_CODEC_ID_ALAC,
   2830        .type      = AVMEDIA_TYPE_AUDIO,
   2831        .name      = "alac",
   2832        .long_name = NULL_IF_CONFIG_SMALL("ALAC (Apple Lossless Audio Codec)"),
   2833        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2834    },
   2835    {
   2836        .id        = AV_CODEC_ID_WESTWOOD_SND1,
   2837        .type      = AVMEDIA_TYPE_AUDIO,
   2838        .name      = "westwood_snd1",
   2839        .long_name = NULL_IF_CONFIG_SMALL("Westwood Audio (SND1)"),
   2840        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2841    },
   2842    {
   2843        .id        = AV_CODEC_ID_GSM,
   2844        .type      = AVMEDIA_TYPE_AUDIO,
   2845        .name      = "gsm",
   2846        .long_name = NULL_IF_CONFIG_SMALL("GSM"),
   2847        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2848    },
   2849    {
   2850        .id        = AV_CODEC_ID_QDM2,
   2851        .type      = AVMEDIA_TYPE_AUDIO,
   2852        .name      = "qdm2",
   2853        .long_name = NULL_IF_CONFIG_SMALL("QDesign Music Codec 2"),
   2854        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2855    },
   2856    {
   2857        .id        = AV_CODEC_ID_COOK,
   2858        .type      = AVMEDIA_TYPE_AUDIO,
   2859        .name      = "cook",
   2860        .long_name = NULL_IF_CONFIG_SMALL("Cook / Cooker / Gecko (RealAudio G2)"),
   2861        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2862    },
   2863    {
   2864        .id        = AV_CODEC_ID_TRUESPEECH,
   2865        .type      = AVMEDIA_TYPE_AUDIO,
   2866        .name      = "truespeech",
   2867        .long_name = NULL_IF_CONFIG_SMALL("DSP Group TrueSpeech"),
   2868        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2869    },
   2870    {
   2871        .id        = AV_CODEC_ID_TTA,
   2872        .type      = AVMEDIA_TYPE_AUDIO,
   2873        .name      = "tta",
   2874        .long_name = NULL_IF_CONFIG_SMALL("TTA (True Audio)"),
   2875        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2876    },
   2877    {
   2878        .id        = AV_CODEC_ID_SMACKAUDIO,
   2879        .type      = AVMEDIA_TYPE_AUDIO,
   2880        .name      = "smackaudio",
   2881        .long_name = NULL_IF_CONFIG_SMALL("Smacker audio"),
   2882        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2883    },
   2884    {
   2885        .id        = AV_CODEC_ID_QCELP,
   2886        .type      = AVMEDIA_TYPE_AUDIO,
   2887        .name      = "qcelp",
   2888        .long_name = NULL_IF_CONFIG_SMALL("QCELP / PureVoice"),
   2889        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2890    },
   2891    {
   2892        .id        = AV_CODEC_ID_WAVPACK,
   2893        .type      = AVMEDIA_TYPE_AUDIO,
   2894        .name      = "wavpack",
   2895        .long_name = NULL_IF_CONFIG_SMALL("WavPack"),
   2896        .props     = AV_CODEC_PROP_INTRA_ONLY |
   2897                     AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
   2898    },
   2899    {
   2900        .id        = AV_CODEC_ID_DSICINAUDIO,
   2901        .type      = AVMEDIA_TYPE_AUDIO,
   2902        .name      = "dsicinaudio",
   2903        .long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN audio"),
   2904        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2905    },
   2906    {
   2907        .id        = AV_CODEC_ID_IMC,
   2908        .type      = AVMEDIA_TYPE_AUDIO,
   2909        .name      = "imc",
   2910        .long_name = NULL_IF_CONFIG_SMALL("IMC (Intel Music Coder)"),
   2911        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2912    },
   2913    {
   2914        .id        = AV_CODEC_ID_MUSEPACK7,
   2915        .type      = AVMEDIA_TYPE_AUDIO,
   2916        .name      = "musepack7",
   2917        .long_name = NULL_IF_CONFIG_SMALL("Musepack SV7"),
   2918        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2919    },
   2920    {
   2921        .id        = AV_CODEC_ID_MLP,
   2922        .type      = AVMEDIA_TYPE_AUDIO,
   2923        .name      = "mlp",
   2924        .long_name = NULL_IF_CONFIG_SMALL("MLP (Meridian Lossless Packing)"),
   2925        .props     = AV_CODEC_PROP_LOSSLESS,
   2926    },
   2927    {
   2928        .id        = AV_CODEC_ID_GSM_MS,
   2929        .type      = AVMEDIA_TYPE_AUDIO,
   2930        .name      = "gsm_ms",
   2931        .long_name = NULL_IF_CONFIG_SMALL("GSM Microsoft variant"),
   2932        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2933    },
   2934    {
   2935        .id        = AV_CODEC_ID_ATRAC3,
   2936        .type      = AVMEDIA_TYPE_AUDIO,
   2937        .name      = "atrac3",
   2938        .long_name = NULL_IF_CONFIG_SMALL("ATRAC3 (Adaptive TRansform Acoustic Coding 3)"),
   2939        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2940    },
   2941    {
   2942        .id        = AV_CODEC_ID_APE,
   2943        .type      = AVMEDIA_TYPE_AUDIO,
   2944        .name      = "ape",
   2945        .long_name = NULL_IF_CONFIG_SMALL("Monkey's Audio"),
   2946        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2947    },
   2948    {
   2949        .id        = AV_CODEC_ID_NELLYMOSER,
   2950        .type      = AVMEDIA_TYPE_AUDIO,
   2951        .name      = "nellymoser",
   2952        .long_name = NULL_IF_CONFIG_SMALL("Nellymoser Asao"),
   2953        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2954    },
   2955    {
   2956        .id        = AV_CODEC_ID_MUSEPACK8,
   2957        .type      = AVMEDIA_TYPE_AUDIO,
   2958        .name      = "musepack8",
   2959        .long_name = NULL_IF_CONFIG_SMALL("Musepack SV8"),
   2960        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2961    },
   2962    {
   2963        .id        = AV_CODEC_ID_SPEEX,
   2964        .type      = AVMEDIA_TYPE_AUDIO,
   2965        .name      = "speex",
   2966        .long_name = NULL_IF_CONFIG_SMALL("Speex"),
   2967        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2968    },
   2969    {
   2970        .id        = AV_CODEC_ID_WMAVOICE,
   2971        .type      = AVMEDIA_TYPE_AUDIO,
   2972        .name      = "wmavoice",
   2973        .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio Voice"),
   2974        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2975    },
   2976    {
   2977        .id        = AV_CODEC_ID_WMAPRO,
   2978        .type      = AVMEDIA_TYPE_AUDIO,
   2979        .name      = "wmapro",
   2980        .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 9 Professional"),
   2981        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2982    },
   2983    {
   2984        .id        = AV_CODEC_ID_WMALOSSLESS,
   2985        .type      = AVMEDIA_TYPE_AUDIO,
   2986        .name      = "wmalossless",
   2987        .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio Lossless"),
   2988        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   2989    },
   2990    {
   2991        .id        = AV_CODEC_ID_ATRAC3P,
   2992        .type      = AVMEDIA_TYPE_AUDIO,
   2993        .name      = "atrac3p",
   2994        .long_name = NULL_IF_CONFIG_SMALL("ATRAC3+ (Adaptive TRansform Acoustic Coding 3+)"),
   2995        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   2996    },
   2997    {
   2998        .id        = AV_CODEC_ID_EAC3,
   2999        .type      = AVMEDIA_TYPE_AUDIO,
   3000        .name      = "eac3",
   3001        .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52B (AC-3, E-AC-3)"),
   3002        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3003        .profiles  = NULL_IF_CONFIG_SMALL(ff_eac3_profiles),
   3004    },
   3005    {
   3006        .id        = AV_CODEC_ID_SIPR,
   3007        .type      = AVMEDIA_TYPE_AUDIO,
   3008        .name      = "sipr",
   3009        .long_name = NULL_IF_CONFIG_SMALL("RealAudio SIPR / ACELP.NET"),
   3010        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3011    },
   3012    {
   3013        .id        = AV_CODEC_ID_MP1,
   3014        .type      = AVMEDIA_TYPE_AUDIO,
   3015        .name      = "mp1",
   3016        .long_name = NULL_IF_CONFIG_SMALL("MP1 (MPEG audio layer 1)"),
   3017        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3018    },
   3019    {
   3020        .id        = AV_CODEC_ID_TWINVQ,
   3021        .type      = AVMEDIA_TYPE_AUDIO,
   3022        .name      = "twinvq",
   3023        .long_name = NULL_IF_CONFIG_SMALL("VQF TwinVQ"),
   3024        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3025    },
   3026    {
   3027        .id        = AV_CODEC_ID_TRUEHD,
   3028        .type      = AVMEDIA_TYPE_AUDIO,
   3029        .name      = "truehd",
   3030        .long_name = NULL_IF_CONFIG_SMALL("TrueHD"),
   3031        .props     = AV_CODEC_PROP_LOSSLESS,
   3032        .profiles  = NULL_IF_CONFIG_SMALL(ff_truehd_profiles),
   3033    },
   3034    {
   3035        .id        = AV_CODEC_ID_MP4ALS,
   3036        .type      = AVMEDIA_TYPE_AUDIO,
   3037        .name      = "mp4als",
   3038        .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 Audio Lossless Coding (ALS)"),
   3039        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   3040    },
   3041    {
   3042        .id        = AV_CODEC_ID_ATRAC1,
   3043        .type      = AVMEDIA_TYPE_AUDIO,
   3044        .name      = "atrac1",
   3045        .long_name = NULL_IF_CONFIG_SMALL("ATRAC1 (Adaptive TRansform Acoustic Coding)"),
   3046        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3047    },
   3048    {
   3049        .id        = AV_CODEC_ID_BINKAUDIO_RDFT,
   3050        .type      = AVMEDIA_TYPE_AUDIO,
   3051        .name      = "binkaudio_rdft",
   3052        .long_name = NULL_IF_CONFIG_SMALL("Bink Audio (RDFT)"),
   3053        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3054    },
   3055    {
   3056        .id        = AV_CODEC_ID_BINKAUDIO_DCT,
   3057        .type      = AVMEDIA_TYPE_AUDIO,
   3058        .name      = "binkaudio_dct",
   3059        .long_name = NULL_IF_CONFIG_SMALL("Bink Audio (DCT)"),
   3060        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3061    },
   3062    {
   3063        .id        = AV_CODEC_ID_AAC_LATM,
   3064        .type      = AVMEDIA_TYPE_AUDIO,
   3065        .name      = "aac_latm",
   3066        .long_name = NULL_IF_CONFIG_SMALL("AAC LATM (Advanced Audio Coding LATM syntax)"),
   3067        .props     = AV_CODEC_PROP_LOSSY,
   3068        .profiles  = NULL_IF_CONFIG_SMALL(ff_aac_profiles),
   3069    },
   3070    {
   3071        .id        = AV_CODEC_ID_QDMC,
   3072        .type      = AVMEDIA_TYPE_AUDIO,
   3073        .name      = "qdmc",
   3074        .long_name = NULL_IF_CONFIG_SMALL("QDesign Music"),
   3075        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3076    },
   3077    {
   3078        .id        = AV_CODEC_ID_CELT,
   3079        .type      = AVMEDIA_TYPE_AUDIO,
   3080        .name      = "celt",
   3081        .long_name = NULL_IF_CONFIG_SMALL("Constrained Energy Lapped Transform (CELT)"),
   3082        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3083    },
   3084    {
   3085        .id        = AV_CODEC_ID_G723_1,
   3086        .type      = AVMEDIA_TYPE_AUDIO,
   3087        .name      = "g723_1",
   3088        .long_name = NULL_IF_CONFIG_SMALL("G.723.1"),
   3089        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3090    },
   3091    {
   3092        .id        = AV_CODEC_ID_G729,
   3093        .type      = AVMEDIA_TYPE_AUDIO,
   3094        .name      = "g729",
   3095        .long_name = NULL_IF_CONFIG_SMALL("G.729"),
   3096        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3097    },
   3098    {
   3099        .id        = AV_CODEC_ID_8SVX_EXP,
   3100        .type      = AVMEDIA_TYPE_AUDIO,
   3101        .name      = "8svx_exp",
   3102        .long_name = NULL_IF_CONFIG_SMALL("8SVX exponential"),
   3103        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3104    },
   3105    {
   3106        .id        = AV_CODEC_ID_8SVX_FIB,
   3107        .type      = AVMEDIA_TYPE_AUDIO,
   3108        .name      = "8svx_fib",
   3109        .long_name = NULL_IF_CONFIG_SMALL("8SVX fibonacci"),
   3110        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3111    },
   3112    {
   3113        .id        = AV_CODEC_ID_BMV_AUDIO,
   3114        .type      = AVMEDIA_TYPE_AUDIO,
   3115        .name      = "bmv_audio",
   3116        .long_name = NULL_IF_CONFIG_SMALL("Discworld II BMV audio"),
   3117        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3118    },
   3119    {
   3120        .id        = AV_CODEC_ID_RALF,
   3121        .type      = AVMEDIA_TYPE_AUDIO,
   3122        .name      = "ralf",
   3123        .long_name = NULL_IF_CONFIG_SMALL("RealAudio Lossless"),
   3124        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   3125    },
   3126    {
   3127        .id        = AV_CODEC_ID_IAC,
   3128        .type      = AVMEDIA_TYPE_AUDIO,
   3129        .name      = "iac",
   3130        .long_name = NULL_IF_CONFIG_SMALL("IAC (Indeo Audio Coder)"),
   3131        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3132    },
   3133    {
   3134        .id        = AV_CODEC_ID_ILBC,
   3135        .type      = AVMEDIA_TYPE_AUDIO,
   3136        .name      = "ilbc",
   3137        .long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"),
   3138        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3139    },
   3140    {
   3141        .id        = AV_CODEC_ID_OPUS,
   3142        .type      = AVMEDIA_TYPE_AUDIO,
   3143        .name      = "opus",
   3144        .long_name = NULL_IF_CONFIG_SMALL("Opus (Opus Interactive Audio Codec)"),
   3145        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3146    },
   3147    {
   3148        .id        = AV_CODEC_ID_COMFORT_NOISE,
   3149        .type      = AVMEDIA_TYPE_AUDIO,
   3150        .name      = "comfortnoise",
   3151        .long_name = NULL_IF_CONFIG_SMALL("RFC 3389 Comfort Noise"),
   3152        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3153    },
   3154    {
   3155        .id        = AV_CODEC_ID_TAK,
   3156        .type      = AVMEDIA_TYPE_AUDIO,
   3157        .name      = "tak",
   3158        .long_name = NULL_IF_CONFIG_SMALL("TAK (Tom's lossless Audio Kompressor)"),
   3159        .props     = AV_CODEC_PROP_LOSSLESS,
   3160    },
   3161    {
   3162        .id        = AV_CODEC_ID_METASOUND,
   3163        .type      = AVMEDIA_TYPE_AUDIO,
   3164        .name      = "metasound",
   3165        .long_name = NULL_IF_CONFIG_SMALL("Voxware MetaSound"),
   3166        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3167    },
   3168    {
   3169        .id        = AV_CODEC_ID_PAF_AUDIO,
   3170        .type      = AVMEDIA_TYPE_AUDIO,
   3171        .name      = "paf_audio",
   3172        .long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Audio"),
   3173        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3174    },
   3175    {
   3176        .id        = AV_CODEC_ID_ON2AVC,
   3177        .type      = AVMEDIA_TYPE_AUDIO,
   3178        .name      = "avc",
   3179        .long_name = NULL_IF_CONFIG_SMALL("On2 Audio for Video Codec"),
   3180        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3181    },
   3182    {
   3183        .id        = AV_CODEC_ID_DSS_SP,
   3184        .type      = AVMEDIA_TYPE_AUDIO,
   3185        .name      = "dss_sp",
   3186        .long_name = NULL_IF_CONFIG_SMALL("Digital Speech Standard - Standard Play mode (DSS SP)"),
   3187        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3188    },
   3189    {
   3190        .id        = AV_CODEC_ID_CODEC2,
   3191        .type      = AVMEDIA_TYPE_AUDIO,
   3192        .name      = "codec2",
   3193        .long_name = NULL_IF_CONFIG_SMALL("codec2 (very low bitrate speech codec)"),
   3194        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3195    },
   3196    {
   3197        .id        = AV_CODEC_ID_FFWAVESYNTH,
   3198        .type      = AVMEDIA_TYPE_AUDIO,
   3199        .name      = "wavesynth",
   3200        .long_name = NULL_IF_CONFIG_SMALL("Wave synthesis pseudo-codec"),
   3201        .props     = AV_CODEC_PROP_INTRA_ONLY,
   3202    },
   3203    {
   3204        .id        = AV_CODEC_ID_SONIC,
   3205        .type      = AVMEDIA_TYPE_AUDIO,
   3206        .name      = "sonic",
   3207        .long_name = NULL_IF_CONFIG_SMALL("Sonic"),
   3208        .props     = AV_CODEC_PROP_INTRA_ONLY,
   3209    },
   3210    {
   3211        .id        = AV_CODEC_ID_SONIC_LS,
   3212        .type      = AVMEDIA_TYPE_AUDIO,
   3213        .name      = "sonicls",
   3214        .long_name = NULL_IF_CONFIG_SMALL("Sonic lossless"),
   3215        .props     = AV_CODEC_PROP_INTRA_ONLY,
   3216    },
   3217    {
   3218        .id        = AV_CODEC_ID_EVRC,
   3219        .type      = AVMEDIA_TYPE_AUDIO,
   3220        .name      = "evrc",
   3221        .long_name = NULL_IF_CONFIG_SMALL("EVRC (Enhanced Variable Rate Codec)"),
   3222        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3223    },
   3224    {
   3225        .id        = AV_CODEC_ID_SMV,
   3226        .type      = AVMEDIA_TYPE_AUDIO,
   3227        .name      = "smv",
   3228        .long_name = NULL_IF_CONFIG_SMALL("SMV (Selectable Mode Vocoder)"),
   3229        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3230    },
   3231    {
   3232        .id        = AV_CODEC_ID_DSD_LSBF,
   3233        .type      = AVMEDIA_TYPE_AUDIO,
   3234        .name      = "dsd_lsbf",
   3235        .long_name = NULL_IF_CONFIG_SMALL("DSD (Direct Stream Digital), least significant bit first"),
   3236        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3237    },
   3238    {
   3239        .id        = AV_CODEC_ID_DSD_MSBF,
   3240        .type      = AVMEDIA_TYPE_AUDIO,
   3241        .name      = "dsd_msbf",
   3242        .long_name = NULL_IF_CONFIG_SMALL("DSD (Direct Stream Digital), most significant bit first"),
   3243        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3244    },
   3245    {
   3246        .id        = AV_CODEC_ID_DSD_LSBF_PLANAR,
   3247        .type      = AVMEDIA_TYPE_AUDIO,
   3248        .name      = "dsd_lsbf_planar",
   3249        .long_name = NULL_IF_CONFIG_SMALL("DSD (Direct Stream Digital), least significant bit first, planar"),
   3250        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3251    },
   3252    {
   3253        .id        = AV_CODEC_ID_DSD_MSBF_PLANAR,
   3254        .type      = AVMEDIA_TYPE_AUDIO,
   3255        .name      = "dsd_msbf_planar",
   3256        .long_name = NULL_IF_CONFIG_SMALL("DSD (Direct Stream Digital), most significant bit first, planar"),
   3257        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3258    },
   3259    {
   3260        .id        = AV_CODEC_ID_4GV,
   3261        .type      = AVMEDIA_TYPE_AUDIO,
   3262        .name      = "4gv",
   3263        .long_name = NULL_IF_CONFIG_SMALL("4GV (Fourth Generation Vocoder)"),
   3264        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3265    },
   3266    {
   3267        .id        = AV_CODEC_ID_INTERPLAY_ACM,
   3268        .type      = AVMEDIA_TYPE_AUDIO,
   3269        .name      = "interplayacm",
   3270        .long_name = NULL_IF_CONFIG_SMALL("Interplay ACM"),
   3271        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3272    },
   3273    {
   3274        .id        = AV_CODEC_ID_XMA1,
   3275        .type      = AVMEDIA_TYPE_AUDIO,
   3276        .name      = "xma1",
   3277        .long_name = NULL_IF_CONFIG_SMALL("Xbox Media Audio 1"),
   3278        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3279    },
   3280    {
   3281        .id        = AV_CODEC_ID_XMA2,
   3282        .type      = AVMEDIA_TYPE_AUDIO,
   3283        .name      = "xma2",
   3284        .long_name = NULL_IF_CONFIG_SMALL("Xbox Media Audio 2"),
   3285        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3286    },
   3287    {
   3288        .id        = AV_CODEC_ID_DST,
   3289        .type      = AVMEDIA_TYPE_AUDIO,
   3290        .name      = "dst",
   3291        .long_name = NULL_IF_CONFIG_SMALL("DST (Direct Stream Transfer)"),
   3292        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   3293    },
   3294    {
   3295        .id        = AV_CODEC_ID_ATRAC3AL,
   3296        .type      = AVMEDIA_TYPE_AUDIO,
   3297        .name      = "atrac3al",
   3298        .long_name = NULL_IF_CONFIG_SMALL("ATRAC3 AL (Adaptive TRansform Acoustic Coding 3 Advanced Lossless)"),
   3299        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   3300    },
   3301    {
   3302        .id        = AV_CODEC_ID_ATRAC3PAL,
   3303        .type      = AVMEDIA_TYPE_AUDIO,
   3304        .name      = "atrac3pal",
   3305        .long_name = NULL_IF_CONFIG_SMALL("ATRAC3+ AL (Adaptive TRansform Acoustic Coding 3+ Advanced Lossless)"),
   3306        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   3307    },
   3308    {
   3309        .id        = AV_CODEC_ID_DOLBY_E,
   3310        .type      = AVMEDIA_TYPE_AUDIO,
   3311        .name      = "dolby_e",
   3312        .long_name = NULL_IF_CONFIG_SMALL("Dolby E"),
   3313        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3314    },
   3315    {
   3316        .id        = AV_CODEC_ID_APTX,
   3317        .type      = AVMEDIA_TYPE_AUDIO,
   3318        .name      = "aptx",
   3319        .long_name = NULL_IF_CONFIG_SMALL("aptX (Audio Processing Technology for Bluetooth)"),
   3320        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3321    },
   3322    {
   3323        .id        = AV_CODEC_ID_APTX_HD,
   3324        .type      = AVMEDIA_TYPE_AUDIO,
   3325        .name      = "aptx_hd",
   3326        .long_name = NULL_IF_CONFIG_SMALL("aptX HD (Audio Processing Technology for Bluetooth)"),
   3327        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3328    },
   3329    {
   3330        .id        = AV_CODEC_ID_SBC,
   3331        .type      = AVMEDIA_TYPE_AUDIO,
   3332        .name      = "sbc",
   3333        .long_name = NULL_IF_CONFIG_SMALL("SBC (low-complexity subband codec)"),
   3334        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3335    },
   3336    {
   3337        .id        = AV_CODEC_ID_ATRAC9,
   3338        .type      = AVMEDIA_TYPE_AUDIO,
   3339        .name      = "atrac9",
   3340        .long_name = NULL_IF_CONFIG_SMALL("ATRAC9 (Adaptive TRansform Acoustic Coding 9)"),
   3341        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3342    },
   3343    {
   3344        .id        = AV_CODEC_ID_HCOM,
   3345        .type      = AVMEDIA_TYPE_AUDIO,
   3346        .name      = "hcom",
   3347        .long_name = NULL_IF_CONFIG_SMALL("HCOM Audio"),
   3348        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3349    },
   3350    {
   3351        .id        = AV_CODEC_ID_ACELP_KELVIN,
   3352        .type      = AVMEDIA_TYPE_AUDIO,
   3353        .name      = "acelp.kelvin",
   3354        .long_name = NULL_IF_CONFIG_SMALL("Sipro ACELP.KELVIN"),
   3355        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3356    },
   3357    {
   3358        .id        = AV_CODEC_ID_MPEGH_3D_AUDIO,
   3359        .type      = AVMEDIA_TYPE_AUDIO,
   3360        .name      = "mpegh_3d_audio",
   3361        .long_name = NULL_IF_CONFIG_SMALL("MPEG-H 3D Audio"),
   3362        .props     = AV_CODEC_PROP_LOSSY,
   3363    },
   3364    {
   3365        .id        = AV_CODEC_ID_SIREN,
   3366        .type      = AVMEDIA_TYPE_AUDIO,
   3367        .name      = "siren",
   3368        .long_name = NULL_IF_CONFIG_SMALL("Siren"),
   3369        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3370    },
   3371    {
   3372        .id        = AV_CODEC_ID_HCA,
   3373        .type      = AVMEDIA_TYPE_AUDIO,
   3374        .name      = "hca",
   3375        .long_name = NULL_IF_CONFIG_SMALL("CRI HCA"),
   3376        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3377    },
   3378    {
   3379        .id        = AV_CODEC_ID_FASTAUDIO,
   3380        .type      = AVMEDIA_TYPE_AUDIO,
   3381        .name      = "fastaudio",
   3382        .long_name = NULL_IF_CONFIG_SMALL("MobiClip FastAudio"),
   3383        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3384    },
   3385    {
   3386        .id        = AV_CODEC_ID_MSNSIREN,
   3387        .type      = AVMEDIA_TYPE_AUDIO,
   3388        .name      = "msnsiren",
   3389        .long_name = NULL_IF_CONFIG_SMALL("MSN Siren"),
   3390        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3391    },
   3392    {
   3393        .id        = AV_CODEC_ID_DFPWM,
   3394        .type      = AVMEDIA_TYPE_AUDIO,
   3395        .name      = "dfpwm",
   3396        .long_name = NULL_IF_CONFIG_SMALL("DFPWM (Dynamic Filter Pulse Width Modulation)"),
   3397        .props     = AV_CODEC_PROP_LOSSY,
   3398    },
   3399    {
   3400        .id        = AV_CODEC_ID_BONK,
   3401        .type      = AVMEDIA_TYPE_AUDIO,
   3402        .name      = "bonk",
   3403        .long_name = NULL_IF_CONFIG_SMALL("Bonk audio"),
   3404        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   3405    },
   3406    {
   3407        .id        = AV_CODEC_ID_MISC4,
   3408        .type      = AVMEDIA_TYPE_AUDIO,
   3409        .name      = "misc4",
   3410        .long_name = NULL_IF_CONFIG_SMALL("Micronas SC-4 Audio"),
   3411        .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_INTRA_ONLY,
   3412    },
   3413    {
   3414        .id        = AV_CODEC_ID_APAC,
   3415        .type      = AVMEDIA_TYPE_AUDIO,
   3416        .name      = "apac",
   3417        .long_name = NULL_IF_CONFIG_SMALL("Marian's A-pac audio"),
   3418        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   3419    },
   3420    {
   3421        .id        = AV_CODEC_ID_FTR,
   3422        .type      = AVMEDIA_TYPE_AUDIO,
   3423        .name      = "ftr",
   3424        .long_name = NULL_IF_CONFIG_SMALL("FTR Voice"),
   3425        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3426    },
   3427    {
   3428        .id        = AV_CODEC_ID_WAVARC,
   3429        .type      = AVMEDIA_TYPE_AUDIO,
   3430        .name      = "wavarc",
   3431        .long_name = NULL_IF_CONFIG_SMALL("Waveform Archiver"),
   3432        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   3433    },
   3434    {
   3435        .id        = AV_CODEC_ID_RKA,
   3436        .type      = AVMEDIA_TYPE_AUDIO,
   3437        .name      = "rka",
   3438        .long_name = NULL_IF_CONFIG_SMALL("RKA (RK Audio)"),
   3439        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
   3440    },
   3441    {
   3442        .id        = AV_CODEC_ID_AC4,
   3443        .type      = AVMEDIA_TYPE_AUDIO,
   3444        .name      = "ac4",
   3445        .long_name = NULL_IF_CONFIG_SMALL("AC-4"),
   3446        .props     = AV_CODEC_PROP_LOSSY,
   3447    },
   3448    {
   3449        .id        = AV_CODEC_ID_OSQ,
   3450        .type      = AVMEDIA_TYPE_AUDIO,
   3451        .name      = "osq",
   3452        .long_name = NULL_IF_CONFIG_SMALL("OSQ (Original Sound Quality)"),
   3453        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
   3454    },
   3455    {
   3456        .id        = AV_CODEC_ID_QOA,
   3457        .type      = AVMEDIA_TYPE_AUDIO,
   3458        .name      = "qoa",
   3459        .long_name = NULL_IF_CONFIG_SMALL("QOA (Quite OK Audio)"),
   3460        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3461    },
   3462    {
   3463        .id        = AV_CODEC_ID_LC3,
   3464        .type      = AVMEDIA_TYPE_AUDIO,
   3465        .name      = "lc3",
   3466        .long_name = NULL_IF_CONFIG_SMALL("LC3 (Low Complexity Communication Codec)"),
   3467        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
   3468    },
   3469 
   3470    /* subtitle codecs */
   3471    {
   3472        .id        = AV_CODEC_ID_DVD_SUBTITLE,
   3473        .type      = AVMEDIA_TYPE_SUBTITLE,
   3474        .name      = "dvd_subtitle",
   3475        .long_name = NULL_IF_CONFIG_SMALL("DVD subtitles"),
   3476        .props     = AV_CODEC_PROP_BITMAP_SUB,
   3477    },
   3478    {
   3479        .id        = AV_CODEC_ID_DVB_SUBTITLE,
   3480        .type      = AVMEDIA_TYPE_SUBTITLE,
   3481        .name      = "dvb_subtitle",
   3482        .long_name = NULL_IF_CONFIG_SMALL("DVB subtitles"),
   3483        .props     = AV_CODEC_PROP_BITMAP_SUB,
   3484    },
   3485    {
   3486        .id        = AV_CODEC_ID_TEXT,
   3487        .type      = AVMEDIA_TYPE_SUBTITLE,
   3488        .name      = "text",
   3489        .long_name = NULL_IF_CONFIG_SMALL("raw UTF-8 text"),
   3490        .props     = AV_CODEC_PROP_TEXT_SUB,
   3491    },
   3492    {
   3493        .id        = AV_CODEC_ID_XSUB,
   3494        .type      = AVMEDIA_TYPE_SUBTITLE,
   3495        .name      = "xsub",
   3496        .long_name = NULL_IF_CONFIG_SMALL("XSUB"),
   3497        .props     = AV_CODEC_PROP_BITMAP_SUB,
   3498    },
   3499    {
   3500        .id        = AV_CODEC_ID_SSA,
   3501        .type      = AVMEDIA_TYPE_SUBTITLE,
   3502        .name      = "ssa",
   3503        .long_name = NULL_IF_CONFIG_SMALL("SSA (SubStation Alpha) subtitle"),
   3504        .props     = AV_CODEC_PROP_TEXT_SUB,
   3505    },
   3506    {
   3507        .id        = AV_CODEC_ID_MOV_TEXT,
   3508        .type      = AVMEDIA_TYPE_SUBTITLE,
   3509        .name      = "mov_text",
   3510        .long_name = NULL_IF_CONFIG_SMALL("MOV text"),
   3511        .props     = AV_CODEC_PROP_TEXT_SUB,
   3512    },
   3513    {
   3514        .id        = AV_CODEC_ID_HDMV_PGS_SUBTITLE,
   3515        .type      = AVMEDIA_TYPE_SUBTITLE,
   3516        .name      = "hdmv_pgs_subtitle",
   3517        .long_name = NULL_IF_CONFIG_SMALL("HDMV Presentation Graphic Stream subtitles"),
   3518        .props     = AV_CODEC_PROP_BITMAP_SUB,
   3519    },
   3520    {
   3521        .id        = AV_CODEC_ID_DVB_TELETEXT,
   3522        .type      = AVMEDIA_TYPE_SUBTITLE,
   3523        .name      = "dvb_teletext",
   3524        .long_name = NULL_IF_CONFIG_SMALL("DVB teletext"),
   3525    },
   3526    {
   3527        .id        = AV_CODEC_ID_SRT,
   3528        .type      = AVMEDIA_TYPE_SUBTITLE,
   3529        .name      = "srt",
   3530        .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle with embedded timing"),
   3531        .props     = AV_CODEC_PROP_TEXT_SUB,
   3532    },
   3533    {
   3534        .id        = AV_CODEC_ID_MICRODVD,
   3535        .type      = AVMEDIA_TYPE_SUBTITLE,
   3536        .name      = "microdvd",
   3537        .long_name = NULL_IF_CONFIG_SMALL("MicroDVD subtitle"),
   3538        .props     = AV_CODEC_PROP_TEXT_SUB,
   3539    },
   3540    {
   3541        .id        = AV_CODEC_ID_EIA_608,
   3542        .type      = AVMEDIA_TYPE_SUBTITLE,
   3543        .name      = "eia_608",
   3544        .long_name = NULL_IF_CONFIG_SMALL("EIA-608 closed captions"),
   3545        .props     = AV_CODEC_PROP_TEXT_SUB,
   3546    },
   3547    {
   3548        .id        = AV_CODEC_ID_JACOSUB,
   3549        .type      = AVMEDIA_TYPE_SUBTITLE,
   3550        .name      = "jacosub",
   3551        .long_name = NULL_IF_CONFIG_SMALL("JACOsub subtitle"),
   3552        .props     = AV_CODEC_PROP_TEXT_SUB,
   3553    },
   3554    {
   3555        .id        = AV_CODEC_ID_SAMI,
   3556        .type      = AVMEDIA_TYPE_SUBTITLE,
   3557        .name      = "sami",
   3558        .long_name = NULL_IF_CONFIG_SMALL("SAMI subtitle"),
   3559        .props     = AV_CODEC_PROP_TEXT_SUB,
   3560    },
   3561    {
   3562        .id        = AV_CODEC_ID_REALTEXT,
   3563        .type      = AVMEDIA_TYPE_SUBTITLE,
   3564        .name      = "realtext",
   3565        .long_name = NULL_IF_CONFIG_SMALL("RealText subtitle"),
   3566        .props     = AV_CODEC_PROP_TEXT_SUB,
   3567    },
   3568    {
   3569        .id        = AV_CODEC_ID_STL,
   3570        .type      = AVMEDIA_TYPE_SUBTITLE,
   3571        .name      = "stl",
   3572        .long_name = NULL_IF_CONFIG_SMALL("Spruce subtitle format"),
   3573        .props     = AV_CODEC_PROP_TEXT_SUB,
   3574    },
   3575    {
   3576        .id        = AV_CODEC_ID_SUBVIEWER1,
   3577        .type      = AVMEDIA_TYPE_SUBTITLE,
   3578        .name      = "subviewer1",
   3579        .long_name = NULL_IF_CONFIG_SMALL("SubViewer v1 subtitle"),
   3580        .props     = AV_CODEC_PROP_TEXT_SUB,
   3581    },
   3582    {
   3583        .id        = AV_CODEC_ID_SUBVIEWER,
   3584        .type      = AVMEDIA_TYPE_SUBTITLE,
   3585        .name      = "subviewer",
   3586        .long_name = NULL_IF_CONFIG_SMALL("SubViewer subtitle"),
   3587        .props     = AV_CODEC_PROP_TEXT_SUB,
   3588    },
   3589    {
   3590        .id        = AV_CODEC_ID_SUBRIP,
   3591        .type      = AVMEDIA_TYPE_SUBTITLE,
   3592        .name      = "subrip",
   3593        .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),
   3594        .props     = AV_CODEC_PROP_TEXT_SUB,
   3595    },
   3596    {
   3597        .id        = AV_CODEC_ID_WEBVTT,
   3598        .type      = AVMEDIA_TYPE_SUBTITLE,
   3599        .name      = "webvtt",
   3600        .long_name = NULL_IF_CONFIG_SMALL("WebVTT subtitle"),
   3601        .props     = AV_CODEC_PROP_TEXT_SUB,
   3602    },
   3603    {
   3604        .id        = AV_CODEC_ID_MPL2,
   3605        .type      = AVMEDIA_TYPE_SUBTITLE,
   3606        .name      = "mpl2",
   3607        .long_name = NULL_IF_CONFIG_SMALL("MPL2 subtitle"),
   3608        .props     = AV_CODEC_PROP_TEXT_SUB,
   3609    },
   3610    {
   3611        .id        = AV_CODEC_ID_VPLAYER,
   3612        .type      = AVMEDIA_TYPE_SUBTITLE,
   3613        .name      = "vplayer",
   3614        .long_name = NULL_IF_CONFIG_SMALL("VPlayer subtitle"),
   3615        .props     = AV_CODEC_PROP_TEXT_SUB,
   3616    },
   3617    {
   3618        .id        = AV_CODEC_ID_PJS,
   3619        .type      = AVMEDIA_TYPE_SUBTITLE,
   3620        .name      = "pjs",
   3621        .long_name = NULL_IF_CONFIG_SMALL("PJS (Phoenix Japanimation Society) subtitle"),
   3622        .props     = AV_CODEC_PROP_TEXT_SUB,
   3623    },
   3624    {
   3625        .id        = AV_CODEC_ID_ASS,
   3626        .type      = AVMEDIA_TYPE_SUBTITLE,
   3627        .name      = "ass",
   3628        .long_name = NULL_IF_CONFIG_SMALL("ASS (Advanced SSA) subtitle"),
   3629        .props     = AV_CODEC_PROP_TEXT_SUB,
   3630    },
   3631    {
   3632        .id        = AV_CODEC_ID_HDMV_TEXT_SUBTITLE,
   3633        .type      = AVMEDIA_TYPE_SUBTITLE,
   3634        .name      = "hdmv_text_subtitle",
   3635        .long_name = NULL_IF_CONFIG_SMALL("HDMV Text subtitle"),
   3636        .props     = AV_CODEC_PROP_TEXT_SUB,
   3637    },
   3638    {
   3639        .id        = AV_CODEC_ID_TTML,
   3640        .type      = AVMEDIA_TYPE_SUBTITLE,
   3641        .name      = "ttml",
   3642        .long_name = NULL_IF_CONFIG_SMALL("Timed Text Markup Language"),
   3643        .props     = AV_CODEC_PROP_TEXT_SUB,
   3644    },
   3645    {
   3646        .id        = AV_CODEC_ID_ARIB_CAPTION,
   3647        .type      = AVMEDIA_TYPE_SUBTITLE,
   3648        .name      = "arib_caption",
   3649        .long_name = NULL_IF_CONFIG_SMALL("ARIB STD-B24 caption"),
   3650        .profiles  = NULL_IF_CONFIG_SMALL(ff_arib_caption_profiles),
   3651    },
   3652 
   3653    /* other kind of codecs and pseudo-codecs */
   3654    {
   3655        .id        = AV_CODEC_ID_TTF,
   3656        .type      = AVMEDIA_TYPE_DATA,
   3657        .name      = "ttf",
   3658        .long_name = NULL_IF_CONFIG_SMALL("TrueType font"),
   3659        .mime_types= MT("application/x-truetype-font", "application/x-font"),
   3660    },
   3661    {
   3662        .id        = AV_CODEC_ID_SCTE_35,
   3663        .type      = AVMEDIA_TYPE_DATA,
   3664        .name      = "scte_35",
   3665        .long_name = NULL_IF_CONFIG_SMALL("SCTE 35 Message Queue"),
   3666    },
   3667    {
   3668        .id        = AV_CODEC_ID_EPG,
   3669        .type      = AVMEDIA_TYPE_DATA,
   3670        .name      = "epg",
   3671        .long_name = NULL_IF_CONFIG_SMALL("Electronic Program Guide"),
   3672    },
   3673    {
   3674        .id        = AV_CODEC_ID_BINTEXT,
   3675        .type      = AVMEDIA_TYPE_VIDEO,
   3676        .name      = "bintext",
   3677        .long_name = NULL_IF_CONFIG_SMALL("Binary text"),
   3678        .props     = AV_CODEC_PROP_INTRA_ONLY,
   3679    },
   3680    {
   3681        .id        = AV_CODEC_ID_XBIN,
   3682        .type      = AVMEDIA_TYPE_VIDEO,
   3683        .name      = "xbin",
   3684        .long_name = NULL_IF_CONFIG_SMALL("eXtended BINary text"),
   3685        .props     = AV_CODEC_PROP_INTRA_ONLY,
   3686    },
   3687    {
   3688        .id        = AV_CODEC_ID_IDF,
   3689        .type      = AVMEDIA_TYPE_VIDEO,
   3690        .name      = "idf",
   3691        .long_name = NULL_IF_CONFIG_SMALL("iCEDraw text"),
   3692        .props     = AV_CODEC_PROP_INTRA_ONLY,
   3693    },
   3694    {
   3695        .id        = AV_CODEC_ID_OTF,
   3696        .type      = AVMEDIA_TYPE_DATA,
   3697        .name      = "otf",
   3698        .long_name = NULL_IF_CONFIG_SMALL("OpenType font"),
   3699        .mime_types= MT("application/vnd.ms-opentype"),
   3700    },
   3701    {
   3702        .id        = AV_CODEC_ID_SMPTE_KLV,
   3703        .type      = AVMEDIA_TYPE_DATA,
   3704        .name      = "klv",
   3705        .long_name = NULL_IF_CONFIG_SMALL("SMPTE 336M Key-Length-Value (KLV) metadata"),
   3706    },
   3707    {
   3708        .id        = AV_CODEC_ID_DVD_NAV,
   3709        .type      = AVMEDIA_TYPE_DATA,
   3710        .name      = "dvd_nav_packet",
   3711        .long_name = NULL_IF_CONFIG_SMALL("DVD Nav packet"),
   3712    },
   3713    {
   3714        .id        = AV_CODEC_ID_TIMED_ID3,
   3715        .type      = AVMEDIA_TYPE_DATA,
   3716        .name      = "timed_id3",
   3717        .long_name = NULL_IF_CONFIG_SMALL("timed ID3 metadata"),
   3718    },
   3719    {
   3720        .id        = AV_CODEC_ID_BIN_DATA,
   3721        .type      = AVMEDIA_TYPE_DATA,
   3722        .name      = "bin_data",
   3723        .long_name = NULL_IF_CONFIG_SMALL("binary data"),
   3724        .mime_types= MT("application/octet-stream"),
   3725    },
   3726    {
   3727        .id        = AV_CODEC_ID_SMPTE_2038,
   3728        .type      = AVMEDIA_TYPE_DATA,
   3729        .name      = "smpte_2038",
   3730        .long_name = NULL_IF_CONFIG_SMALL("SMPTE ST 2038 VANC in MPEG-2 TS"),
   3731    },
   3732    {
   3733        .id        = AV_CODEC_ID_LCEVC,
   3734        .type      = AVMEDIA_TYPE_DATA,
   3735        .name      = "lcevc",
   3736        .long_name = NULL_IF_CONFIG_SMALL("LCEVC (Low Complexity Enhancement Video Coding) / MPEG-5 LCEVC / MPEG-5 part 2"),
   3737    },
   3738    {
   3739        .id        = AV_CODEC_ID_MPEG2TS,
   3740        .type      = AVMEDIA_TYPE_DATA,
   3741        .name      = "mpegts",
   3742        .long_name = NULL_IF_CONFIG_SMALL("raw MPEG-TS stream"),
   3743        .mime_types= MT("application/MP2T"),
   3744    },
   3745    {
   3746        .id        = AV_CODEC_ID_WRAPPED_AVFRAME,
   3747        .type      = AVMEDIA_TYPE_VIDEO,
   3748        .name      = "wrapped_avframe",
   3749        .long_name = NULL_IF_CONFIG_SMALL("AVFrame to AVPacket passthrough"),
   3750        .props     = AV_CODEC_PROP_LOSSLESS,
   3751    },
   3752    {
   3753        .id        = AV_CODEC_ID_VNULL,
   3754        .type      = AVMEDIA_TYPE_VIDEO,
   3755        .name      = "vnull",
   3756        .long_name = NULL_IF_CONFIG_SMALL("Null video codec"),
   3757    },
   3758    {
   3759        .id        = AV_CODEC_ID_ANULL,
   3760        .type      = AVMEDIA_TYPE_AUDIO,
   3761        .name      = "anull",
   3762        .long_name = NULL_IF_CONFIG_SMALL("Null audio codec"),
   3763    },
   3764 };
   3765 
   3766 static int descriptor_compare(const void *key, const void *member)
   3767 {
   3768    enum AVCodecID id = *(const enum AVCodecID *) key;
   3769    const AVCodecDescriptor *desc = member;
   3770 
   3771    return id - desc->id;
   3772 }
   3773 
   3774 const AVCodecDescriptor *avcodec_descriptor_get(enum AVCodecID id)
   3775 {
   3776    return bsearch(&id, codec_descriptors, FF_ARRAY_ELEMS(codec_descriptors),
   3777                   sizeof(codec_descriptors[0]), descriptor_compare);
   3778 }
   3779 
   3780 const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev)
   3781 {
   3782    if (!prev)
   3783        return &codec_descriptors[0];
   3784    if (prev - codec_descriptors < FF_ARRAY_ELEMS(codec_descriptors) - 1)
   3785        return prev + 1;
   3786    return NULL;
   3787 }
   3788 
   3789 const AVCodecDescriptor *avcodec_descriptor_get_by_name(const char *name)
   3790 {
   3791    const AVCodecDescriptor *desc = NULL;
   3792 
   3793    while ((desc = avcodec_descriptor_next(desc)))
   3794        if (!strcmp(desc->name, name))
   3795            return desc;
   3796    return NULL;
   3797 }
   3798 
   3799 enum AVMediaType avcodec_get_type(enum AVCodecID codec_id)
   3800 {
   3801    const AVCodecDescriptor *desc = avcodec_descriptor_get(codec_id);
   3802    return desc ? desc->type : AVMEDIA_TYPE_UNKNOWN;
   3803 }