summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2014-01-06 13:36:39 +0100
committerSebastian Dröge <sebastian@centricular.com>2014-01-06 13:39:32 +0100
commit9887521a326ae7d0af041dbb2b00013414684a35 (patch)
treedd93cc3d7079665ac8996025685f11b9d0c733b5
parent050723c2ebc5f841adcdd551a922cee6f89fe7a2 (diff)
av: Enable HEVC / h265 support
-rw-r--r--ext/libav/gstavcodecmap.c24
-rw-r--r--ext/libav/gstavviddec.c1
2 files changed, 25 insertions, 0 deletions
diff --git a/ext/libav/gstavcodecmap.c b/ext/libav/gstavcodecmap.c
index 42a319a..1f2a92e 100644
--- a/ext/libav/gstavcodecmap.c
+++ b/ext/libav/gstavcodecmap.c
@@ -1195,6 +1195,27 @@ gst_ffmpeg_codecid_to_caps (enum AVCodecID codec_id,
}
break;
+ case AV_CODEC_ID_HEVC:
+ caps =
+ gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-h265",
+ "alignment", G_TYPE_STRING, "au", NULL);
+ if (!encode) {
+ GValue arr = { 0, };
+ GValue item = { 0, };
+ g_value_init (&arr, GST_TYPE_LIST);
+ g_value_init (&item, G_TYPE_STRING);
+ g_value_set_string (&item, "hvc1");
+ gst_value_list_append_value (&arr, &item);
+ g_value_set_string (&item, "hev1");
+ gst_value_list_append_value (&arr, &item);
+ g_value_set_string (&item, "byte-stream");
+ gst_value_list_append_value (&arr, &item);
+ g_value_unset (&item);
+ gst_caps_set_value (caps, "stream-format", &arr);
+ g_value_unset (&arr);
+ }
+ break;
+
case AV_CODEC_ID_INDEO5:
caps =
gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-indeo",
@@ -3864,6 +3885,9 @@ gst_ffmpeg_caps_to_codecid (const GstCaps * caps, AVCodecContext * context)
} else if (!strcmp (mimetype, "video/x-h264")) {
id = AV_CODEC_ID_H264;
video = TRUE;
+ } else if (!strcmp (mimetype, "video/x-h265")) {
+ id = AV_CODEC_ID_HEVC;
+ video = TRUE;
} else if (!strcmp (mimetype, "video/x-flash-video")) {
gint flvversion = 0;
diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
index 863df81..63c742e 100644
--- a/ext/libav/gstavviddec.c
+++ b/ext/libav/gstavviddec.c
@@ -1921,6 +1921,7 @@ gst_ffmpegviddec_register (GstPlugin * plugin)
case AV_CODEC_ID_MPEG4:
case AV_CODEC_ID_MSMPEG4V3:
case AV_CODEC_ID_H264:
+ case AV_CODEC_ID_HEVC:
case AV_CODEC_ID_RV10:
case AV_CODEC_ID_RV20:
case AV_CODEC_ID_RV30: