ffmpeg 继续学习 -- ARM优化-- AArch64

Armbian常用命令手册:ARM开发板系统管理与运维实战指南 Linux系统管理是服务器运维和嵌入式开发的基础,其核心在于通过命令行高效地控制系统资源、网络和服务。理解其原理,如进程调度、文件权限和网络协议栈,对于构建稳定可靠的服务至关重要。在资源受限的ARM架构设备上,这些技术价值尤为突出,能够以极低成本实现家庭服务器、软路由或物联网网关等应用场景。本文聚焦于Armbian这一专为ARM平台优化的Linux发行版,针对其**系统初始化**、**网络配置**等常见任务,提供一系列经过验证的实战命令和避坑指南,帮助开发者快速上手并解决在**软件包管理**和**磁盘操作* 阅读详情

1、FFmpeg发布3.0系列

最近ffmpeg的版本更新加快,目前出现 3.0.2 release版本。名称是“爱因斯坦” 

FFmpeg 3.0.2 "Einstein"

3.0.2 was released on 2016-04-28. It is the latest stable FFmpeg release from the 3.0 release branch, which was cut from master on 2016-02-14.

It includes the following library versions:


2、tools下面有个调整moov atom次序的工具

 * This utility rearranges a Quicktime file such that the moov atom
 * is in front of the data, thus facilitating network streaming.

3、libavcodec下有个aarch64的文件夹

h264dsp_init_aarch64.c文件中定义基于ARM 64位架构指令集的汇编优化加速
目前没有看到HEVC的加速代码

av_cold void ff_h264dsp_init_aarch64(H264DSPContext *c, const int bit_depth,
                                     const int chroma_format_idc)
{
    int cpu_flags = av_get_cpu_flags();

    if (have_neon(cpu_flags) && bit_depth == 8) {
        c->h264_v_loop_filter_luma   = ff_h264_v_loop_filter_luma_neon;
        c->h264_h_loop_filter_luma   = ff_h264_h_loop_filter_luma_neon;
        c->h264_v_loop_filter_chroma = ff_h264_v_loop_filter_chroma_neon;
        if (chroma_format_idc <= 1)
        c->h264_h_loop_filter_chroma = ff_h264_h_loop_filter_chroma_neon;

        c->weight_h264_pixels_tab[0] = ff_weight_h264_pixels_16_neon;
        c->weight_h264_pixels_tab[1] = ff_weight_h264_pixels_8_neon;
        c->weight_h264_pixels_tab[2] = ff_weight_h264_pixels_4_neon;

        c->biweight_h264_pixels_tab[0] = ff_biweight_h264_pixels_16_neon;
        c->biweight_h264_pixels_tab[1] = ff_biweight_h264_pixels_8_neon;
        c->biweight_h264_pixels_tab[2] = ff_biweight_h264_pixels_4_neon;

        c->h264_idct_add        = ff_h264_idct_add_neon;
        c->h264_idct_dc_add     = ff_h264_idct_dc_add_neon;
        c->h264_idct_add16      = ff_h264_idct_add16_neon;
        c->h264_idct_add16intra = ff_h264_idct_add16intra_neon;
        if (chroma_format_idc <= 1)
            c->h264_idct_add8   = ff_h264_idct_add8_neon;
        c->h264_idct8_add       = ff_h264_idct8_add_neon;
        c->h264_idct8_dc_add    = ff_h264_idct8_dc_add_neon;
        c->h264_idct8_add4      = ff_h264_idct8_add4_neon;
    }
}



ffmpeg的aarch64-linux-gnu交叉编译 阅读详情

相关推荐

ijkplayer iOS编译问题之[-Wincompatible-function-pointer-types]

编译环境 Apple M1 Pro Sonoma 14.1.2搜了搜好像没找到相关编译问题的,但是还需要用这个东西,只能再研究一下日志了,发现每个错误都有一个,感觉好像就跟这个有关系了,然后搜了搜尝试修改一下解决了问题。

xo19882011的专栏 1683

ffmpeg 编译cpu--cpu_移动端arm cpu优化学习笔记第3弹--绑定cpu(cpu affinity)

