Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  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 <string.h>
  23.  
  24. #include "libavutil/common.h"
  25. #include "libavutil/internal.h"
  26. #include "avcodec.h"
  27. #include "version.h"
  28.  
  29. #define MT(...) (const char *const[]){ __VA_ARGS__, NULL }
  30.  
  31. static const AVCodecDescriptor codec_descriptors[] = {
  32.     /* video codecs */
  33.     {
  34.         .id        = AV_CODEC_ID_MPEG1VIDEO,
  35.         .type      = AVMEDIA_TYPE_VIDEO,
  36.         .name      = "mpeg1video",
  37.         .long_name = NULL_IF_CONFIG_SMALL("MPEG-1 video"),
  38.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
  39.     },
  40.     {
  41.         .id        = AV_CODEC_ID_MPEG2VIDEO,
  42.         .type      = AVMEDIA_TYPE_VIDEO,
  43.         .name      = "mpeg2video",
  44.         .long_name = NULL_IF_CONFIG_SMALL("MPEG-2 video"),
  45.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
  46.     },
  47. #if FF_API_XVMC
  48.     {
  49.         .id        = AV_CODEC_ID_MPEG2VIDEO_XVMC,
  50.         .type      = AVMEDIA_TYPE_VIDEO,
  51.         .name      = "mpegvideo_xvmc",
  52.         .long_name = NULL_IF_CONFIG_SMALL("MPEG-1/2 video XvMC (X-Video Motion Compensation)"),
  53.         .props     = AV_CODEC_PROP_LOSSY,
  54.     },
  55. #endif /* FF_API_XVMC */
  56.     {
  57.         .id        = AV_CODEC_ID_H261,
  58.         .type      = AVMEDIA_TYPE_VIDEO,
  59.         .name      = "h261",
  60.         .long_name = NULL_IF_CONFIG_SMALL("H.261"),
  61.         .props     = AV_CODEC_PROP_LOSSY,
  62.     },
  63.     {
  64.         .id        = AV_CODEC_ID_H263,
  65.         .type      = AVMEDIA_TYPE_VIDEO,
  66.         .name      = "h263",
  67.         .long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2"),
  68.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
  69.     },
  70.     {
  71.         .id        = AV_CODEC_ID_RV10,
  72.         .type      = AVMEDIA_TYPE_VIDEO,
  73.         .name      = "rv10",
  74.         .long_name = NULL_IF_CONFIG_SMALL("RealVideo 1.0"),
  75.         .props     = AV_CODEC_PROP_LOSSY,
  76.     },
  77.     {
  78.         .id        = AV_CODEC_ID_RV20,
  79.         .type      = AVMEDIA_TYPE_VIDEO,
  80.         .name      = "rv20",
  81.         .long_name = NULL_IF_CONFIG_SMALL("RealVideo 2.0"),
  82.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
  83.     },
  84.     {
  85.         .id        = AV_CODEC_ID_MJPEG,
  86.         .type      = AVMEDIA_TYPE_VIDEO,
  87.         .name      = "mjpeg",
  88.         .long_name = NULL_IF_CONFIG_SMALL("Motion JPEG"),
  89.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  90.         .mime_types= MT("image/jpeg"),
  91.     },
  92.     {
  93.         .id        = AV_CODEC_ID_MJPEGB,
  94.         .type      = AVMEDIA_TYPE_VIDEO,
  95.         .name      = "mjpegb",
  96.         .long_name = NULL_IF_CONFIG_SMALL("Apple MJPEG-B"),
  97.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  98.     },
  99.     {
  100.         .id        = AV_CODEC_ID_MPEG4,
  101.         .type      = AVMEDIA_TYPE_VIDEO,
  102.         .name      = "mpeg4",
  103.         .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2"),
  104.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
  105.     },
  106.     {
  107.         .id        = AV_CODEC_ID_RAWVIDEO,
  108.         .type      = AVMEDIA_TYPE_VIDEO,
  109.         .name      = "rawvideo",
  110.         .long_name = NULL_IF_CONFIG_SMALL("raw video"),
  111.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  112.     },
  113.     {
  114.         .id        = AV_CODEC_ID_MSMPEG4V1,
  115.         .type      = AVMEDIA_TYPE_VIDEO,
  116.         .name      = "msmpeg4v1",
  117.         .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 1"),
  118.         .props     = AV_CODEC_PROP_LOSSY,
  119.     },
  120.     {
  121.         .id        = AV_CODEC_ID_MSMPEG4V2,
  122.         .type      = AVMEDIA_TYPE_VIDEO,
  123.         .name      = "msmpeg4v2",
  124.         .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 2"),
  125.         .props     = AV_CODEC_PROP_LOSSY,
  126.     },
  127.     {
  128.         .id        = AV_CODEC_ID_MSMPEG4V3,
  129.         .type      = AVMEDIA_TYPE_VIDEO,
  130.         .name      = "msmpeg4v3",
  131.         .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 3"),
  132.         .props     = AV_CODEC_PROP_LOSSY,
  133.     },
  134.     {
  135.         .id        = AV_CODEC_ID_WMV1,
  136.         .type      = AVMEDIA_TYPE_VIDEO,
  137.         .name      = "wmv1",
  138.         .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 7"),
  139.         .props     = AV_CODEC_PROP_LOSSY,
  140.     },
  141.     {
  142.         .id        = AV_CODEC_ID_WMV2,
  143.         .type      = AVMEDIA_TYPE_VIDEO,
  144.         .name      = "wmv2",
  145.         .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 8"),
  146.         .props     = AV_CODEC_PROP_LOSSY,
  147.     },
  148.     {
  149.         .id        = AV_CODEC_ID_H263P,
  150.         .type      = AVMEDIA_TYPE_VIDEO,
  151.         .name      = "h263p",
  152.         .long_name = NULL_IF_CONFIG_SMALL("H.263+ / H.263-1998 / H.263 version 2"),
  153.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
  154.     },
  155.     {
  156.         .id        = AV_CODEC_ID_H263I,
  157.         .type      = AVMEDIA_TYPE_VIDEO,
  158.         .name      = "h263i",
  159.         .long_name = NULL_IF_CONFIG_SMALL("Intel H.263"),
  160.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
  161.     },
  162.     {
  163.         .id        = AV_CODEC_ID_FLV1,
  164.         .type      = AVMEDIA_TYPE_VIDEO,
  165.         .name      = "flv1",
  166.         .long_name = NULL_IF_CONFIG_SMALL("FLV / Sorenson Spark / Sorenson H.263 (Flash Video)"),
  167.         .props     = AV_CODEC_PROP_LOSSY,
  168.     },
  169.     {
  170.         .id        = AV_CODEC_ID_SVQ1,
  171.         .type      = AVMEDIA_TYPE_VIDEO,
  172.         .name      = "svq1",
  173.         .long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1"),
  174.         .props     = AV_CODEC_PROP_LOSSY,
  175.     },
  176.     {
  177.         .id        = AV_CODEC_ID_SVQ3,
  178.         .type      = AVMEDIA_TYPE_VIDEO,
  179.         .name      = "svq3",
  180.         .long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3"),
  181.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
  182.     },
  183.     {
  184.         .id        = AV_CODEC_ID_DVVIDEO,
  185.         .type      = AVMEDIA_TYPE_VIDEO,
  186.         .name      = "dvvideo",
  187.         .long_name = NULL_IF_CONFIG_SMALL("DV (Digital Video)"),
  188.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  189.     },
  190.     {
  191.         .id        = AV_CODEC_ID_HUFFYUV,
  192.         .type      = AVMEDIA_TYPE_VIDEO,
  193.         .name      = "huffyuv",
  194.         .long_name = NULL_IF_CONFIG_SMALL("HuffYUV"),
  195.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  196.     },
  197.     {
  198.         .id        = AV_CODEC_ID_CYUV,
  199.         .type      = AVMEDIA_TYPE_VIDEO,
  200.         .name      = "cyuv",
  201.         .long_name = NULL_IF_CONFIG_SMALL("Creative YUV (CYUV)"),
  202.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  203.     },
  204.     {
  205.         .id        = AV_CODEC_ID_H264,
  206.         .type      = AVMEDIA_TYPE_VIDEO,
  207.         .name      = "h264",
  208.         .long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
  209.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS | AV_CODEC_PROP_REORDER,
  210.     },
  211.     {
  212.         .id        = AV_CODEC_ID_INDEO3,
  213.         .type      = AVMEDIA_TYPE_VIDEO,
  214.         .name      = "indeo3",
  215.         .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo 3"),
  216.         .props     = AV_CODEC_PROP_LOSSY,
  217.     },
  218.     {
  219.         .id        = AV_CODEC_ID_VP3,
  220.         .type      = AVMEDIA_TYPE_VIDEO,
  221.         .name      = "vp3",
  222.         .long_name = NULL_IF_CONFIG_SMALL("On2 VP3"),
  223.         .props     = AV_CODEC_PROP_LOSSY,
  224.     },
  225.     {
  226.         .id        = AV_CODEC_ID_THEORA,
  227.         .type      = AVMEDIA_TYPE_VIDEO,
  228.         .name      = "theora",
  229.         .long_name = NULL_IF_CONFIG_SMALL("Theora"),
  230.         .props     = AV_CODEC_PROP_LOSSY,
  231.     },
  232.     {
  233.         .id        = AV_CODEC_ID_ASV1,
  234.         .type      = AVMEDIA_TYPE_VIDEO,
  235.         .name      = "asv1",
  236.         .long_name = NULL_IF_CONFIG_SMALL("ASUS V1"),
  237.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  238.     },
  239.     {
  240.         .id        = AV_CODEC_ID_ASV2,
  241.         .type      = AVMEDIA_TYPE_VIDEO,
  242.         .name      = "asv2",
  243.         .long_name = NULL_IF_CONFIG_SMALL("ASUS V2"),
  244.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  245.     },
  246.     {
  247.         .id        = AV_CODEC_ID_FFV1,
  248.         .type      = AVMEDIA_TYPE_VIDEO,
  249.         .name      = "ffv1",
  250.         .long_name = NULL_IF_CONFIG_SMALL("FFmpeg video codec #1"),
  251.         .props     = AV_CODEC_PROP_LOSSLESS,
  252.     },
  253.     {
  254.         .id        = AV_CODEC_ID_4XM,
  255.         .type      = AVMEDIA_TYPE_VIDEO,
  256.         .name      = "4xm",
  257.         .long_name = NULL_IF_CONFIG_SMALL("4X Movie"),
  258.         .props     = AV_CODEC_PROP_LOSSY,
  259.     },
  260.     {
  261.         .id        = AV_CODEC_ID_VCR1,
  262.         .type      = AVMEDIA_TYPE_VIDEO,
  263.         .name      = "vcr1",
  264.         .long_name = NULL_IF_CONFIG_SMALL("ATI VCR1"),
  265.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  266.     },
  267.     {
  268.         .id        = AV_CODEC_ID_CLJR,
  269.         .type      = AVMEDIA_TYPE_VIDEO,
  270.         .name      = "cljr",
  271.         .long_name = NULL_IF_CONFIG_SMALL("Cirrus Logic AccuPak"),
  272.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  273.     },
  274.     {
  275.         .id        = AV_CODEC_ID_MDEC,
  276.         .type      = AVMEDIA_TYPE_VIDEO,
  277.         .name      = "mdec",
  278.         .long_name = NULL_IF_CONFIG_SMALL("Sony PlayStation MDEC (Motion DECoder)"),
  279.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  280.     },
  281.     {
  282.         .id        = AV_CODEC_ID_ROQ,
  283.         .type      = AVMEDIA_TYPE_VIDEO,
  284.         .name      = "roq",
  285.         .long_name = NULL_IF_CONFIG_SMALL("id RoQ video"),
  286.         .props     = AV_CODEC_PROP_LOSSY,
  287.     },
  288.     {
  289.         .id        = AV_CODEC_ID_INTERPLAY_VIDEO,
  290.         .type      = AVMEDIA_TYPE_VIDEO,
  291.         .name      = "interplayvideo",
  292.         .long_name = NULL_IF_CONFIG_SMALL("Interplay MVE video"),
  293.         .props     = AV_CODEC_PROP_LOSSY,
  294.     },
  295.     {
  296.         .id        = AV_CODEC_ID_XAN_WC3,
  297.         .type      = AVMEDIA_TYPE_VIDEO,
  298.         .name      = "xan_wc3",
  299.         .long_name = NULL_IF_CONFIG_SMALL("Wing Commander III / Xan"),
  300.         .props     = AV_CODEC_PROP_LOSSY,
  301.     },
  302.     {
  303.         .id        = AV_CODEC_ID_XAN_WC4,
  304.         .type      = AVMEDIA_TYPE_VIDEO,
  305.         .name      = "xan_wc4",
  306.         .long_name = NULL_IF_CONFIG_SMALL("Wing Commander IV / Xxan"),
  307.         .props     = AV_CODEC_PROP_LOSSY,
  308.     },
  309.     {
  310.         .id        = AV_CODEC_ID_RPZA,
  311.         .type      = AVMEDIA_TYPE_VIDEO,
  312.         .name      = "rpza",
  313.         .long_name = NULL_IF_CONFIG_SMALL("QuickTime video (RPZA)"),
  314.         .props     = AV_CODEC_PROP_LOSSY,
  315.     },
  316.     {
  317.         .id        = AV_CODEC_ID_CINEPAK,
  318.         .type      = AVMEDIA_TYPE_VIDEO,
  319.         .name      = "cinepak",
  320.         .long_name = NULL_IF_CONFIG_SMALL("Cinepak"),
  321.         .props     = AV_CODEC_PROP_LOSSY,
  322.     },
  323.     {
  324.         .id        = AV_CODEC_ID_WS_VQA,
  325.         .type      = AVMEDIA_TYPE_VIDEO,
  326.         .name      = "ws_vqa",
  327.         .long_name = NULL_IF_CONFIG_SMALL("Westwood Studios VQA (Vector Quantized Animation) video"),
  328.         .props     = AV_CODEC_PROP_LOSSY,
  329.     },
  330.     {
  331.         .id        = AV_CODEC_ID_MSRLE,
  332.         .type      = AVMEDIA_TYPE_VIDEO,
  333.         .name      = "msrle",
  334.         .long_name = NULL_IF_CONFIG_SMALL("Microsoft RLE"),
  335.         .props     = AV_CODEC_PROP_LOSSLESS,
  336.     },
  337.     {
  338.         .id        = AV_CODEC_ID_MSVIDEO1,
  339.         .type      = AVMEDIA_TYPE_VIDEO,
  340.         .name      = "msvideo1",
  341.         .long_name = NULL_IF_CONFIG_SMALL("Microsoft Video 1"),
  342.         .props     = AV_CODEC_PROP_LOSSY,
  343.     },
  344.     {
  345.         .id        = AV_CODEC_ID_IDCIN,
  346.         .type      = AVMEDIA_TYPE_VIDEO,
  347.         .name      = "idcin",
  348.         .long_name = NULL_IF_CONFIG_SMALL("id Quake II CIN video"),
  349.         .props     = AV_CODEC_PROP_LOSSY,
  350.     },
  351.     {
  352.         .id        = AV_CODEC_ID_8BPS,
  353.         .type      = AVMEDIA_TYPE_VIDEO,
  354.         .name      = "8bps",
  355.         .long_name = NULL_IF_CONFIG_SMALL("QuickTime 8BPS video"),
  356.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  357.     },
  358.     {
  359.         .id        = AV_CODEC_ID_SMC,
  360.         .type      = AVMEDIA_TYPE_VIDEO,
  361.         .name      = "smc",
  362.         .long_name = NULL_IF_CONFIG_SMALL("QuickTime Graphics (SMC)"),
  363.         .props     = AV_CODEC_PROP_LOSSY,
  364.     },
  365.     {
  366.         .id        = AV_CODEC_ID_FLIC,
  367.         .type      = AVMEDIA_TYPE_VIDEO,
  368.         .name      = "flic",
  369.         .long_name = NULL_IF_CONFIG_SMALL("Autodesk Animator Flic video"),
  370.         .props     = AV_CODEC_PROP_LOSSLESS,
  371.     },
  372.     {
  373.         .id        = AV_CODEC_ID_TRUEMOTION1,
  374.         .type      = AVMEDIA_TYPE_VIDEO,
  375.         .name      = "truemotion1",
  376.         .long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 1.0"),
  377.         .props     = AV_CODEC_PROP_LOSSY,
  378.     },
  379.     {
  380.         .id        = AV_CODEC_ID_VMDVIDEO,
  381.         .type      = AVMEDIA_TYPE_VIDEO,
  382.         .name      = "vmdvideo",
  383.         .long_name = NULL_IF_CONFIG_SMALL("Sierra VMD video"),
  384.         .props     = AV_CODEC_PROP_LOSSY,
  385.     },
  386.     {
  387.         .id        = AV_CODEC_ID_MSZH,
  388.         .type      = AVMEDIA_TYPE_VIDEO,
  389.         .name      = "mszh",
  390.         .long_name = NULL_IF_CONFIG_SMALL("LCL (LossLess Codec Library) MSZH"),
  391.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  392.     },
  393.     {
  394.         .id        = AV_CODEC_ID_ZLIB,
  395.         .type      = AVMEDIA_TYPE_VIDEO,
  396.         .name      = "zlib",
  397.         .long_name = NULL_IF_CONFIG_SMALL("LCL (LossLess Codec Library) ZLIB"),
  398.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  399.     },
  400.     {
  401.         .id        = AV_CODEC_ID_QTRLE,
  402.         .type      = AVMEDIA_TYPE_VIDEO,
  403.         .name      = "qtrle",
  404.         .long_name = NULL_IF_CONFIG_SMALL("QuickTime Animation (RLE) video"),
  405.         .props     = AV_CODEC_PROP_LOSSLESS,
  406.     },
  407.     {
  408.         .id        = AV_CODEC_ID_SNOW,
  409.         .type      = AVMEDIA_TYPE_VIDEO,
  410.         .name      = "snow",
  411.         .long_name = NULL_IF_CONFIG_SMALL("Snow"),
  412.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
  413.     },
  414.     {
  415.         .id        = AV_CODEC_ID_TSCC,
  416.         .type      = AVMEDIA_TYPE_VIDEO,
  417.         .name      = "tscc",
  418.         .long_name = NULL_IF_CONFIG_SMALL("TechSmith Screen Capture Codec"),
  419.         .props     = AV_CODEC_PROP_LOSSLESS,
  420.     },
  421.     {
  422.         .id        = AV_CODEC_ID_ULTI,
  423.         .type      = AVMEDIA_TYPE_VIDEO,
  424.         .name      = "ulti",
  425.         .long_name = NULL_IF_CONFIG_SMALL("IBM UltiMotion"),
  426.         .props     = AV_CODEC_PROP_LOSSY,
  427.     },
  428.     {
  429.         .id        = AV_CODEC_ID_QDRAW,
  430.         .type      = AVMEDIA_TYPE_VIDEO,
  431.         .name      = "qdraw",
  432.         .long_name = NULL_IF_CONFIG_SMALL("Apple QuickDraw"),
  433.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  434.     },
  435.     {
  436.         .id        = AV_CODEC_ID_VIXL,
  437.         .type      = AVMEDIA_TYPE_VIDEO,
  438.         .name      = "vixl",
  439.         .long_name = NULL_IF_CONFIG_SMALL("Miro VideoXL"),
  440.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  441.     },
  442.     {
  443.         .id        = AV_CODEC_ID_QPEG,
  444.         .type      = AVMEDIA_TYPE_VIDEO,
  445.         .name      = "qpeg",
  446.         .long_name = NULL_IF_CONFIG_SMALL("Q-team QPEG"),
  447.         .props     = AV_CODEC_PROP_LOSSY,
  448.     },
  449.     {
  450.         .id        = AV_CODEC_ID_FFVHUFF,
  451.         .type      = AVMEDIA_TYPE_VIDEO,
  452.         .name      = "ffvhuff",
  453.         .long_name = NULL_IF_CONFIG_SMALL("Huffyuv FFmpeg variant"),
  454.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  455.     },
  456.     {
  457.         .id        = AV_CODEC_ID_RV30,
  458.         .type      = AVMEDIA_TYPE_VIDEO,
  459.         .name      = "rv30",
  460.         .long_name = NULL_IF_CONFIG_SMALL("RealVideo 3.0"),
  461.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
  462.     },
  463.     {
  464.         .id        = AV_CODEC_ID_RV40,
  465.         .type      = AVMEDIA_TYPE_VIDEO,
  466.         .name      = "rv40",
  467.         .long_name = NULL_IF_CONFIG_SMALL("RealVideo 4.0"),
  468.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
  469.     },
  470.     {
  471.         .id        = AV_CODEC_ID_VC1,
  472.         .type      = AVMEDIA_TYPE_VIDEO,
  473.         .name      = "vc1",
  474.         .long_name = NULL_IF_CONFIG_SMALL("SMPTE VC-1"),
  475.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
  476.     },
  477.     {
  478.         .id        = AV_CODEC_ID_WMV3,
  479.         .type      = AVMEDIA_TYPE_VIDEO,
  480.         .name      = "wmv3",
  481.         .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9"),
  482.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
  483.     },
  484.     {
  485.         .id        = AV_CODEC_ID_LOCO,
  486.         .type      = AVMEDIA_TYPE_VIDEO,
  487.         .name      = "loco",
  488.         .long_name = NULL_IF_CONFIG_SMALL("LOCO"),
  489.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  490.     },
  491.     {
  492.         .id        = AV_CODEC_ID_WNV1,
  493.         .type      = AVMEDIA_TYPE_VIDEO,
  494.         .name      = "wnv1",
  495.         .long_name = NULL_IF_CONFIG_SMALL("Winnov WNV1"),
  496.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  497.     },
  498.     {
  499.         .id        = AV_CODEC_ID_AASC,
  500.         .type      = AVMEDIA_TYPE_VIDEO,
  501.         .name      = "aasc",
  502.         .long_name = NULL_IF_CONFIG_SMALL("Autodesk RLE"),
  503.         .props     = AV_CODEC_PROP_LOSSLESS,
  504.     },
  505.     {
  506.         .id        = AV_CODEC_ID_INDEO2,
  507.         .type      = AVMEDIA_TYPE_VIDEO,
  508.         .name      = "indeo2",
  509.         .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo 2"),
  510.         .props     = AV_CODEC_PROP_LOSSY,
  511.     },
  512.     {
  513.         .id        = AV_CODEC_ID_FRAPS,
  514.         .type      = AVMEDIA_TYPE_VIDEO,
  515.         .name      = "fraps",
  516.         .long_name = NULL_IF_CONFIG_SMALL("Fraps"),
  517.         .props     = AV_CODEC_PROP_LOSSLESS,
  518.     },
  519.     {
  520.         .id        = AV_CODEC_ID_TRUEMOTION2,
  521.         .type      = AVMEDIA_TYPE_VIDEO,
  522.         .name      = "truemotion2",
  523.         .long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 2.0"),
  524.         .props     = AV_CODEC_PROP_LOSSY,
  525.     },
  526.     {
  527.         .id        = AV_CODEC_ID_BMP,
  528.         .type      = AVMEDIA_TYPE_VIDEO,
  529.         .name      = "bmp",
  530.         .long_name = NULL_IF_CONFIG_SMALL("BMP (Windows and OS/2 bitmap)"),
  531.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  532.         .mime_types= MT("image/x-ms-bmp"),
  533.     },
  534.     {
  535.         .id        = AV_CODEC_ID_CSCD,
  536.         .type      = AVMEDIA_TYPE_VIDEO,
  537.         .name      = "cscd",
  538.         .long_name = NULL_IF_CONFIG_SMALL("CamStudio"),
  539.         .props     = AV_CODEC_PROP_LOSSLESS,
  540.     },
  541.     {
  542.         .id        = AV_CODEC_ID_MMVIDEO,
  543.         .type      = AVMEDIA_TYPE_VIDEO,
  544.         .name      = "mmvideo",
  545.         .long_name = NULL_IF_CONFIG_SMALL("American Laser Games MM Video"),
  546.         .props     = AV_CODEC_PROP_LOSSY,
  547.     },
  548.     {
  549.         .id        = AV_CODEC_ID_ZMBV,
  550.         .type      = AVMEDIA_TYPE_VIDEO,
  551.         .name      = "zmbv",
  552.         .long_name = NULL_IF_CONFIG_SMALL("Zip Motion Blocks Video"),
  553.         .props     = AV_CODEC_PROP_LOSSLESS,
  554.     },
  555.     {
  556.         .id        = AV_CODEC_ID_AVS,
  557.         .type      = AVMEDIA_TYPE_VIDEO,
  558.         .name      = "avs",
  559.         .long_name = NULL_IF_CONFIG_SMALL("AVS (Audio Video Standard) video"),
  560.         .props     = AV_CODEC_PROP_LOSSY,
  561.     },
  562.     {
  563.         .id        = AV_CODEC_ID_SMACKVIDEO,
  564.         .type      = AVMEDIA_TYPE_VIDEO,
  565.         .name      = "smackvideo",
  566.         .long_name = NULL_IF_CONFIG_SMALL("Smacker video"),
  567.         .props     = AV_CODEC_PROP_LOSSY,
  568.     },
  569.     {
  570.         .id        = AV_CODEC_ID_NUV,
  571.         .type      = AVMEDIA_TYPE_VIDEO,
  572.         .name      = "nuv",
  573.         .long_name = NULL_IF_CONFIG_SMALL("NuppelVideo/RTJPEG"),
  574.         .props     = AV_CODEC_PROP_LOSSY,
  575.     },
  576.     {
  577.         .id        = AV_CODEC_ID_KMVC,
  578.         .type      = AVMEDIA_TYPE_VIDEO,
  579.         .name      = "kmvc",
  580.         .long_name = NULL_IF_CONFIG_SMALL("Karl Morton's video codec"),
  581.         .props     = AV_CODEC_PROP_LOSSY,
  582.     },
  583.     {
  584.         .id        = AV_CODEC_ID_FLASHSV,
  585.         .type      = AVMEDIA_TYPE_VIDEO,
  586.         .name      = "flashsv",
  587.         .long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video v1"),
  588.         .props     = AV_CODEC_PROP_LOSSLESS,
  589.     },
  590.     {
  591.         .id        = AV_CODEC_ID_CAVS,
  592.         .type      = AVMEDIA_TYPE_VIDEO,
  593.         .name      = "cavs",
  594.         .long_name = NULL_IF_CONFIG_SMALL("Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile)"),
  595.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
  596.     },
  597.     {
  598.         .id        = AV_CODEC_ID_JPEG2000,
  599.         .type      = AVMEDIA_TYPE_VIDEO,
  600.         .name      = "jpeg2000",
  601.         .long_name = NULL_IF_CONFIG_SMALL("JPEG 2000"),
  602.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
  603.                      AV_CODEC_PROP_LOSSLESS,
  604.         .mime_types= MT("image/jp2"),
  605.     },
  606.     {
  607.         .id        = AV_CODEC_ID_VMNC,
  608.         .type      = AVMEDIA_TYPE_VIDEO,
  609.         .name      = "vmnc",
  610.         .long_name = NULL_IF_CONFIG_SMALL("VMware Screen Codec / VMware Video"),
  611.         .props     = AV_CODEC_PROP_LOSSLESS,
  612.     },
  613.     {
  614.         .id        = AV_CODEC_ID_VP5,
  615.         .type      = AVMEDIA_TYPE_VIDEO,
  616.         .name      = "vp5",
  617.         .long_name = NULL_IF_CONFIG_SMALL("On2 VP5"),
  618.         .props     = AV_CODEC_PROP_LOSSY,
  619.     },
  620.     {
  621.         .id        = AV_CODEC_ID_VP6,
  622.         .type      = AVMEDIA_TYPE_VIDEO,
  623.         .name      = "vp6",
  624.         .long_name = NULL_IF_CONFIG_SMALL("On2 VP6"),
  625.         .props     = AV_CODEC_PROP_LOSSY,
  626.     },
  627.     {
  628.         .id        = AV_CODEC_ID_VP6F,
  629.         .type      = AVMEDIA_TYPE_VIDEO,
  630.         .name      = "vp6f",
  631.         .long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version)"),
  632.         .props     = AV_CODEC_PROP_LOSSY,
  633.     },
  634.     {
  635.         .id        = AV_CODEC_ID_DSICINVIDEO,
  636.         .type      = AVMEDIA_TYPE_VIDEO,
  637.         .name      = "dsicinvideo",
  638.         .long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN video"),
  639.         .props     = AV_CODEC_PROP_LOSSY,
  640.     },
  641.     {
  642.         .id        = AV_CODEC_ID_TIERTEXSEQVIDEO,
  643.         .type      = AVMEDIA_TYPE_VIDEO,
  644.         .name      = "tiertexseqvideo",
  645.         .long_name = NULL_IF_CONFIG_SMALL("Tiertex Limited SEQ video"),
  646.         .props     = AV_CODEC_PROP_LOSSY,
  647.     },
  648.     {
  649.         .id        = AV_CODEC_ID_DXA,
  650.         .type      = AVMEDIA_TYPE_VIDEO,
  651.         .name      = "dxa",
  652.         .long_name = NULL_IF_CONFIG_SMALL("Feeble Files/ScummVM DXA"),
  653.         .props     = AV_CODEC_PROP_LOSSLESS,
  654.     },
  655.     {
  656.         .id        = AV_CODEC_ID_DNXHD,
  657.         .type      = AVMEDIA_TYPE_VIDEO,
  658.         .name      = "dnxhd",
  659.         .long_name = NULL_IF_CONFIG_SMALL("VC3/DNxHD"),
  660.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  661.     },
  662.     {
  663.         .id        = AV_CODEC_ID_THP,
  664.         .type      = AVMEDIA_TYPE_VIDEO,
  665.         .name      = "thp",
  666.         .long_name = NULL_IF_CONFIG_SMALL("Nintendo Gamecube THP video"),
  667.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  668.     },
  669.     {
  670.         .id        = AV_CODEC_ID_C93,
  671.         .type      = AVMEDIA_TYPE_VIDEO,
  672.         .name      = "c93",
  673.         .long_name = NULL_IF_CONFIG_SMALL("Interplay C93"),
  674.         .props     = AV_CODEC_PROP_LOSSY,
  675.     },
  676.     {
  677.         .id        = AV_CODEC_ID_BETHSOFTVID,
  678.         .type      = AVMEDIA_TYPE_VIDEO,
  679.         .name      = "bethsoftvid",
  680.         .long_name = NULL_IF_CONFIG_SMALL("Bethesda VID video"),
  681.         .props     = AV_CODEC_PROP_LOSSY,
  682.     },
  683.     {
  684.         .id        = AV_CODEC_ID_VP6A,
  685.         .type      = AVMEDIA_TYPE_VIDEO,
  686.         .name      = "vp6a",
  687.         .long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version, with alpha channel)"),
  688.         .props     = AV_CODEC_PROP_LOSSY,
  689.     },
  690.     {
  691.         .id        = AV_CODEC_ID_AMV,
  692.         .type      = AVMEDIA_TYPE_VIDEO,
  693.         .name      = "amv",
  694.         .long_name = NULL_IF_CONFIG_SMALL("AMV Video"),
  695.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  696.     },
  697.     {
  698.         .id        = AV_CODEC_ID_VB,
  699.         .type      = AVMEDIA_TYPE_VIDEO,
  700.         .name      = "vb",
  701.         .long_name = NULL_IF_CONFIG_SMALL("Beam Software VB"),
  702.         .props     = AV_CODEC_PROP_LOSSY,
  703.     },
  704.     {
  705.         .id        = AV_CODEC_ID_INDEO4,
  706.         .type      = AVMEDIA_TYPE_VIDEO,
  707.         .name      = "indeo4",
  708.         .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo Video Interactive 4"),
  709.         .props     = AV_CODEC_PROP_LOSSY,
  710.     },
  711.     {
  712.         .id        = AV_CODEC_ID_INDEO5,
  713.         .type      = AVMEDIA_TYPE_VIDEO,
  714.         .name      = "indeo5",
  715.         .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo Video Interactive 5"),
  716.         .props     = AV_CODEC_PROP_LOSSY,
  717.     },
  718.     {
  719.         .id        = AV_CODEC_ID_MIMIC,
  720.         .type      = AVMEDIA_TYPE_VIDEO,
  721.         .name      = "mimic",
  722.         .long_name = NULL_IF_CONFIG_SMALL("Mimic"),
  723.         .props     = AV_CODEC_PROP_LOSSY,
  724.     },
  725.     {
  726.         .id        = AV_CODEC_ID_RL2,
  727.         .type      = AVMEDIA_TYPE_VIDEO,
  728.         .name      = "rl2",
  729.         .long_name = NULL_IF_CONFIG_SMALL("RL2 video"),
  730.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  731.     },
  732.     {
  733.         .id        = AV_CODEC_ID_ESCAPE124,
  734.         .type      = AVMEDIA_TYPE_VIDEO,
  735.         .name      = "escape124",
  736.         .long_name = NULL_IF_CONFIG_SMALL("Escape 124"),
  737.         .props     = AV_CODEC_PROP_LOSSY,
  738.     },
  739.     {
  740.         .id        = AV_CODEC_ID_DIRAC,
  741.         .type      = AVMEDIA_TYPE_VIDEO,
  742.         .name      = "dirac",
  743.         .long_name = NULL_IF_CONFIG_SMALL("Dirac"),
  744.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS | AV_CODEC_PROP_REORDER,
  745.     },
  746.     {
  747.         .id        = AV_CODEC_ID_BFI,
  748.         .type      = AVMEDIA_TYPE_VIDEO,
  749.         .name      = "bfi",
  750.         .long_name = NULL_IF_CONFIG_SMALL("Brute Force & Ignorance"),
  751.         .props     = AV_CODEC_PROP_LOSSY,
  752.     },
  753.     {
  754.         .id        = AV_CODEC_ID_CMV,
  755.         .type      = AVMEDIA_TYPE_VIDEO,
  756.         .name      = "cmv",
  757.         .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts CMV video"),
  758.         .props     = AV_CODEC_PROP_LOSSY,
  759.     },
  760.     {
  761.         .id        = AV_CODEC_ID_MOTIONPIXELS,
  762.         .type      = AVMEDIA_TYPE_VIDEO,
  763.         .name      = "motionpixels",
  764.         .long_name = NULL_IF_CONFIG_SMALL("Motion Pixels video"),
  765.         .props     = AV_CODEC_PROP_LOSSY,
  766.     },
  767.     {
  768.         .id        = AV_CODEC_ID_TGV,
  769.         .type      = AVMEDIA_TYPE_VIDEO,
  770.         .name      = "tgv",
  771.         .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TGV video"),
  772.         .props     = AV_CODEC_PROP_LOSSY,
  773.     },
  774.     {
  775.         .id        = AV_CODEC_ID_TGQ,
  776.         .type      = AVMEDIA_TYPE_VIDEO,
  777.         .name      = "tgq",
  778.         .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TGQ video"),
  779.         .props     = AV_CODEC_PROP_LOSSY,
  780.     },
  781.     {
  782.         .id        = AV_CODEC_ID_TQI,
  783.         .type      = AVMEDIA_TYPE_VIDEO,
  784.         .name      = "tqi",
  785.         .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TQI video"),
  786.         .props     = AV_CODEC_PROP_LOSSY,
  787.     },
  788.     {
  789.         .id        = AV_CODEC_ID_AURA,
  790.         .type      = AVMEDIA_TYPE_VIDEO,
  791.         .name      = "aura",
  792.         .long_name = NULL_IF_CONFIG_SMALL("Auravision AURA"),
  793.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  794.     },
  795.     {
  796.         .id        = AV_CODEC_ID_AURA2,
  797.         .type      = AVMEDIA_TYPE_VIDEO,
  798.         .name      = "aura2",
  799.         .long_name = NULL_IF_CONFIG_SMALL("Auravision Aura 2"),
  800.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  801.     },
  802.     {
  803.         .id        = AV_CODEC_ID_V210X,
  804.         .type      = AVMEDIA_TYPE_VIDEO,
  805.         .name      = "v210x",
  806.         .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
  807.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  808.     },
  809.     {
  810.         .id        = AV_CODEC_ID_TMV,
  811.         .type      = AVMEDIA_TYPE_VIDEO,
  812.         .name      = "tmv",
  813.         .long_name = NULL_IF_CONFIG_SMALL("8088flex TMV"),
  814.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  815.     },
  816.     {
  817.         .id        = AV_CODEC_ID_V210,
  818.         .type      = AVMEDIA_TYPE_VIDEO,
  819.         .name      = "v210",
  820.         .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
  821.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  822.     },
  823.     {
  824.         .id        = AV_CODEC_ID_MAD,
  825.         .type      = AVMEDIA_TYPE_VIDEO,
  826.         .name      = "mad",
  827.         .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts Madcow Video"),
  828.         .props     = AV_CODEC_PROP_LOSSY,
  829.     },
  830.     {
  831.         .id        = AV_CODEC_ID_FRWU,
  832.         .type      = AVMEDIA_TYPE_VIDEO,
  833.         .name      = "frwu",
  834.         .long_name = NULL_IF_CONFIG_SMALL("Forward Uncompressed"),
  835.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  836.     },
  837.     {
  838.         .id        = AV_CODEC_ID_FLASHSV2,
  839.         .type      = AVMEDIA_TYPE_VIDEO,
  840.         .name      = "flashsv2",
  841.         .long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video v2"),
  842.         .props     = AV_CODEC_PROP_LOSSY,
  843.     },
  844.     {
  845.         .id        = AV_CODEC_ID_CDGRAPHICS,
  846.         .type      = AVMEDIA_TYPE_VIDEO,
  847.         .name      = "cdgraphics",
  848.         .long_name = NULL_IF_CONFIG_SMALL("CD Graphics video"),
  849.         .props     = AV_CODEC_PROP_LOSSY,
  850.     },
  851.     {
  852.         .id        = AV_CODEC_ID_R210,
  853.         .type      = AVMEDIA_TYPE_VIDEO,
  854.         .name      = "r210",
  855.         .long_name = NULL_IF_CONFIG_SMALL("Uncompressed RGB 10-bit"),
  856.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  857.     },
  858.     {
  859.         .id        = AV_CODEC_ID_ANM,
  860.         .type      = AVMEDIA_TYPE_VIDEO,
  861.         .name      = "anm",
  862.         .long_name = NULL_IF_CONFIG_SMALL("Deluxe Paint Animation"),
  863.         .props     = AV_CODEC_PROP_LOSSY,
  864.     },
  865.     {
  866.         .id        = AV_CODEC_ID_BINKVIDEO,
  867.         .type      = AVMEDIA_TYPE_VIDEO,
  868.         .name      = "binkvideo",
  869.         .long_name = NULL_IF_CONFIG_SMALL("Bink video"),
  870.         .props     = AV_CODEC_PROP_LOSSY,
  871.     },
  872.     {
  873.         .id        = AV_CODEC_ID_IFF_ILBM,
  874.         .type      = AVMEDIA_TYPE_VIDEO,
  875.         .name      = "iff_ilbm",
  876.         .long_name = NULL_IF_CONFIG_SMALL("IFF ILBM"),
  877.         .props     = AV_CODEC_PROP_LOSSY,
  878.     },
  879.     {
  880.         .id        = AV_CODEC_ID_IFF_BYTERUN1,
  881.         .type      = AVMEDIA_TYPE_VIDEO,
  882.         .name      = "iff_byterun1",
  883.         .long_name = NULL_IF_CONFIG_SMALL("IFF ByteRun1"),
  884.         .props     = AV_CODEC_PROP_LOSSY,
  885.     },
  886.     {
  887.         .id        = AV_CODEC_ID_KGV1,
  888.         .type      = AVMEDIA_TYPE_VIDEO,
  889.         .name      = "kgv1",
  890.         .long_name = NULL_IF_CONFIG_SMALL("Kega Game Video"),
  891.         .props     = AV_CODEC_PROP_LOSSY,
  892.     },
  893.     {
  894.         .id        = AV_CODEC_ID_YOP,
  895.         .type      = AVMEDIA_TYPE_VIDEO,
  896.         .name      = "yop",
  897.         .long_name = NULL_IF_CONFIG_SMALL("Psygnosis YOP Video"),
  898.         .props     = AV_CODEC_PROP_LOSSY,
  899.     },
  900.     {
  901.         .id        = AV_CODEC_ID_VP8,
  902.         .type      = AVMEDIA_TYPE_VIDEO,
  903.         .name      = "vp8",
  904.         .long_name = NULL_IF_CONFIG_SMALL("On2 VP8"),
  905.         .props     = AV_CODEC_PROP_LOSSY,
  906.     },
  907.     {
  908.         .id        = AV_CODEC_ID_VP9,
  909.         .type      = AVMEDIA_TYPE_VIDEO,
  910.         .name      = "vp9",
  911.         .long_name = NULL_IF_CONFIG_SMALL("Google VP9"),
  912.         .props     = AV_CODEC_PROP_LOSSY,
  913.     },
  914.     {
  915.         .id        = AV_CODEC_ID_PICTOR,
  916.         .type      = AVMEDIA_TYPE_VIDEO,
  917.         .name      = "pictor",
  918.         .long_name = NULL_IF_CONFIG_SMALL("Pictor/PC Paint"),
  919.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  920.     },
  921.     {
  922.         .id        = AV_CODEC_ID_A64_MULTI,
  923.         .type      = AVMEDIA_TYPE_VIDEO,
  924.         .name      = "a64_multi",
  925.         .long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64"),
  926.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  927.     },
  928.     {
  929.         .id        = AV_CODEC_ID_A64_MULTI5,
  930.         .type      = AVMEDIA_TYPE_VIDEO,
  931.         .name      = "a64_multi5",
  932.         .long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64, extended with 5th color (colram)"),
  933.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  934.     },
  935.     {
  936.         .id        = AV_CODEC_ID_R10K,
  937.         .type      = AVMEDIA_TYPE_VIDEO,
  938.         .name      = "r10k",
  939.         .long_name = NULL_IF_CONFIG_SMALL("AJA Kona 10-bit RGB Codec"),
  940.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  941.     },
  942.     {
  943.         .id        = AV_CODEC_ID_MVC1,
  944.         .type      = AVMEDIA_TYPE_VIDEO,
  945.         .name      = "mvc1",
  946.         .long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Motion Video Compressor 1"),
  947.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  948.     },
  949.     {
  950.         .id        = AV_CODEC_ID_MVC2,
  951.         .type      = AVMEDIA_TYPE_VIDEO,
  952.         .name      = "mvc2",
  953.         .long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Motion Video Compressor 2"),
  954.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  955.     },
  956.     {
  957.         .id        = AV_CODEC_ID_MXPEG,
  958.         .type      = AVMEDIA_TYPE_VIDEO,
  959.         .name      = "mxpeg",
  960.         .long_name = NULL_IF_CONFIG_SMALL("Mobotix MxPEG video"),
  961.         .props     = AV_CODEC_PROP_LOSSY,
  962.     },
  963.     {
  964.         .id        = AV_CODEC_ID_LAGARITH,
  965.         .type      = AVMEDIA_TYPE_VIDEO,
  966.         .name      = "lagarith",
  967.         .long_name = NULL_IF_CONFIG_SMALL("Lagarith lossless"),
  968.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  969.     },
  970.     {
  971.         .id        = AV_CODEC_ID_PRORES,
  972.         .type      = AVMEDIA_TYPE_VIDEO,
  973.         .name      = "prores",
  974.         .long_name = NULL_IF_CONFIG_SMALL("Apple ProRes (iCodec Pro)"),
  975.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  976.     },
  977.     {
  978.         .id        = AV_CODEC_ID_JV,
  979.         .type      = AVMEDIA_TYPE_VIDEO,
  980.         .name      = "jv",
  981.         .long_name = NULL_IF_CONFIG_SMALL("Bitmap Brothers JV video"),
  982.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  983.     },
  984.     {
  985.         .id        = AV_CODEC_ID_DFA,
  986.         .type      = AVMEDIA_TYPE_VIDEO,
  987.         .name      = "dfa",
  988.         .long_name = NULL_IF_CONFIG_SMALL("Chronomaster DFA"),
  989.         .props     = AV_CODEC_PROP_LOSSY,
  990.     },
  991.     {
  992.         .id        = AV_CODEC_ID_UTVIDEO,
  993.         .type      = AVMEDIA_TYPE_VIDEO,
  994.         .name      = "utvideo",
  995.         .long_name = NULL_IF_CONFIG_SMALL("Ut Video"),
  996.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  997.     },
  998.     {
  999.         .id        = AV_CODEC_ID_BMV_VIDEO,
  1000.         .type      = AVMEDIA_TYPE_VIDEO,
  1001.         .name      = "bmv_video",
  1002.         .long_name = NULL_IF_CONFIG_SMALL("Discworld II BMV video"),
  1003.         .props     = AV_CODEC_PROP_LOSSLESS,
  1004.     },
  1005.     {
  1006.         .id        = AV_CODEC_ID_VBLE,
  1007.         .type      = AVMEDIA_TYPE_VIDEO,
  1008.         .name      = "vble",
  1009.         .long_name = NULL_IF_CONFIG_SMALL("VBLE Lossless Codec"),
  1010.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1011.     },
  1012.     {
  1013.         .id        = AV_CODEC_ID_DXTORY,
  1014.         .type      = AVMEDIA_TYPE_VIDEO,
  1015.         .name      = "dxtory",
  1016.         .long_name = NULL_IF_CONFIG_SMALL("Dxtory"),
  1017.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1018.     },
  1019.     {
  1020.         .id        = AV_CODEC_ID_V410,
  1021.         .type      = AVMEDIA_TYPE_VIDEO,
  1022.         .name      = "v410",
  1023.         .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:4:4 10-bit"),
  1024.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1025.     },
  1026.     {
  1027.         .id        = AV_CODEC_ID_CDXL,
  1028.         .type      = AVMEDIA_TYPE_VIDEO,
  1029.         .name      = "cdxl",
  1030.         .long_name = NULL_IF_CONFIG_SMALL("Commodore CDXL video"),
  1031.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  1032.     },
  1033.     {
  1034.         .id        = AV_CODEC_ID_ZEROCODEC,
  1035.         .type      = AVMEDIA_TYPE_VIDEO,
  1036.         .name      = "zerocodec",
  1037.         .long_name = NULL_IF_CONFIG_SMALL("ZeroCodec Lossless Video"),
  1038.         .props     = AV_CODEC_PROP_LOSSLESS,
  1039.     },
  1040.     {
  1041.         .id        = AV_CODEC_ID_MSS1,
  1042.         .type      = AVMEDIA_TYPE_VIDEO,
  1043.         .name      = "mss1",
  1044.         .long_name = NULL_IF_CONFIG_SMALL("MS Screen 1"),
  1045.         .props     = AV_CODEC_PROP_LOSSY,
  1046.     },
  1047.     {
  1048.         .id        = AV_CODEC_ID_MSA1,
  1049.         .type      = AVMEDIA_TYPE_VIDEO,
  1050.         .name      = "msa1",
  1051.         .long_name = NULL_IF_CONFIG_SMALL("MS ATC Screen"),
  1052.         .props     = AV_CODEC_PROP_LOSSY,
  1053.     },
  1054.     {
  1055.         .id        = AV_CODEC_ID_TSCC2,
  1056.         .type      = AVMEDIA_TYPE_VIDEO,
  1057.         .name      = "tscc2",
  1058.         .long_name = NULL_IF_CONFIG_SMALL("TechSmith Screen Codec 2"),
  1059.         .props     = AV_CODEC_PROP_LOSSY,
  1060.     },
  1061.     {
  1062.         .id        = AV_CODEC_ID_MTS2,
  1063.         .type      = AVMEDIA_TYPE_VIDEO,
  1064.         .name      = "mts2",
  1065.         .long_name = NULL_IF_CONFIG_SMALL("MS Expression Encoder Screen"),
  1066.         .props     = AV_CODEC_PROP_LOSSY,
  1067.     },
  1068.     {
  1069.         .id        = AV_CODEC_ID_CLLC,
  1070.         .type      = AVMEDIA_TYPE_VIDEO,
  1071.         .name      = "cllc",
  1072.         .long_name = NULL_IF_CONFIG_SMALL("Canopus Lossless Codec"),
  1073.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1074.     },
  1075.     {
  1076.         .id        = AV_CODEC_ID_MSS2,
  1077.         .type      = AVMEDIA_TYPE_VIDEO,
  1078.         .name      = "mss2",
  1079.         .long_name = NULL_IF_CONFIG_SMALL("MS Windows Media Video V9 Screen"),
  1080.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  1081.     },
  1082.     {
  1083.         .id        = AV_CODEC_ID_AIC,
  1084.         .type      = AVMEDIA_TYPE_VIDEO,
  1085.         .name      = "aic",
  1086.         .long_name = NULL_IF_CONFIG_SMALL("Apple Intermediate Codec"),
  1087.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  1088.     },
  1089.     {
  1090.         .id        = AV_CODEC_ID_Y41P,
  1091.         .type      = AVMEDIA_TYPE_VIDEO,
  1092.         .name      = "y41p",
  1093.         .long_name = NULL_IF_CONFIG_SMALL("Uncompressed YUV 4:1:1 12-bit"),
  1094.         .props     = AV_CODEC_PROP_INTRA_ONLY,
  1095.     },
  1096.     {
  1097.         .id        = AV_CODEC_ID_ESCAPE130,
  1098.         .type      = AVMEDIA_TYPE_VIDEO,
  1099.         .name      = "escape130",
  1100.         .long_name = NULL_IF_CONFIG_SMALL("Escape 130"),
  1101.         .props     = AV_CODEC_PROP_LOSSY,
  1102.     },
  1103.     {
  1104.         .id        = AV_CODEC_ID_AVRP,
  1105.         .type      = AVMEDIA_TYPE_VIDEO,
  1106.         .name      = "avrp",
  1107.         .long_name = NULL_IF_CONFIG_SMALL("Avid 1:1 10-bit RGB Packer"),
  1108.         .props     = AV_CODEC_PROP_INTRA_ONLY,
  1109.     },
  1110.     {
  1111.         .id        = AV_CODEC_ID_012V,
  1112.         .type      = AVMEDIA_TYPE_VIDEO,
  1113.         .name      = "012v",
  1114.         .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
  1115.         .props     = AV_CODEC_PROP_INTRA_ONLY,
  1116.     },
  1117.     {
  1118.         .id        = AV_CODEC_ID_AVUI,
  1119.         .type      = AVMEDIA_TYPE_VIDEO,
  1120.         .name      = "avui",
  1121.         .long_name = NULL_IF_CONFIG_SMALL("Avid Meridien Uncompressed"),
  1122.         .props     = AV_CODEC_PROP_INTRA_ONLY,
  1123.     },
  1124.     {
  1125.         .id        = AV_CODEC_ID_AYUV,
  1126.         .type      = AVMEDIA_TYPE_VIDEO,
  1127.         .name      = "ayuv",
  1128.         .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed MS 4:4:4:4"),
  1129.         .props     = AV_CODEC_PROP_INTRA_ONLY,
  1130.     },
  1131.     {
  1132.         .id        = AV_CODEC_ID_TARGA_Y216,
  1133.         .type      = AVMEDIA_TYPE_VIDEO,
  1134.         .name      = "targa_y216",
  1135.         .long_name = NULL_IF_CONFIG_SMALL("Pinnacle TARGA CineWave YUV16"),
  1136.         .props     = AV_CODEC_PROP_INTRA_ONLY,
  1137.     },
  1138.     {
  1139.         .id        = AV_CODEC_ID_V308,
  1140.         .type      = AVMEDIA_TYPE_VIDEO,
  1141.         .name      = "v308",
  1142.         .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:4:4"),
  1143.         .props     = AV_CODEC_PROP_INTRA_ONLY,
  1144.     },
  1145.     {
  1146.         .id        = AV_CODEC_ID_V408,
  1147.         .type      = AVMEDIA_TYPE_VIDEO,
  1148.         .name      = "v408",
  1149.         .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed QT 4:4:4:4"),
  1150.         .props     = AV_CODEC_PROP_INTRA_ONLY,
  1151.     },
  1152.     {
  1153.         .id        = AV_CODEC_ID_YUV4,
  1154.         .type      = AVMEDIA_TYPE_VIDEO,
  1155.         .name      = "yuv4",
  1156.         .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:2:0"),
  1157.         .props     = AV_CODEC_PROP_INTRA_ONLY,
  1158.     },
  1159.     {
  1160.         .id        = AV_CODEC_ID_AVRN,
  1161.         .type      = AVMEDIA_TYPE_VIDEO,
  1162.         .name      = "avrn",
  1163.         .long_name = NULL_IF_CONFIG_SMALL("Avid AVI Codec"),
  1164.     },
  1165.     {
  1166.         .id        = AV_CODEC_ID_CPIA,
  1167.         .type      = AVMEDIA_TYPE_VIDEO,
  1168.         .name      = "cpia",
  1169.         .long_name = NULL_IF_CONFIG_SMALL("CPiA video format"),
  1170.     },
  1171.     {
  1172.         .id        = AV_CODEC_ID_XFACE,
  1173.         .type      = AVMEDIA_TYPE_VIDEO,
  1174.         .name      = "xface",
  1175.         .long_name = NULL_IF_CONFIG_SMALL("X-face image"),
  1176.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  1177.     },
  1178.     {
  1179.         .id        = AV_CODEC_ID_SMVJPEG,
  1180.         .type      = AVMEDIA_TYPE_VIDEO,
  1181.         .name      = "smvjpeg",
  1182.         .long_name = NULL_IF_CONFIG_SMALL("Sigmatel Motion Video"),
  1183.     },
  1184.  
  1185.     {
  1186.         .id        = AV_CODEC_ID_G2M,
  1187.         .type      = AVMEDIA_TYPE_VIDEO,
  1188.         .name      = "g2m",
  1189.         .long_name = NULL_IF_CONFIG_SMALL("Go2Meeting"),
  1190.         .props     = AV_CODEC_PROP_LOSSY,
  1191.     },
  1192.     {
  1193.         .id        = AV_CODEC_ID_HNM4_VIDEO,
  1194.         .type      = AVMEDIA_TYPE_VIDEO,
  1195.         .name      = "hnm4video",
  1196.         .long_name = NULL_IF_CONFIG_SMALL("HNM 4 video"),
  1197.         .props     = AV_CODEC_PROP_LOSSY,
  1198.     },
  1199.     {
  1200.         .id        = AV_CODEC_ID_HEVC,
  1201.         .type      = AVMEDIA_TYPE_VIDEO,
  1202.         .name      = "hevc",
  1203.         .long_name = NULL_IF_CONFIG_SMALL("H.265 / HEVC (High Efficiency Video Coding)"),
  1204.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
  1205.     },
  1206.     {
  1207.         .id        = AV_CODEC_ID_FIC,
  1208.         .type      = AVMEDIA_TYPE_VIDEO,
  1209.         .name      = "fic",
  1210.         .long_name = NULL_IF_CONFIG_SMALL("Mirillis FIC"),
  1211.         .props     = AV_CODEC_PROP_LOSSY,
  1212.     },
  1213.     {
  1214.         .id        = AV_CODEC_ID_PAF_VIDEO,
  1215.         .type      = AVMEDIA_TYPE_VIDEO,
  1216.         .name      = "paf_video",
  1217.         .long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Video"),
  1218.         .props     = AV_CODEC_PROP_LOSSY,
  1219.     },
  1220.     {
  1221.         .id        = AV_CODEC_ID_VP7,
  1222.         .type      = AVMEDIA_TYPE_VIDEO,
  1223.         .name      = "vp7",
  1224.         .long_name = NULL_IF_CONFIG_SMALL("On2 VP7"),
  1225.         .props     = AV_CODEC_PROP_LOSSY,
  1226.     },
  1227.     {
  1228.         .id        = AV_CODEC_ID_SANM,
  1229.         .type      = AVMEDIA_TYPE_VIDEO,
  1230.         .name      = "sanm",
  1231.         .long_name = NULL_IF_CONFIG_SMALL("LucasArts SANM/SMUSH video"),
  1232.         .props     = AV_CODEC_PROP_LOSSY,
  1233.     },
  1234.     {
  1235.         .id        = AV_CODEC_ID_SGIRLE,
  1236.         .type      = AVMEDIA_TYPE_VIDEO,
  1237.         .name      = "sgirle",
  1238.         .long_name = NULL_IF_CONFIG_SMALL("SGI RLE 8-bit"),
  1239.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1240.     },
  1241.     {
  1242.         .id        = AV_CODEC_ID_HQX,
  1243.         .type      = AVMEDIA_TYPE_VIDEO,
  1244.         .name      = "hqx",
  1245.         .long_name = NULL_IF_CONFIG_SMALL("Canopus HQX"),
  1246.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  1247.     },
  1248.     {
  1249.         .id        = AV_CODEC_ID_HQ_HQA,
  1250.         .type      = AVMEDIA_TYPE_VIDEO,
  1251.         .name      = "hq_hqa",
  1252.         .long_name = NULL_IF_CONFIG_SMALL("Canopus HQ/HQA"),
  1253.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  1254.     },
  1255.     {
  1256.         .id        = AV_CODEC_ID_HAP,
  1257.         .type      = AVMEDIA_TYPE_VIDEO,
  1258.         .name      = "hap",
  1259.         .long_name = NULL_IF_CONFIG_SMALL("Vidvox Hap decoder"),
  1260.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  1261.     },
  1262.  
  1263.     /* image codecs */
  1264.     {
  1265.         .id        = AV_CODEC_ID_ALIAS_PIX,
  1266.         .type      = AVMEDIA_TYPE_VIDEO,
  1267.         .name      = "alias_pix",
  1268.         .long_name = NULL_IF_CONFIG_SMALL("Alias/Wavefront PIX image"),
  1269.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1270.     },
  1271.     {
  1272.         .id        = AV_CODEC_ID_ANSI,
  1273.         .type      = AVMEDIA_TYPE_VIDEO,
  1274.         .name      = "ansi",
  1275.         .long_name = NULL_IF_CONFIG_SMALL("ASCII/ANSI art"),
  1276.         .props     = AV_CODEC_PROP_LOSSY,
  1277.     },
  1278.     {
  1279.         .id        = AV_CODEC_ID_BRENDER_PIX,
  1280.         .type      = AVMEDIA_TYPE_VIDEO,
  1281.         .name      = "brender_pix",
  1282.         .long_name = NULL_IF_CONFIG_SMALL("BRender PIX image"),
  1283.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1284.     },
  1285.     {
  1286.         .id        = AV_CODEC_ID_DDS,
  1287.         .type      = AVMEDIA_TYPE_VIDEO,
  1288.         .name      = "dds",
  1289.         .long_name = NULL_IF_CONFIG_SMALL("DirectDraw Surface image decoder"),
  1290.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
  1291.                      AV_CODEC_PROP_LOSSLESS,
  1292.     },
  1293.     {
  1294.         .id        = AV_CODEC_ID_DPX,
  1295.         .type      = AVMEDIA_TYPE_VIDEO,
  1296.         .name      = "dpx",
  1297.         .long_name = NULL_IF_CONFIG_SMALL("DPX (Digital Picture Exchange) image"),
  1298.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1299.     },
  1300.     {
  1301.         .id        = AV_CODEC_ID_EXR,
  1302.         .type      = AVMEDIA_TYPE_VIDEO,
  1303.         .name      = "exr",
  1304.         .long_name = NULL_IF_CONFIG_SMALL("OpenEXR image"),
  1305.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
  1306.                      AV_CODEC_PROP_LOSSLESS,
  1307.     },
  1308.     {
  1309.         .id        = AV_CODEC_ID_GIF,
  1310.         .type      = AVMEDIA_TYPE_VIDEO,
  1311.         .name      = "gif",
  1312.         .long_name = NULL_IF_CONFIG_SMALL("GIF (Graphics Interchange Format)"),
  1313.         .props     = AV_CODEC_PROP_LOSSLESS,
  1314.         .mime_types= MT("image/gif"),
  1315.     },
  1316.     {
  1317.         .id        = AV_CODEC_ID_JPEGLS,
  1318.         .type      = AVMEDIA_TYPE_VIDEO,
  1319.         .name      = "jpegls",
  1320.         .long_name = NULL_IF_CONFIG_SMALL("JPEG-LS"),
  1321.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
  1322.                      AV_CODEC_PROP_LOSSLESS,
  1323.     },
  1324.     {
  1325.         .id        = AV_CODEC_ID_LJPEG,
  1326.         .type      = AVMEDIA_TYPE_VIDEO,
  1327.         .name      = "ljpeg",
  1328.         .long_name = NULL_IF_CONFIG_SMALL("Lossless JPEG"),
  1329.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1330.     },
  1331.     {
  1332.         .id        = AV_CODEC_ID_PAM,
  1333.         .type      = AVMEDIA_TYPE_VIDEO,
  1334.         .name      = "pam",
  1335.         .long_name = NULL_IF_CONFIG_SMALL("PAM (Portable AnyMap) image"),
  1336.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1337.         .mime_types= MT("image/x-portable-pixmap"),
  1338.     },
  1339.     {
  1340.         .id        = AV_CODEC_ID_PBM,
  1341.         .type      = AVMEDIA_TYPE_VIDEO,
  1342.         .name      = "pbm",
  1343.         .long_name = NULL_IF_CONFIG_SMALL("PBM (Portable BitMap) image"),
  1344.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1345.     },
  1346.     {
  1347.         .id        = AV_CODEC_ID_PCX,
  1348.         .type      = AVMEDIA_TYPE_VIDEO,
  1349.         .name      = "pcx",
  1350.         .long_name = NULL_IF_CONFIG_SMALL("PC Paintbrush PCX image"),
  1351.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1352.         .mime_types= MT("image/x-pcx"),
  1353.     },
  1354.     {
  1355.         .id        = AV_CODEC_ID_PGM,
  1356.         .type      = AVMEDIA_TYPE_VIDEO,
  1357.         .name      = "pgm",
  1358.         .long_name = NULL_IF_CONFIG_SMALL("PGM (Portable GrayMap) image"),
  1359.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1360.     },
  1361.     {
  1362.         .id        = AV_CODEC_ID_PGMYUV,
  1363.         .type      = AVMEDIA_TYPE_VIDEO,
  1364.         .name      = "pgmyuv",
  1365.         .long_name = NULL_IF_CONFIG_SMALL("PGMYUV (Portable GrayMap YUV) image"),
  1366.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1367.     },
  1368.     {
  1369.         .id        = AV_CODEC_ID_PNG,
  1370.         .type      = AVMEDIA_TYPE_VIDEO,
  1371.         .name      = "png",
  1372.         .long_name = NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"),
  1373.         .props     = AV_CODEC_PROP_LOSSLESS,
  1374.         .mime_types= MT("image/png"),
  1375.     },
  1376.     {
  1377.         .id        = AV_CODEC_ID_PPM,
  1378.         .type      = AVMEDIA_TYPE_VIDEO,
  1379.         .name      = "ppm",
  1380.         .long_name = NULL_IF_CONFIG_SMALL("PPM (Portable PixelMap) image"),
  1381.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1382.     },
  1383.     {
  1384.         .id        = AV_CODEC_ID_PTX,
  1385.         .type      = AVMEDIA_TYPE_VIDEO,
  1386.         .name      = "ptx",
  1387.         .long_name = NULL_IF_CONFIG_SMALL("V.Flash PTX image"),
  1388.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  1389.     },
  1390.     {
  1391.         .id        = AV_CODEC_ID_SGI,
  1392.         .type      = AVMEDIA_TYPE_VIDEO,
  1393.         .name      = "sgi",
  1394.         .long_name = NULL_IF_CONFIG_SMALL("SGI image"),
  1395.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1396.     },
  1397.     {
  1398.         .id        = AV_CODEC_ID_SP5X,
  1399.         .type      = AVMEDIA_TYPE_VIDEO,
  1400.         .name      = "sp5x",
  1401.         .long_name = NULL_IF_CONFIG_SMALL("Sunplus JPEG (SP5X)"),
  1402.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  1403.     },
  1404.     {
  1405.         .id        = AV_CODEC_ID_SUNRAST,
  1406.         .type      = AVMEDIA_TYPE_VIDEO,
  1407.         .name      = "sunrast",
  1408.         .long_name = NULL_IF_CONFIG_SMALL("Sun Rasterfile image"),
  1409.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1410.     },
  1411.     {
  1412.         .id        = AV_CODEC_ID_TARGA,
  1413.         .type      = AVMEDIA_TYPE_VIDEO,
  1414.         .name      = "targa",
  1415.         .long_name = NULL_IF_CONFIG_SMALL("Truevision Targa image"),
  1416.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1417.         .mime_types= MT("image/x-targa", "image/x-tga"),
  1418.     },
  1419.     {
  1420.         .id        = AV_CODEC_ID_TDSC,
  1421.         .type      = AVMEDIA_TYPE_VIDEO,
  1422.         .name      = "tdsc",
  1423.         .long_name = NULL_IF_CONFIG_SMALL("TDSC"),
  1424.         .props     = AV_CODEC_PROP_LOSSY,
  1425.     },
  1426.     {
  1427.         .id        = AV_CODEC_ID_TIFF,
  1428.         .type      = AVMEDIA_TYPE_VIDEO,
  1429.         .name      = "tiff",
  1430.         .long_name = NULL_IF_CONFIG_SMALL("TIFF image"),
  1431.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1432.         .mime_types= MT("image/tiff"),
  1433.     },
  1434.     {
  1435.         .id        = AV_CODEC_ID_TXD,
  1436.         .type      = AVMEDIA_TYPE_VIDEO,
  1437.         .name      = "txd",
  1438.         .long_name = NULL_IF_CONFIG_SMALL("Renderware TXD (TeXture Dictionary) image"),
  1439.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
  1440.     },
  1441.     {
  1442.         .id        = AV_CODEC_ID_VC1IMAGE,
  1443.         .type      = AVMEDIA_TYPE_VIDEO,
  1444.         .name      = "vc1image",
  1445.         .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image v2"),
  1446.         .props     = AV_CODEC_PROP_LOSSY,
  1447.     },
  1448.     {
  1449.         .id        = AV_CODEC_ID_WEBP,
  1450.         .type      = AVMEDIA_TYPE_VIDEO,
  1451.         .name      = "webp",
  1452.         .long_name = NULL_IF_CONFIG_SMALL("WebP"),
  1453.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
  1454.                      AV_CODEC_PROP_LOSSLESS,
  1455.         .mime_types= MT("image/webp"),
  1456.     },
  1457.     {
  1458.         .id        = AV_CODEC_ID_WMV3IMAGE,
  1459.         .type      = AVMEDIA_TYPE_VIDEO,
  1460.         .name      = "wmv3image",
  1461.         .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image"),
  1462.         .props     = AV_CODEC_PROP_LOSSY,
  1463.     },
  1464.     {
  1465.         .id        = AV_CODEC_ID_XBM,
  1466.         .type      = AVMEDIA_TYPE_VIDEO,
  1467.         .name      = "xbm",
  1468.         .long_name = NULL_IF_CONFIG_SMALL("XBM (X BitMap) image"),
  1469.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1470.     },
  1471.     {
  1472.         .id        = AV_CODEC_ID_XWD,
  1473.         .type      = AVMEDIA_TYPE_VIDEO,
  1474.         .name      = "xwd",
  1475.         .long_name = NULL_IF_CONFIG_SMALL("XWD (X Window Dump) image"),
  1476.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  1477.         .mime_types= MT("image/x-xwindowdump"),
  1478.     },
  1479.     {
  1480.         .id        = AV_CODEC_ID_APNG,
  1481.         .type      = AVMEDIA_TYPE_VIDEO,
  1482.         .name      = "apng",
  1483.         .long_name = NULL_IF_CONFIG_SMALL("APNG (Animated Portable Network Graphics) image"),
  1484.         .props     = AV_CODEC_PROP_LOSSLESS,
  1485.         .mime_types= MT("image/png"),
  1486.     },
  1487.  
  1488.     /* various PCM "codecs" */
  1489.     {
  1490.         .id        = AV_CODEC_ID_PCM_S16LE,
  1491.         .type      = AVMEDIA_TYPE_AUDIO,
  1492.         .name      = "pcm_s16le",
  1493.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit little-endian"),
  1494.         .props     = AV_CODEC_PROP_LOSSLESS,
  1495.     },
  1496.     {
  1497.         .id        = AV_CODEC_ID_PCM_S16BE,
  1498.         .type      = AVMEDIA_TYPE_AUDIO,
  1499.         .name      = "pcm_s16be",
  1500.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit big-endian"),
  1501.         .props     = AV_CODEC_PROP_LOSSLESS,
  1502.     },
  1503.     {
  1504.         .id        = AV_CODEC_ID_PCM_U16LE,
  1505.         .type      = AVMEDIA_TYPE_AUDIO,
  1506.         .name      = "pcm_u16le",
  1507.         .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 16-bit little-endian"),
  1508.         .props     = AV_CODEC_PROP_LOSSLESS,
  1509.     },
  1510.     {
  1511.         .id        = AV_CODEC_ID_PCM_U16BE,
  1512.         .type      = AVMEDIA_TYPE_AUDIO,
  1513.         .name      = "pcm_u16be",
  1514.         .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 16-bit big-endian"),
  1515.         .props     = AV_CODEC_PROP_LOSSLESS,
  1516.     },
  1517.     {
  1518.         .id        = AV_CODEC_ID_PCM_S8,
  1519.         .type      = AVMEDIA_TYPE_AUDIO,
  1520.         .name      = "pcm_s8",
  1521.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 8-bit"),
  1522.         .props     = AV_CODEC_PROP_LOSSLESS,
  1523.     },
  1524.     {
  1525.         .id        = AV_CODEC_ID_PCM_U8,
  1526.         .type      = AVMEDIA_TYPE_AUDIO,
  1527.         .name      = "pcm_u8",
  1528.         .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 8-bit"),
  1529.         .props     = AV_CODEC_PROP_LOSSLESS,
  1530.     },
  1531.     {
  1532.         .id        = AV_CODEC_ID_PCM_MULAW,
  1533.         .type      = AVMEDIA_TYPE_AUDIO,
  1534.         .name      = "pcm_mulaw",
  1535.         .long_name = NULL_IF_CONFIG_SMALL("PCM mu-law / G.711 mu-law"),
  1536.         .props     = AV_CODEC_PROP_LOSSY,
  1537.     },
  1538.     {
  1539.         .id        = AV_CODEC_ID_PCM_ALAW,
  1540.         .type      = AVMEDIA_TYPE_AUDIO,
  1541.         .name      = "pcm_alaw",
  1542.         .long_name = NULL_IF_CONFIG_SMALL("PCM A-law / G.711 A-law"),
  1543.         .props     = AV_CODEC_PROP_LOSSY,
  1544.     },
  1545.     {
  1546.         .id        = AV_CODEC_ID_PCM_S32LE,
  1547.         .type      = AVMEDIA_TYPE_AUDIO,
  1548.         .name      = "pcm_s32le",
  1549.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit little-endian"),
  1550.         .props     = AV_CODEC_PROP_LOSSLESS,
  1551.     },
  1552.     {
  1553.         .id        = AV_CODEC_ID_PCM_S32BE,
  1554.         .type      = AVMEDIA_TYPE_AUDIO,
  1555.         .name      = "pcm_s32be",
  1556.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit big-endian"),
  1557.         .props     = AV_CODEC_PROP_LOSSLESS,
  1558.     },
  1559.     {
  1560.         .id        = AV_CODEC_ID_PCM_U32LE,
  1561.         .type      = AVMEDIA_TYPE_AUDIO,
  1562.         .name      = "pcm_u32le",
  1563.         .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 32-bit little-endian"),
  1564.         .props     = AV_CODEC_PROP_LOSSLESS,
  1565.     },
  1566.     {
  1567.         .id        = AV_CODEC_ID_PCM_U32BE,
  1568.         .type      = AVMEDIA_TYPE_AUDIO,
  1569.         .name      = "pcm_u32be",
  1570.         .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 32-bit big-endian"),
  1571.         .props     = AV_CODEC_PROP_LOSSLESS,
  1572.     },
  1573.     {
  1574.         .id        = AV_CODEC_ID_PCM_S24LE,
  1575.         .type      = AVMEDIA_TYPE_AUDIO,
  1576.         .name      = "pcm_s24le",
  1577.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit little-endian"),
  1578.         .props     = AV_CODEC_PROP_LOSSLESS,
  1579.     },
  1580.     {
  1581.         .id        = AV_CODEC_ID_PCM_S24BE,
  1582.         .type      = AVMEDIA_TYPE_AUDIO,
  1583.         .name      = "pcm_s24be",
  1584.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit big-endian"),
  1585.         .props     = AV_CODEC_PROP_LOSSLESS,
  1586.     },
  1587.     {
  1588.         .id        = AV_CODEC_ID_PCM_U24LE,
  1589.         .type      = AVMEDIA_TYPE_AUDIO,
  1590.         .name      = "pcm_u24le",
  1591.         .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 24-bit little-endian"),
  1592.         .props     = AV_CODEC_PROP_LOSSLESS,
  1593.     },
  1594.     {
  1595.         .id        = AV_CODEC_ID_PCM_U24BE,
  1596.         .type      = AVMEDIA_TYPE_AUDIO,
  1597.         .name      = "pcm_u24be",
  1598.         .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 24-bit big-endian"),
  1599.         .props     = AV_CODEC_PROP_LOSSLESS,
  1600.     },
  1601.     {
  1602.         .id        = AV_CODEC_ID_PCM_S24DAUD,
  1603.         .type      = AVMEDIA_TYPE_AUDIO,
  1604.         .name      = "pcm_s24daud",
  1605.         .long_name = NULL_IF_CONFIG_SMALL("PCM D-Cinema audio signed 24-bit"),
  1606.         .props     = AV_CODEC_PROP_LOSSLESS,
  1607.     },
  1608.     {
  1609.         .id        = AV_CODEC_ID_PCM_ZORK,
  1610.         .type      = AVMEDIA_TYPE_AUDIO,
  1611.         .name      = "pcm_zork",
  1612.         .long_name = NULL_IF_CONFIG_SMALL("PCM Zork"),
  1613.         .props     = AV_CODEC_PROP_LOSSY,
  1614.     },
  1615.     {
  1616.         .id        = AV_CODEC_ID_PCM_S16BE_PLANAR,
  1617.         .type      = AVMEDIA_TYPE_AUDIO,
  1618.         .name      = "pcm_s16be_planar",
  1619.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit big-endian planar"),
  1620.         .props     = AV_CODEC_PROP_LOSSLESS,
  1621.     },
  1622.     {
  1623.         .id        = AV_CODEC_ID_PCM_S16LE_PLANAR,
  1624.         .type      = AVMEDIA_TYPE_AUDIO,
  1625.         .name      = "pcm_s16le_planar",
  1626.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit little-endian planar"),
  1627.         .props     = AV_CODEC_PROP_LOSSLESS,
  1628.     },
  1629.     {
  1630.         .id        = AV_CODEC_ID_PCM_S24LE_PLANAR,
  1631.         .type      = AVMEDIA_TYPE_AUDIO,
  1632.         .name      = "pcm_s24le_planar",
  1633.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit little-endian planar"),
  1634.         .props     = AV_CODEC_PROP_LOSSLESS,
  1635.     },
  1636.     {
  1637.         .id        = AV_CODEC_ID_PCM_S32LE_PLANAR,
  1638.         .type      = AVMEDIA_TYPE_AUDIO,
  1639.         .name      = "pcm_s32le_planar",
  1640.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit little-endian planar"),
  1641.         .props     = AV_CODEC_PROP_LOSSLESS,
  1642.     },
  1643.     {
  1644.         .id        = AV_CODEC_ID_PCM_DVD,
  1645.         .type      = AVMEDIA_TYPE_AUDIO,
  1646.         .name      = "pcm_dvd",
  1647.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20|24-bit big-endian"),
  1648.         .props     = AV_CODEC_PROP_LOSSLESS,
  1649.     },
  1650.     {
  1651.         .id        = AV_CODEC_ID_PCM_F32BE,
  1652.         .type      = AVMEDIA_TYPE_AUDIO,
  1653.         .name      = "pcm_f32be",
  1654.         .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point big-endian"),
  1655.         .props     = AV_CODEC_PROP_LOSSLESS,
  1656.     },
  1657.     {
  1658.         .id        = AV_CODEC_ID_PCM_F32LE,
  1659.         .type      = AVMEDIA_TYPE_AUDIO,
  1660.         .name      = "pcm_f32le",
  1661.         .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point little-endian"),
  1662.         .props     = AV_CODEC_PROP_LOSSLESS,
  1663.     },
  1664.     {
  1665.         .id        = AV_CODEC_ID_PCM_F64BE,
  1666.         .type      = AVMEDIA_TYPE_AUDIO,
  1667.         .name      = "pcm_f64be",
  1668.         .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point big-endian"),
  1669.         .props     = AV_CODEC_PROP_LOSSLESS,
  1670.     },
  1671.     {
  1672.         .id        = AV_CODEC_ID_PCM_F64LE,
  1673.         .type      = AVMEDIA_TYPE_AUDIO,
  1674.         .name      = "pcm_f64le",
  1675.         .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point little-endian"),
  1676.         .props     = AV_CODEC_PROP_LOSSLESS,
  1677.     },
  1678.     {
  1679.         .id        = AV_CODEC_ID_PCM_BLURAY,
  1680.         .type      = AVMEDIA_TYPE_AUDIO,
  1681.         .name      = "pcm_bluray",
  1682.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for Blu-ray media"),
  1683.         .props     = AV_CODEC_PROP_LOSSLESS,
  1684.     },
  1685.     {
  1686.         .id        = AV_CODEC_ID_PCM_LXF,
  1687.         .type      = AVMEDIA_TYPE_AUDIO,
  1688.         .name      = "pcm_lxf",
  1689.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20-bit little-endian planar"),
  1690.         .props     = AV_CODEC_PROP_LOSSLESS,
  1691.     },
  1692.     {
  1693.         .id        = AV_CODEC_ID_S302M,
  1694.         .type      = AVMEDIA_TYPE_AUDIO,
  1695.         .name      = "s302m",
  1696.         .long_name = NULL_IF_CONFIG_SMALL("SMPTE 302M"),
  1697.         .props     = AV_CODEC_PROP_LOSSLESS,
  1698.     },
  1699.     {
  1700.         .id        = AV_CODEC_ID_PCM_S8_PLANAR,
  1701.         .type      = AVMEDIA_TYPE_AUDIO,
  1702.         .name      = "pcm_s8_planar",
  1703.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 8-bit planar"),
  1704.         .props     = AV_CODEC_PROP_LOSSLESS,
  1705.     },
  1706.  
  1707.     /* various ADPCM codecs */
  1708.     {
  1709.         .id        = AV_CODEC_ID_ADPCM_IMA_QT,
  1710.         .type      = AVMEDIA_TYPE_AUDIO,
  1711.         .name      = "adpcm_ima_qt",
  1712.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA QuickTime"),
  1713.         .props     = AV_CODEC_PROP_LOSSY,
  1714.     },
  1715.     {
  1716.         .id        = AV_CODEC_ID_ADPCM_IMA_WAV,
  1717.         .type      = AVMEDIA_TYPE_AUDIO,
  1718.         .name      = "adpcm_ima_wav",
  1719.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA WAV"),
  1720.         .props     = AV_CODEC_PROP_LOSSY,
  1721.     },
  1722.     {
  1723.         .id        = AV_CODEC_ID_ADPCM_IMA_DK3,
  1724.         .type      = AVMEDIA_TYPE_AUDIO,
  1725.         .name      = "adpcm_ima_dk3",
  1726.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Duck DK3"),
  1727.         .props     = AV_CODEC_PROP_LOSSY,
  1728.     },
  1729.     {
  1730.         .id        = AV_CODEC_ID_ADPCM_IMA_DK4,
  1731.         .type      = AVMEDIA_TYPE_AUDIO,
  1732.         .name      = "adpcm_ima_dk4",
  1733.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Duck DK4"),
  1734.         .props     = AV_CODEC_PROP_LOSSY,
  1735.     },
  1736.     {
  1737.         .id        = AV_CODEC_ID_ADPCM_IMA_WS,
  1738.         .type      = AVMEDIA_TYPE_AUDIO,
  1739.         .name      = "adpcm_ima_ws",
  1740.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Westwood"),
  1741.         .props     = AV_CODEC_PROP_LOSSY,
  1742.     },
  1743.     {
  1744.         .id        = AV_CODEC_ID_ADPCM_IMA_SMJPEG,
  1745.         .type      = AVMEDIA_TYPE_AUDIO,
  1746.         .name      = "adpcm_ima_smjpeg",
  1747.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Loki SDL MJPEG"),
  1748.         .props     = AV_CODEC_PROP_LOSSY,
  1749.     },
  1750.     {
  1751.         .id        = AV_CODEC_ID_ADPCM_MS,
  1752.         .type      = AVMEDIA_TYPE_AUDIO,
  1753.         .name      = "adpcm_ms",
  1754.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Microsoft"),
  1755.         .props     = AV_CODEC_PROP_LOSSY,
  1756.     },
  1757.     {
  1758.         .id        = AV_CODEC_ID_ADPCM_4XM,
  1759.         .type      = AVMEDIA_TYPE_AUDIO,
  1760.         .name      = "adpcm_4xm",
  1761.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM 4X Movie"),
  1762.         .props     = AV_CODEC_PROP_LOSSY,
  1763.     },
  1764.     {
  1765.         .id        = AV_CODEC_ID_ADPCM_XA,
  1766.         .type      = AVMEDIA_TYPE_AUDIO,
  1767.         .name      = "adpcm_xa",
  1768.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM CDROM XA"),
  1769.         .props     = AV_CODEC_PROP_LOSSY,
  1770.     },
  1771.     {
  1772.         .id        = AV_CODEC_ID_ADPCM_ADX,
  1773.         .type      = AVMEDIA_TYPE_AUDIO,
  1774.         .name      = "adpcm_adx",
  1775.         .long_name = NULL_IF_CONFIG_SMALL("SEGA CRI ADX ADPCM"),
  1776.         .props     = AV_CODEC_PROP_LOSSY,
  1777.     },
  1778.     {
  1779.         .id        = AV_CODEC_ID_ADPCM_EA,
  1780.         .type      = AVMEDIA_TYPE_AUDIO,
  1781.         .name      = "adpcm_ea",
  1782.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts"),
  1783.         .props     = AV_CODEC_PROP_LOSSY,
  1784.     },
  1785.     {
  1786.         .id        = AV_CODEC_ID_ADPCM_G726,
  1787.         .type      = AVMEDIA_TYPE_AUDIO,
  1788.         .name      = "adpcm_g726",
  1789.         .long_name = NULL_IF_CONFIG_SMALL("G.726 ADPCM"),
  1790.         .props     = AV_CODEC_PROP_LOSSY,
  1791.     },
  1792.     {
  1793.         .id        = AV_CODEC_ID_ADPCM_CT,
  1794.         .type      = AVMEDIA_TYPE_AUDIO,
  1795.         .name      = "adpcm_ct",
  1796.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Creative Technology"),
  1797.         .props     = AV_CODEC_PROP_LOSSY,
  1798.     },
  1799.     {
  1800.         .id        = AV_CODEC_ID_ADPCM_SWF,
  1801.         .type      = AVMEDIA_TYPE_AUDIO,
  1802.         .name      = "adpcm_swf",
  1803.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Shockwave Flash"),
  1804.         .props     = AV_CODEC_PROP_LOSSY,
  1805.     },
  1806.     {
  1807.         .id        = AV_CODEC_ID_ADPCM_YAMAHA,
  1808.         .type      = AVMEDIA_TYPE_AUDIO,
  1809.         .name      = "adpcm_yamaha",
  1810.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Yamaha"),
  1811.         .props     = AV_CODEC_PROP_LOSSY,
  1812.     },
  1813.     {
  1814.         .id        = AV_CODEC_ID_ADPCM_SBPRO_4,
  1815.         .type      = AVMEDIA_TYPE_AUDIO,
  1816.         .name      = "adpcm_sbpro_4",
  1817.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Sound Blaster Pro 4-bit"),
  1818.         .props     = AV_CODEC_PROP_LOSSY,
  1819.     },
  1820.     {
  1821.         .id        = AV_CODEC_ID_ADPCM_SBPRO_3,
  1822.         .type      = AVMEDIA_TYPE_AUDIO,
  1823.         .name      = "adpcm_sbpro_3",
  1824.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Sound Blaster Pro 2.6-bit"),
  1825.         .props     = AV_CODEC_PROP_LOSSY,
  1826.     },
  1827.     {
  1828.         .id        = AV_CODEC_ID_ADPCM_SBPRO_2,
  1829.         .type      = AVMEDIA_TYPE_AUDIO,
  1830.         .name      = "adpcm_sbpro_2",
  1831.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Sound Blaster Pro 2-bit"),
  1832.         .props     = AV_CODEC_PROP_LOSSY,
  1833.     },
  1834.     {
  1835.         .id        = AV_CODEC_ID_ADPCM_THP,
  1836.         .type      = AVMEDIA_TYPE_AUDIO,
  1837.         .name      = "adpcm_thp",
  1838.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo THP"),
  1839.         .props     = AV_CODEC_PROP_LOSSY,
  1840.     },
  1841.     {
  1842.         .id        = AV_CODEC_ID_ADPCM_THP_LE,
  1843.         .type      = AVMEDIA_TYPE_AUDIO,
  1844.         .name      = "adpcm_thp_le",
  1845.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo THP (Little-Endian)"),
  1846.         .props     = AV_CODEC_PROP_LOSSY,
  1847.     },
  1848.     {
  1849.         .id        = AV_CODEC_ID_ADPCM_IMA_AMV,
  1850.         .type      = AVMEDIA_TYPE_AUDIO,
  1851.         .name      = "adpcm_ima_amv",
  1852.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA AMV"),
  1853.         .props     = AV_CODEC_PROP_LOSSY,
  1854.     },
  1855.     {
  1856.         .id        = AV_CODEC_ID_ADPCM_EA_R1,
  1857.         .type      = AVMEDIA_TYPE_AUDIO,
  1858.         .name      = "adpcm_ea_r1",
  1859.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts R1"),
  1860.         .props     = AV_CODEC_PROP_LOSSY,
  1861.     },
  1862.     {
  1863.         .id        = AV_CODEC_ID_ADPCM_EA_R3,
  1864.         .type      = AVMEDIA_TYPE_AUDIO,
  1865.         .name      = "adpcm_ea_r3",
  1866.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts R3"),
  1867.         .props     = AV_CODEC_PROP_LOSSY,
  1868.     },
  1869.     {
  1870.         .id        = AV_CODEC_ID_ADPCM_EA_R2,
  1871.         .type      = AVMEDIA_TYPE_AUDIO,
  1872.         .name      = "adpcm_ea_r2",
  1873.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts R2"),
  1874.         .props     = AV_CODEC_PROP_LOSSY,
  1875.     },
  1876.     {
  1877.         .id        = AV_CODEC_ID_ADPCM_IMA_EA_SEAD,
  1878.         .type      = AVMEDIA_TYPE_AUDIO,
  1879.         .name      = "adpcm_ima_ea_sead",
  1880.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Electronic Arts SEAD"),
  1881.         .props     = AV_CODEC_PROP_LOSSY,
  1882.     },
  1883.     {
  1884.         .id        = AV_CODEC_ID_ADPCM_IMA_EA_EACS,
  1885.         .type      = AVMEDIA_TYPE_AUDIO,
  1886.         .name      = "adpcm_ima_ea_eacs",
  1887.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Electronic Arts EACS"),
  1888.         .props     = AV_CODEC_PROP_LOSSY,
  1889.     },
  1890.     {
  1891.         .id        = AV_CODEC_ID_ADPCM_EA_XAS,
  1892.         .type      = AVMEDIA_TYPE_AUDIO,
  1893.         .name      = "adpcm_ea_xas",
  1894.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts XAS"),
  1895.         .props     = AV_CODEC_PROP_LOSSY,
  1896.     },
  1897.     {
  1898.         .id        = AV_CODEC_ID_ADPCM_EA_MAXIS_XA,
  1899.         .type      = AVMEDIA_TYPE_AUDIO,
  1900.         .name      = "adpcm_ea_maxis_xa",
  1901.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts Maxis CDROM XA"),
  1902.         .props     = AV_CODEC_PROP_LOSSY,
  1903.     },
  1904.     {
  1905.         .id        = AV_CODEC_ID_ADPCM_IMA_ISS,
  1906.         .type      = AVMEDIA_TYPE_AUDIO,
  1907.         .name      = "adpcm_ima_iss",
  1908.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Funcom ISS"),
  1909.         .props     = AV_CODEC_PROP_LOSSY,
  1910.     },
  1911.     {
  1912.         .id        = AV_CODEC_ID_ADPCM_G722,
  1913.         .type      = AVMEDIA_TYPE_AUDIO,
  1914.         .name      = "adpcm_g722",
  1915.         .long_name = NULL_IF_CONFIG_SMALL("G.722 ADPCM"),
  1916.         .props     = AV_CODEC_PROP_LOSSY,
  1917.     },
  1918.     {
  1919.         .id        = AV_CODEC_ID_ADPCM_IMA_APC,
  1920.         .type      = AVMEDIA_TYPE_AUDIO,
  1921.         .name      = "adpcm_ima_apc",
  1922.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA CRYO APC"),
  1923.         .props     = AV_CODEC_PROP_LOSSY,
  1924.     },
  1925.     {
  1926.         .id        = AV_CODEC_ID_ADPCM_AFC,
  1927.         .type      = AVMEDIA_TYPE_AUDIO,
  1928.         .name      = "adpcm_afc",
  1929.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo Gamecube AFC"),
  1930.         .props     = AV_CODEC_PROP_LOSSY,
  1931.     },
  1932.     {
  1933.         .id        = AV_CODEC_ID_ADPCM_IMA_OKI,
  1934.         .type      = AVMEDIA_TYPE_AUDIO,
  1935.         .name      = "adpcm_ima_oki",
  1936.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Dialogic OKI"),
  1937.         .props     = AV_CODEC_PROP_LOSSY,
  1938.     },
  1939.     {
  1940.         .id        = AV_CODEC_ID_ADPCM_DTK,
  1941.         .type      = AVMEDIA_TYPE_AUDIO,
  1942.         .name      = "adpcm_dtk",
  1943.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo Gamecube DTK"),
  1944.         .props     = AV_CODEC_PROP_LOSSY,
  1945.     },
  1946.     {
  1947.         .id        = AV_CODEC_ID_ADPCM_IMA_RAD,
  1948.         .type      = AVMEDIA_TYPE_AUDIO,
  1949.         .name      = "adpcm_ima_rad",
  1950.         .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Radical"),
  1951.         .props     = AV_CODEC_PROP_LOSSY,
  1952.     },
  1953.     {
  1954.         .id        = AV_CODEC_ID_ADPCM_G726LE,
  1955.         .type      = AVMEDIA_TYPE_AUDIO,
  1956.         .name      = "adpcm_g726le",
  1957.         .long_name = NULL_IF_CONFIG_SMALL("G.726 ADPCM little-endian"),
  1958.         .props     = AV_CODEC_PROP_LOSSY,
  1959.     },
  1960.     {
  1961.         .id        = AV_CODEC_ID_ADPCM_VIMA,
  1962.         .type      = AVMEDIA_TYPE_AUDIO,
  1963.         .name      = "adpcm_vima",
  1964.         .long_name = NULL_IF_CONFIG_SMALL("LucasArts VIMA audio"),
  1965.         .props     = AV_CODEC_PROP_LOSSY,
  1966.     },
  1967.  
  1968.     /* AMR */
  1969.     {
  1970.         .id        = AV_CODEC_ID_AMR_NB,
  1971.         .type      = AVMEDIA_TYPE_AUDIO,
  1972.         .name      = "amr_nb",
  1973.         .long_name = NULL_IF_CONFIG_SMALL("AMR-NB (Adaptive Multi-Rate NarrowBand)"),
  1974.         .props     = AV_CODEC_PROP_LOSSY,
  1975.     },
  1976.     {
  1977.         .id        = AV_CODEC_ID_AMR_WB,
  1978.         .type      = AVMEDIA_TYPE_AUDIO,
  1979.         .name      = "amr_wb",
  1980.         .long_name = NULL_IF_CONFIG_SMALL("AMR-WB (Adaptive Multi-Rate WideBand)"),
  1981.         .props     = AV_CODEC_PROP_LOSSY,
  1982.     },
  1983.  
  1984.     /* RealAudio codecs*/
  1985.     {
  1986.         .id        = AV_CODEC_ID_RA_144,
  1987.         .type      = AVMEDIA_TYPE_AUDIO,
  1988.         .name      = "ra_144",
  1989.         .long_name = NULL_IF_CONFIG_SMALL("RealAudio 1.0 (14.4K)"),
  1990.         .props     = AV_CODEC_PROP_LOSSY,
  1991.     },
  1992.     {
  1993.         .id        = AV_CODEC_ID_RA_288,
  1994.         .type      = AVMEDIA_TYPE_AUDIO,
  1995.         .name      = "ra_288",
  1996.         .long_name = NULL_IF_CONFIG_SMALL("RealAudio 2.0 (28.8K)"),
  1997.         .props     = AV_CODEC_PROP_LOSSY,
  1998.     },
  1999.  
  2000.     /* various DPCM codecs */
  2001.     {
  2002.         .id        = AV_CODEC_ID_ROQ_DPCM,
  2003.         .type      = AVMEDIA_TYPE_AUDIO,
  2004.         .name      = "roq_dpcm",
  2005.         .long_name = NULL_IF_CONFIG_SMALL("DPCM id RoQ"),
  2006.         .props     = AV_CODEC_PROP_LOSSY,
  2007.     },
  2008.     {
  2009.         .id        = AV_CODEC_ID_INTERPLAY_DPCM,
  2010.         .type      = AVMEDIA_TYPE_AUDIO,
  2011.         .name      = "interplay_dpcm",
  2012.         .long_name = NULL_IF_CONFIG_SMALL("DPCM Interplay"),
  2013.         .props     = AV_CODEC_PROP_LOSSY,
  2014.     },
  2015.     {
  2016.         .id        = AV_CODEC_ID_XAN_DPCM,
  2017.         .type      = AVMEDIA_TYPE_AUDIO,
  2018.         .name      = "xan_dpcm",
  2019.         .long_name = NULL_IF_CONFIG_SMALL("DPCM Xan"),
  2020.         .props     = AV_CODEC_PROP_LOSSY,
  2021.     },
  2022.     {
  2023.         .id        = AV_CODEC_ID_SOL_DPCM,
  2024.         .type      = AVMEDIA_TYPE_AUDIO,
  2025.         .name      = "sol_dpcm",
  2026.         .long_name = NULL_IF_CONFIG_SMALL("DPCM Sol"),
  2027.         .props     = AV_CODEC_PROP_LOSSY,
  2028.     },
  2029.  
  2030.     /* audio codecs */
  2031.     {
  2032.         .id        = AV_CODEC_ID_MP2,
  2033.         .type      = AVMEDIA_TYPE_AUDIO,
  2034.         .name      = "mp2",
  2035.         .long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"),
  2036.         .props     = AV_CODEC_PROP_LOSSY,
  2037.     },
  2038.     {
  2039.         .id        = AV_CODEC_ID_MP3,
  2040.         .type      = AVMEDIA_TYPE_AUDIO,
  2041.         .name      = "mp3",
  2042.         .long_name = NULL_IF_CONFIG_SMALL("MP3 (MPEG audio layer 3)"),
  2043.         .props     = AV_CODEC_PROP_LOSSY,
  2044.     },
  2045.     {
  2046.         .id        = AV_CODEC_ID_AAC,
  2047.         .type      = AVMEDIA_TYPE_AUDIO,
  2048.         .name      = "aac",
  2049.         .long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
  2050.         .props     = AV_CODEC_PROP_LOSSY,
  2051.     },
  2052.     {
  2053.         .id        = AV_CODEC_ID_AC3,
  2054.         .type      = AVMEDIA_TYPE_AUDIO,
  2055.         .name      = "ac3",
  2056.         .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
  2057.         .props     = AV_CODEC_PROP_LOSSY,
  2058.     },
  2059.     {
  2060.         .id        = AV_CODEC_ID_DTS,
  2061.         .type      = AVMEDIA_TYPE_AUDIO,
  2062.         .name      = "dts",
  2063.         .long_name = NULL_IF_CONFIG_SMALL("DCA (DTS Coherent Acoustics)"),
  2064.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
  2065.     },
  2066.     {
  2067.         .id        = AV_CODEC_ID_VORBIS,
  2068.         .type      = AVMEDIA_TYPE_AUDIO,
  2069.         .name      = "vorbis",
  2070.         .long_name = NULL_IF_CONFIG_SMALL("Vorbis"),
  2071.         .props     = AV_CODEC_PROP_LOSSY,
  2072.     },
  2073.     {
  2074.         .id        = AV_CODEC_ID_DVAUDIO,
  2075.         .type      = AVMEDIA_TYPE_AUDIO,
  2076.         .name      = "dvaudio",
  2077.         .long_name = NULL_IF_CONFIG_SMALL("DV audio"),
  2078.         .props     = AV_CODEC_PROP_LOSSY,
  2079.     },
  2080.     {
  2081.         .id        = AV_CODEC_ID_WMAV1,
  2082.         .type      = AVMEDIA_TYPE_AUDIO,
  2083.         .name      = "wmav1",
  2084.         .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 1"),
  2085.         .props     = AV_CODEC_PROP_LOSSY,
  2086.     },
  2087.     {
  2088.         .id        = AV_CODEC_ID_WMAV2,
  2089.         .type      = AVMEDIA_TYPE_AUDIO,
  2090.         .name      = "wmav2",
  2091.         .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 2"),
  2092.         .props     = AV_CODEC_PROP_LOSSY,
  2093.     },
  2094.     {
  2095.         .id        = AV_CODEC_ID_MACE3,
  2096.         .type      = AVMEDIA_TYPE_AUDIO,
  2097.         .name      = "mace3",
  2098.         .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 3:1"),
  2099.         .props     = AV_CODEC_PROP_LOSSY,
  2100.     },
  2101.     {
  2102.         .id        = AV_CODEC_ID_MACE6,
  2103.         .type      = AVMEDIA_TYPE_AUDIO,
  2104.         .name      = "mace6",
  2105.         .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 6:1"),
  2106.         .props     = AV_CODEC_PROP_LOSSY,
  2107.     },
  2108.     {
  2109.         .id        = AV_CODEC_ID_VMDAUDIO,
  2110.         .type      = AVMEDIA_TYPE_AUDIO,
  2111.         .name      = "vmdaudio",
  2112.         .long_name = NULL_IF_CONFIG_SMALL("Sierra VMD audio"),
  2113.         .props     = AV_CODEC_PROP_LOSSY,
  2114.     },
  2115.     {
  2116.         .id        = AV_CODEC_ID_FLAC,
  2117.         .type      = AVMEDIA_TYPE_AUDIO,
  2118.         .name      = "flac",
  2119.         .long_name = NULL_IF_CONFIG_SMALL("FLAC (Free Lossless Audio Codec)"),
  2120.         .props     = AV_CODEC_PROP_LOSSLESS,
  2121.     },
  2122.     {
  2123.         .id        = AV_CODEC_ID_MP3ADU,
  2124.         .type      = AVMEDIA_TYPE_AUDIO,
  2125.         .name      = "mp3adu",
  2126.         .long_name = NULL_IF_CONFIG_SMALL("ADU (Application Data Unit) MP3 (MPEG audio layer 3)"),
  2127.         .props     = AV_CODEC_PROP_LOSSY,
  2128.     },
  2129.     {
  2130.         .id        = AV_CODEC_ID_MP3ON4,
  2131.         .type      = AVMEDIA_TYPE_AUDIO,
  2132.         .name      = "mp3on4",
  2133.         .long_name = NULL_IF_CONFIG_SMALL("MP3onMP4"),
  2134.         .props     = AV_CODEC_PROP_LOSSY,
  2135.     },
  2136.     {
  2137.         .id        = AV_CODEC_ID_SHORTEN,
  2138.         .type      = AVMEDIA_TYPE_AUDIO,
  2139.         .name      = "shorten",
  2140.         .long_name = NULL_IF_CONFIG_SMALL("Shorten"),
  2141.         .props     = AV_CODEC_PROP_LOSSLESS,
  2142.     },
  2143.     {
  2144.         .id        = AV_CODEC_ID_ALAC,
  2145.         .type      = AVMEDIA_TYPE_AUDIO,
  2146.         .name      = "alac",
  2147.         .long_name = NULL_IF_CONFIG_SMALL("ALAC (Apple Lossless Audio Codec)"),
  2148.         .props     = AV_CODEC_PROP_LOSSLESS,
  2149.     },
  2150.     {
  2151.         .id        = AV_CODEC_ID_WESTWOOD_SND1,
  2152.         .type      = AVMEDIA_TYPE_AUDIO,
  2153.         .name      = "westwood_snd1",
  2154.         .long_name = NULL_IF_CONFIG_SMALL("Westwood Audio (SND1)"),
  2155.         .props     = AV_CODEC_PROP_LOSSY,
  2156.     },
  2157.     {
  2158.         .id        = AV_CODEC_ID_GSM,
  2159.         .type      = AVMEDIA_TYPE_AUDIO,
  2160.         .name      = "gsm",
  2161.         .long_name = NULL_IF_CONFIG_SMALL("GSM"),
  2162.         .props     = AV_CODEC_PROP_LOSSY,
  2163.     },
  2164.     {
  2165.         .id        = AV_CODEC_ID_QDM2,
  2166.         .type      = AVMEDIA_TYPE_AUDIO,
  2167.         .name      = "qdm2",
  2168.         .long_name = NULL_IF_CONFIG_SMALL("QDesign Music Codec 2"),
  2169.         .props     = AV_CODEC_PROP_LOSSY,
  2170.     },
  2171.     {
  2172.         .id        = AV_CODEC_ID_COOK,
  2173.         .type      = AVMEDIA_TYPE_AUDIO,
  2174.         .name      = "cook",
  2175.         .long_name = NULL_IF_CONFIG_SMALL("Cook / Cooker / Gecko (RealAudio G2)"),
  2176.         .props     = AV_CODEC_PROP_LOSSY,
  2177.     },
  2178.     {
  2179.         .id        = AV_CODEC_ID_TRUESPEECH,
  2180.         .type      = AVMEDIA_TYPE_AUDIO,
  2181.         .name      = "truespeech",
  2182.         .long_name = NULL_IF_CONFIG_SMALL("DSP Group TrueSpeech"),
  2183.         .props     = AV_CODEC_PROP_LOSSY,
  2184.     },
  2185.     {
  2186.         .id        = AV_CODEC_ID_TTA,
  2187.         .type      = AVMEDIA_TYPE_AUDIO,
  2188.         .name      = "tta",
  2189.         .long_name = NULL_IF_CONFIG_SMALL("TTA (True Audio)"),
  2190.         .props     = AV_CODEC_PROP_LOSSLESS,
  2191.     },
  2192.     {
  2193.         .id        = AV_CODEC_ID_SMACKAUDIO,
  2194.         .type      = AVMEDIA_TYPE_AUDIO,
  2195.         .name      = "smackaudio",
  2196.         .long_name = NULL_IF_CONFIG_SMALL("Smacker audio"),
  2197.         .props     = AV_CODEC_PROP_LOSSY,
  2198.     },
  2199.     {
  2200.         .id        = AV_CODEC_ID_QCELP,
  2201.         .type      = AVMEDIA_TYPE_AUDIO,
  2202.         .name      = "qcelp",
  2203.         .long_name = NULL_IF_CONFIG_SMALL("QCELP / PureVoice"),
  2204.         .props     = AV_CODEC_PROP_LOSSY,
  2205.     },
  2206.     {
  2207.         .id        = AV_CODEC_ID_WAVPACK,
  2208.         .type      = AVMEDIA_TYPE_AUDIO,
  2209.         .name      = "wavpack",
  2210.         .long_name = NULL_IF_CONFIG_SMALL("WavPack"),
  2211.         .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
  2212.     },
  2213.     {
  2214.         .id        = AV_CODEC_ID_DSICINAUDIO,
  2215.         .type      = AVMEDIA_TYPE_AUDIO,
  2216.         .name      = "dsicinaudio",
  2217.         .long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN audio"),
  2218.         .props     = AV_CODEC_PROP_LOSSY,
  2219.     },
  2220.     {
  2221.         .id        = AV_CODEC_ID_IMC,
  2222.         .type      = AVMEDIA_TYPE_AUDIO,
  2223.         .name      = "imc",
  2224.         .long_name = NULL_IF_CONFIG_SMALL("IMC (Intel Music Coder)"),
  2225.         .props     = AV_CODEC_PROP_LOSSY,
  2226.     },
  2227.     {
  2228.         .id        = AV_CODEC_ID_MUSEPACK7,
  2229.         .type      = AVMEDIA_TYPE_AUDIO,
  2230.         .name      = "musepack7",
  2231.         .long_name = NULL_IF_CONFIG_SMALL("Musepack SV7"),
  2232.         .props     = AV_CODEC_PROP_LOSSY,
  2233.     },
  2234.     {
  2235.         .id        = AV_CODEC_ID_MLP,
  2236.         .type      = AVMEDIA_TYPE_AUDIO,
  2237.         .name      = "mlp",
  2238.         .long_name = NULL_IF_CONFIG_SMALL("MLP (Meridian Lossless Packing)"),
  2239.         .props     = AV_CODEC_PROP_LOSSLESS,
  2240.     },
  2241.     {
  2242.         .id        = AV_CODEC_ID_GSM_MS,
  2243.         .type      = AVMEDIA_TYPE_AUDIO,
  2244.         .name      = "gsm_ms",
  2245.         .long_name = NULL_IF_CONFIG_SMALL("GSM Microsoft variant"),
  2246.         .props     = AV_CODEC_PROP_LOSSY,
  2247.     },
  2248.     {
  2249.         .id        = AV_CODEC_ID_ATRAC3,
  2250.         .type      = AVMEDIA_TYPE_AUDIO,
  2251.         .name      = "atrac3",
  2252.         .long_name = NULL_IF_CONFIG_SMALL("ATRAC3 (Adaptive TRansform Acoustic Coding 3)"),
  2253.         .props     = AV_CODEC_PROP_LOSSY,
  2254.     },
  2255. #if FF_API_VOXWARE
  2256.     {
  2257.         .id        = AV_CODEC_ID_VOXWARE,
  2258.         .type      = AVMEDIA_TYPE_AUDIO,
  2259.         .name      = "voxware",
  2260.         .long_name = NULL_IF_CONFIG_SMALL("Voxware RT29 Metasound"),
  2261.         .props     = AV_CODEC_PROP_LOSSY,
  2262.     },
  2263. #endif
  2264.     {
  2265.         .id        = AV_CODEC_ID_APE,
  2266.         .type      = AVMEDIA_TYPE_AUDIO,
  2267.         .name      = "ape",
  2268.         .long_name = NULL_IF_CONFIG_SMALL("Monkey's Audio"),
  2269.         .props     = AV_CODEC_PROP_LOSSLESS,
  2270.     },
  2271.     {
  2272.         .id        = AV_CODEC_ID_NELLYMOSER,
  2273.         .type      = AVMEDIA_TYPE_AUDIO,
  2274.         .name      = "nellymoser",
  2275.         .long_name = NULL_IF_CONFIG_SMALL("Nellymoser Asao"),
  2276.         .props     = AV_CODEC_PROP_LOSSY,
  2277.     },
  2278.     {
  2279.         .id        = AV_CODEC_ID_MUSEPACK8,
  2280.         .type      = AVMEDIA_TYPE_AUDIO,
  2281.         .name      = "musepack8",
  2282.         .long_name = NULL_IF_CONFIG_SMALL("Musepack SV8"),
  2283.         .props     = AV_CODEC_PROP_LOSSY,
  2284.     },
  2285.     {
  2286.         .id        = AV_CODEC_ID_SPEEX,
  2287.         .type      = AVMEDIA_TYPE_AUDIO,
  2288.         .name      = "speex",
  2289.         .long_name = NULL_IF_CONFIG_SMALL("Speex"),
  2290.         .props     = AV_CODEC_PROP_LOSSY,
  2291.     },
  2292.     {
  2293.         .id        = AV_CODEC_ID_WMAVOICE,
  2294.         .type      = AVMEDIA_TYPE_AUDIO,
  2295.         .name      = "wmavoice",
  2296.         .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio Voice"),
  2297.         .props     = AV_CODEC_PROP_LOSSY,
  2298.     },
  2299.     {
  2300.         .id        = AV_CODEC_ID_WMAPRO,
  2301.         .type      = AVMEDIA_TYPE_AUDIO,
  2302.         .name      = "wmapro",
  2303.         .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 9 Professional"),
  2304.         .props     = AV_CODEC_PROP_LOSSY,
  2305.     },
  2306.     {
  2307.         .id        = AV_CODEC_ID_WMALOSSLESS,
  2308.         .type      = AVMEDIA_TYPE_AUDIO,
  2309.         .name      = "wmalossless",
  2310.         .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio Lossless"),
  2311.         .props     = AV_CODEC_PROP_LOSSLESS,
  2312.     },
  2313.     {
  2314.         .id        = AV_CODEC_ID_ATRAC3P,
  2315.         .type      = AVMEDIA_TYPE_AUDIO,
  2316.         .name      = "atrac3p",
  2317.         .long_name = NULL_IF_CONFIG_SMALL("ATRAC3+ (Adaptive TRansform Acoustic Coding 3+)"),
  2318.         .props     = AV_CODEC_PROP_LOSSY,
  2319.     },
  2320.     {
  2321.         .id        = AV_CODEC_ID_EAC3,
  2322.         .type      = AVMEDIA_TYPE_AUDIO,
  2323.         .name      = "eac3",
  2324.         .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52B (AC-3, E-AC-3)"),
  2325.         .props     = AV_CODEC_PROP_LOSSY,
  2326.     },
  2327.     {
  2328.         .id        = AV_CODEC_ID_SIPR,
  2329.         .type      = AVMEDIA_TYPE_AUDIO,
  2330.         .name      = "sipr",
  2331.         .long_name = NULL_IF_CONFIG_SMALL("RealAudio SIPR / ACELP.NET"),
  2332.         .props     = AV_CODEC_PROP_LOSSY,
  2333.     },
  2334.     {
  2335.         .id        = AV_CODEC_ID_MP1,
  2336.         .type      = AVMEDIA_TYPE_AUDIO,
  2337.         .name      = "mp1",
  2338.         .long_name = NULL_IF_CONFIG_SMALL("MP1 (MPEG audio layer 1)"),
  2339.         .props     = AV_CODEC_PROP_LOSSY,
  2340.     },
  2341.     {
  2342.         .id        = AV_CODEC_ID_TWINVQ,
  2343.         .type      = AVMEDIA_TYPE_AUDIO,
  2344.         .name      = "twinvq",
  2345.         .long_name = NULL_IF_CONFIG_SMALL("VQF TwinVQ"),
  2346.         .props     = AV_CODEC_PROP_LOSSY,
  2347.     },
  2348.     {
  2349.         .id        = AV_CODEC_ID_TRUEHD,
  2350.         .type      = AVMEDIA_TYPE_AUDIO,
  2351.         .name      = "truehd",
  2352.         .long_name = NULL_IF_CONFIG_SMALL("TrueHD"),
  2353.         .props     = AV_CODEC_PROP_LOSSLESS,
  2354.     },
  2355.     {
  2356.         .id        = AV_CODEC_ID_MP4ALS,
  2357.         .type      = AVMEDIA_TYPE_AUDIO,
  2358.         .name      = "mp4als",
  2359.         .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 Audio Lossless Coding (ALS)"),
  2360.         .props     = AV_CODEC_PROP_LOSSLESS,
  2361.     },
  2362.     {
  2363.         .id        = AV_CODEC_ID_ATRAC1,
  2364.         .type      = AVMEDIA_TYPE_AUDIO,
  2365.         .name      = "atrac1",
  2366.         .long_name = NULL_IF_CONFIG_SMALL("ATRAC1 (Adaptive TRansform Acoustic Coding)"),
  2367.         .props     = AV_CODEC_PROP_LOSSY,
  2368.     },
  2369.     {
  2370.         .id        = AV_CODEC_ID_BINKAUDIO_RDFT,
  2371.         .type      = AVMEDIA_TYPE_AUDIO,
  2372.         .name      = "binkaudio_rdft",
  2373.         .long_name = NULL_IF_CONFIG_SMALL("Bink Audio (RDFT)"),
  2374.         .props     = AV_CODEC_PROP_LOSSY,
  2375.     },
  2376.     {
  2377.         .id        = AV_CODEC_ID_BINKAUDIO_DCT,
  2378.         .type      = AVMEDIA_TYPE_AUDIO,
  2379.         .name      = "binkaudio_dct",
  2380.         .long_name = NULL_IF_CONFIG_SMALL("Bink Audio (DCT)"),
  2381.         .props     = AV_CODEC_PROP_LOSSY,
  2382.     },
  2383.     {
  2384.         .id        = AV_CODEC_ID_AAC_LATM,
  2385.         .type      = AVMEDIA_TYPE_AUDIO,
  2386.         .name      = "aac_latm",
  2387.         .long_name = NULL_IF_CONFIG_SMALL("AAC LATM (Advanced Audio Coding LATM syntax)"),
  2388.         .props     = AV_CODEC_PROP_LOSSY,
  2389.     },
  2390.     {
  2391.         .id        = AV_CODEC_ID_QDMC,
  2392.         .type      = AVMEDIA_TYPE_AUDIO,
  2393.         .name      = "qdmc",
  2394.         .long_name = NULL_IF_CONFIG_SMALL("QDesign Music"),
  2395.         .props     = AV_CODEC_PROP_LOSSY,
  2396.     },
  2397.     {
  2398.         .id        = AV_CODEC_ID_CELT,
  2399.         .type      = AVMEDIA_TYPE_AUDIO,
  2400.         .name      = "celt",
  2401.         .long_name = NULL_IF_CONFIG_SMALL("Constrained Energy Lapped Transform (CELT)"),
  2402.         .props     = AV_CODEC_PROP_LOSSY,
  2403.     },
  2404.     {
  2405.         .id        = AV_CODEC_ID_G723_1,
  2406.         .type      = AVMEDIA_TYPE_AUDIO,
  2407.         .name      = "g723_1",
  2408.         .long_name = NULL_IF_CONFIG_SMALL("G.723.1"),
  2409.         .props     = AV_CODEC_PROP_LOSSY,
  2410.     },
  2411.     {
  2412.         .id        = AV_CODEC_ID_DSS_SP,
  2413.         .type      = AVMEDIA_TYPE_AUDIO,
  2414.         .name      = "dss_sp",
  2415.         .long_name = NULL_IF_CONFIG_SMALL("Digital Speech Standard - Standard Play mode (DSS SP)"),
  2416.         .props     = AV_CODEC_PROP_LOSSY,
  2417.     },
  2418.     {
  2419.         .id        = AV_CODEC_ID_G729,
  2420.         .type      = AVMEDIA_TYPE_AUDIO,
  2421.         .name      = "g729",
  2422.         .long_name = NULL_IF_CONFIG_SMALL("G.729"),
  2423.         .props     = AV_CODEC_PROP_LOSSY,
  2424.     },
  2425.     {
  2426.         .id        = AV_CODEC_ID_8SVX_EXP,
  2427.         .type      = AVMEDIA_TYPE_AUDIO,
  2428.         .name      = "8svx_exp",
  2429.         .long_name = NULL_IF_CONFIG_SMALL("8SVX exponential"),
  2430.         .props     = AV_CODEC_PROP_LOSSY,
  2431.     },
  2432.     {
  2433.         .id        = AV_CODEC_ID_8SVX_FIB,
  2434.         .type      = AVMEDIA_TYPE_AUDIO,
  2435.         .name      = "8svx_fib",
  2436.         .long_name = NULL_IF_CONFIG_SMALL("8SVX fibonacci"),
  2437.         .props     = AV_CODEC_PROP_LOSSY,
  2438.     },
  2439.     {
  2440.         .id        = AV_CODEC_ID_BMV_AUDIO,
  2441.         .type      = AVMEDIA_TYPE_AUDIO,
  2442.         .name      = "bmv_audio",
  2443.         .long_name = NULL_IF_CONFIG_SMALL("Discworld II BMV audio"),
  2444.         .props     = AV_CODEC_PROP_LOSSY,
  2445.     },
  2446.     {
  2447.         .id        = AV_CODEC_ID_RALF,
  2448.         .type      = AVMEDIA_TYPE_AUDIO,
  2449.         .name      = "ralf",
  2450.         .long_name = NULL_IF_CONFIG_SMALL("RealAudio Lossless"),
  2451.         .props     = AV_CODEC_PROP_LOSSLESS,
  2452.     },
  2453.     {
  2454.         .id        = AV_CODEC_ID_IAC,
  2455.         .type      = AVMEDIA_TYPE_AUDIO,
  2456.         .name      = "iac",
  2457.         .long_name = NULL_IF_CONFIG_SMALL("IAC (Indeo Audio Coder)"),
  2458.         .props     = AV_CODEC_PROP_LOSSY,
  2459.     },
  2460.     {
  2461.         .id        = AV_CODEC_ID_ILBC,
  2462.         .type      = AVMEDIA_TYPE_AUDIO,
  2463.         .name      = "ilbc",
  2464.         .long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"),
  2465.         .props     = AV_CODEC_PROP_LOSSY,
  2466.     },
  2467.     {
  2468.         .id        = AV_CODEC_ID_FFWAVESYNTH,
  2469.         .type      = AVMEDIA_TYPE_AUDIO,
  2470.         .name      = "wavesynth",
  2471.         .long_name = NULL_IF_CONFIG_SMALL("Wave synthesis pseudo-codec"),
  2472.     },
  2473.     {
  2474.         .id        = AV_CODEC_ID_SONIC,
  2475.         .type      = AVMEDIA_TYPE_AUDIO,
  2476.         .name      = "sonic",
  2477.         .long_name = NULL_IF_CONFIG_SMALL("Sonic"),
  2478.     },
  2479.     {
  2480.         .id        = AV_CODEC_ID_SONIC_LS,
  2481.         .type      = AVMEDIA_TYPE_AUDIO,
  2482.         .name      = "sonicls",
  2483.         .long_name = NULL_IF_CONFIG_SMALL("Sonic lossless"),
  2484.     },
  2485.     {
  2486.         .id        = AV_CODEC_ID_OPUS,
  2487.         .type      = AVMEDIA_TYPE_AUDIO,
  2488.         .name      = "opus",
  2489.         .long_name = NULL_IF_CONFIG_SMALL("Opus (Opus Interactive Audio Codec)"),
  2490.         .props     = AV_CODEC_PROP_LOSSY,
  2491.     },
  2492.     {
  2493.         .id        = AV_CODEC_ID_COMFORT_NOISE,
  2494.         .type      = AVMEDIA_TYPE_AUDIO,
  2495.         .name      = "comfortnoise",
  2496.         .long_name = NULL_IF_CONFIG_SMALL("RFC 3389 Comfort Noise"),
  2497.         .props     = AV_CODEC_PROP_LOSSY,
  2498.     },
  2499.     {
  2500.         .id        = AV_CODEC_ID_TAK,
  2501.         .type      = AVMEDIA_TYPE_AUDIO,
  2502.         .name      = "tak",
  2503.         .long_name = NULL_IF_CONFIG_SMALL("TAK (Tom's lossless Audio Kompressor)"),
  2504.         .props     = AV_CODEC_PROP_LOSSLESS,
  2505.     },
  2506.     {
  2507.         .id        = AV_CODEC_ID_METASOUND,
  2508.         .type      = AVMEDIA_TYPE_AUDIO,
  2509.         .name      = "metasound",
  2510.         .long_name = NULL_IF_CONFIG_SMALL("Voxware MetaSound"),
  2511.         .props     = AV_CODEC_PROP_LOSSY,
  2512.     },
  2513.     {
  2514.         .id        = AV_CODEC_ID_PAF_AUDIO,
  2515.         .type      = AVMEDIA_TYPE_AUDIO,
  2516.         .name      = "paf_audio",
  2517.         .long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Audio"),
  2518.         .props     = AV_CODEC_PROP_LOSSY,
  2519.     },
  2520.     {
  2521.         .id        = AV_CODEC_ID_ON2AVC,
  2522.         .type      = AVMEDIA_TYPE_AUDIO,
  2523.         .name      = "avc",
  2524.         .long_name = NULL_IF_CONFIG_SMALL("On2 Audio for Video Codec"),
  2525.         .props     = AV_CODEC_PROP_LOSSY,
  2526.     },
  2527.     {
  2528.         .id        = AV_CODEC_ID_EVRC,
  2529.         .type      = AVMEDIA_TYPE_AUDIO,
  2530.         .name      = "evrc",
  2531.         .long_name = NULL_IF_CONFIG_SMALL("EVRC (Enhanced Variable Rate Codec)"),
  2532.         .props     = AV_CODEC_PROP_LOSSY,
  2533.     },
  2534.     {
  2535.         .id        = AV_CODEC_ID_SMV,
  2536.         .type      = AVMEDIA_TYPE_AUDIO,
  2537.         .name      = "smv",
  2538.         .long_name = NULL_IF_CONFIG_SMALL("SMV (Selectable Mode Vocoder)"),
  2539.         .props     = AV_CODEC_PROP_LOSSY,
  2540.     },
  2541.     {
  2542.         .id        = AV_CODEC_ID_4GV,
  2543.         .type      = AVMEDIA_TYPE_AUDIO,
  2544.         .name      = "4gv",
  2545.         .long_name = NULL_IF_CONFIG_SMALL("4GV (Fourth Generation Vocoder)"),
  2546.         .props     = AV_CODEC_PROP_LOSSY,
  2547.     },
  2548.     {
  2549.         .id        = AV_CODEC_ID_DSD_LSBF,
  2550.         .type      = AVMEDIA_TYPE_AUDIO,
  2551.         .name      = "dsd_lsbf",
  2552.         .long_name = NULL_IF_CONFIG_SMALL("DSD (Direct Stream Digital), least significant bit first"),
  2553.         .props     = AV_CODEC_PROP_LOSSY,
  2554.     },
  2555.     {
  2556.         .id        = AV_CODEC_ID_DSD_MSBF,
  2557.         .type      = AVMEDIA_TYPE_AUDIO,
  2558.         .name      = "dsd_msbf",
  2559.         .long_name = NULL_IF_CONFIG_SMALL("DSD (Direct Stream Digital), most significant bit first"),
  2560.         .props     = AV_CODEC_PROP_LOSSY,
  2561.     },
  2562.     {
  2563.         .id        = AV_CODEC_ID_DSD_LSBF_PLANAR,
  2564.         .type      = AVMEDIA_TYPE_AUDIO,
  2565.         .name      = "dsd_lsbf_planar",
  2566.         .long_name = NULL_IF_CONFIG_SMALL("DSD (Direct Stream Digital), least significant bit first, planar"),
  2567.         .props     = AV_CODEC_PROP_LOSSY,
  2568.     },
  2569.     {
  2570.         .id        = AV_CODEC_ID_DSD_MSBF_PLANAR,
  2571.         .type      = AVMEDIA_TYPE_AUDIO,
  2572.         .name      = "dsd_msbf_planar",
  2573.         .long_name = NULL_IF_CONFIG_SMALL("DSD (Direct Stream Digital), most significant bit first, planar"),
  2574.         .props     = AV_CODEC_PROP_LOSSY,
  2575.     },
  2576.  
  2577.     /* subtitle codecs */
  2578.     {
  2579.         .id        = AV_CODEC_ID_DVD_SUBTITLE,
  2580.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2581.         .name      = "dvd_subtitle",
  2582.         .long_name = NULL_IF_CONFIG_SMALL("DVD subtitles"),
  2583.         .props     = AV_CODEC_PROP_BITMAP_SUB,
  2584.     },
  2585.     {
  2586.         .id        = AV_CODEC_ID_DVB_SUBTITLE,
  2587.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2588.         .name      = "dvb_subtitle",
  2589.         .long_name = NULL_IF_CONFIG_SMALL("DVB subtitles"),
  2590.         .props     = AV_CODEC_PROP_BITMAP_SUB,
  2591.     },
  2592.     {
  2593.         .id        = AV_CODEC_ID_TEXT,
  2594.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2595.         .name      = "text",
  2596.         .long_name = NULL_IF_CONFIG_SMALL("raw UTF-8 text"),
  2597.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2598.     },
  2599.     {
  2600.         .id        = AV_CODEC_ID_XSUB,
  2601.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2602.         .name      = "xsub",
  2603.         .long_name = NULL_IF_CONFIG_SMALL("XSUB"),
  2604.         .props     = AV_CODEC_PROP_BITMAP_SUB,
  2605.     },
  2606.     {
  2607.         .id        = AV_CODEC_ID_ASS,
  2608.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2609.         .name      = "ass",
  2610.         .long_name = NULL_IF_CONFIG_SMALL("ASS (Advanced SSA) subtitle"),
  2611.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2612.     },
  2613.     {
  2614.         .id        = AV_CODEC_ID_SSA,
  2615.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2616.         .name      = "ssa",
  2617.         .long_name = NULL_IF_CONFIG_SMALL("SSA (SubStation Alpha) subtitle"),
  2618.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2619.     },
  2620.     {
  2621.         .id        = AV_CODEC_ID_MOV_TEXT,
  2622.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2623.         .name      = "mov_text",
  2624.         .long_name = NULL_IF_CONFIG_SMALL("MOV text"),
  2625.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2626.     },
  2627.     {
  2628.         .id        = AV_CODEC_ID_HDMV_PGS_SUBTITLE,
  2629.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2630.         .name      = "hdmv_pgs_subtitle",
  2631.         .long_name = NULL_IF_CONFIG_SMALL("HDMV Presentation Graphic Stream subtitles"),
  2632.         .props     = AV_CODEC_PROP_BITMAP_SUB,
  2633.     },
  2634.     {
  2635.         .id        = AV_CODEC_ID_DVB_TELETEXT,
  2636.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2637.         .name      = "dvb_teletext",
  2638.         .long_name = NULL_IF_CONFIG_SMALL("DVB teletext"),
  2639.     },
  2640.     {
  2641.         .id        = AV_CODEC_ID_SRT,
  2642.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2643.         .name      = "srt",
  2644.         .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle with embedded timing"),
  2645.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2646.     },
  2647.     {
  2648.         .id        = AV_CODEC_ID_SUBRIP,
  2649.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2650.         .name      = "subrip",
  2651.         .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),
  2652.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2653.     },
  2654.     {
  2655.         .id        = AV_CODEC_ID_MICRODVD,
  2656.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2657.         .name      = "microdvd",
  2658.         .long_name = NULL_IF_CONFIG_SMALL("MicroDVD subtitle"),
  2659.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2660.     },
  2661.     {
  2662.         .id        = AV_CODEC_ID_MPL2,
  2663.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2664.         .name      = "mpl2",
  2665.         .long_name = NULL_IF_CONFIG_SMALL("MPL2 subtitle"),
  2666.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2667.     },
  2668.     {
  2669.         .id        = AV_CODEC_ID_EIA_608,
  2670.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2671.         .name      = "eia_608",
  2672.         .long_name = NULL_IF_CONFIG_SMALL("EIA-608 closed captions"),
  2673.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2674.     },
  2675.     {
  2676.         .id        = AV_CODEC_ID_JACOSUB,
  2677.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2678.         .name      = "jacosub",
  2679.         .long_name = NULL_IF_CONFIG_SMALL("JACOsub subtitle"),
  2680.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2681.     },
  2682.     {
  2683.         .id        = AV_CODEC_ID_PJS,
  2684.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2685.         .name      = "pjs",
  2686.         .long_name = NULL_IF_CONFIG_SMALL("PJS (Phoenix Japanimation Society) subtitle"),
  2687.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2688.     },
  2689.     {
  2690.         .id        = AV_CODEC_ID_SAMI,
  2691.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2692.         .name      = "sami",
  2693.         .long_name = NULL_IF_CONFIG_SMALL("SAMI subtitle"),
  2694.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2695.     },
  2696.     {
  2697.         .id        = AV_CODEC_ID_REALTEXT,
  2698.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2699.         .name      = "realtext",
  2700.         .long_name = NULL_IF_CONFIG_SMALL("RealText subtitle"),
  2701.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2702.     },
  2703.     {
  2704.         .id        = AV_CODEC_ID_STL,
  2705.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2706.         .name      = "stl",
  2707.         .long_name = NULL_IF_CONFIG_SMALL("Spruce subtitle format"),
  2708.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2709.     },
  2710.     {
  2711.         .id        = AV_CODEC_ID_SUBVIEWER1,
  2712.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2713.         .name      = "subviewer1",
  2714.         .long_name = NULL_IF_CONFIG_SMALL("SubViewer v1 subtitle"),
  2715.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2716.     },
  2717.     {
  2718.         .id        = AV_CODEC_ID_SUBVIEWER,
  2719.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2720.         .name      = "subviewer",
  2721.         .long_name = NULL_IF_CONFIG_SMALL("SubViewer subtitle"),
  2722.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2723.     },
  2724.     {
  2725.         .id        = AV_CODEC_ID_VPLAYER,
  2726.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2727.         .name      = "vplayer",
  2728.         .long_name = NULL_IF_CONFIG_SMALL("VPlayer subtitle"),
  2729.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2730.     },
  2731.     {
  2732.         .id        = AV_CODEC_ID_WEBVTT,
  2733.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2734.         .name      = "webvtt",
  2735.         .long_name = NULL_IF_CONFIG_SMALL("WebVTT subtitle"),
  2736.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2737.     },
  2738.     {
  2739.         .id        = AV_CODEC_ID_HDMV_TEXT_SUBTITLE,
  2740.         .type      = AVMEDIA_TYPE_SUBTITLE,
  2741.         .name      = "hdmv_text_subtitle",
  2742.         .long_name = NULL_IF_CONFIG_SMALL("HDMV Text subtitle"),
  2743.         .props     = AV_CODEC_PROP_TEXT_SUB,
  2744.     },
  2745.  
  2746.     /* other kind of codecs and pseudo-codecs */
  2747.     {
  2748.         .id        = AV_CODEC_ID_TTF,
  2749.         .type      = AVMEDIA_TYPE_DATA,
  2750.         .name      = "ttf",
  2751.         .long_name = NULL_IF_CONFIG_SMALL("TrueType font"),
  2752.         .mime_types= MT("application/x-truetype-font", "application/x-font"),
  2753.     },
  2754.     {
  2755.         .id        = AV_CODEC_ID_BINTEXT,
  2756.         .type      = AVMEDIA_TYPE_VIDEO,
  2757.         .name      = "bintext",
  2758.         .long_name = NULL_IF_CONFIG_SMALL("Binary text"),
  2759.         .props     = AV_CODEC_PROP_INTRA_ONLY,
  2760.     },
  2761.     {
  2762.         .id        = AV_CODEC_ID_XBIN,
  2763.         .type      = AVMEDIA_TYPE_VIDEO,
  2764.         .name      = "xbin",
  2765.         .long_name = NULL_IF_CONFIG_SMALL("eXtended BINary text"),
  2766.         .props     = AV_CODEC_PROP_INTRA_ONLY,
  2767.     },
  2768.     {
  2769.         .id        = AV_CODEC_ID_IDF,
  2770.         .type      = AVMEDIA_TYPE_VIDEO,
  2771.         .name      = "idf",
  2772.         .long_name = NULL_IF_CONFIG_SMALL("iCEDraw text"),
  2773.         .props     = AV_CODEC_PROP_INTRA_ONLY,
  2774.     },
  2775.     {
  2776.         .id        = AV_CODEC_ID_OTF,
  2777.         .type      = AVMEDIA_TYPE_DATA,
  2778.         .name      = "otf",
  2779.         .long_name = NULL_IF_CONFIG_SMALL("OpenType font"),
  2780.         .mime_types= MT("application/vnd.ms-opentype"),
  2781.     },
  2782.     {
  2783.         .id        = AV_CODEC_ID_SMPTE_KLV,
  2784.         .type      = AVMEDIA_TYPE_DATA,
  2785.         .name      = "klv",
  2786.         .long_name = NULL_IF_CONFIG_SMALL("SMPTE 336M Key-Length-Value (KLV) metadata"),
  2787.     },
  2788.     {
  2789.         .id        = AV_CODEC_ID_DVD_NAV,
  2790.         .type      = AVMEDIA_TYPE_DATA,
  2791.         .name      = "dvd_nav_packet",
  2792.         .long_name = NULL_IF_CONFIG_SMALL("DVD Nav packet"),
  2793.     },
  2794.     {
  2795.         .id        = AV_CODEC_ID_TIMED_ID3,
  2796.         .type      = AVMEDIA_TYPE_DATA,
  2797.         .name      = "timed_id3",
  2798.         .long_name = NULL_IF_CONFIG_SMALL("timed ID3 metadata"),
  2799.     },
  2800.     {
  2801.         .id        = AV_CODEC_ID_BIN_DATA,
  2802.         .type      = AVMEDIA_TYPE_DATA,
  2803.         .name      = "bin_data",
  2804.         .long_name = NULL_IF_CONFIG_SMALL("binary data"),
  2805.         .mime_types= MT("application/octet-stream"),
  2806.     },
  2807.  
  2808.     /* deprecated codec ids */
  2809.     {
  2810.         .id        = AV_CODEC_ID_BRENDER_PIX_DEPRECATED,
  2811.         .type      = AVMEDIA_TYPE_VIDEO,
  2812.         .name      = "brender_pix_deprecated",
  2813.         .long_name = NULL_IF_CONFIG_SMALL("BRender PIX image (deprecated id)"),
  2814.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
  2815.     },
  2816.     {
  2817.         .id        = AV_CODEC_ID_ESCAPE130_DEPRECATED,
  2818.         .type      = AVMEDIA_TYPE_VIDEO,
  2819.         .name      = "escape130_deprecated",
  2820.         .long_name = NULL_IF_CONFIG_SMALL("Escape 130 (deprecated id)"),
  2821.         .props     = AV_CODEC_PROP_LOSSY,
  2822.     },
  2823.     {
  2824.         .id        = AV_CODEC_ID_EXR_DEPRECATED,
  2825.         .type      = AVMEDIA_TYPE_VIDEO,
  2826.         .name      = "exr_deprecated",
  2827.         .long_name = NULL_IF_CONFIG_SMALL("OpenEXR image (deprecated id)"),
  2828.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
  2829.                      AV_CODEC_PROP_LOSSLESS,
  2830.     },
  2831.     {
  2832.         .id        = AV_CODEC_ID_G2M_DEPRECATED,
  2833.         .type      = AVMEDIA_TYPE_VIDEO,
  2834.         .name      = "g2m_deprecated",
  2835.         .long_name = NULL_IF_CONFIG_SMALL("Go2Meeting (deprecated id)"),
  2836.         .props     = AV_CODEC_PROP_LOSSY,
  2837.     },
  2838.     {
  2839.         .id        = AV_CODEC_ID_HEVC_DEPRECATED,
  2840.         .type      = AVMEDIA_TYPE_VIDEO,
  2841.         .name      = "hevc_deprecated",
  2842.         .long_name = NULL_IF_CONFIG_SMALL("H.265 / HEVC (High Efficiency Video Coding) (deprecated id)"),
  2843.         .props     = AV_CODEC_PROP_LOSSY,
  2844.     },
  2845.     {
  2846.         .id        = AV_CODEC_ID_PAF_VIDEO_DEPRECATED,
  2847.         .type      = AVMEDIA_TYPE_VIDEO,
  2848.         .name      = "paf_video_deprecated",
  2849.         .long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Video (deprecated id)"),
  2850.         .props     = AV_CODEC_PROP_LOSSY,
  2851.     },
  2852.     {
  2853.         .id        = AV_CODEC_ID_SANM_DEPRECATED,
  2854.         .type      = AVMEDIA_TYPE_VIDEO,
  2855.         .name      = "sanm_deprecated",
  2856.         .long_name = NULL_IF_CONFIG_SMALL("LucasArts SANM/SMUSH video (deprecated id)"),
  2857.         .props     = AV_CODEC_PROP_LOSSY,
  2858.     },
  2859.     {
  2860.         .id        = AV_CODEC_ID_VP7_DEPRECATED,
  2861.         .type      = AVMEDIA_TYPE_VIDEO,
  2862.         .name      = "vp7_deprecated",
  2863.         .long_name = NULL_IF_CONFIG_SMALL("On2 VP7 (deprecated id)"),
  2864.         .props     = AV_CODEC_PROP_LOSSY,
  2865.     },
  2866.     {
  2867.         .id        = AV_CODEC_ID_WEBP_DEPRECATED,
  2868.         .type      = AVMEDIA_TYPE_VIDEO,
  2869.         .name      = "webp_deprecated",
  2870.         .long_name = NULL_IF_CONFIG_SMALL("WebP (deprecated id)"),
  2871.         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
  2872.                      AV_CODEC_PROP_LOSSLESS,
  2873.     },
  2874.  
  2875. #if FF_API_VIMA_DECODER
  2876.     {
  2877.         .id        = AV_CODEC_ID_VIMA,
  2878.         .type      = AVMEDIA_TYPE_AUDIO,
  2879.         .name      = "vima",
  2880.         .long_name = NULL_IF_CONFIG_SMALL("LucasArts VIMA audio (deprecated id)"),
  2881.         .props     = AV_CODEC_PROP_LOSSY,
  2882.     },
  2883. #endif
  2884.     {
  2885.         .id        = AV_CODEC_ID_ADPCM_VIMA_DEPRECATED,
  2886.         .type      = AVMEDIA_TYPE_AUDIO,
  2887.         .name      = "adpcm_vima_deprecated",
  2888.         .long_name = NULL_IF_CONFIG_SMALL("LucasArts VIMA audio (deprecated id)"),
  2889.         .props     = AV_CODEC_PROP_LOSSY,
  2890.     },
  2891.     {
  2892.         .id        = AV_CODEC_ID_OPUS_DEPRECATED,
  2893.         .type      = AVMEDIA_TYPE_AUDIO,
  2894.         .name      = "opus_deprecated",
  2895.         .long_name = NULL_IF_CONFIG_SMALL("Opus (Opus Interactive Audio Codec) (deprecated id)"),
  2896.         .props     = AV_CODEC_PROP_LOSSY,
  2897.     },
  2898.     {
  2899.         .id        = AV_CODEC_ID_PAF_AUDIO_DEPRECATED,
  2900.         .type      = AVMEDIA_TYPE_AUDIO,
  2901.         .name      = "paf_audio_deprecated",
  2902.         .long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Audio (deprecated id)"),
  2903.         .props     = AV_CODEC_PROP_LOSSY,
  2904.     },
  2905.     {
  2906.         .id        = AV_CODEC_ID_PCM_S24LE_PLANAR_DEPRECATED,
  2907.         .type      = AVMEDIA_TYPE_AUDIO,
  2908.         .name      = "pcm_s24le_planar_deprecated",
  2909.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit little-endian planar (deprecated id)"),
  2910.         .props     = AV_CODEC_PROP_LOSSLESS,
  2911.     },
  2912.     {
  2913.         .id        = AV_CODEC_ID_PCM_S32LE_PLANAR_DEPRECATED,
  2914.         .type      = AVMEDIA_TYPE_AUDIO,
  2915.         .name      = "pcm_s32le_planar_deprecated",
  2916.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit little-endian planar (deprecated id)"),
  2917.         .props     = AV_CODEC_PROP_LOSSLESS,
  2918.     },
  2919.     {
  2920.         .id        = AV_CODEC_ID_PCM_S16BE_PLANAR_DEPRECATED,
  2921.         .type      = AVMEDIA_TYPE_AUDIO,
  2922.         .name      = "pcm_s16be_planar_deprecated",
  2923.         .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit big-endian planar (deprecated id)"),
  2924.         .props     = AV_CODEC_PROP_LOSSLESS,
  2925.     },
  2926.     {
  2927.         .id        = AV_CODEC_ID_TAK_DEPRECATED,
  2928.         .type      = AVMEDIA_TYPE_AUDIO,
  2929.         .name      = "tak_deprecated",
  2930.         .long_name = NULL_IF_CONFIG_SMALL("TAK (Tom's lossless Audio Kompressor) (deprecated id)"),
  2931.         .props     = AV_CODEC_PROP_LOSSLESS,
  2932.     },
  2933. };
  2934.  
  2935. const AVCodecDescriptor *avcodec_descriptor_get(enum AVCodecID id)
  2936. {
  2937.     int i;
  2938.  
  2939.     for (i = 0; i < FF_ARRAY_ELEMS(codec_descriptors); i++)
  2940.         if (codec_descriptors[i].id == id)
  2941.             return &codec_descriptors[i];
  2942.     return NULL;
  2943. }
  2944.  
  2945. const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev)
  2946. {
  2947.     if (!prev)
  2948.         return &codec_descriptors[0];
  2949.     if (prev - codec_descriptors < FF_ARRAY_ELEMS(codec_descriptors) - 1)
  2950.         return prev + 1;
  2951.     return NULL;
  2952. }
  2953.  
  2954. const AVCodecDescriptor *avcodec_descriptor_get_by_name(const char *name)
  2955. {
  2956.     const AVCodecDescriptor *desc = NULL;
  2957.  
  2958.     while ((desc = avcodec_descriptor_next(desc)))
  2959.         if (!strcmp(desc->name, name))
  2960.             return desc;
  2961.     return NULL;
  2962. }
  2963.