首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏C/C++与音视频

    视频编解码硬件方案漫谈

           视频编解码硬件方案最早是在嵌入式领域中广泛存在,如采用DSP,FPGA,ASIC等,用来弥补嵌入式系统CPU等资源能力不足问题,但随着视频分辨率越来越高(从CIF经历720P,1080P发展到 4K,8K),编码算法越来越复杂(从mpeg2经历h264,发展到h265),PC的软件规模也越来越庞大,视频应用也越来也丰富,单独靠CPU来编解码已经显得勉为其难,一种集成在显卡中gpu用来参与编解码工作已经成为主流 专用视频加速卡 二)gpu编解码的常用技术方案 1)厂家SDK方案 对应gpu编解码硬件厂家都有相应SDK方案,应用开发者可以直接调用厂家的SDK 来完成编解码器工作。 其中xxx标识编码类型,如h264,h265,mpeg2,vp8,vp9等。                                Gstreamer硬件加速编解码方案 其中xxx标识编码类型,如h264,h265,mpeg2,vp8,vp9等。

    4.3K31编辑于 2022-06-14
  • 来自专栏C/C++与音视频

    FFMPEG硬件编解码器使用

         在前文《视频编解码硬件方案漫谈》中我们介绍硬件视频编解码的一般方案,本文我们进一步介绍音视频编解码如何在ffmpeg使用显卡硬件进行加速。 ,vp8,vp9等。 二、命令行的使用 在ffmpeg中,如果使用-vcodec xxx 指定硬件编解码器,否则使用软件编解码。 如果我们需要使用硬件编解码,采用avcodec_find_encoder_by_name(name)和avcodec_find_decoder_by_name(name)来指定编码器。 还是Linux都是一套代码,但缺点就是不跨硬件,不同显卡厂家采用不同编解码器。

    5K40编辑于 2022-06-14
  • 来自专栏音视频技术

    视频处理及编解码硬件系统优化设计

    8月5日-6日,LiveVideoStackCon 2022 音视频技术大会 上海站,和你一同开启通向未来的大门。 视频处理及编解码硬件系统优化设计 高压缩率、高画质、低延迟的视频呈现是互联网的热门主题,其中最重要的底层核心就是视频处理及编解码。 视频编解码是涵盖算法、标准、软件实现、硬件实现、软硬件协同优化等各个方面的综合性领域,具有很强的学术研究和工程实现价值。 本专题主要从硬件实现以及软硬件协同方面切入探讨视频编解码系统的优化设计,并面向AVS3、AV1、VVC等标准探讨编码器的硬件设计方法。 在视频产业应用进入超高清4K/8K时代的历史机遇中,新一代国产标准AVS3有着强劲的技术活力和深远的应用潜力。

    92220编辑于 2022-07-18
  • 来自专栏音视频技术

    XK265:开源视频编解码硬件IP核

    本次分享的主题是视频编解码IP硬件开源。 2.5 使用硬件编码器的原因 使用硬件编码器的原因首先是性能和成本,比如要做一个8K编码器,用软件方式需要很多台服务器,对于硬件编码器只需要一颗芯片就够了,硬件编码器会比软件编码器性能好几个数量级。 硬件编码可以做带宽的压缩优化,带宽可以降低且对DDR访问可以做得更好,软件编码器很难做到8K或16K的编码,用硬件还是比较容易的。 比如面向Pynq将只有I帧的编码,因为Pynq的逻辑非常小,售价大概在7、8百人民币,而k1的开发板要一万多元,估计只有大学实验室才能买得起。另外,我们会针对低时延做优化,实现超低时延的端到端编解码。 特别是针对一些要求压缩效率比较高,面向8k、16k、VR等云端编码应用,目前来讲没有芯片方案,但又需要在云端做编码加速,因此可以在数据中心实现基于异构的编解码器设计。

    2.1K20发布于 2021-09-01
  • 来自专栏Netty应用与源码

    Netty源码—8.编解码原理二

    ByteToMessageDecoder解码步骤4.解码器抽象的解码过程总结5.Netty里常见的开箱即用的解码器6.writeAndFlush()方法的大体步骤7.MessageToByteEncoder的编码步骤8. out.writeInt(4+ response.getData().length); out.writeBytes(response.getData()); }}8.

    28910编辑于 2025-06-13
  • 来自专栏Netty应用与源码

    Netty源码—8.编解码原理一

    ByteToMessageDecoder解码步骤4.解码器抽象的解码过程总结5.Netty里常见的开箱即用的解码器6.writeAndFlush()方法的大体步骤7.MessageToByteEncoder的编码步骤8. ;        case 4:            frameLength = buf.getUnsignedInt(offset);            break;        case 8: DecoderException("unsupported lengthFieldLength: " + lengthFieldLength + " (expected: 1, 2, 3, 4, or 8)

    36610编辑于 2025-06-13
  • 来自专栏音视频技术

    对话安谋科技周华:编解码硬件的机遇与挑战

    一方面,这对于视频编解码的性能提升是利好的,但这也给硬件IP厂商带来了一定的挑战。 对此,我们很荣幸地邀请到了来自安谋科技,视频编解码处理器研发负责人周华老师,来和我们聊一聊编解码硬件的机遇与挑战,以及介绍今年新推出的“玲珑”VPU处理器有哪些亮点。 周华:视频编解码标准不断地致力于提升编码质量并降低码率,所以在视频编码框架中加入AI部分进行增强也是顺理成章的。对于硬件IP会有些历史包袱,比如标准的向前兼容问题、成本PPA问题等。 周华:今年7月,安谋科技推出了自研IP业务的最新成果——面向多场景应用的全新“玲珑” V6/V8视频处理器,这是为满足主流市场不断增长的4K/8K实时编解码需求而设计的,具有配置灵活可定制、编解码性能优异 因应此类新兴技术的挑战,安谋科技推出了全新视频处理器──“玲珑”V6/V8,为满足主流市场不断增长的 4K/8K 实时编解码需求而设计,并通过一系列智能权衡实现了极大优化,为所有合作伙伴提供灵活的组合和选择

    47920编辑于 2023-04-04
  • 来自专栏石开之旅

    硬件笔记(8)----USB学习笔记5

    bDeviceClass 1 设备类别 5 bDeviceSubClass 1 设备子类别 6 bDeviceProtocol 1 设备协议 7 bMaxPacketSize0 1 端点 0 的最大数据包大小 8 根据设备,数据包的大小可以为 8 个字节、16 个字节、32 个字节和 64 个字节。 iManufacturer、iProduct 和 iSerialNumber 都是字符串描述符索引。 请求所使用的配置值,用于选择该配置 6 iConfiguration 1 描述该配置的字符串索引 7 bmAttributes 1 位 7:预留(设置为 1) 位 6:自供电 位 5:远程唤醒 88 显示的是接口描述符的结构。 该接口所使用的端点数量(不包含 EP0) 5 bInterfaceClass 1 接口类别 6 bInterfaceSubclass 1 接口子类别 7 bInterfaceProtocol 1 接口协议 8

    2.3K20发布于 2019-07-02
  • 来自专栏bit哲学院

    Python进阶8——字典与散列表,字符串编解码

    update方法  l1=[(2,'two'), (1,'one'), (4,'four'), (3,'three')] l2=[(5,'five'), (6,'six'), (7,'seven'), (8, (l2) d=dict() d.update(dl1) d.update(dl2) print(d)           编码就是将文本字符串转化为字节序列,解码就是将字节序列转化为文本字符串,常见的编解码格式有 utf8,字节序列计算机识别,文本字符串人类识别  举例  s1='helloworld' t1=s1.encode('utf8') print(t1) s2=t1.decode('utf8') print

    1.9K10发布于 2020-12-30
  • 来自专栏小黑娃Henry

    Codable编解码流程Codable编解码流程

    1, 遵循协议Decodable后: 2.1 创建包含所有属性key的一个遵循codingKey协议的枚举(编译器生成) 2.2 创建init(_:,_ forKey)的方法(编译器生成) 3, 把data转为字典,通过字典生成_decoder 4,_decoder去调用通用unbox 5.1,基本类型根据各自的unbox完成解码后完成赋值; goto:done 5.2 对象类型则调用init(_:,_ forKey)方法-(编译器生成); goto:6 6,根据decoder获取container 7.1,container调用对应基本类型decode-> unbox完成赋值; goto:done 7.2 container调用对象类型decode(递归调用); goto:4 done;

    1.7K20发布于 2021-08-09
  • 来自专栏科技记者

    《高效R语言编程》8--高效硬件

    软件配置 benchmarkme包 高效硬件的5个技巧 1、使用benchmarkme包评估下CPU,看是否值得硬件升级 2、如有可能,增加更多RAM(虽然现在芯片慌,说这个有点不合时宜) 粗略经验,RAM ·.Machine$sizeof.pointer #[1] 8·这样的结果就代表64位啦,这个应该是有原理的,感兴趣的可以查下。 1,600 random matrix: 2.75 (sec). plot(res) # You are ranked 310 out of 749 machines. # AMD R7 4700 8核心 8线程,还凑活 # 上传你的结果 upload_results(res) Creating temporary file Getting system specs. complete Tracking id: 2021-05-12-63245334 [1] "2021-05-12-63245334" 有三个结果,分别是程序、计算和函数的总时间和相对时间,发现没有用上全部8核心

    1.2K30发布于 2021-07-27
  • 来自专栏reizhi

    微软发布windows 8 Logo认证硬件规范

      随着win8 beta的临近,近日微软发布了windows 8 logo认证的硬件需求规范。拥有笔记本的朋友应该都见过掌托上的win7贴纸,这就是logo认证。 只有符合微软的硬件需求,才有资格贴上这一块贴纸。下面我们一起来看看win8中有哪些值得关注的硬件需求。 (以下需求对于X86及arm平台同时起效) 注:以下需求仅适用于Windows 8 Logo认证,并非win8所需最低配置! 旋转锁定,音量增减,Windows键 3.所有无线设备(例如WIFI 3G 蓝牙)必须共用一个状态指示灯 4.连接交流电源或直流电源时都必须符合,具体要求可查阅源文档   可以看出,要通过windows 8 Logo认证并非易事,而有部分媒体更是预计Windows 8平板价格将会高于600美元。

    53110编辑于 2022-09-26
  • 来自专栏Linux嵌入式

    瑞芯微RK35XX系列FFmpeg硬件编解码实测,详细性能对比!

    FFmpeg硬件编解码技术通过调用GPU或专用的媒体处理芯片来加速视频的压缩与解压缩过程,其核心价值在于能够显著提升处理效率并降低系统资源消耗。 此外,在安防监控等多路视频流并行处理的应用中,硬件加速能有效减轻 CPU 负担,确保系统稳定运行本文基于触觉智能旗下瑞芯微RK系列开发板,展开FFmpeg视频编解码在2K与4K分辨率视频(软件+硬件)详细实测 FFmpeg移植方法可关注触觉智能公众号,查看以下文章参考操作:瑞芯微RK3576平台FFmpeg硬件编解码移植及性能测试实战攻略测试视频标准说明(1)4K@30FPS视频,文件大小为128MB(2)2K 2K与4K分辨率视频:硬解、硬编、软解、软编,8种状态下对比。 8核@2.2Ghz与6Tops算力NPU,兼顾 性能 功耗与工业稳定性,视频接口、通信接口等各类接口~

    1.3K10编辑于 2025-10-30
  • 来自专栏落叶飞翔的蜗牛

    Java编解码

    编解码 Java序列化的目的主要有两个: 1.对象序列化 2.网络传输 当进行远程跨进程服务调用时,需要把被传输的对象转化为字节数组或者ByteBuffer对象。 这就是所谓的Java对象编解码技术。 Java序列化 Serializable JDK1.1已经提供序列化功能,不需要额外的类库。 一般远程调用(RPC)很少使用Java自带的序列化进行消息的编解码和传输。 结构化数据存储格式 编码性能高 语言无关,平台无关,扩展性好 支持Java,C++和Python FaceBook的Thrift Thrift支持三种典型的编解码方式 通用二进制编解码 压缩二进制编解码 优化的可选字段压缩编解码 Marshallling 可插拔的类解析器 可插拔的对象替换技术 可插拔的预定义缓存表 无需实现

    1.4K40发布于 2021-01-14
  • 来自专栏漫漫架构路

    编解码相关

    编解码总结 一. 编解码 Charset类 编解码 编码:字符—>字节 解码:字节—>字符 每个文件存储在磁盘上,都会指定一种编码格式。 iso-8859-1:使用8bit(1个byte)表示一个字符,共计可以表示256个字符。 utf-8:**变长的字节表示形式:**使用1个字节表示英文,跟ascii完全相同;使用3个字节表示中文;最多使用6个字节表示一个字符。

    1.4K10发布于 2020-09-03
  • 来自专栏音视频开发技术

    FFmpeg编解码处理2-编解码API详解

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10584925.html FFmpeg编解码处理系列笔记: [0]. FFmpeg编解码处理1-转码全流程简介 [2]. FFmpeg编解码处理3-编解码API详解 [3]. FFmpeg编解码处理4-视频编码 [4]. FFmpeg编解码处理5-音频编码 基于FFmpeg 4.1版本。 4. 编解码API详解 解码使用avcodec_send_packet()和avcodec_receive_frame()两个函数。

    3.3K20发布于 2019-03-28
  • 来自专栏InCerry

    .NET8 硬件加速指令的支持

    .NET 有着悠久的历史,在通过 JIT 编译器本质理解的 API 提供对额外硬件功能的访问。 在这篇文章中,我将深入介绍我们在 .NET 8 中引入的内容以及它所启用的功能类型。 NET 团队和英特尔多年来多次合作,这一次我们在整体设计和实现上共同努力,使得 AVX-512 支持得以在 .NET 8 中实现。 后来在 2003 年,当 x64 平台在 AMD Athlon 64 上引入时,它又提供了 8 个额外的寄存器,这些寄存器能被 64 位代码访问,被命名为 xmm8 到 xmm15。 这允许硬件在更小的空间内表示更多的操作,提高代码密度,并更好地利用预期行为。 值得注意的是,我们在这里并没有直接公开与底层硬件一一对应的掩码概念。

    1.1K10编辑于 2023-12-26
  • 来自专栏C++系列

    【Linux】从软硬件角度重新理解 (8

    本章主要内容面向接触过Linux的老铁,从软硬件层面向大家介绍操作系统与冯诺依曼体系, 主要内容含: 一.冯诺依曼体系(硬件层面) 1.CPU与输入输出设备 截至目前,我们所认识的计算机,都是有一个个的硬件组件组成 写板等 中央处理器(CPU):含有运算器和控制器等 输出单元:显示器,打印机等 中央处理器(cpu)又分成运算器与控制器 运算器:对我们的数据进行计算任务(算数运算,逻辑运算) 控制器:对我们的计算硬件流程进行一定的控制 各个硬件之间都是独立的个体! 操作系统包括: 内核(进程管理,内存管理,文件管理,驱动管理) 其他程序(例如函数库,shell程序等等) 操作系统的作用主要有以下两点:(用户层这里主要指程序员) 通过帮助用户管理好软硬件资源 【承上启下,实现交互;程序员通过操作系统来访问底层的硬件】 从而给用户提供一个良好(稳定,高效,安全)的运行环境 2.系统调用 引入:操作系统内部会有各种各样的数据,可是操作系统不相信任何用户,

    44010编辑于 2024-01-22
  • 来自专栏Linux嵌入式

    瑞芯微RK3576平台FFmpeg硬件编解码移植及性能测试实战攻略

    本文介绍瑞芯微RK3576平台,FFmpeg硬件编解码移植及性能测试方法。 实测数据(1)2K视频编解码,视频文件大小为103MB硬件解码+编码数据:软件解码+编码数据:(2)4K视频编解码,视频文件大小为128MB硬件解码+编码数据:软件解码+编码数据:交叉编译与移植FFmpeg /configure_rk3576.sh(6)开始编译:make -j8(7)安装make install(8)安装完成后,安装文件保存在install目录:├── bin│ ├── ffmpeg│ PATHexport LD_LIBRARY_PATH=/usr/local/ffmpeg/lib:$LD_LIBRARY_PATH(3)执行生效:source /home/industio/.bashrc编解码测试测试常见命令

    1.7K10编辑于 2025-09-18
  • 来自专栏全栈程序员必看

    视频编解码学习之二:编解码框架「建议收藏」

    视频编解码关键技术 预测:通过帧内预测和帧间预测降低视频图像的空间冗余和时间冗余。 变换:通过从时域到频域的变换,去除相邻数据之间的相关性,即去除空间冗余。 宏块分成8×8或者4×4块,对每个块采用帧内预测编码,称作Intra8x8或者Intra4x4。 帧内预测有多个预测方向:水平,垂直,左下,右上。 帧内预测还有直流(DC)预测。 R/88个点,找到最优点,如果R/8=1则搜索终止,最优点位置的预测块作为最优的预测块,否则重复该过程直到R/n2=1; 三步搜索方法检查点的个数为1+8log2(d+1),当d=8时,检查点个数为 9+8+8=25 13. +8=19,另外一个需要5+3+2+3+2+8=23 14.

    2.4K20编辑于 2022-09-06
领券