[英]Check the Validity of x264 Nal Units
我正在使用x264編碼器api ,對於每個編碼的圖片,我都會得到許多nal單位。 有什么方法可以檢查VS2010調試器中的nals是否有效。 目前,我可以看到以下信息:
i_ref_idc -858993460
i_type -858993460
b_long_startcode -858993460
i_first_mb -858993460
i_last_mb -858993460
i_payload 27
p_payload 0x06b94d68
i_padding -858993460
我不確定這些負值是否表示nals無效或缺少信息。
基本上,我如何檢查從x264_encoder_encode()獲得的nals是有效的nal單位?
注意 ::我使用這些信號通過LIVE555進行實時直播。
-858993460
也稱為0xСССССССС
,它指示值未由編碼器初始化。
i_payload
和p_payload
是有效載荷的大小(以字節為單位)和指向數據的指針。 除了將數據饋送到解碼器並針對輸出和解碼錯誤的可用性進行測試之外,基本上沒有針對此數據的有效性檢查。
這絕對是無效的。 您不能確定nalu是否在不解析整個內容的情況下100%有效。 但是您可以理智地檢查值。
i_ref_idc是一個2位字段。 0-3范圍以外的任何內容都不是理智的。
i_type是5位。 但實際上,編碼器只會產生1-15或19-21(含)值
b_long_startcode是布爾值,因此您無法理智地檢查它
i_first_mb和i_last_mb小於ceil(width/8.0) * ceil(height/8.0)
i_payload是數據p_payload指向的大小,因此請在此處選擇較高的值。 10*with*height
高就足夠了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.