H265码流分析(二)

上篇主要介绍了H265的基本构成。现在看下Nalu type类型判断方式

int type = (code & 0x7E)>>1;

类型判断方式为“00 00 00 01”后的一个字节右移一个位,下面是几种主要类型:

0x40 >> 1 , 得到0x20,十进制32,为NAL_VPS

0x42 >> 1 , 得到0x21, 十进制33, 为NAL_SPS

0x44 >> 1 , 得到0x22, 十进制34, 为NAL_PPS

0x4e >> 1 , 得到0x27, 十进制39, 为NAL_PREFIX_SEI

0x26 >> 1 , 得到0x13, 十进制19, 为NAL_IDR_W_RADL

再根据H265的NALU类型定义分析,

       00 00 00 01 40 01  的nuh_unit_type的值为 32, 语义为视频参数集         VPS

       00 00 00 01 42 01  的nuh_unit_type的值为 33, 语义为序列参数集         SPS

       00 00 00 01 44 01  的nuh_unit_type的值为 34, 语义为图像参数集         PPS

       00 00 00 01 4E 01  的nuh_unit_type的值为 39, 语义为补充增强信息       SEI

       00 00 00 01 26 01  的nuh_unit_type的值为 19, 语义为可能有RADL图像的IDR图像的SS编码数据   IDR

       00 00 00 01 02 01  的nuh_unit_type的值为1, 语义为被参考的后置图像,且非TSA、非STSA的SS编码数据

      在编码过程中,从编码器获取码流的时候,1、2、3、4、5是在一帧数据当中。相当于H264的I帧。

//NAL unit type codes and NAL unit type classes

enum NalUnitType

{

    NAL_UNIT_CODED_SLICE_TRAIL_N = 0, // 0

    NAL_UNIT_CODED_SLICE_TRAIL_R,     // 1

    NAL_UNIT_CODED_SLICE_TSA_N,       // 2

    NAL_UNIT_CODED_SLICE_TSA_R,       // 3

    NAL_UNIT_CODED_SLICE_STSA_N,      // 4

    NAL_UNIT_CODED_SLICE_STSA_R,      // 5

    NAL_UNIT_CODED_SLICE_RADL_N,      // 6

    NAL_UNIT_CODED_SLICE_RADL_R,      // 7

    NAL_UNIT_CODED_SLICE_RASL_N,      // 8

    NAL_UNIT_CODED_SLICE_RASL_R,      // 9

    NAL_UNIT_RESERVED_VCL_N10,

    NAL_UNIT_RESERVED_VCL_R11,

    NAL_UNIT_RESERVED_VCL_N12,

    NAL_UNIT_RESERVED_VCL_R13,

    NAL_UNIT_RESERVED_VCL_N14,

    NAL_UNIT_RESERVED_VCL_R15,

    NAL_UNIT_CODED_SLICE_BLA_W_LP,    // 16

    NAL_UNIT_CODED_SLICE_BLA_W_RADL,  // 17

    NAL_UNIT_CODED_SLICE_BLA_N_LP,    // 18

    NAL_UNIT_CODED_SLICE_IDR_W_RADL,  // 19

    NAL_UNIT_CODED_SLICE_IDR_N_LP,    // 20

    NAL_UNIT_CODED_SLICE_CRA,         // 21

    NAL_UNIT_RESERVED_IRAP_VCL22,

    NAL_UNIT_RESERVED_IRAP_VCL23,

    NAL_UNIT_RESERVED_VCL24,

    NAL_UNIT_RESERVED_VCL25,

    NAL_UNIT_RESERVED_VCL26,

    NAL_UNIT_RESERVED_VCL27,

    NAL_UNIT_RESERVED_VCL28,

    NAL_UNIT_RESERVED_VCL29,

    NAL_UNIT_RESERVED_VCL30,

    NAL_UNIT_RESERVED_VCL31,

    // non-VCL

    NAL_UNIT_VPS,                     // 32

    NAL_UNIT_SPS,                     // 33

    NAL_UNIT_PPS,                     // 34

    NAL_UNIT_AUD,                     // 35

    NAL_UNIT_EOS,                     // 36

    NAL_UNIT_EOB,                     // 37

    NAL_UNIT_FILLER_DATA,             // 38

    NAL_UNIT_PREFIX_SEI,              // 39

    NAL_UNIT_SUFFIX_SEI,              // 40

    NAL_UNIT_RESERVED_NVCL41,

    NAL_UNIT_RESERVED_NVCL42,

    NAL_UNIT_RESERVED_NVCL43,

    NAL_UNIT_RESERVED_NVCL44,

    NAL_UNIT_RESERVED_NVCL45,

    NAL_UNIT_RESERVED_NVCL46,

    NAL_UNIT_RESERVED_NVCL47,

    NAL_UNIT_UNSPECIFIED_48,

    NAL_UNIT_UNSPECIFIED_49,

    NAL_UNIT_UNSPECIFIED_50,

    NAL_UNIT_UNSPECIFIED_51,

    NAL_UNIT_UNSPECIFIED_52,

    NAL_UNIT_UNSPECIFIED_53,

    NAL_UNIT_UNSPECIFIED_54,

    NAL_UNIT_UNSPECIFIED_55,

    NAL_UNIT_UNSPECIFIED_56,

    NAL_UNIT_UNSPECIFIED_57,

    NAL_UNIT_UNSPECIFIED_58,

    NAL_UNIT_UNSPECIFIED_59,

    NAL_UNIT_UNSPECIFIED_60,

    NAL_UNIT_UNSPECIFIED_61,

    NAL_UNIT_UNSPECIFIED_62,

    NAL_UNIT_UNSPECIFIED_63,

    NAL_UNIT_INVALID,

};

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大王算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值