Merge commit 'd42809f9835a4e9e5c7c63210abb09ad0ef19cfb'
authorClément Bœsch <u@pkh.me>
Sun, 19 Mar 2017 17:28:40 +0000 (18:28 +0100)
committerClément Bœsch <u@pkh.me>
Sun, 19 Mar 2017 17:28:40 +0000 (18:28 +0100)
* commit 'd42809f9835a4e9e5c7c63210abb09ad0ef19cfb':
  av1: Add codec_id and basic demuxing support

Merged-by: Clément Bœsch <u@pkh.me>
1  2 
libavcodec/avcodec.h
libavcodec/codec_desc.c
libavformat/matroska.c
libavformat/riff.c

@@@ -410,36 -389,9 +410,37 @@@ enum AVCodecID 
      AV_CODEC_ID_DXV,
      AV_CODEC_ID_SCREENPRESSO,
      AV_CODEC_ID_RSCC,
 -    AV_CODEC_ID_MAGICYUV,
 +
 +    AV_CODEC_ID_Y41P = 0x8000,
 +    AV_CODEC_ID_AVRP,
 +    AV_CODEC_ID_012V,
 +    AV_CODEC_ID_AVUI,
 +    AV_CODEC_ID_AYUV,
 +    AV_CODEC_ID_TARGA_Y216,
 +    AV_CODEC_ID_V308,
 +    AV_CODEC_ID_V408,
 +    AV_CODEC_ID_YUV4,
 +    AV_CODEC_ID_AVRN,
 +    AV_CODEC_ID_CPIA,
 +    AV_CODEC_ID_XFACE,
 +    AV_CODEC_ID_SNOW,
 +    AV_CODEC_ID_SMVJPEG,
 +    AV_CODEC_ID_APNG,
 +    AV_CODEC_ID_DAALA,
 +    AV_CODEC_ID_CFHD,
      AV_CODEC_ID_TRUEMOTION2RT,
 +    AV_CODEC_ID_M101,
 +    AV_CODEC_ID_MAGICYUV,
 +    AV_CODEC_ID_SHEERVIDEO,
 +    AV_CODEC_ID_YLC,
 +    AV_CODEC_ID_PSD,
 +    AV_CODEC_ID_PIXLET,
 +    AV_CODEC_ID_SPEEDHQ,
 +    AV_CODEC_ID_FMVC,
 +    AV_CODEC_ID_SCPR,
 +    AV_CODEC_ID_CLEARVIDEO,
 +    AV_CODEC_ID_XPM,
+     AV_CODEC_ID_AV1,
  
      /* various PCM "codecs" */
      AV_CODEC_ID_FIRST_AUDIO = 0x10000,     ///< A dummy id pointing at the start of audio codecs
@@@ -1326,54 -1206,12 +1326,61 @@@ static const AVCodecDescriptor codec_de
          .props     = AV_CODEC_PROP_LOSSY,
      },
      {
 +        .id        = AV_CODEC_ID_CFHD,
 +        .type      = AVMEDIA_TYPE_VIDEO,
 +        .name      = "cfhd",
 +        .long_name = NULL_IF_CONFIG_SMALL("Cineform HD"),
 +        .props     = AV_CODEC_PROP_LOSSY,
 +    },
 +    {
 +        .id        = AV_CODEC_ID_SHEERVIDEO,
 +        .type      = AVMEDIA_TYPE_VIDEO,
 +        .name      = "sheervideo",
 +        .long_name = NULL_IF_CONFIG_SMALL("BitJazz SheerVideo"),
 +        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
 +    },
 +    {
 +        .id        = AV_CODEC_ID_YLC,
 +        .type      = AVMEDIA_TYPE_VIDEO,
 +        .name      = "ylc",
 +        .long_name = NULL_IF_CONFIG_SMALL("YUY2 Lossless Codec"),
 +        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
 +    },
 +    {
 +        .id        = AV_CODEC_ID_PIXLET,
 +        .type      = AVMEDIA_TYPE_VIDEO,
 +        .name      = "pixlet",
 +        .long_name = NULL_IF_CONFIG_SMALL("Apple Pixlet"),
 +        .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
 +    },
 +    {
 +        .id        = AV_CODEC_ID_FMVC,
 +        .type      = AVMEDIA_TYPE_VIDEO,
 +        .name      = "fmvc",
 +        .long_name = NULL_IF_CONFIG_SMALL("FM Screen Capture Codec"),
 +        .props     = AV_CODEC_PROP_LOSSLESS,
 +    },
 +    {
 +        .id        = AV_CODEC_ID_SCPR,
 +        .type      = AVMEDIA_TYPE_VIDEO,
 +        .name      = "scpr",
 +        .long_name = NULL_IF_CONFIG_SMALL("ScreenPressor"),
 +        .props     = AV_CODEC_PROP_LOSSLESS | AV_CODEC_PROP_LOSSY,
 +    },
 +    {
 +        .id        = AV_CODEC_ID_CLEARVIDEO,
 +        .type      = AVMEDIA_TYPE_VIDEO,
 +        .name      = "clearvideo",
 +        .long_name = NULL_IF_CONFIG_SMALL("Iterated Systems ClearVideo"),
 +        .props     = AV_CODEC_PROP_LOSSY,
 +    },
