实现一个avs2码流分析工具

11 篇文章 5 订阅
3 篇文章 0 订阅

  最近在做avs2编码器项目,但是却没有成熟的码流分析工具,于是抽空学习了QT,业余时间写了一个avs2码流分析工具。

  软件的界面如下:

图1、avs2码流分析仪界面

  UI的左边框为NAL列表或者语法元素列表:

  默认情况显示的是NAL列表,NAL列表显示了每一个NAL的类型,如果是picture的NAL,则Picture的类型(I帧,P帧,B帧,F帧等),POC, COI也都可以显示;Offset列显示了NAL在文件中的起始位置,Size列显示了每个NAL的大小。点击对应的一帧,可以切换到该帧的信息显示。

  点击左下角的按钮可以切换显示内容,Sequence Header则切换显示码流中的sequence header中语法元素的详细信息。这里是一些编码器的主要的参数信息。

图2、Sequence Header语法元素显示

  窗口的右侧显示的是每一帧的详细编码信息,支持多种Mode。目前码流分析仪支持Prediction、Residuals、Reconstruction、Deblock这几种编码信息的显示,后续打算支持SAO,ALF等等。通过菜单“Mode”可以切换不同的Mode,图3所示的为Prediction Mode,可以显示每个CTU详细的预测模式。按住Ctrl + 鼠标滚轮,可以对图像进行放大缩小。

图3、avs2码流分析的Mode菜单

  按菜单“Mode”->“Residual”或者快捷键F2可以切换到Residual视角,如图4所示,显示了每个CU的QP信息,蓝色QP的CU的cbf=0,红色QP的CU的cbf不等于0.  

图4、Residual Mode,显示每个CU的QP信息

按菜单“Mode”->“Reconstruction”或者快捷键F3可以切换到Reconstruction视角,如图5所示,图像显示的是每个CTU的Reconstruction before in-loop filter的图像,蓝色的矩形区域表示了每个CU的边界。

图5、Reconstruction Mode,显示的是in-loop filter前的重建图像

  按菜单“Mode”->“Deblock”或者快捷键F4可以切换到Deblock视角,如图6所示,图像显示的是每个CTU的deblock之后的图像,蓝色的矩形区域表示了每个CTU的边界。

图6、Deblock Mode,显示的是deblock filter后的图像

 

  图像下边两个按钮“Pic”和“Info”,分别用于控制是否显示图像和是否显示编码信息。图7为关闭了图像信息显示,此时可以看到纯的图像(发现avs2中deblock的效果不是很明显,deblock前的图像和之后的图像差别不是很大,块去的不是很明显)。

图7、关闭编码信息显示,只显示图像

 

  后续还需要继续支持SAO后图像的显示,最终解码图像的显示。还可以接入ffmpeg中的264和265解码器,支持264和265码流的解析。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITRonnie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值