[MPlayer-cvslog] r36475 - trunk/libmpdemux/demux_ts.c

cehoyos subversion at mplayerhq.hu
Thu Oct 17 11:55:58 CEST 2013


Author: cehoyos
Date: Thu Oct 17 11:55:57 2013
New Revision: 36475

Log:
Support HEVC in native mpeg-ts demuxer.

Modified:
   trunk/libmpdemux/demux_ts.c

Modified: trunk/libmpdemux/demux_ts.c
==============================================================================
--- trunk/libmpdemux/demux_ts.c	Thu Oct 17 11:47:42 2013	(r36474)
+++ trunk/libmpdemux/demux_ts.c	Thu Oct 17 11:55:57 2013	(r36475)
@@ -73,6 +73,7 @@ typedef enum
 	VIDEO_H264 	= 0x10000005,
 	VIDEO_AVC	= mmioFOURCC('a', 'v', 'c', '1'),
 	VIDEO_DIRAC	= mmioFOURCC('d', 'r', 'a', 'c'),
+	VIDEO_HEVC	= mmioFOURCC('H', 'E', 'V', 'C'),
 	VIDEO_VC1	= mmioFOURCC('W', 'V', 'C', '1'),
 	AUDIO_MP2   	= 0x50,
 	AUDIO_A52   	= 0x2000,
@@ -279,6 +280,7 @@ static int IS_VIDEO(es_stream_type_t typ
 	case VIDEO_H264:
 	case VIDEO_AVC:
 	case VIDEO_DIRAC:
+	case VIDEO_HEVC:
 	case VIDEO_VC1:
 		return 1;
 	}
@@ -877,6 +879,8 @@ static off_t ts_detect_streams(demuxer_t
 			mp_msg(MSGT_DEMUXER, MSGL_INFO, "VIDEO VC1(pid=%d) ", param->vpid);
 		else if(param->vtype == VIDEO_AVC)
 			mp_msg(MSGT_DEMUXER, MSGL_INFO, "VIDEO AVC(NAL-H264, pid=%d) ", param->vpid);
+		else if(param->vtype == VIDEO_HEVC)
+			mp_msg(MSGT_DEMUXER, MSGL_INFO, "VIDEO HEVC(pid=%d) ", param->vpid);
 	}
 	else
 	{
@@ -2367,6 +2371,10 @@ static int parse_descriptors(struct pmt_
 				{
 					es->type = AUDIO_S302M;
 				}
+				else if(d[0] == 'H' && d[1] == 'E' && d[2] == 'V' && d[3] == 'C')
+				{
+					es->type = VIDEO_HEVC;
+				}
 				else
 					es->type = UNKNOWN;
 				mp_msg(MSGT_DEMUX, MSGL_DBG2, "FORMAT %s\n", es->format_descriptor);
@@ -3328,6 +3336,8 @@ static void demux_seek_ts(demuxer_t *dem
 			break;
 		else if(sh_video->format == VIDEO_VC1 && (i==0x10E || i==0x10F))
 			break;
+		else if(sh_video->format == VIDEO_HEVC)
+			break;
 		else	//H264
 		{
 			if((i & ~0x60) == 0x105 || (i & ~0x60) == 0x107) break;


More information about the MPlayer-cvslog mailing list