在哪里可以找到 HEVC \ H.265 规范
Where can I find HEVC \ H.265 specs
我正在寻找 HEVC \ H.265 规格(尤其是 hvc1 和 hvcC atoms),但我无法在线找到它们。
是否有免费的 HEVC 在线规范?
HEVC/H.265 规范可免费使用 here. However, it does not contain information about the hvc1
and the hvcC
atoms. These are defined in MPEG-4 Part 15,它基本上是用于承载 AVC 和 HEVC 内容的 ISO 基本媒体文件格式(mp4 的基础)的扩展。对于 HEVC,您(至少)需要 2014 年的版本,因为早期版本只有关于 AVC 的信息。不幸的是,此规范不是免费提供的。
一些进一步的指导,如果这会阻止您获得规范:hvc1
/hev1
框的解析方式与 avc1
/2
/ 完全相同3
/4
个框。 hvcC
框的解析方式与 avcC
框略有不同。为了解析那个,你可以看看在一些开源项目中是如何解析的,比如 ffmpeg 或 vlc.
我用这个结构来解析它。我从 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;
}
}
}
我正在寻找 HEVC \ H.265 规格(尤其是 hvc1 和 hvcC atoms),但我无法在线找到它们。
是否有免费的 HEVC 在线规范?
HEVC/H.265 规范可免费使用 here. However, it does not contain information about the hvc1
and the hvcC
atoms. These are defined in MPEG-4 Part 15,它基本上是用于承载 AVC 和 HEVC 内容的 ISO 基本媒体文件格式(mp4 的基础)的扩展。对于 HEVC,您(至少)需要 2014 年的版本,因为早期版本只有关于 AVC 的信息。不幸的是,此规范不是免费提供的。
一些进一步的指导,如果这会阻止您获得规范:hvc1
/hev1
框的解析方式与 avc1
/2
/ 完全相同3
/4
个框。 hvcC
框的解析方式与 avcC
框略有不同。为了解析那个,你可以看看在一些开源项目中是如何解析的,比如 ffmpeg 或 vlc.
我用这个结构来解析它。我从 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;
}
}
}