本文首发于 GiantPandaCV :绑定cpu本文主要内容是介绍移动端优化会涉及到的绑定cpu(cpu affinity)[2,3]的概念和相关验证实验。用过一些移动端推理框架比如ncnn和paddlelite等框架的同学都会发现这些框架提供了运行时功耗级别的设置,其实里面就是用绑核的方式实现的,通过绑定大核实现高功耗模式,绑定小核实现低功耗模式。关于arm大小核的概念可以参考[1]。本文相关...

weixin_35691526的博客 946

Proxmox VE在ARM设备上的安装与虚拟化实战:从引导到容器部署

在服务器虚拟化领域,Proxmox VE以其对虚拟机、Linux容器和Web管理的统一支持而广受欢迎。传统上,它主要运行在x86架构上,但借助ARM虚拟化技术的成熟,如今也可以在树莓派、RK3588等低功耗设备上落地。理解ARM与x86在引导方式、CPU架构和固件适配上的差异,是成功部署的关键。通过QEMU和LXC容器,ARM设备可以获得接近原生的虚拟化性能,尤其适合家庭实验、边缘节点和开发测试场景。本文从服务器虚拟化的基本原理出发,介绍如何在ARM设备上安装Proxmox VE、规划存储与网络、创建ARM

weixin_33979203的博客 437

超紧凑音视频处理引擎构建指南:FFmpeg裁剪与资源受限设备优化

在嵌入式设备、移动端App和边缘计算场景中,音视频处理引擎的体积与性能往往是决定性因素。FFmpeg作为业界主流的多媒体框架,功能全面但默认配置在资源受限环境下常导致内存溢出或启动缓慢。通过精细的功能裁剪、编译器优化、内存池复用及硬件解码适配,开发者可以在5MB以内构建出支持H.264/H.265、AAC等格式的轻量级处理引擎,实现500ms内首帧输出和80MB以下的运行内存峰值。本文从音频解码、视频处理、RTSP拉流等基础技术栈切入,结合具体参数配置和代码示例,探讨如何在保证核心能力的前提下,通过降低存储

weixin_30920513的博客 321

Whisper.cpp深度解析:C/C++实现的轻量级离线语音识别方案

语音识别是边缘智能的关键能力,其核心在于模型推理的轻量化、确定性与硬件适配性。Whisper.cpp通过C99纯实现、GGML张量格式与多级量化(如Q5_K),将OpenAI Whisper压缩至数十MB内存占用,摆脱Python依赖与GPU绑定,实现真正嵌入式部署。它不仅支持ARM/x86多架构编译,还提供音频预处理全链路C实现(stb_wave+kiss_fft)、线程安全推理API及低延迟流式扩展能力。本文聚焦Whisper.cpp的技术原理、量化权衡、跨平台编译实践与工业级集成方法,覆盖树莓派、Je

weixin_34318272的博客 487

极空间Z423部署道理鱼全指南:Docker一键搭建家庭媒体中枢

道理鱼是一款面向本地音视频资产的全栈式媒体操作系统,其核心在于将音乐识别、封面抓取、歌词同步、MV帧提取等能力全部本地化闭环处理。它基于Docker容器化设计,天然适配极空间NAS的轻量级容器运行时,避免了传统SSH手动部署所需的Linux命令、YAML配置与网络调试门槛。技术价值体现在‘零外部依赖’的数据流(FFmpeg+MusicBrainz+Musixmatch全链路本地执行)、ARM64深度优化(RK3326芯片指令集适配)以及与Obsidian等知识管理工具的GraphQL结构化联动。典型应用场景

agtvo48266的专栏 378

从零实现 Qt + FFmpeg 本地视频播放器

本文介绍了基于Qt 6和FFmpeg 8.1开发的本地视频播放器项目,实现了音视频解码、画面渲染、音频输出、播放控制及同步等功能。项目采用Qt Widgets构建界面,利用FFmpeg处理媒体解封装、解码和格式转换,通过QAudioSink输出音频信号。关键实现包括:工程内置FFmpeg的CMake配置、播放线程与界面的信号槽通信、音视频同步机制(以音频时钟为主时钟),以及支持Seek的进度控制。该项目适合作为Qt+FFmpeg播放器开发的入门参考,代码已开源在GitHub。

hanpengye的博客 378

mp4v2库在嵌入式Linux平台上的交叉编译实战

