C++ 检查x264 Nal单元的有效性
我正在使用x264编码器api,其中每个编码图片都有一个nal单元。是否有任何方法可以检查我的VS2010调试器中的NAL是否有效。目前我可以看到以下信息:C++ 检查x264 Nal单元的有效性,c++,ffmpeg,x264,C++,Ffmpeg,X264,我正在使用x264编码器api,其中每个编码图片都有一个nal单元。是否有任何方法可以检查我的VS2010调试器中的NAL是否有效。目前我可以看到以下信息: i_ref_idc -858993460 i_type -858993460 b_long_startcode -858993460 i_first_mb -858993460 i_last_mb -858993460 i_payload 27 p_payload
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
我不确定这些负值是否表示NAL无效或缺少信息。基本上,我如何检查从x264_encoder_encode()获取的nal是否是有效的nal单元?
注意:我正在使用这些NAL使用LIVE555进行实时流媒体传输。
-858993460
也称为0xСС
,并且编码器未初始化这些值
i_有效载荷
,p_有效载荷
是有效载荷的大小(以字节为单位)和指向数据的指针。除了向解码器提供数据并测试输出和解码错误的可用性外,基本上没有对该数据进行有效性检查。-858993460
也称为0xССС
,且编码器未初始化该值
i_有效载荷
,p_有效载荷
是有效载荷的大小(以字节为单位)和指向数据的指针。除了向解码器提供数据并测试输出和解码错误的可用性外,基本上没有对该数据进行有效性检查。-858993460
也称为0xССС
,且编码器未初始化该值
i_有效载荷
,p_有效载荷
是有效载荷的大小(以字节为单位)和指向数据的指针。除了向解码器提供数据并测试输出和解码错误的可用性外,基本上没有对该数据进行有效性检查。-858993460
也称为0xССС
,且编码器未初始化该值
i_有效载荷
,p_有效载荷
是有效载荷的大小(以字节为单位)和指向数据的指针。除了向解码器提供数据并测试输出和解码错误的可用性之外,基本上没有对这些数据进行有效性检查。这肯定是无效的。如果不解析整个内容,就无法确定nalu是否100%有效。但您可以检查值是否正常
i_ref_idc是一个2位字段。任何超出0-3范围的东西都是不正常的
i_类型为5位。但实际上,编码器只能产生1-15或19-21(包括1-15或19-21)
b_long_startcode是布尔型的,因此您无法对其进行健全性检查
i_first_mb和i_last_mb将小于ceil(宽度/8.0)*ceil(高度/8.0)
i_payload是p_payload指向的数据的大小,所以在这里选择一个高值<代码>10*加*高度就足够了。这绝对是无效的。如果不解析整个内容,就无法确定nalu是否100%有效。但您可以检查值是否正常 i_ref_idc是一个2位字段。任何超出0-3范围的东西都是不正常的 i_类型为5位。但实际上,编码器只能产生1-15或19-21(包括1-15或19-21) b_long_startcode是布尔型的,因此您无法对其进行健全性检查 i_first_mb和i_last_mb将小于
ceil(宽度/8.0)*ceil(高度/8.0)
i_payload是p_payload指向的数据的大小,所以在这里选择一个高值<代码>10*加*高度就足够了。这绝对是无效的。如果不解析整个内容,就无法确定nalu是否100%有效。但您可以检查值是否正常 i_ref_idc是一个2位字段。任何超出0-3范围的东西都是不正常的 i_类型为5位。但实际上,编码器只能产生1-15或19-21(包括1-15或19-21) b_long_startcode是布尔型的,因此您无法对其进行健全性检查 i_first_mb和i_last_mb将小于
ceil(宽度/8.0)*ceil(高度/8.0)
i_payload是p_payload指向的数据的大小,所以在这里选择一个高值<代码>10*加*高度就足够了。这绝对是无效的。如果不解析整个内容,就无法确定nalu是否100%有效。但您可以检查值是否正常 i_ref_idc是一个2位字段。任何超出0-3范围的东西都是不正常的 i_类型为5位。但实际上,编码器只能产生1-15或19-21(包括1-15或19-21) b_long_startcode是布尔型的,因此您无法对其进行健全性检查 i_first_mb和i_last_mb将小于
ceil(宽度/8.0)*ceil(高度/8.0)
i_payload是p_payload指向的数据的大小,所以在这里选择一个高值<代码>10*带*高度就足够了