armv4l-unknown-linux-gcc下载,FFMPEG S3C2410上的交叉编译 armv4l-unknown-linux-gcc(2.95)
FFMPEG 编译与移植
(1)FFMPEG下载
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpegs
(2)FFMPEG x86 平台编译安装
进入ffmpeg 目录
#./configure --prefix=/usr
#make
#make install
(3)FFMPEG 移植ARM(S3C2410)平台
a.修改ffmpeg/libavcodec/armv4l/dsputil_arm_s.S文件
--- armv4l/dsputil_arm_s.S (revision 8264)
+++ armv4l/dsputil_arm_s.S (working copy)
@@ -19,6 +19,10 @@
@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
@+.macro pld arg+
@+.endm+.macro ADJ_ALIGN_QUADWORD_D shift, Rd0, Rd1, Rd2, Rd3, Rn0, Rn1, Rn2, Rn3, Rn4
mov \Rd0, \Rn0, lsr #(\shift * 8)
mov \Rd1, \Rn1, lsr #(\shift * 8)
注意:pld 这条指令好像是ARM5TE里面的指令,而S3C2410是貌似不支持这条指令。
b.修改libavcodec/armv4l/dsputil_arm.c
//extern void simple_idct_armv5te(DCTELEM *data);
//extern void simple_idct_put_armv5te(uint8_t *dest, int line_size,
// DCTELEM *data);
//extern void simple_idct_add_armv5te(uint8_t *dest, int line_size,
// DCTELEM *data);
//extern void ff_simple_idct_armv6(DCTELEM *data);
//extern void ff_simple_idct_put_armv6(uint8_t *dest, int line_size,
// DCTELEM *data);
//extern void ff_simple_idct_add_armv6(uint8_t *dest, int line_size,
// DCTELEM *data);
将以上这些声明注释掉,编译的时候要把ARMV5TE和ARMV6 disable掉。所以这
几个函数所在的汇编文件不会编译。
c.配置,编译
#./configure --cross-prefix=armv4l-unknown-linux- --prefix=/usr --cross-compile --arch=armv4l --target-os=arm-linux --enable-static --enable-shared --disable-ffserver --disable-ffplay --disable-mmx --disable-ipv6 --disable-iwmmxt --disable-strip --disable-armv5te --disable-armv6
#make
#make install DESTDIR=/root/ffmpeg/install
FFMPEG相关的头文件,库文件都在/root/ffmpeg/install目录下。将lib里面的动态连接库拷贝到开发板的/mnt/yaffs/lib目录下。
d.FFMPEG库的使用
FFMpeg 中比较重要的函数以及数据结构如下:
1. 数据结构:
(1) AVFormatContext
(2) AVOutputFormat
(3) AVInputFormat
(4) AVCodecContext
(5) AVCodec
(6) AVFrame
(7) AVPacket
(8) AVPicture
(9) AVStream
2. 初始化函数:
(1) av_register_all()
(2) avcodec_open()
(3) avcodec_close()
(4) av_open_input_file()
(5) av_find_input_format()
(6) av_find_stream_info()
(7) av_close_input_file()
3. 音视频编解码函数:
(1) avcodec_find_decoder()
(2) avcodec_alloc_frame()
(3) avpicture_get_size()
(4) avpicture_fill()
(5) img_convert()
(6) avcodec_alloc_context()
(7) avcodec_decode_video()
(8) av_free_packet()
(9) av_free()
4. 文件操作:
(1) avnew_steam()
(2) av_read_frame()
(3) av_write_frame()
(4) dump_format()
5. 其他函数:
(1) avpicture_deinterlace()
(2) ImgReSampleContext()
(落鹤生)
armv4l-unknown-linux-gcc下载,FFMPEG S3C2410上的交叉编译 armv4l-unknown-linux-gcc(2.95)相关推荐
- Linux程序下载到板子上,uclinux系统移植到bf561板子上过程
uclinux系统移植 主要工作包括: 1.选择处理器对应的交叉编译器(交叉编译器,运行于通用机上,目的为了编译出能够在特定平台上运行的软件) 2.选择并修改bootloader 3.修改链接文件,定 ...
- win10中linux系统下载软件,win10 上安装 Debian Linux子系统
Win10 最近有了一个行的称号: 最强Linux发行版,为什么会有这么一个称号呢,因为win10的子Linux系统已经让win10集成了linux系统,应用商店里也已经上架了多种linux的发行版. ...
- 怎么通过硬盘装linux系统文件下载,通过硬盘上的镜像文件安装Linux操作系统
关于,在不是用光驱情况下安装Linux方法 通过硬盘上的镜像文件安装Linux操作系统 如何在没有光驱.没有软驱.不能usb启动的情况下,进入dos硬盘安装linux系统?(当然,前提是已经有一个wi ...
- linux centos8下载,在Centos8上安装和使用curl
导读 curl是用于从远程服务器传输数据或向远程服务器传输数据的强大 行工具. 使用curl可以使用各种网络协议(例如HTTP,HTTPS,SCP,SFTP和FTP)下载或上传数据. 如果在尝试下载带 ...
- w311m linux驱动下载,腾达(Tenda)W311M V3.0网卡驱动(LINUX)
这是腾达(Tenda)W311M V3.0网卡驱动(LINUX)下载,支持Soft AP功能. 软件说明 支持Soft AP功能. 硬件介绍 W311M是一款采用11N无线技术,无线传输速率达150M ...
- linux 串口波特率失败,串口上不常见的波特率 - Linux
我正在尝试制作一个程序来读取串口.在这个端口上,我收到波特率为875000的数据.这种情况并不常见,我没有成功修改它.我做了一个小C程序来做到这一点,但它不适用于875000 ...这里的代码的一部分 ...
- linux下 ftp登陆不上,ftp无法连接登录linux的解决方法
1.首先安装vsftpd 命令:yum -y install vsftpd 之后开启服务:service vsftpd start 2.关闭防火墙 1) 重启后生效 开启:chkconfig ipta ...
- linux软件手机下载,linux软件下载
手机评站网今天精心准备的是<linux软件下载>,下面是详解! linux怎么安装软件 希望能帮助我操作一下... 希望能帮助我操作一下 1.打开系统,可以看到桌面,找到软件中心,打开软件 ...
- ffmpeg编译gb28181_RTSP/GB28181协议/海康SDK/Ehome协议视频上云网关EasyCVR视频平台在linux环境下ffmpeg源码单步调试环境搭建...
目前TSINGSEE青犀视频研发的视频上云服务平台EasyCVR已经可集成海康EHome私有协议,并且在前文中我也跟大家讲过EHome协议的配置和调用流程,有兴趣的可以阅读一下:配置及协议介绍.Eho ...
最新文章
- C# Aop简单扫盲及ORM实体类属性拦截示例
- Laravel的初始化安装
- ansible基本操作
- 【Linux 内核】线程调度示例一 ② ( 获取指定调度策略的最大和最小优先级 | 代码示例 )
- hdu oj1093题解
- 全球与中国压延铜箔市场发展调研及投资前景战略建议报告2022-2028年版
- mysql 5.x数据库安装_手把手教你进行Mysql5.x版本的安装及解决安装过程中的bug
- 晕,我的VBSCRIPT语法还没过关
- Adaboost、RandomFrest、GBRT的区别
- 简约不简单的单例模式
- 边框border(HTML、CSS)
- IE8安装flash插件
- 漏洞:互联网时代的阿喀琉斯之踵 挖掘漏洞哪家强?
- Win10卸载KB5014699补丁教程
- IE11 与 XPath
- mybatis大于小于等于的写法
- Ubuntu图形界面下命令行窗口打开快捷键创建
- 原码一位乘法(2020-03-27)
- 由Intel和Microsoft双双落马所想到的
- 从分手的挽回成功的真实经历