mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
tsdemux: Add HEVC / h265 support
This commit is contained in:
parent
f12705b2f5
commit
84bd65b9bd
3 changed files with 16 additions and 0 deletions
|
@ -297,6 +297,7 @@ typedef enum {
|
||||||
GST_MPEG_TS_STREAM_TYPE_VIDEO_JP2K = 0x21,
|
GST_MPEG_TS_STREAM_TYPE_VIDEO_JP2K = 0x21,
|
||||||
GST_MPEG_TS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW = 0x22,
|
GST_MPEG_TS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW = 0x22,
|
||||||
GST_MPEG_TS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW = 0x23,
|
GST_MPEG_TS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW = 0x23,
|
||||||
|
GST_MPEG_TS_STREAM_TYPE_VIDEO_HEVC = 0x24,
|
||||||
/* 0x24 - 0x7e : Rec. ITU-T H.222.0 | ISO/IEC 13818-1 Reserved */
|
/* 0x24 - 0x7e : Rec. ITU-T H.222.0 | ISO/IEC 13818-1 Reserved */
|
||||||
GST_MPEG_TS_STREAM_TYPE_IPMP_STREAM = 0x7f
|
GST_MPEG_TS_STREAM_TYPE_IPMP_STREAM = 0x7f
|
||||||
/* 0x80 - 0xff : User Private (or defined in other specs) */
|
/* 0x80 - 0xff : User Private (or defined in other specs) */
|
||||||
|
|
|
@ -230,5 +230,6 @@
|
||||||
#define DRF_ID_GA94 0x47413934
|
#define DRF_ID_GA94 0x47413934
|
||||||
#define DRF_ID_CUEI 0x43554549
|
#define DRF_ID_CUEI 0x43554549
|
||||||
#define DRF_ID_ETV1 0x45545631
|
#define DRF_ID_ETV1 0x45545631
|
||||||
|
#define DRF_ID_HEVC 0x48455643
|
||||||
|
|
||||||
#endif /* __GST_MPEG_DESC_H__ */
|
#endif /* __GST_MPEG_DESC_H__ */
|
||||||
|
|
|
@ -892,6 +892,13 @@ create_pad_for_stream (MpegTSBase * base, MpegTSBaseStream * bstream,
|
||||||
name = g_strdup_printf ("audio_%04x", bstream->pid);
|
name = g_strdup_printf ("audio_%04x", bstream->pid);
|
||||||
caps = gst_caps_new_empty_simple ("audio/x-smpte-302m");
|
caps = gst_caps_new_empty_simple ("audio/x-smpte-302m");
|
||||||
break;
|
break;
|
||||||
|
case DRF_ID_HEVC:
|
||||||
|
template = gst_static_pad_template_get (&video_template);
|
||||||
|
name = g_strdup_printf ("video_%04x", bstream->pid);
|
||||||
|
caps = gst_caps_new_simple ("video/x-h265",
|
||||||
|
"stream-format", G_TYPE_STRING, "byte-stream",
|
||||||
|
"alignment", G_TYPE_STRING, "nal", NULL);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (template)
|
if (template)
|
||||||
break;
|
break;
|
||||||
|
@ -947,6 +954,13 @@ create_pad_for_stream (MpegTSBase * base, MpegTSBaseStream * bstream,
|
||||||
"stream-format", G_TYPE_STRING, "byte-stream",
|
"stream-format", G_TYPE_STRING, "byte-stream",
|
||||||
"alignment", G_TYPE_STRING, "nal", NULL);
|
"alignment", G_TYPE_STRING, "nal", NULL);
|
||||||
break;
|
break;
|
||||||
|
case GST_MPEG_TS_STREAM_TYPE_VIDEO_HEVC:
|
||||||
|
template = gst_static_pad_template_get (&video_template);
|
||||||
|
name = g_strdup_printf ("video_%04x", bstream->pid);
|
||||||
|
caps = gst_caps_new_simple ("video/x-h265",
|
||||||
|
"stream-format", G_TYPE_STRING, "byte-stream",
|
||||||
|
"alignment", G_TYPE_STRING, "nal", NULL);
|
||||||
|
break;
|
||||||
case ST_VIDEO_DIRAC:
|
case ST_VIDEO_DIRAC:
|
||||||
if (bstream->registration_id == 0x64726163) {
|
if (bstream->registration_id == 0x64726163) {
|
||||||
GST_LOG ("dirac");
|
GST_LOG ("dirac");
|
||||||
|
|
Loading…
Reference in a new issue