我在哪里可以找到HEVC \ H.265规格

时间:2015-09-21 14:20:02

标签: video hevc h.265

我正在寻找HEVC \ H.265规格(特别是对于hvc1和hvcC原子),但我无法在线找到它们。

HEVC是否有免费的在线规格?

2 个答案:

答案 0 :(得分:4)

HEVC / H.265规范免费提供here。但是,它不包含有关var salt = CryptoJS.enc.Hex.parse(salt); CryptoJS.kdf.OpenSSL.execute(password, 256/32, 128/32, salt); hvc1原子的信息。这些在MPEG-4 Part 15中定义,它基本上是用于承载AVC和HEVC内容的ISO基础媒体文件格式(mp4的基础)的扩展。对于HEVC,您需要(至少)2014年的版本,因为早期版本仅包含有关AVC的信息。很遗憾,此规范不是免费提供的。

一些进一步的指导,如果这会阻止您获取规范:hvcC / hvc1框的解析方式与hev1 / avc1 / {{完全相同1}} / 2框。 3框的解析方式与4框略有不同。对于解析那个,你可以看看在一些开源项目中如何解析它,例如ffmpeg或vlc。

答案 1 :(得分:3)

我用这个结构来解析它。我从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;
        }
    }
}