H265碼流分析 二

2021-10-05 13:07:54 字數 986 閱讀 4229

上篇主要介紹了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 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

;

H265碼流分析

h265相比較於h264,除了包含sps pps外,還多包含乙個vps 在nalu header上,h.264的nalu header是乙個位元組,而h.265則是兩個位元組。以0x4001為例,頭資訊可以被解析成4個部分,其中 對比h.264的頭資訊,h.265移除了nal ref idc,此資訊...

h265裸流分析

型別判斷方式為分隔符之後的第乙個位元組右移一位的值 第一幀 0x40 1 得到0x20,十進位制32,為nal vps 第二幀 0x42 1 得到0x21,十進位制33,為nal sps 第三幀 0x44 1 得到0x22,十進位制34,為nal pps 第四幀 0x26 1 得到0x13,十進位制...

H 265標準閱讀 GOP

定義將在整個序列中重複使用的迴圈gop結構。這個表應該包括gopsize行,分別命名為frame1,frame2等。這些幀按解碼順序排列,第一幀時解碼順序的第一幀,第二幀是解碼順序的第二幀,以此類推。除此之外,該錶指定了編碼器為每一幀儲存的所有參考。這包括用於當前參考的以及將來用於參考的。編碼器不會...