From: Sebastian Dröge Date: Mon, 6 Jan 2014 12:36:39 +0000 (+0100) Subject: av: Enable HEVC / h265 support X-Git-Tag: 1.3.1~41 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9887521a326ae7d0af041dbb2b00013414684a35;p=platform%2Fupstream%2Fgst-libav.git av: Enable HEVC / h265 support --- 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: