Implement HEVC bitstream parsing

Based on MediaInfo code

Implements partly #4
This commit is contained in:
Juergen Tem 2018-05-12 03:16:12 +02:00
parent ea25445244
commit 5c9b40cabb
No known key found for this signature in database
GPG Key ID: 0A9625B1654DCE28
3 changed files with 1425 additions and 7 deletions

File diff suppressed because it is too large Load Diff

View File

@ -849,6 +849,8 @@ namespace BDInfo
{
((TSVideoStream)stream).EncodingProfile =
((TSVideoStream)clipStream).EncodingProfile;
((TSVideoStream) stream).ExtendedData =
((TSVideoStream) clipStream).ExtendedData;
}
else if (stream.IsAudioStream &&
clipStream.IsAudioStream)

View File

@ -19,6 +19,8 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
namespace BDInfo
@ -464,6 +466,8 @@ namespace BDInfo
public TSAspectRatio AspectRatio;
public string EncodingProfile;
public object ExtendedData;
private TSVideoFormat _VideoFormat;
public TSVideoFormat VideoFormat
{
@ -600,6 +604,12 @@ namespace BDInfo
{
description += EncodingProfile + " / ";
}
if (StreamType == TSStreamType.HEVC_VIDEO && ExtendedData != null)
{
var extendedData = (TSCodecHEVC.ExtendedDataSet) ExtendedData;
string extendedInfo = string.Join(" / ", extendedData.ExtendedFormatInfo);
description += extendedInfo;
}
if (description.EndsWith(" / "))
{
description = description.Substring(0, description.Length - 3);
@ -622,6 +632,7 @@ namespace BDInfo
stream.FrameRateDenominator = FrameRateDenominator;
stream.AspectRatio = AspectRatio;
stream.EncodingProfile = EncodingProfile;
stream.ExtendedData = ExtendedData;
return stream;
}