diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2017-01-04 20:59:39 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2017-01-04 20:59:39 +0200 |
commit | 5619690ae1cbe1fce0a6e8da7ab6c77f6424f346 (patch) | |
tree | e478d4cdda29b0ef81442a69f3a6a31a2aa57553 | |
parent | eca6c356014b735b253a6c889b5ba6bdec88f32d (diff) | |
download | gstreamer-plugins-bad-5619690ae1cbe1fce0a6e8da7ab6c77f6424f346.tar.gz |
androidmedia: Add support for VP9
-rw-r--r-- | sys/androidmedia/gstamc.c | 7 | ||||
-rw-r--r-- | sys/androidmedia/gstamcvideodec.c | 2 | ||||
-rw-r--r-- | sys/androidmedia/gstamcvideoenc.c | 4 |
3 files changed, 13 insertions, 0 deletions
diff --git a/sys/androidmedia/gstamc.c b/sys/androidmedia/gstamc.c index 643be542e..7c0f34795 100644 --- a/sys/androidmedia/gstamc.c +++ b/sys/androidmedia/gstamc.c @@ -3871,6 +3871,13 @@ gst_amc_codec_info_to_caps (const GstAmcCodecInfo * codec_info, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL); encoded_ret = gst_caps_merge_structure (encoded_ret, tmp); + } else if (strcmp (type->mime, "video/x-vnd.on2.vp9") == 0) { + tmp = gst_structure_new ("video/x-vp9", + "width", GST_TYPE_INT_RANGE, 16, 4096, + "height", GST_TYPE_INT_RANGE, 16, 4096, + "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL); + + encoded_ret = gst_caps_merge_structure (encoded_ret, tmp); } else if (strcmp (type->mime, "video/mpeg2") == 0) { tmp = gst_structure_new ("video/mpeg", "width", GST_TYPE_INT_RANGE, 16, 4096, diff --git a/sys/androidmedia/gstamcvideodec.c b/sys/androidmedia/gstamcvideodec.c index 715df464a..21a1958ee 100644 --- a/sys/androidmedia/gstamcvideodec.c +++ b/sys/androidmedia/gstamcvideodec.c @@ -328,6 +328,8 @@ caps_to_mime (GstCaps * caps) return "video/hevc"; } else if (strcmp (name, "video/x-vp8") == 0) { return "video/x-vnd.on2.vp8"; + } else if (strcmp (name, "video/x-vp9") == 0) { + return "video/x-vnd.on2.vp9"; } else if (strcmp (name, "video/x-divx") == 0) { return "video/mp4v-es"; } diff --git a/sys/androidmedia/gstamcvideoenc.c b/sys/androidmedia/gstamcvideoenc.c index 1742d444a..68be0651f 100644 --- a/sys/androidmedia/gstamcvideoenc.c +++ b/sys/androidmedia/gstamcvideoenc.c @@ -210,6 +210,8 @@ create_amc_format (GstAmcVideoEnc * encoder, GstVideoCodecState * input_state, } } else if (strcmp (name, "video/x-vp8") == 0) { mime = "video/x-vnd.on2.vp8"; + } else if (strcmp (name, "video/x-vp9") == 0) { + mime = "video/x-vnd.on2.vp9"; } else { GST_ERROR_OBJECT (encoder, "Failed to convert caps(%s/...) to any mime", name); @@ -397,6 +399,8 @@ caps_from_amc_format (GstAmcFormat * amc_format) } } else if (strcmp (mime, "video/x-vnd.on2.vp8") == 0) { caps = gst_caps_new_empty_simple ("video/x-vp8"); + } else if (strcmp (mime, "video/x-vnd.on2.vp9") == 0) { + caps = gst_caps_new_empty_simple ("video/x-vp9"); } gst_caps_set_simple (caps, "width", G_TYPE_INT, width, |