H264 ENCODER RTL V2.0发现bug,确认是编码器IP的bug,原因如下:



  • H264 ENCODER RTL V2.0发现bug,确认是编码器IP的bug,原因如下:

    (1)验证了416x240,用JM86解码,解码出来的yuv数据跟IP自带的C model编码出来的重构数据一致,认为C model没有问题,并未验证其他格式的视频;

          验证了RTL仿真出来的码流加上SPS、PPS、Slice Head后,也就是构成NAL数据包后,跟C model编码出来的.264文件一致;
    
         上板验证了RTL编码出来的码流加上SPS、PPS、Slice Head后,也就是构成NAL数据包后,跟C model编码出来的.264文件一致;
    

    (2)后面 验证了1080P RTL仿真出来的码流加上SPS、PPS、Slice Head后,也就是构成NAL数据包后,跟C model编码出来的.264文件一致,并可以被Elecard StreamEye Tool(H.264播放与分析工具)播放及识别;SPS、PPS、Slice Head都能正确识别。

         但未注意到被编码流播放的码流(也就是解码后)的实际尺寸是1920x1106及SPS参数里面的图像高度参数是70[1136]而不是67[1088];
    
         后面用解码器IP不能解码编码器编码的1080P才注 意到这个问题;后面用JM86解码后发现跟  Elecard StreamEye Tool播放的图像一致(1920x1106),而不是 (1920x1080)。后面试了720P的,640x360的都是同样的问题,可以播放,但是视频的尺寸不对。


  • 1080p解码出来是1920x1106;
    720p用Elecard StreamEye Tool播放会变成1080x240,JM86解码出来的也一样;用open asic上的解码器可以解码;可能是兼容性不好或者是工具、软件版本太老导致;
    640x360应该是格式不支持,用Elecard StreamEye Tool可以播放但是播放成416x240