++    {
+         .id        = AV_CODEC_ID_AV1,
+         .type      = AVMEDIA_TYPE_VIDEO,
+         .name      = "av1",
+         .long_name = NULL_IF_CONFIG_SMALL("Alliance for Open Media AV1"),
+         .props     = AV_CODEC_PROP_LOSSY,
+     },
  
      /* image codecs */
      {
@@@ -75,10 -65,9 +75,11 @@@ const CodecTags ff_mkv_codec_tags[]=
      {"S_VOBSUB"         , AV_CODEC_ID_DVD_SUBTITLE},
      {"S_DVBSUB"         , AV_CODEC_ID_DVB_SUBTITLE},
      {"S_HDMV/PGS"       , AV_CODEC_ID_HDMV_PGS_SUBTITLE},
 +    {"S_HDMV/TEXTST"    , AV_CODEC_ID_HDMV_TEXT_SUBTITLE},
  
+     {"V_AV1"            , AV_CODEC_ID_AV1},
      {"V_DIRAC"          , AV_CODEC_ID_DIRAC},
 +    {"V_FFV1"           , AV_CODEC_ID_FFV1},
      {"V_MJPEG"          , AV_CODEC_ID_MJPEG},
      {"V_MPEG1"          , AV_CODEC_ID_MPEG1VIDEO},
      {"V_MPEG2"          , AV_CODEC_ID_MPEG2VIDEO},
@@@ -424,34 -366,8 +424,34 @@@ const AVCodecTag ff_codec_bmp_tags[] = 
      { AV_CODEC_ID_SCREENPRESSO, MKTAG('S', 'P', 'V', '1') },
      { AV_CODEC_ID_RSCC,         MKTAG('R', 'S', 'C', 'C') },
      { AV_CODEC_ID_RSCC,         MKTAG('I', 'S', 'C', 'C') },
 +    { AV_CODEC_ID_CFHD,         MKTAG('C', 'F', 'H', 'D') },
 +    { AV_CODEC_ID_M101,         MKTAG('M', '1', '0', '1') },
 +    { AV_CODEC_ID_M101,         MKTAG('M', '1', '0', '2') },
      { AV_CODEC_ID_MAGICYUV,     MKTAG('M', 'A', 'G', 'Y') },
 +    { AV_CODEC_ID_MAGICYUV,     MKTAG('M', '8', 'R', 'G') },
 +    { AV_CODEC_ID_MAGICYUV,     MKTAG('M', '8', 'R', 'A') },
 +    { AV_CODEC_ID_MAGICYUV,     MKTAG('M', '8', 'G', '0') },
 +    { AV_CODEC_ID_MAGICYUV,     MKTAG('M', '8', 'Y', '0') },
 +    { AV_CODEC_ID_MAGICYUV,     MKTAG('M', '8', 'Y', '2') },
 +    { AV_CODEC_ID_MAGICYUV,     MKTAG('M', '8', 'Y', '4') },
 +    { AV_CODEC_ID_MAGICYUV,     MKTAG('M', '8', 'Y', 'A') },
 +    { AV_CODEC_ID_MAGICYUV,     MKTAG('M', '0', 'R', 'A') },
 +    { AV_CODEC_ID_MAGICYUV,     MKTAG('M', '0', 'R', 'G') },
 +    { AV_CODEC_ID_MAGICYUV,     MKTAG('M', '0', 'G', '0') },
 +    { AV_CODEC_ID_MAGICYUV,     MKTAG('M', '0', 'Y', '2') },
 +    { AV_CODEC_ID_YLC,          MKTAG('Y', 'L', 'C', '0') },
 +    { AV_CODEC_ID_SPEEDHQ,      MKTAG('S', 'H', 'Q', '0') },
 +    { AV_CODEC_ID_SPEEDHQ,      MKTAG('S', 'H', 'Q', '1') },
 +    { AV_CODEC_ID_SPEEDHQ,      MKTAG('S', 'H', 'Q', '2') },
 +    { AV_CODEC_ID_SPEEDHQ,      MKTAG('S', 'H', 'Q', '3') },
 +    { AV_CODEC_ID_SPEEDHQ,      MKTAG('S', 'H', 'Q', '4') },
 +    { AV_CODEC_ID_SPEEDHQ,      MKTAG('S', 'H', 'Q', '5') },
 +    { AV_CODEC_ID_SPEEDHQ,      MKTAG('S', 'H', 'Q', '7') },
 +    { AV_CODEC_ID_SPEEDHQ,      MKTAG('S', 'H', 'Q', '9') },
 +    { AV_CODEC_ID_FMVC,         MKTAG('F', 'M', 'V', 'C') },
 +    { AV_CODEC_ID_SCPR,         MKTAG('S', 'C', 'P', 'R') },
 +    { AV_CODEC_ID_CLEARVIDEO,   MKTAG('U', 'C', 'O', 'D') },
+     { AV_CODEC_ID_AV1,          MKTAG('A', 'V', '0', '1') },
      { AV_CODEC_ID_NONE,         0 }
  };