本文详细介绍了mp4v2库在嵌入式Linux平台上的交叉编译实战,包括环境搭建、源码编译、错误解决及性能优化技巧。针对ARM架构开发板,提供了从工具链安装到库文件部署的完整指南,帮助开发者高效实现轻量级MP4文件操作,显著降低资源占用。

weixin_33686714的博客 254

Fabrice Bellard:从FFmpeg到QEMU,一人撬动计算机底层技术革命

计算机系统底层技术是支撑现代软件生态的基石,涉及编译器、虚拟化、多媒体处理等核心领域。这些技术通过将复杂规范转化为高效可执行代码,实现了跨平台兼容性和性能优化。在系统编程实践中,动态二进制翻译和编解码器实现是关键技术难点,需要深入理解CPU架构和算法原理。Fabrice Bellard的FFmpeg和QEMU项目正是这类技术的典范——FFmpeg通过模块化设计实现了上百种视频编解码器的支持,成为视频处理的事实标准;QEMU则通过Tiny Code Generator实现跨架构指令翻译,奠定了云计算虚拟化的基

chuannaoxuan4674的博客 512

Ubuntu录GIF首选Peek:轻量、精准、零配置的桌面录制方案

GIF屏幕录制是Linux桌面用户高频需求的技术动作,其本质是将交互过程可视化为轻量动图。核心原理在于帧捕获、调色板优化与LZW增量压缩的协同处理,技术价值体现在低学习成本、高保真文字渲染与GNOME深度集成。典型应用场景包括技术协作演示、Bug复现、新手教程制作及Obsidian知识库活文档构建。Peek作为专为Ubuntu GNOME环境设计的工具,摒弃Snap依赖、直链系统库、原生适配D-Bus窗口接口,并以三阶段智能压缩流水线(BMP帧提取→全局调色板分析→gifsicle有损优化)保障成片质量,成

weixin_30565327的博客 424

Win10下NDK r22编译FFmpeg arm64-v8a动静态库完整实践

随着音视频应用日益普及,FFmpeg作为业界领先的多媒体处理框架,其编译集成成为Android开发者绕不开的课题。Android NDK工具链提供了高效的交叉编译能力,但在Windows环境下,需要借助MSYS2模拟Unix环境。通过合理选择NDK r22与FFmpeg 4.4版本,并精心配置configure脚本,可以顺利生成适配arm64-v8a架构的动态库与静态库。这一流程涉及架构参数、PIC模式、符号版本化等关键细节,同时需规避Windows特有的路径与换行符问题。本文基于工程实践,完整梳理了从环境

weixin_29191669的博客 336

WebRTC(TODO)

简单看了下,貌似就是SIP的下一代。因为我对SIP很熟,所以就比对着来写。

fanged的专栏 640

opencv 3.3.1 aarch64

基于OpenCV 3.3.1 源码,在ARM(aarch64)架构下的CentOS7 下cmake/make 编译生成的opencv-331.jar 和libopencv_java331.so 两个文件。基于java 版的OpenCV 进行开发需要用到这两个包。

Arch Linux AUR包管理原理与安全实践指南

AUR(Arch User Repository)是Arch Linux生态中用户驱动的第三方软件分发机制,其核心并非二进制分发,而是基于PKGBUILD的可验证源码构建说明书。它依托makepkg工具链实现编译、打包与安装,与pacman官方仓库形成互补而非替代关系。技术价值在于赋予用户对软件供应链的完全可控权——从依赖解析、编译参数到签名验证全程透明。典型应用场景包括安装VS Code等闭源工具、定制ARM平台软件(如树莓派)、运维批量部署及开发者发布CLI工具。本文深入解析AUR底层逻辑、yay等现代

weixin_33742618的博客 419

Zemax物理光学实战:3分钟搞定高斯光束传播模拟(附菲涅尔局部分析技巧)

本文详细介绍了在Zemax中进行高斯光束传播模拟与菲涅尔局部分析的实战技巧。通过3分钟快速设置指南和参数解析,帮助光学工程师准确模拟激光光束特性,避免常见误区。特别分享了菲涅尔局部分析的关键技巧和传播参数优化策略,提升光学系统设计的精度与效率。

lambda的博客 804

vCenter Server出现no healthy upstream的解决方法

