草庐IT

FFmpeg硬件加速

全部标签

c++ - 如何使用 DSP 加速 OMAP 上的代码?

我正在为OMAP3430开发视频编解码器。我已经有用C++编写的代码,我尝试修改/移植它的某些部分以利用DSP(我拥有的SDK(OMAPZOOM3430SDK)有一个额外的DSP)。我尝试移植一个小的for循环,该循环在非常少量的数据(~250字节)上运行,但在不同的数据上运行了大约200万次。但是CPU和DSP之间的通信带来的过载远远超过yield(如果我有的话)。我认为此任务很像为普通计算机中的GPU优化代码。我的问题是移植什么样的部分会有好处?GPU程序员如何处理此类任务?编辑:GPP应用程序分配一个大小为0x1000字节的缓冲区。GPP应用程序调用DSPProcessor_Re

c++ - FFMPEG I/O 输出缓冲区

我目前在尝试将原始H264最终数据包封装到mp4容器中时遇到问题。但是,我不想将它们写入磁盘,而是希望将结果存储在内存中。我遵循了这种方法RawH264framesinmpegtscontainerusinglibavcodec但到目前为止还没有成功。首先,这是写入内存的正确方法吗?我的标题中有一个小结构structIOOutput{uint8_t*outBuffer;intbytesSet;};我在这里初始化缓冲区和字节集。然后我初始化我的AVIOContext变量AVIOContext*pIOCtx=avio_alloc_context(pBuffer,iBufSize,1,out

c++ - 如何将C++写入速度加速到CrystalDiskMark测试的速度?

现在我在内存中每秒获取大约3.6GB数据,我需要将它们连续写入我的SSD。我用CrystalDiskMark测试了我的SSD的写入速度,大约每秒6GB,所以我认为这项工作应该没有那么难。![我的SSD测试结果][1]:[1]https://plus.google.com/u/0/photos/photo/106876803948041178149/6649598887699308850?authkey=CNbb5KjF8-jxJQ“测试结果”:我的电脑是Windows10,使用VisualStudio2017社区。我找到了thisquestion并尝试了投票最高的答案。不幸的是,他的o

c++ - 使用 ffmpeg 和分离的 AVCodecContext 解码 h264 rtsp

我需要一些解码rtsp视频流的帮助。我从AXISIP摄像机获得它。我为此使用ffmpeg库。需要单独创建AVCodecContext,而不是从AVFormatContext->streams[...]->codec;所以我创建了AVCodec、AVCOdecContext并尝试初始化它们。AVCodec*codec=avcodec_find_decoder(codec_id);if(!codec){qDebug()}AVCodecContext*context=avcodec_alloc_context3(codec);if(!context){qDebug()}avcodec_ope

docker更换国内源加速

更换docker的国内镜像源,可以加快镜像的下载。1、在/etc/docker/下修改(如有)或创建daemon.json文件nano/etc/docker/daemon.json2、把以下内容复制进去:{"registry-mirrors":["https://registry.hub.docker.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com"]}3、重启dockersystemctlrestartdocker4、查看是否更换成功

c++ - 错误的字节有时会写入磁盘。硬件问题?

我使用C++11(VS2013)编写了一个基于UDP的传输协议(protocol)。它运行速度极快-并且在99.9%的时间内运行良好。但我几次观察到错误的字节被写入磁盘(三星250GBSSD850EVO)——或者至少看起来是这样。这基本上是我传输6GB测试文件时有时会发生的情况:文件被分割成更小的UDP数据包——大小为64K。(网络层将UDP数据报分解并重新组装成更大的包)。客户端将数据包(udp)发送到服务器-负载使用AES256(OpenSSL)加密并包含数据+元数据。有效负载还包含整个有效负载的SHA256哈希值——作为对UDP校验和进行补充的额外完整性检查。服务器收到数据包,将

c++ - 使用 OpenAL 的硬件加速音频解码

在使用OpenAL库时是否可以使用iPhone对mp3s和AAC的硬件加速解码?如果可能的话,我想有两种可能的方法。iPhone特定的OpenAL扩展。将音频解码为原始字节的iPhoneAPI。我有两个具体的用例。完全解码一小段声音。分段解码较大的声音文件,以便将其流式传输到OpenAL,而不是一次全部加载。更新child!没有人对此有答案吗?Apple的NDA是否解决了这些问题?这是怎么回事?使用OpenAL的其他人肯定想要更好的音频性能。 最佳答案 所有iPhone设备型号中至少有一个硬件(或硬件辅助)解​​码器。可以访问它以使

c++ - FFMPEG Seeking 带来音频伪像

我正在使用ffmpeg实现音频解码器。虽然读取音频甚至搜索已经有效,但我想不出一种在搜索后清除缓冲区的方法,因此当应用程序在搜索后立即开始读取音频时,我没有任何伪影。avcodec_flush_buffers似乎对内部缓冲区没有任何影响。所有解码器(mp3、aac、wma等)都会出现此问题,但PCM/WAV(由于音频未压缩,因此不使用内部缓冲区来保存要解码的数据)。代码片段很简单:av_seek_frame(audioFilePack->avContext,audioFilePack->stream,posInTimeFrame,AVSEEK_FLAG_ANY);avcodec_flu

c++ - avcodec_open2 方法中的 ffmpeg 内存泄漏

我开发了一个处理实时视频流的应用程序。问题是它应该作为服务运行,随着时间的推移,我注意到一些内存增加了。当我使用valgrind检查应用程序时-它没有发现任何与泄漏相关的问题。所以我用谷歌配置文件工具检查了它。这是运行大约6小时后的结果(从最新的转储中减去第一个转储):30.035.7%35.7%30.035.7%av_malloc28.934.4%70.2%28.934.4%av_reallocp24.529.2%99.4%24.529.2%x264_malloc当我检查图表上的内存时,我发现这些分配与avcodec_open2相关。客户端代码为:`g_EncoderMutex.lo

阿里北交大实习生论文火了!MobileAgent 可模拟人类玩转手机,网友:加速剁手、吃土!

编辑 |言征出品|51CTO技术栈(微信号:blog51cto)“太酷了,以后就靠AI帮我加速剁手吃土了。”近日一款名为MobileAgent的移动智能代理引起了圈内人的注意。一个惊艳之处在于,这款Agent为“手机+GPT4”结合,做出了一个很好的应用示范,简直解锁了一种手机新形态。MobileAgent与Siri、智能客服不同的是,规划和推理方面非常出色,能够自动完成各种复杂任务,比如——在Alibaba上帮助用户找到帽子,并根据条件添加到购物车;在AmazonMusic中搜索歌手JayChou或播放关于“代理”的音乐;在Chrome中搜索今日湖人队比赛结果或关于TaylorSwift的信