我正在寻找HEVC \ H.265规格(特别是hvc1和hvcC原子),但我无法在网上找到它们。
网上有免费的HEVC规格吗?
发布于 2015-09-22 14:01:10
HEVC/H.265规范是免费提供的这里。然而,它不包含关于hvc1和hvcC原子的信息。这些都是在MPEG-4第15部分中定义的,它基本上是用于携带AVC和HEVC内容的基本媒体文件格式(mp4的基础)的扩展。对于HEVC,你需要(至少)2014年的版本,因为早期的版本只有关于AVC的信息。不幸的是,这个规范不是免费的。
如果这妨碍您获得规范,那么还可以提供一些进一步的指导:hvc1/hev1框的解析方式与hvc1框完全相同。不过,hvcC框的解析方式与avcC框略有不同。对于解析这一问题,您可以看看在一些开放源码项目(如ffmpeg或vlc )中是如何解析的。
发布于 2017-04-25 17:38:30
我使用了这个结构来解析它。我是从ISO/IEC 14496-15:2014取材的。
aligned(8) class HEVCDecoderConfigurationRecord
{
unsigned int(8) configurationVersion = 1;
unsigned int(2) general_profile_space;
unsigned int(1) general_tier_flag;
unsigned int(5) general_profile_idc;
unsigned int(32) general_profile_compatibility_flags;
unsigned int(48) general_constraint_indicator_flags;
unsigned int(8) general_level_idc;
bit(4) reserved = ‘1111’b;
unsigned int(12) min_spatial_segmentation_idc;
bit(6) reserved = ‘111111’b;
unsigned int(2) parallelismType;
bit(6) reserved = ‘111111’b;
unsigned int(2) chroma_format_idc;
bit(5) reserved = ‘11111’b;
unsigned int(3) bit_depth_luma_minus8;
bit(5) reserved = ‘11111’b;
unsigned int(3) bit_depth_chroma_minus8;
bit(16) avgFrameRate;
bit(2) constantFrameRate;
bit(3) numTemporalLayers;
bit(1) temporalIdNested;
unsigned int(2) lengthSizeMinusOne;
unsigned int(8) numOfArrays;
for (j=0; j < numOfArrays; j++)
{
bit(1) array_completeness;
unsigned int(1) reserved = 0;
unsigned int(6) NAL_unit_type;
unsigned int(16) numNalus;
for (i=0; i< numNalus; i++)
{
unsigned int(16) nalUnitLength;
bit(8*nalUnitLength) nalUnit;
}
}
}https://stackoverflow.com/questions/32697608
复制相似问题