diff options
author | Sean DuBois <sean@siobud.com> | 2017-12-13 09:22:17 +0000 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2017-12-15 18:00:31 +0100 |
commit | de8f080a5c04db505dd754820aea1fc479302ee8 (patch) | |
tree | 35ac08a6d5d80b8ddf8012256b823c12884161e1 | |
parent | 3464aac3c9802eff32ce86b29c1f02ab316c5d99 (diff) |
Add AV1 to matroska plugin
https://bugzilla.gnome.org/show_bug.cgi?id=784160
-rw-r--r-- | gst/matroska/matroska-demux.c | 6 | ||||
-rw-r--r-- | gst/matroska/matroska-ids.h | 1 | ||||
-rw-r--r-- | gst/matroska/matroska-mux.c | 2 | ||||
-rw-r--r-- | gst/matroska/webm-mux.c | 2 |
4 files changed, 9 insertions, 2 deletions
diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c index eee41d655..f3bf76366 100644 --- a/gst/matroska/matroska-demux.c +++ b/gst/matroska/matroska-demux.c @@ -3812,7 +3812,8 @@ gst_matroska_demux_parse_blockgroup_or_simpleblock (GstMatroskaDemux * demux, delta_unit = TRUE; invisible_frame = ((flags & 0x08)) && (!strcmp (stream->codec_id, GST_MATROSKA_CODEC_ID_VIDEO_VP8) || - !strcmp (stream->codec_id, GST_MATROSKA_CODEC_ID_VIDEO_VP9)); + !strcmp (stream->codec_id, GST_MATROSKA_CODEC_ID_VIDEO_VP9) || + !strcmp (stream->codec_id, GST_MATROSKA_CODEC_ID_VIDEO_AV1)); } /* If we're doing a keyframe-only trickmode, only push keyframes on video @@ -5609,6 +5610,9 @@ gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext * } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_VP9)) { caps = gst_caps_new_empty_simple ("video/x-vp9"); *codec_name = g_strdup_printf ("On2 VP9"); + } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_AV1)) { + caps = gst_caps_new_empty_simple ("video/x-av1"); + *codec_name = g_strdup_printf ("AOM AV1"); } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_PRORES)) { guint32 fourcc; const gchar *variant, *variant_descr = ""; diff --git a/gst/matroska/matroska-ids.h b/gst/matroska/matroska-ids.h index 181dfd8e9..9a88010d0 100644 --- a/gst/matroska/matroska-ids.h +++ b/gst/matroska/matroska-ids.h @@ -358,6 +358,7 @@ #define GST_MATROSKA_CODEC_ID_VIDEO_DIRAC "V_DIRAC" #define GST_MATROSKA_CODEC_ID_VIDEO_VP8 "V_VP8" #define GST_MATROSKA_CODEC_ID_VIDEO_VP9 "V_VP9" +#define GST_MATROSKA_CODEC_ID_VIDEO_AV1 "V_AV1" #define GST_MATROSKA_CODEC_ID_VIDEO_MPEGH_HEVC "V_MPEGH/ISO/HEVC" #define GST_MATROSKA_CODEC_ID_VIDEO_PRORES "V_PRORES" diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c index 7ae340a6f..fd09e2ef0 100644 --- a/gst/matroska/matroska-mux.c +++ b/gst/matroska/matroska-mux.c @@ -1210,6 +1210,8 @@ skip_details: gst_matroska_mux_set_codec_id (context, GST_MATROSKA_CODEC_ID_VIDEO_VP8); } else if (!strcmp (mimetype, "video/x-vp9")) { gst_matroska_mux_set_codec_id (context, GST_MATROSKA_CODEC_ID_VIDEO_VP9); + } else if (!strcmp (mimetype, "video/x-av1")) { + gst_matroska_mux_set_codec_id (context, GST_MATROSKA_CODEC_ID_VIDEO_AV1); } else if (!strcmp (mimetype, "video/mpeg")) { gint mpegversion; diff --git a/gst/matroska/webm-mux.c b/gst/matroska/webm-mux.c index 81113ec92..85c8639f5 100644 --- a/gst/matroska/webm-mux.c +++ b/gst/matroska/webm-mux.c @@ -66,7 +66,7 @@ static GstStaticPadTemplate webm_videosink_templ = GST_PAD_SINK, GST_PAD_REQUEST, GST_STATIC_CAPS ("video/x-vp8, " COMMON_VIDEO_CAPS ";" - "video/x-vp9, " COMMON_VIDEO_CAPS) + "video/x-vp9, " COMMON_VIDEO_CAPS ";" "video/x-av1, " COMMON_VIDEO_CAPS) ); static GstStaticPadTemplate webm_audiosink_templ = |