实现一个avs2码流分析工具

article/2025/8/28 9:29:44

  最近在做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码流的解析。


http://chatgpt.dhexx.cn/article/l97pkGC8.shtml

相关文章

AVS2技术

转自http://www.avs.org.cn/avs2/technology.asp AVS2技术 AVS2采用了混合编码框架,整个编码过程包括帧内预测、帧间预测、变换量化、反量化反变换、环路滤波和熵编码等模块。具有如下技术特征: 图1 AVS2编码框架 1.灵活的编码结构划分 为了满足高清和…

AVS2解码图像管理

前言 对于解码器来说,解码得到的重建图像可能需要参与参考帧选择过程和输出排序过程。硬件解码器大概率不会将解码图像的相关操作硬件化,从而将此部分内容保留在软件端实现。 驱动工程师需要明确解码图像的管理逻辑,才能开发出硬件解码器的驱…

AVS2技术概述

转自公众号“智媒之音”:https://mp.weixin.qq.com/s?__bizMzI5Nzc4OTkxOQ&mid2247483715&idx1&snbb28272fd9b2baad9d4cccbe7c8ddcea&chksmecaef1f3dbd978e56764beb9d8ac69c753f3635716e9c449362f34f3c9e738870b1ffa00df4e#rd AVS2采用了传统的混…

【金三银四】设计模式面试题(2021最新版)

目录 前言 1.什么是设计模式 2.为什么要学习设计模式 3.设计模式分类 4.设计模式的六大原则 5.单例模式 5.1 什么是单例 5.2 哪些地方用到了单例模式 5.3 单例优缺点 5.4 单例模式使用注意事项: 5.5 单例防止反射漏洞攻击 5.6 如何选择单例创建方式 5.…

【Java架构师面试题】设计模式面试专题(共35题含答案)

设计模式(DesignPattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。 本篇为设计模式面试专题,总共收…

一文整理总结常见Java后端面试题系列——设计模式篇(2022最新版)

关于作者 🐶 程序猿周周 ⌨️ 短视频小厂BUG攻城狮 🤺 如果文章对你有帮助,记得关注、点赞、收藏,一键三连哦,你的支持将成为我最大的动力 本文是《后端面试小册子》系列的第 1️⃣2️⃣ 篇文章,该系列将整…

C++面试题之设计模式及设计原则

六大设计原则 1)单一职责原则 类的职责单一,对外提供一个功能,函数也支持; 2)里氏替换原则 任何抽象类的出现都可以用他的实现类进行替换。 3)依赖倒置原则 依赖于抽象,不要依赖具体实现&#…

23种设计模式(常见面试题)

23种设计模式(常见面试题) 1.什么是设计模式? 答: 设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。是一套用来提高代码可复用性、可维护性、可读性、稳健…

设计模式面试题(总结最全面的面试题!!!)

文章目录 设计模式什么是设计模式为什么要学习设计模式设计模式分类设计模式的六大原则开放封闭原则(Open Close Principle)里氏代换原则(Liskov Substitution Principle)依赖倒转原则(Dependence Inversion Principle…

【2022最新Java面试宝典】—— 设计模式面试题(14道含答案)

目录 1.什么是设计模式2.为什么要学习设计模式3.设计模式分类4.设计模式的六大原则5.单例模式1.什么是单例2.那些地方用到了单例模式3.单例优缺点4.单例模式使用注意事项:5.单例防止反射漏洞攻击6.如何选择单例创建方式7.单例创建方式 6.工厂模式1.什么是工厂模式2.…

java高频面试题-设计模式

1 你所知道的设计模式有哪些? Java 中一般认为有 23 种设计模式,我们不需要所有的都会,但是其中常用的几种设计模式应该去掌握。下面列出了所有的设计模式。需要掌握的设计模式我单独列出来了,当然能掌握的越多越好。 总体来说设…

Java常见设计模式面试题及答案

文章目录 1.设计模式是什么?你是否在代码中使用过?2. JDK 中常用的设计模式有哪些?3.单例模式是什么?请用 Java 写出线程安全的单例模式4.在 Java 中,什么叫观察者模式(observer design pattern&#xff09…

JAVA常见设计模式面试题

一、单例模式 java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、双重检查锁定 1.单例模式有以下特点:   a、单例类只能有一个实例。   b、单例类必须自己创建自己的唯一…

设计模式面试题

设计模式 详解 设计模式 参考: https://www.jianshu.com/p/fc4b2e679a1e 单例模式 整个应用中保证只有一个类的实例存在 参考: https://mp.weixin.qq.com/s/dlVXW6aW4wLcLpey9NxPig 饿汉式单例类 懒汉式单例类 instance new SingletonClas…

设计模式面试题(设计模式速成版)

文章目录 说明名词解释UML基础面向对象编程中,都有哪些设计原则开闭原则里氏替换原则(Liskov Substitution Principle)依赖转置(依赖倒置)原则单一职责原则接口隔离原则迪米特法则合成复用原则 设计模式的分类创建型模…

【前端面试题】06—16道设计模式面试题(附答案)

设计模式不是针对某个框架的,而是针对某类问题或某类需求提出的,因此有广泛的适用性。 我们学习设计模式不仅要学习理论,还要学习如何解决实际工作中的问题,所以在面试中,设计模式通常是结合某类需求考察的。 1、什么是…

❤️设计模式肝完了,还挺全!腾讯和阿里的offer已拿!❤️

设计模式肝完了,还挺全!腾讯和阿里的offer已拿! 金九银十已经来了,挺近大厂最好的机会已经来了!如果你是要找工作的,一定要抓住这个机会! 前面已经整理了很多的面试资料: 1&#x…

「面试必背」设计模式面试题(收藏)

前言 设计模式在日常的工作中,是非常重要的一项技能,使用设计模式可以重构整体架构代码、提交代码复用性、扩展性、减少代码冗余问题。这是每个 Java 工程师必备的技能!今日小编主要讲的是设计模式之一的策略模式,小编会通过案例…

textRank杂谈

转自:这些文章 1. PageRank算法概述 PageRank,即网页排名,又称网页级别、Google左侧排名或佩奇排名。 是Google创始人拉里佩奇和谢尔盖布林于1997年构建早期的搜索系统原型时提出的链接分析算法,自从Google在商业上获得空前的成功后&#xff…

人工智能自然语言处理—PageRank算法和TextRank算法详解

人工智能自然语言处理—PageRank算法和TextRank算法详解 一、PageRank算法 PageRank算法最初被用作互联网页面重要性的计算方法。它由佩奇和布林于1996年提出,并被用于谷歌搜索引擎的页面排名。事实上,PageRank可以在任何有向图上定义,然后…