视频编解码优化的几个概念[通俗易懂]

视频编解码优化的几个概念[通俗易懂]视频编解码1.neon2.gpu加速3.汇编neon在移动平台上进行一些复杂算法的开发,一般需要用到指令集来进行加速。目前在移动上使用最多的是ARM芯片。ARM是微处理器行业的一家知名企业,其芯片结构有:armv5、armv6、armv7和armv8系列。芯片类型有:arm7、arm9、arm11、cortex系列。指令集有:armv5、armv6和neon指令。关于ARM到知识参考:ht

大家好,又见面了,我是你们的朋友全栈君。

视频编解码优化可以考虑neon,但是gpu不行。

neon

在移动平台上进行一些复杂算法的开发,一般需要用到指令集来进行加速。目前在移动上使用最多的是ARM芯片。
ARM是微处理器行业的一家知名企业,其芯片结构有:armv5、armv6、armv7和armv8系列。芯片类型有:arm7、arm9、arm11、cortex系列。指令集有:armv5、armv6和neon指令。关于ARM到知识参考:http://baike.baidu.com/view/11200.htm
最初的ARM指令集为通用计算型指令集,指令集都是针对单个数据进行计算,没有并行计算到功能。随着版本的更新,后面逐渐加入了一些复杂到指令以及并行计算到指令。而NEON指令是专门针对大规模到并行运算而设计的。
NEON 技术可加速多媒体和信号处理算法(如视频编码/解码、2D/3D 图形、游戏、音频和语音处理、图像处理技术、电话和声音合成),其性能至少为ARMv5 性能的3倍,为 ARMv6 SIMD性能的2倍。
关于SIMD和SISD:Single Instruction Multiple Data,单指令多数据流。反之SISD是单指令单数据。以加法指令为例,单指令单数据(SISD)的CPU对加法指令译码后,执行部件先访问内存,取得第一个操作数;之后再一次访问内存,取得第二个操作数;随后才能进行求和运算。而在SIMD型的CPU中,指令译码后几个执行部件同时访问内存,一次性获得所有操作数进行运算。这个特点使SIMD特别适合于多媒体应用等数据密集型运算。

gpu

以am335x为例,使用sgx530,加速2d/3d 图形,视频编解码处理的是图像。这里需要区分一组概念:图形(graphic)和图像(image)。
图形是矢量图(Vector Drawn),它是根据几何特性来绘制的。图形的元素是一些点、直线、弧线等。矢量图常用于框架结构的图形处理,应用非常广泛,如计算机辅助设计(CAD)系统中常用矢量图来描述十分复杂的几何图形,适用于直线以及其它可以用角度、坐标和距离来表示的图。图形任意放大或者缩小后,清晰依旧。
图像是位图(Bitmap),它所包含的信息是用像素来度量的,图像放大会模糊。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159788.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jar包和war包的区别

    jar包和war包的区别1.概念1.1jar包JAR包是类的归档文件,JAR文件格式以流行的ZIP文件格式为基础。与ZIP文件不同的是,JAR文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和JVM这样的工具直接使用。2.2war包war包是JavaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包可以理解为是一个web项目,里面是项目的所有东西。2.目录结构

    2022年5月10日
    57
  • 公网IP和内网IP如何分辨?

    公网IP和内网IP如何分辨?公网ip和内网ip之间如何分辨,公网ip和内网ip之间有什么区别?很多人都知道根据网络使用的范围不同又分为公有网络和私有网络。公有网络就是指处于公有网络的电脑的IP是“互联网”中能够识别到的地址;而私有网络指公有网络的机器不能识别到的机器。本文主要给大家介绍公网ip和内网ip的相关知识。

    2022年4月29日
    59
  • Verilog语言入门

    基础#号后面加延迟时间,单位为一个单位时间b表示二进制、d表示十进制、o表示八进制、h表示十六进制十进制可以表示0-9,其他三种除了原有的表示外新增了X->逻辑不定态,Z->高阻态Verilog数值集合由:0代表逻辑0或假状态,1代表逻辑1或真状态,X代表逻辑不定态,Z代表高阻态表示格式:<位宽>’<基数><数值&…

    2022年4月6日
    50
  • linux 5432端口,无法连接到端口5432上的postgresql[通俗易懂]

    linux 5432端口,无法连接到端口5432上的postgresql[通俗易懂]问题描述我安装了包含PostgreSQL8.4的BitnamiDjangostack。当我运行psql-Upostgres时,我收到以下错误:psql:couldnotconnecttoserver:NosuchfileordirectoryIstheserverrunninglocallyandacceptingconnectionsonUnixd…

    2022年6月19日
    239
  • jmeter的正则表达式提取器_jmeter正则提取器的使用

    jmeter的正则表达式提取器_jmeter正则提取器的使用当我们的请求有这种类型的多种数据,我们要怎么获取到全部?首先,先在正则表示式提取器里面添加我们找到的左右边界然后写好正则表达式最后确定边界是唯一的然后我们运行一下,一下只就运行全部出来了…

    2025年8月26日
    8
  • Python实现softmax函数「建议收藏」

    Python实现softmax函数:PS:为了避免求exp(x)出现溢出的情况,一般需要减去最大值。#-*-coding:utf-8-*-importtensorflowastfimportnumpyasnpdefsoftmax(x,axis=1):#计算每行的最大值row_max=x.max(axis=axis)…

    2022年4月14日
    493

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号