mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-26 10:10:32 +00:00
plugins: Add HEVC decoder
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
This commit is contained in:
parent
430174f5a7
commit
a9b85e451d
1 changed files with 23 additions and 0 deletions
|
@ -48,6 +48,7 @@
|
|||
#include <gst/vaapi/gstvaapidecoder_mpeg4.h>
|
||||
#include <gst/vaapi/gstvaapidecoder_vc1.h>
|
||||
#include <gst/vaapi/gstvaapidecoder_vp8.h>
|
||||
#include <gst/vaapi/gstvaapidecoder_h265.h>
|
||||
|
||||
#define GST_PLUGIN_NAME "vaapidecode"
|
||||
#define GST_PLUGIN_DESC "A VA-API based video decoder"
|
||||
|
@ -68,6 +69,7 @@ static const char gst_vaapidecode_sink_caps_str[] =
|
|||
GST_CAPS_CODEC("video/x-xvid")
|
||||
GST_CAPS_CODEC("video/x-h263")
|
||||
GST_CAPS_CODEC("video/x-h264")
|
||||
GST_CAPS_CODEC("video/x-h265")
|
||||
GST_CAPS_CODEC("video/x-wmv")
|
||||
GST_CAPS_CODEC("video/x-vp8")
|
||||
GST_CAPS_CODEC("image/jpeg")
|
||||
|
@ -584,6 +586,27 @@ gst_vaapidecode_create (GstVaapiDecode * decode, GstCaps * caps)
|
|||
}
|
||||
}
|
||||
break;
|
||||
case GST_VAAPI_CODEC_H265:
|
||||
decode->decoder = gst_vaapi_decoder_h265_new (dpy, caps);
|
||||
|
||||
/* Set the stream buffer alignment for better optimizations */
|
||||
if (decode->decoder && caps) {
|
||||
GstStructure *const structure = gst_caps_get_structure (caps, 0);
|
||||
const gchar *str = NULL;
|
||||
|
||||
if ((str = gst_structure_get_string (structure, "alignment"))) {
|
||||
GstVaapiStreamAlignH265 alignment;
|
||||
if (g_strcmp0 (str, "au") == 0)
|
||||
alignment = GST_VAAPI_STREAM_ALIGN_H265_AU;
|
||||
else if (g_strcmp0 (str, "nal") == 0)
|
||||
alignment = GST_VAAPI_STREAM_ALIGN_H265_NALU;
|
||||
else
|
||||
alignment = GST_VAAPI_STREAM_ALIGN_H265_NONE;
|
||||
gst_vaapi_decoder_h265_set_alignment (GST_VAAPI_DECODER_H265
|
||||
(decode->decoder), alignment);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case GST_VAAPI_CODEC_WMV3:
|
||||
case GST_VAAPI_CODEC_VC1:
|
||||
decode->decoder = gst_vaapi_decoder_vc1_new (dpy, caps);
|
||||
|
|
Loading…
Reference in a new issue