可以通过"VMware vCenter Server Management(服务)"来排查问题,在网页里面找到“服务”模块,会发现有很多服务没有启动起来,而且手动启动也无法启动。7.0 地址后,页面出现“no healthy upstream”,无法正常登录vCenter,重启后依旧如此,该故障的前提是没有对vCenter做过任何配置,如下图所示。于是用命令查询是否有证书过期,发现真有多个服务依赖的证书在当天早上过期。使用如下命令尝试打开服务发现不分服务可以打开,不分服务无法打开。

1万+

安卓NDK开发实战:从JNI到OpenCV集成的性能优化指南

在移动开发领域,性能优化与跨平台代码复用是开发者面临的核心挑战。JNI(Java Native Interface)作为Java与C/C++交互的桥梁,其原理在于通过定义一套标准的函数命名规则和数据类型映射,实现两种语言间的无缝调用。这项技术的核心价值在于能够直接执行原生机器码,从而突破虚拟机限制,为计算密集型任务带来显著的性能提升,并实现对庞大C/C++生态库的高效复用。在音视频处理、图像识别、游戏引擎等高要求应用场景中,这种能力至关重要。例如,通过NDK集成OpenCV库,开发者可以直接在安卓应用中调用

weixin_33991418的博客 388

告别AT串口线!用STM32F407的USB FS口直连EC800M进行物联网通信

本文介绍了一种创新的物联网通信方案,利用STM32F407的USB FS接口直连EC800M模块,替代传统的AT串口线连接。通过详细的硬件对比、STM32CubeMX配置和USB驱动调试步骤,展示了如何实现更高效的AT指令通信,同时降低硬件复杂度和功耗。

weixin_29189987的博客 706

Linux内核学习9--ALSA架构学习1(框架)

目前我的理解就是干了两个事。1 提供了/dev/snd/xxx给上层接口。2 底层提供了驱动规范。因为目前的工作还是调试集成为主,所以主要关注第一点。 至于ALSA框架本身,目前也不会去改,暂时先不看了。。。

fanged的专栏 872

WinCC与施耐德PLC的Modbus TCP通信实战指南

本文详细解析了西门子WinCC与施耐德PLC通过Modbus TCP协议实现通信的完整实战流程。内容涵盖硬件网络配置、Modbus地址映射核心规则、WinCC驱动连接建立、变量创建及高级数据访问技巧,并提供了常见故障排查思路,帮助工程师高效解决跨品牌设备通信难题。

weixin_29194693的博客 1001

从ADRV9002到ADRV9003:手把手教你移植FPGA驱动,避开那些官方没说的坑

本文详细介绍了从ADRV9002到ADRV9003的FPGA驱动移植实战指南,重点解析了两者在硬件架构上的关键差异,如通道配置和DPD功能的移除。通过提供完整的移植步骤、调试技巧和性能优化建议,帮助工程师避开官方文档未提及的常见陷阱,实现高效驱动开发。

weixin_28738397的博客 175

dva 路由配置速查:4 个场景完成 React 单页应用导航

dva 是一个基于 React 和 redux 的轻量级 elm 风格框架,路由(基于 react-router 封装)是它单页导航的骨架。这篇指南把 dva 路由配置讲透:路由表怎么声明、两个页面之间怎么跳转、带 query 参数跳转怎么写、嵌套子页面和登录守卫如何落地,最后附一份排坑清单。 [![dva 路由配置示例:路由匹配成功后渲染出的欢迎页面](https://raw.gitcode.

gitblog_00763的博客 382

Python爬虫实战:基于最新技术栈的政府招标采购数据抓取与分析

对于企业、研究人员和数据分析师来说,能够高效地获取这些数据意味着可以获得宝贵的商业洞察和市场先机。随着反爬技术的不断升级和网站结构的日益复杂,传统的爬虫方法已经难以满足需求。我们将采用Selenium、Playwright等现代浏览器自动化工具,结合Scrapy框架和异步请求库,构建一个能够应对各种反爬措施的强大爬虫系统。Playwright是微软开发的浏览器自动化工具,支持Chromium、WebKit和Firefox,比Selenium更快速、更稳定。

2201_76125261的博客 1311
上一篇: 下一代Web图像格式:JPEG、JPEG XR、JPEG2000、WebP、BPG
下一篇: 程序打开文件意外终止的调试-基于errorno.h
cmsbupt
博客等级 码龄19年 67粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值