[英]How to understand header of H.265
有人可以解釋一下 H.264 header 和 H.265 header 之間的區別嗎? 我只需要解析 H265 header 但我很難找到合適的參考。
我做了第一個版本的解析器。 我需要檢索 pic_width_in_luma_samples、pic_height_in_luma_samples 和 aspectRatioH、aspectRatioV。
我的代碼是這樣的:
while (buf->Size > 0)
{
//forbidden bit
flushbits(buf, 1);
int nNALType = showbits(buf, 6);
if (nNALType == NAL_TYPE_SPS)
{
// flushbits until I retrieve desired parameter
flushbits(buf, 4); // sps_video_parameter_set_id
}
else
{
// align bits
buf->Size -= buf->BitsLeft & 0x7;
}
}
這是正確的做法嗎? 有一種方法可以讓我跳過位,直到找到指示我想要的 SPS NAL 類型的“開始序列”?
H.264 和 H.265 的語法相對相似。
兩者都有參數集(PPS、SPS),您可以在下面的規范中找到詳細信息。 對於 H.265 - 第 33 頁,第 7.3 節詳細描述了視頻參數集。 規范是用類似偽代碼的“C”語言完成的,因此將規范翻譯成編譯代碼相對容易。
您可以隨時查看一些現有代碼 - 例如:
H.264 (AVC) 規范在這里:
https://www.itu.int/rec/T-REC-H.264-202108-I/en
H.265 (HEVC) 規范在這里:
https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.265-201802-S!!PDF-E&type=items
按照這些步驟解析 H265
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.