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

    视频编解码硬件方案漫谈

           视频编解码硬件方案最早是在嵌入式领域中广泛存在,如采用DSP,FPGA,ASIC等,用来弥补嵌入式系统CPU等资源能力不足问题,但随着视频分辨率越来越高(从CIF经历720P,1080P发展到 专用视频加速卡 二)gpu编解码的常用技术方案 1)厂家SDK方案 对应gpu编解码硬件厂家都有相应SDK方案,应用开发者可以直接调用厂家的SDK 来完成编解码器工作。 SDK Intel Media SDK                                                                 硬件解码SDK方案 2)FFMPEG 方案 ffmpeg对厂家SDK进行封装和集成,实现部分的硬件解码 NVIDIA AMD INTEL 编码器 xxx_nvenc xxx_amf xxxx_qsv 解码器 xxx_ cuvid 暂未实现 Gstreamer硬件加速编解码方案 其中xxx标识编码类型,如h264,h265,mpeg2,vp8,vp9等。

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

    FFMPEG硬件解码器使用

         在前文《视频编解码硬件方案漫谈》中我们介绍硬件视频编解码的一般方案,本文我们进一步介绍音视频编解码如何在ffmpeg使用显卡硬件进行加速。 一、基本概况 ffmpeg对显卡厂家SDK进行封装和集成,实现部分的硬件解码 NVIDIA AMD INTEL 编码器 xxx_nvenc xxx_amf xxxx_qsv 解码器 xxx_ cuvid 二、命令行的使用 在ffmpeg中,如果使用-vcodec xxx 指定硬件解码器,否则使用软件编解码。 如果我们需要使用硬件解码,采用avcodec_find_encoder_by_name(name)和avcodec_find_decoder_by_name(name)来指定编码器。 还是Linux都是一套代码,但缺点就是不跨硬件,不同显卡厂家采用不同编解码器。

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

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

    ” 8月5日-6日,LiveVideoStackCon 2022 音视频技术大会 上海站,和你一同开启通向未来的大门。 视频处理及编解码硬件系统优化设计 高压缩率、高画质、低延迟的视频呈现是互联网的热门主题,其中最重要的底层核心就是视频处理及编解码。 视频编解码是涵盖算法、标准、软件实现、硬件实现、软硬件协同优化等各个方面的综合性领域,具有很强的学术研究和工程实现价值。 本专题主要从硬件实现以及软硬件协同方面切入探讨视频编解码系统的优化设计,并面向AVS3、AV1、VVC等标准探讨编码器的硬件设计方法。 我国自主知识产权视频标准AVS从2002年一路走来已经有20个年头,AVS系列标准见证了我国视频编解码技术从落后到赶超的坚实步伐。

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

    全平台硬件解码渲染方法与优化实践

    硬件解码后不恰当地使用OpenGL渲染会导致性能下降,甚至不如软解。 分享中王斌详细解析了Windows、Linux、macOS、Android、iOS等多种平台下硬件解码的渲染方法及优化实践。 接下来我将围绕以下几个话题,为大家分享有关全平台硬件解码的渲染与优化的实践经验。 producer是硬件解码输出的对象,consumer则是输出的OpenGL纹理。除了这些扩展,我们还可利用其他OpenGL扩展。 IOSurface用以进程间进行GPU数据共享,硬件解码输出至GPU显存并通过IOSurface实现进程间的数据共享。VideoToolbox作为一个服务,只有在APP开始解码时才会启动解码进程。

    5.1K21发布于 2021-09-01
  • 来自专栏安富莱嵌入式技术分享

    【第3版emWin教程】第25章 emWin6.x的JPEG图片显示(硬件解码

    mod=viewthread&tid=98429 第25章 emWin6.x的JPEG图片显示(硬件解码) 本期主要讲emWin支持的JPEG硬件解码方式,相比于软件解码硬件解码要快很多。 JPEG解码,emWin底层使用硬件JPEG, 实现更简单, 裸机800*480大小的JPEG图片显示需要20ms左右,加上emWin后多了一层显示机制,现在需要30ms左右。 因此,emWin的API函数仅支持解码,不支持编码。 25.3 JPEG图片的API函数及其显示方法 当前emWin支持的API函数有如下6个: 从上面的表格中可以看出,emWin支持JPEG文件显示主要有两种类型的函数,一类是以Ex结尾的函数,这种函数显示 25.5 实验例程说明(裸机) 配套例子: V7-529_emWin6.x实验_JPEG图片显示(裸机硬解方式) 实验目的: 学习emWin的JPEG图片显示。

    90530发布于 2021-07-08
  • 来自专栏音视频技术

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

    本次分享的主题是视频编解码IP硬件开源。 三是一些多路流的支持和低延迟方面的支持和一些编解码硬件复用,编码器和解码器里面70%左右的逻辑都是可以复用的,只要加少量逻辑就可以既能做编码又能做解码解码器同样采用七级流水线架构,只是把编码的数据通路剔除掉了,去掉之后就只剩解码,可以实现一个非常精简的解码器流水线。 3.5 XK265:可配置RMD 接下来看一下我们硬件架构中的底层模块设计。 6. 支持1/2、1/4的FME,和上面的IME特性类似。 7. 支持ROI,针对某些区域去做ROI也是可行的。 V1.0版本侧重在参考硬件设计,针对视频编解码的各个算法模块做了硬件设计;V2.0版本是对1.0版本的架构升级和测试升级。

    1.8K20发布于 2021-09-01
  • 来自专栏石开之旅

    硬件笔记(6)----USB学习笔记3

    USB 规范中对实际的计算公式进行了解释,这些计算由 USB 硬件进行,这样可确保能够发出正确的响应。数据操作的接收方对数据进行 CRC 检查。如果两者匹配,那么接收方将发出一个 ACK。

    1.6K30发布于 2019-07-02
  • 来自专栏音视频技术

    Linux AV1硬件视频解码将支持Intel Tiger Lake

    AV1硬件解码将在最新的Intel处理器上实现,但AMD却还没有动作。 将于2020年9月推出的英特尔Tiger Lake处理器将是首款具有集成显卡的英特尔处理器,该显卡支持AV1硬件解码,但不进行编码。 这使得向诸如VLC和mpv之类的播放器添加AV1硬件解码支持变得没有必要。 1.jpg 英特尔软件工程师ZefuLi在今年3月4日向libva库提交了一个补丁,添加了对AV1视频的硬件视频解码支持。 硬件编码是关键 令人高兴的是,即将到来的英特尔处理器将在硬件中具有AV1视频解码功能,当新的Tiger Lake处理器到来时,便有Linux对它的支持。 4小时和6小时的差别还不是那么明显,但4个小时与一个星期的对比就像剃头和割掉头之间的区别。在软件编码变得非常快或硬件编码变得司空见惯之前,不要期望AV1能被广泛采用。

    1.5K40发布于 2020-08-27
  • 来自专栏音视频技术

    Linux AV1硬件视频解码将支持Intel Tiger Lake

    AV1硬件解码将在最新的Intel处理器上实现,但AMD却还没有动作。 这使得向诸如VLC和mpv之类的播放器添加AV1硬件解码支持变得没有必要。 ? 上图展示了在配置了旧版双核Inteli7 CPU和gen8集成显卡的计算机上的硬件视频编码和解码功能。 英特尔软件工程师ZefuLi在今年3月4日向libva库提交了一个补丁,添加了对AV1视频的硬件视频解码支持。libva库是FFmpeg这类框架用来为AMD和Intel的图形芯片提供硬件解码支持的。 硬件编码是关键 令人高兴的是,即将到来的英特尔处理器将在硬件中具有AV1视频解码功能,当新的Tiger Lake处理器到来时,便有Linux对它的支持。 4小时和6小时的差别还不是那么明显,但4个小时与一个星期的对比就像剃头和割掉头之间的区别。在软件编码变得非常快或硬件编码变得司空见惯之前,不要期望AV1能被广泛采用。

    1.6K10发布于 2020-08-28
  • 来自专栏iSharkFly

    Confluence 6 服务器硬件要求指南

    服务器管理员可以通过本页面的指南来对在运行 Confluence 评估版本的最小服务器硬件需求进行评估。 最小硬件需求 下面的值是针对 Confluence 使用的最小的硬件要求来确定的;例如,最小的 Heap 大小针对 Confluence 来说需要使用 1GB 和 1GB 来被 Synchrony 使用 下面是我们推荐运行 Confluence 的最小硬件要求: 中央处理器(CPU): Quad core 2GHz+ CPU 内存(RAM): 6GB 最小数据库存储空间(Minimum database space): 10GB 说明:请注意有些用户是将 Confluence 运行在 SPARC 平台的硬件上面的,Confluence 的官方只能对运行在 x86 平台上的硬件提供支持,官方也能对运行在 https://www.cwiki.us/display/CONF6ZH/Server+Hardware+Requirements+Guide

    3.4K70发布于 2019-03-13
  • 来自专栏程序员互动联盟

    解密H264、AAC硬件解码的关键扩展数据处理

    因为在解码这些数据之前,需要对解码器做一些配置,典型的就是目前流行的高清编码“黄金搭档”组合H264 + AAC的搭配。 本文将讲述H264和AAC的关键解码配置参数的解析,如果没有这些配置信息,数据帧往往不完整,导致了解码器不能解码。 ADTS所需的数据仍然是放在上面的扩展数据extradata中,我们需要先解码这个扩展数据,然后再从解码后的数据信息里面重新封装成ADTS头信息,加到每一帧AAC数据之前再送解码器,这样就可以正常解码了 [4] = byte; byte = 0; byte |= ((ADTS_HEADER_SIZE +size)&0x7)<<5; byte |= (0x7ff >>6) &0x1f; buf[5] = byte; byte = 0; byte |= (0x7ff&0x3f)<<2; buf[6] = byte;

    1.7K81发布于 2018-03-12
  • 来自专栏音视频技术

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

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

    42020编辑于 2023-04-04
  • 来自专栏视频

    音视频基础能力之 iOS 视频篇(三):视频硬件解码

    涉及硬件的音视频能力,比如采集、渲染、硬件编码、硬件解码,通常是与客户端操作系统强相关的,就算是跨平台的多媒体框架也必须使用平台原生语言的模块来支持这些功能本系列文章将详细讲述移动端音视频的采集、渲染、 硬件编码、硬件解码这些涉及硬件的能力该如何实现本文为该系列文章的第 3 篇,将详细讲述在 iOS 平台下如何实现视频的硬件解码往期精彩内容,可参考音视频基础能力之 iOS 视频篇(一):视频采集音视频基础能力之 iOS 视频篇(二):视频硬件编码前言视频解码是视频编码的逆过程,就是将压缩后的图像数据还原成原始未压缩的图像数据,可用于图像处理或渲染到屏幕。 有关原始图像数据渲染到屏幕的内容,本系列后续文章中会详细介绍,敬请期待在 iOS 平台,Apple 提供的硬件解码功能,目前仅支持 H.264 和 H.265,本文也将介绍这 2 种格式的硬件解码该如何实现 VTDecompressionSessionInvalidate(decode_session_);CFRelease(decode_session_);写在最后以上就是本文的所有内容了,详细讲述了在 iOS 平台下如何实现视频的硬件解码本文为音视频基础能力系列文章的第

    78810编辑于 2024-12-14
  • 来自专栏Qt项目实战

    Qt音视频开发6-ffmpeg解码处理

    一、前言 采用ffmpeg解码,是所有视频监控开发人员必备的技能,绕不过去的一个玩意,甚至可以说是所有音视频开发人员的必备技能。 关于ffmpeg解码,网上搜索到的代码绝对是一大堆一大堆,而且很多都讲得很详细,解码的函数流程图非常清晰,关于ffmpeg这块的学习本人推荐雷神的博客,分析的相当细致,我在很久以前刚用Qt+ffmpeg 解码的时候,参考的就是雷神的例子,当然这些demo其实在ffmpeg的开发包dev下的examples也是非常详细的,只不过没有什么分析过程,参考雷神的博客可以看到很多分析过程。 本人总结的解码过程: 注册解码库相关(av_register_all、avformat_network_init等) 初始化各种参数比如缓存大小等(av_dict_set) 打开视频流或者文件(avformat_alloc_context 支持qsv、dxva2、d3d11va等硬解码。 支持opengl绘制视频数据,极低CPU占用。 支持嵌入式linux。

    1.9K00发布于 2020-08-08
  • 来自专栏嵌入式开发圈

    解码斯坦福开源狗DogGo--附硬件清单、源码、图纸、论文

    2.Stanford Doggo 源码 github地址 https://github.com/Nate711/Doggo/tree/838562cd2474e398507204237319bdc6cec725fe 以上是官方给的所有硬件的清单,想要PDF文档的话可以在这下载(硬件清单)看上去很多,但其实最最核心的硬件不过就下面列出的: 材料 数量 Teensy 3.5(单片机) 1 ODrives(驱动器) 4 各硬件连接如下: ? Doggo还有两个1000mah 6s Tattu锂电池。 3、它的工作方式是在碳纤维侧板上安装了两个TMotor MN5212电机。 两个电机通过16T皮带轮和48T皮带轮之间的GT2皮带将动力传递给同轴皮带,每根皮带6mm宽,间距3mm间距。

    3.7K20发布于 2021-04-21
  • 来自专栏TopSemic嵌入式

    MicroPython 玩转硬件系列6:获取天气情况

    key=SK6E_7MBhPJr0_Cs3&location=beijing&language=zh-Hans&unit=c' r = urequests.get(Url) r.json() print

    1.1K20发布于 2021-05-31
  • 来自专栏DotNet程序园

    使用C#+FFmpeg+DirectX+dxva2硬件解码播放h264流

    extend函数是我新加入的,并且在dxva2_device_create函数(这个函数是ffmpeg原始流程中的,我的改动不影响原本任何功能)中适时调用;简单来说,原来的ffmpeg也能基于dxva2硬件解码 官方的硬解码示例 它有一个get_format过程(详见215行和63行),我没有采用。 这里给大家解释一下原因: 这个get_format的作用是ffmpeg给你提供了多个解码器让你来选一个,而且它内部有一个机制,如果你第一次选的解码器不生效(初始化错误等),它会调用get_format第二次 让你再选一个,而我们首先认定了要用dxva2的硬件解码器,其次,如果dxva2初始化错误,ffmpeg内部会自动降级为内置264软解,因此我们无需多此一举。 如若不然,你绘制的画面会进行意向不到的缩放 网络掉包导致硬件解码器错误 见代码 其他directx底层异常 代码中我加了一个try-catch,捕获的异常类型是DirectXException,在c/c

    4K11发布于 2019-11-28
  • 来自专栏君正T31开发实战指南

    君正T31应用开发6:音频编解码

    1.为什么需要音频编解码? 前面提到的例子中,我们使用君正T31的设备都是直接使用API函数进行采集声音,然后直接播放声音的,其中涉及两组API,一组是AI,音频输入函数,一组是AO,音频输出函数。 这里面PCM的文件是比较大的,在某些网络带宽不是很好的情况下,可能音频桢会丢掉,导致音频出现卡顿的声音,所以我们这边音频编解码技术也就应运而生。 一般经过音频编解码的数据会比原始数据PCM文件小一倍,G711A数据格式或者AAC格式文件。 图片 图片 2.君正使用的音频编解码API 图片 图片 3.君正的音频编解码实战。 failed\n"); return -1; } fclose(file_pcm); fclose(file_g711); free(buf_pcm); return 0; } 解码使用的函数

    1.4K00编辑于 2023-05-27
  • 来自专栏单片机爱好者

    ESP8266_23基于硬件定时器的红外遥控器解码

    ESP8266的所有GPIO都可以用来进行红外解码,这里我随便选了一个GPIO5。也就是说VS1838的数据输出脚,接到ESP8266的GPIO5。 ? 然后是程序部分。 老夫很是郁闷,于是一气之下,把51单片机里常用的红外解码程序移植了过来。 2、硬件定时器初始化。单片机做红外解码的时候,用的比较多的一种方法就是设置一个定时器,让它每隔0.278ms中断一次,依次做为检测引导码和0、1信号的时间基准。 如图所示,上电后先进行相应的初始化配置,然后就是解码的过程。我依次按下了2、4、6、8这几个安静,解码得到的值如上所示。怎么知道解码的对不对?看遥控器的键值表。 由此可见,红外解码没有问题。本节内容结束。 链接: https://pan.baidu.com/s/13leQVCuyflRAQmqIFtfnPQ 提取码:g6by

    1.7K20发布于 2020-06-29
  • 来自专栏云深之无迹

    FlySky-i6x源码-硬件初始化

    FlySky-i6x源码-AFHDS 2A AFHDS 一代协议(FlySky) FlySky - i6X 遥控器输出PPM信号 FS-i6X刷OpenTX(恢复到原始固件) 以上是以前的文章 我们来想一下,如何看这份源码,我想应该去看一下说明书: 支持2代协议的有这些 FS- i6X是一款支持固定翼/滑翔机/直升机模式的发射机。 可以去FCC看看 两份 这个看图是I6的照片 拆开的电路图 芯片 贴纸 协议一个简单的介绍 天线的位置 系统的特性 控制的按键 I6使用的是,NXP的 i6X使用的是 id=3044497 https://www.flyskytech.com/u_file/photo/20200226/FS-i6X%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E

    96331编辑于 2022-09-06
领券