Subversion Repositories Kolibri OS

Rev

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