summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2017-01-04 20:59:39 +0200
committerSebastian Dröge <sebastian@centricular.com>2017-01-04 20:59:39 +0200
commit5619690ae1cbe1fce0a6e8da7ab6c77f6424f346 (patch)
treee478d4cdda29b0ef81442a69f3a6a31a2aa57553
parenteca6c356014b735b253a6c889b5ba6bdec88f32d (diff)
downloadgstreamer-plugins-bad-5619690ae1cbe1fce0a6e8da7ab6c77f6424f346.tar.gz
androidmedia: Add support for VP9
-rw-r--r--sys/androidmedia/gstamc.c7
-rw-r--r--sys/androidmedia/gstamcvideodec.c2
-rw-r--r--sys/androidmedia/gstamcvideoenc.c4
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,