# HG changeset patch # User cehoyos # Date 1382003757 0 # Node ID 847bc950322a46b93223cc990f47a0998865282d # Parent 939ec5ba0c587902d4cf5199caafe24d339a9c48 Support HEVC in native mpeg-ts demuxer. diff -r 939ec5ba0c58 -r 847bc950322a libmpdemux/demux_ts.c --- a/libmpdemux/demux_ts.c Thu Oct 17 09:47:42 2013 +0000 +++ b/libmpdemux/demux_ts.c Thu Oct 17 09:55:57 2013 +0000 @@ -73,6 +73,7 @@ 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 @@ case VIDEO_H264: case VIDEO_AVC: case VIDEO_DIRAC: + case VIDEO_HEVC: case VIDEO_VC1: return 1; } @@ -877,6 +879,8 @@ 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 @@ { 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 @@ 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;