您所在位置: 网站首页 / 文档列表 / 嵌入式开发 / 文档详情
ARM11硬件编解码例程.doc 立即下载
上传人:yy****24 上传时间:2024-09-06 格式:DOC 页数:4 大小:32KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

ARM11硬件编解码例程.doc

ARM11硬件编解码例程.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

ARM11硬件编解码例程摘要:介绍基于华恒科技HHS3C6410平台,将摄像头采集的数据通过硬件编码后通过网络发送,客户端(Linux)通过网络实时接收并显示的具体实现;主要介绍S3C6410的H264硬件编码特性和V4L2编程。关键词:S3C6410H.264视频监控V4L20引言HHS3C6410是华恒科技推出的一款针对高性能手持设备和通用视频处理应用的低功率,高性能的嵌入式开发板,采用三星S3C6410ARM1176JZF-S处理器,最高主频可达667MHz;S3C6410内部集成的多媒体编解码器(MFC)支持mpeg4/h.263/h.264的编码与解码,并支持VC1解码,性能可以达到全双工30fps@640x480同时编解码和半双工30fps@720x480或25fps@720x576编解码。H.264/AVC标准是一套兼顾广播和电信,覆盖从低码率通信到高清晰电视的广域标准,相比以前的标准,具有更高的压缩率,高质量图像,容错功能,并有很强的网络适应性。1总体设计监控系统由监控前端,监控终端,网络三部分组成,监控前端是一个嵌入式Linux系统,它通过S3C6410的CameraIF接收摄像头(SAA7113)采集的数据,并传送给硬件编解码(MFC)模块,并把得到的经过H264压缩的数据打包发送到IP网络上,监控终端(Linux)通过网络接收数据包,经过解码实时播放。总体框架如图1:图1.总体框架图整个嵌入式视频采集系统由软件和硬件两部分组成。硬件方面,以S3C6410处理器为核心通过CameraIF接口接收摄像头数据,经过MFC硬件编码后通过DM9000发送,UART作为开发调试接口;软件方面,引导程序和Linux内核,设备驱动程序形成基本的嵌入式运行环境,应用层负责视频采集,压缩及传输。2软件设计软件设计包括嵌入式系统构建和应用软件两部分,其中嵌入式系统部分按照华恒科技S3C6410用户手册构建,其中包括了Bootloader,Linux内核,交叉编译器,驱动等;下面介绍应用软件设计:监控前端:监控前端主要包括视频采集模块和视频压缩编码模块。视频采集模块使用V4L2接口收集摄像头数据到缓冲区中,视频压缩模块调用MFC驱动把YUV420数据压缩编码,同时可以指定编码参数。示例代码如下:cam_fp=open(cam_name,O_RDWR);//打开camera设备...mfc_fd=open(MFC_DEV_NAME,O_RDWR|O_NDELAY);//打开MFC设备...addr=(char*)mmap(0,BUF_SIZE,PROT_READ|PROT_WRITE,MAP_SHARED,mfc_fd,0);//mmapMFC//设置编码参数enc_init.in_width=out_width;enc_init.in_height=out_height;enc_init.in_frameRateRes=atoi(argv[2]);enc_init.in_frameRateDiv=0;enc_init.in_bitrate=atoi(argv[3]);enc_init.in_gopNum=atoi(argv[4]);ioctl(mfc_fd,IOCTL_MFC_H264_ENC_INIT,&enc_init);frame_size=(enc_init.in_width*enc_init.in_height*3)>>1;//得到MFC输入缓冲区地址get_buf_addr.in_usr_data=(int)addr;ioctl(mfc_fd,IOCTL_MFC_GET_FRAM_BUF_ADDR,&get_buf_addr);in_buf=(char*)get_buf_addr.out_buf_addr;//得到MFC输出缓冲区地址get_buf_addr.in_usr_data=(int)addr;ioctl(mfc_fd,IOCTL_MFC_GET_LINE_BUF_ADDR,&get_buf_addr);out_buf=(char*)get_buf_addr.out_buf_addr;//V4L2编程ioctl(cam_fp,VIDIOC_QUERYCAP,&cap);//选择输入/输出ioctl(cam_fp,VIDIOC_S_INPUT,&index);ioctl(cam_fp,VIDIOC_S_OUTPUT,&index);//设置格式,注意必须设置输出为YUV420格式ioctl(cam_fp,VIDIOC_G_FBUF,&fb);fb.capability=cap.capabilities;fb.fmt.width=out_width;fb.fmt.height=out_height;fb.fm
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

ARM11硬件编解码例程

文档大小:32KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用

手机号注册 用户名注册
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
登录
手机号登录 微信扫码登录
微信扫一扫登录 账号密码登录

首次登录需关注“豆柴文库”公众号

新用户注册
VIP会员(1亿+VIP文档免费下)
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用