- 博客(48)
- 资源 (6)
- 收藏
- 关注
原创 h264 NAL头解析
作者:Yoto olei-oleitao@163.com转载请注明出处http://blog.youkuaiyun.com/olei_oleitaoNAL全称Network Abstract Layer,即网络抽象层。在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供
2014-07-31 11:37:40
998
原创 QuickSort 快速排序算法 c语言实现
QuickSort 快速排序算法 c语言实现 UicKSort 快速排序算法 c语言实现 标签: 快速排序算法 主元 c语言 冒泡排序 quicksort it分类: 算法分析// QUicKSort 快速排序算法 c实现这里说明一下对QUicKSort的一些看法。QuicKSort算法是一个分治算法,能够改进的地方就是如何对数据的划
2014-07-31 11:34:00
846
原创 YUV2RGB 格式分析及快速查表算法设计
1 前言 自然界的颜色千变万化,为了给颜色一个量化的衡量标准,就需要建立色彩空间模型来描述各种各样的颜色,由于人对色彩的感知是一个复杂的生理和心理联合作用的过程,所以在不同的应用领域中为了更好更准确的满足各自的需求,就出现了各种各样的色彩空间模型来量化的描述颜色。我们比较常接触到的就包括 RGB / CMYK / YIQ / YUV / HSI等等。 对于数字电子
2014-07-31 11:28:46
750
原创 Soap_bind 问题 Address already in use 终于解决
最近一个月在开发onvif的开发;遇到唯一并且男解决的问题就是 bind 出错情况 老是出现“Address already in use”socket 系统错误! 和此问题纠缠了不少时间,从onvif的开发一个月前 ,做onvif评估开发等就有这个问题,由于在linux虚拟机上跑这个程序不会出现该问题;后来移植到arm上就冒出来了!由于一面开发 又忙着解决问题 一直都没有很好的解决!就提
2013-08-09 09:37:32
3245
原创 onvif 段错调试办法
1、打开onvif调试开关,以便让onvif打印一些可用的调试信息。在Makefile中添加调试宏定义如: CC = gcc -DDEBUG2、打开调试宏后,默认在程序运行的目录产生三个文件:RECV.logSENT.logTEST.logRECV.log是onvif接收到的SOAP数据,没接收一条,都会在RECV.log中记录SENT.log是onvif发送出去的SO
2013-07-15 15:17:12
764
转载 onvif规范 中文介绍
目录(?)[+]什么是ONVIF ONVIF规范的实现机制ONVIF规范的内容基于ONVIF规范的项目的开发什么是ONVIF ?ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。并复用了一些现有的标准,如WS系列标准等。ONVIF规范的目标是实现一个网络视频框架协议,使不同厂商所生产的网络视频产品(包括摄录前端、录像设备等)完全互通。ON
2013-07-03 11:33:04
698
转载 onvif规范的实现:使用gSOAP创建SOAP调用实例
目录(?)[+]预备知识SOAP调用示例实例分析目录(?)[+]预备知识SOAP调用示例实例分析预备知识ONVIF规范中设备管理和控制部分所定义的接口均以Web Services的形式提供。ONVIF规范涵盖了完全的XML及WSDL的定义。每一个支持ONVIF规范的终端设备均须提供与功能相应的Web Service。服务端与客户端的数据交互采用SOAP协
2013-07-03 10:39:21
770
原创 28181开发之-视频打包
GB28181视频打包传输采用 ps打包+rtp传输 的方式;看下《28181安全防范视频监控联网系统信息传输》文档里面关于打包的介绍吧:封装及传输标准 媒体流在联网系统IP 网络上传输时应支持RTP 传输,RTP 的负载应采用如下两种格式之一:基于PS 封装的视音频数据 或 视音频基本流数据,详细的请看《28181安全防范视频监控联网系统信息传输》附录C。 媒
2013-06-26 15:00:59
5744
转载 H.264 Profile、Level、Encoder三张简图
H.264 Profile、Level、Encoder三张简图 H.264有四种画质级别,分别是BP、EP、MP、HP: 1、BP-Baseline Profile:基本画质。支持I/P 帧,只支持无交错(Progressive)和CAVLC; 2、EP-Extended profile:进阶画质。支持I/P/B/SP/SI 帧,只支持无
2013-06-17 14:16:38
641
原创 Linux 静态库及动态库编译方法
每个程序实质上都会链接到一个或者多个的库。比如使用C函数的程序会链接到C运行时库,GUI程序会链接到窗口库等等。无论哪种情况,你都会要决定是链接到静态库(static libary)还是动态库(dynamic libary)。链接到静态库会使你的程序臃肿,并且难以升级,但是可能会比较容易部署。而链接到动态库会使你的程序轻便,并且易于升级,但是会难以部署。静态库静态库也就相当于是
2013-03-11 14:13:39
653
转载 arm-linux编译osip,ortp-0.7.0,exosip2(转载)
arm-linux编译osip,ortp-0.7.0,exosip2:1)osip2-2.2.12)ortp-0.7.03)exosip2-1.9.1-pre16准备:在/root下新建文件夹josua1)交叉编译osip:在/home/libosip2-2.2.1文件夹下编译:$CC=arm-linux-gcc CFLAGS=-O2 ./configu
2013-03-02 16:58:56
727
转载 移植最新版OSIP3.3.0协议到ARM+LINUX开发板上
终于毕业了,现在在公司做VOIP,反正很郁闷,由于公司是做单片机的,所以公司的人总是喜欢用单片机的思维去想问题,他们竟然用51去做IPPBX,用汇编实现TCP/IP、SIP,反正什么协议都要自己做,用51做不动了,终于要用ARM了,天天喊着要上LINUX,结果最后还是要把ARM当高级单片机用,还是要自己实现TCP/IP,SIP。我承认他们很厉害,但我总觉得这样有点什么。。。不说了。 这是我
2013-03-02 16:57:53
673
原创 向LINUX内核添加驱动
Linux内核中提供了很多设备皿span class="t_tag" href="tag.php?name=%C7%FD%B6%AF">驱动代码,但每个项目中总会需要添加我们自己的驱动,比如我们需要添加红外遥掿span class="t_tag" href="tag.php?name=%C7%FD%B6%AF">驱动。我们可以先独立去编写和调试这个驱动,等成熟后应该放到内核目录树中,使用make
2012-12-08 15:10:20
541
转载 TI davinci DM368 UBL 编译方法
实验环境:DM368 平台 : LW3xxHOST : ubuntu 10.04.4 64-bitCROSS_COMPILE : CodeSourcery GNU Toolchain for ARM Processors: 2009q1-203 version1,下载 DaVinci-PSP-SDK-03.21.00.04 Package for AM18x/OMA
2012-12-03 17:12:58
1768
转载 bootcmd 和bootargs【转】
U-boot的环境变量值得注意的有两个: bootcmd 和bootargs。u-bootcmd 前面有说过bootcmd是自动启动时默认执行的一些命令,因此你可以在当前环境中定义各种不同配置,不同环境的参数设置,然后设置bootcmd为你经常使用的那种参数。u-bootargs bootargs是环境变量中的重中之重,甚至可以说整个环境变量都是围绕着bootargs来
2012-11-30 09:06:51
560
原创 linux 串口编程
在linux下编写终端程序时,有规范模式 ,非规范模式(原始模式特殊的非规范模式)之分。不用于终端,而是在串口这种使用情况下,一般设置为原始模式(非规范的一种特殊情况)。但用read()函数,希望从串口接收指定的数量的字符时,往往接收到的实际字符数,都与指定的不同。如本人用read()希望接收 10 bytes的数据,但实验后发现,分了几次才接收到,俩次接收2bytes ,两次接收3bytes。
2012-11-30 09:05:36
722
原创 单反相机和镜头 怎么样才可以吧身边的mm拍的很漂亮!!
这帖子写了很久了,今晚发上来。这里的女性同伴可以是女朋友,女同学,女领导,女闺蜜……等等等等,总之把没有看见自己漂亮的照片不高兴的女生啦!很多看过我帖子的朋友都会留言问诸如使用的的相机与镜头是什么型号,还有朋友私下留言推断我的相机与镜头一定价格在几万块以上。其实,我甚至连单反用户都不是,现在拍摄人像主要使用的相机是SONY NEX-5C微单套机和一支Contax Zeiss G45/2镜头。前
2012-11-03 17:56:22
10948
原创 UBL分析
DM365是的启动方式有两种,通过BOOTSEL[2:0]引脚决定。当其为001时,直接从AEMIF上启动,比如NOR和OneNAND。除此之外皆是从RBL启动,顺序为RBL-UBL-UBOOT-KERNEL,比如NAND,串口,SD卡等。RBL会搜寻block1到block24去找 UBL,关于RBL启动的详细细节可以参考用户指南关于ARM子系统的那篇文档,很详尽,下面只分析UBL的源码。
2012-11-02 10:40:39
1387
原创 TI davinci DM368 u-boot 编译方法
实验环境:DM368 平台 : LW3xxHOST : ubuntu 10.04.4 64-bitCROSS_COMPILE : CodeSourcery GNU Toolchain for ARM Processors: 2009q1-203 version1,设置 ARM 交叉编译工具的路径[plain] view plaincopyprint?
2012-11-02 09:18:18
1514
转载 TI davinci DM36x UBL 编译方法
DM368 平台 : LW3xxHOST : ubuntu 10.04.4 64-bitCROSS_COMPILE : CodeSourcery GNU Toolchain for ARM Processors: 2009q1-203 version1,下载 DaVinci-PSP-SDK-03.21.00.04 Package for AM18x/OMAP-L138/
2012-11-02 09:16:50
1672
原创 DVSDK 环境搭建
DVSDK(Digital Video Software Development Kit)是TI公司推出的一款软件,作用是建立ARM与DSP之间的联系。关于DVSDK的使用,我只是新手,不便作出太多描述。在此只记录环境的搭建——DVSDK的安装。TIDVSDK Software 包括如下部分:DSP/BIOS for Linux: DSP/BIOS是一个可扩缩的实时DSP核,它提供抢占
2012-10-11 10:28:21
3752
转载 H.264起始码
在网络传输h264数据时,一个UDP包就是一个NALU,解码器可以很方便的检测出NAL分界和解码。但是如果编码数据存储为一个文件,原来的解码器将无法从数据流中分别出每个NAL的起始位置和终止位置,为此h.264用起始码来解决这一问题。 H.264编码时,在每个NAL前添加起始码 0x000001,解码器在码流中检测到起始码,当前NAL结束。为了防止NAL内部出现0x000001
2012-09-03 18:50:16
931
原创 cramfs如何解压 挂载
简要说,就是把cramfs文件当成一个分区挂载到本地系统,然后就可以对它进行操作了。假设要解压的文件是test.cramfs (1) 将 test.cramfs 拷贝到任意目录下(2) 在该目录下建立两个文件:mkdir testromsmkdir tmp(3)将test.cramfs 挂接到 testroms 目录mount test.cramfs testro
2012-08-30 18:52:19
2268
原创 如何解决fedora 13中root用户不能登录的问题
先用普通用户登陆,打开系统工具-终端切换到root用户输入命令: gedit /etc/pam.d/gdm&在文本编辑器中注释掉"auth required pam_succeed_if.so user != root quiet"保存后继续输入命令: gedit /etc/pam.d/gdm-password&同样地注释掉"auth requi
2012-08-29 17:21:20
839
原创 DAVINCI DM365-DM368开发攻略——linux-2.6.32的移植
一、介绍linux-2.6.32: Linux-2.6.32的网上介绍:增添了虚拟化内存 de-duplicacion、重写了 writeback 代码、改进了 Btrfs 文件系统、添加了 ATI R600/R700 3D 和 KMS 支持、CFQ 低传输延迟时间模式、perf timechart 工具、内存控制器支持 soft limits、支持 S+Core 架构、支持 Intel
2012-08-29 14:07:19
4087
原创 DAVINCI DM365-DM368开发攻略——开发环境搭建(DVSDK4.02)
第一节、 技术开发环境中的社会环境 这篇文章迟迟没有写出来奉献给一些爱好音频视频开发的网友,是有很多原因的,TI在短时间内,针对高清音视频方案DM365/368,连续发布DVSDK3.0,DVSDK4.00,DVSDK4.01和DVSDK4.02,这点让我们很不适应。虽然我们的DM365/368核心板早已经出来,但是需要做开发板,并调试开发板,还有就是帮三个客户批量生产DM6446产品
2012-08-29 11:32:25
3410
原创 DAVINCI DM365-DM368开发攻略—U-boot-2010.12-rc2-psp03.01.01.39及UBL的移植
从盛夏走到深秋,我们继续DAVINCI DM365-DM368的开发。说来惭愧,人家51CTO热情支持本博客,而本人却一直没有像其他博客之星一样频繁更新博客,心里确实说不过去。管理公司确实很累,有更急的客户的项目要做,我们成功先推出了DM6446-810MHz的核心板(http://www.tongyetech.com ),期间深圳安防展也接见了几个其他市的客户,然后继续我们的DM368开发。
2012-08-29 11:17:19
3623
原创
一、说明一下起因:今天在XP虚拟机中一冲动下载一个5点多GB的PT文件,忘记此虚拟文件(vmdk文件)仅有2G空间,结果超成了空间不足,VMware7.1提示出错,结果我关闭VMware却发现关闭不了一、说明一下起因:今天在XP虚拟机中一冲动下载一个5点多GB的PT文件,忘记此虚拟文件(vmdk文 件)仅有2G空间,结果超成了空间不足,VMware7.1提示出错,结果我关闭VMware却发现关
2012-08-28 20:42:14
94
原创 vmdk 损坏文件恢复及修复方法
一、说明一下起因:今天在XP虚拟机中一冲动下载一个5点多GB的PT文件,忘记此虚拟文件(vmdk文件)仅有2G空间,结果超成了空间不足,VMware7.1提示出错,结果我关闭VMware却发现关闭不了一、说明一下起因:今天在XP虚拟机中一冲动下载一个5点多GB的PT文件,忘记此虚拟文件(vmdk文 件)仅有2G空间,结果超成了空间不足,VMware7.1提示出错,结果我关闭VMware却发现关
2012-08-28 20:41:30
10825
原创 eth2->eth0
一台Vmware虚拟机更换宿主Server启动以后提示找不到eth0,网卡无法加载。出现这个问题的原因我想是因为更换了宿主Server,原来虚拟出来的网卡Mac地址也跟着改变,也就相当于更换了Vmware虚拟机的网卡。用 ifconfig -a 命令查看所有的网络设置,果然没有eth0的相关设置,多出来一个eth2。显示如下:QUOTE:et
2012-08-08 09:52:18
1507
原创 linux下 挂载Windows下的NTFS分区
使用linux下 挂载Windows下的NTFS分区(没有在开源站点上找到相应内核包),所以只有使用ntfs-3g来解决了。打开ntfs-3g的下载站点,将最新稳定版下载到CentOS,执行以下命令安装:#./configure#make#make install#mount -t ntfs-3g /dev/sda1 /mnt/win挂载NTFS分区就可以了。
2012-04-13 11:04:38
736
原创 smb配置root权限
1、打开smb服务的配置文件,在虚拟机中输入命令vi /etc/samba/smb.conf后回车。2、按下shift+g到达文档尾部,按下字母i键,进入编辑界面,输入如下信息:[alldir]path=/writable=yespublic=yesvalid users=root3、设置root用户的smb服务访问密码,输入命令:
2012-04-13 11:03:26
1661
原创 由于时钟同步问题,出现 warning: Clock skew detected. Your build may be incomplete.这样的警告
由于时钟同步问题,出现 warning: Clock skew detected. Your build may be incomplete.这样的警告,解决办法:find . -type f | xargs -n 5 touchmake cleanmake
2012-04-05 09:32:52
2634
原创 Hi3515自带串口驱动加载说明
首先了解到Hi3515 的串口挂载在AMBA总线上,驱动采用的是ARM AMBA PL011去的那个源码在内核drivers/serial/amba-pl011.c具了解首先到开发板给定的内核查找自身所带的驱动文件;查找方法:进入到内核根目录执行makemenuconfig命令 跳出如图所示:选择Device Drivers 回撤->选择 Character devices 回撤-》选择S
2012-03-22 16:03:50
3930
原创 海思Hi3515的UART2和UART3是如何被加载到内核中的
Hi3515的UART驱动位于drivers/serial/amba-pl011.c arch/arm/mach-hi3515v100/core.c中只发现UART0 和UART1 对应的串口ttyAMA0 和ttyAMA1 串口 但是查不到串口ttyAMA2 和ttyAMA3 ,在arch/arm/mach-hi3515v100/core.c增加了UART0 和UART1 但是在/dev
2012-03-21 23:11:36
4453
转载 PowerPC + Linux2.6.25平台下的SPI驱动架构分析
【摘要】本文以PowerPC+Linux 2.6.25 平台为例,详细分析了SPI总线的驱动架构。首先介绍了SPI的总体架构,从用户的角度将其分为三个层面,不同的开发者只需要关注相应的层面即可。然后分析了主要数据结构及其之间的相互关系,接着分析了不同层的具体实现,最后以一款SPI接口的时钟芯片为例讲述了如何在用户空间访问SPI驱动。对于ARM + Linux平台,只有平台依赖层即总线控制器驱动有差
2012-01-11 14:33:58
1226
转载 roid IPC 通讯机制源码分析 二 .
Client A与Binder kernel通信:kernel\drivers\android\Binder.c)static int binder_open(struct inode *nodp, struct file *filp){struct binder_proc *proc;if (binder_debug_mask & BINDER_DEBUG_OPEN_CLOS
2011-12-26 10:38:12
577
转载 Android IPC 通讯机制源码分析 1 .
Android IPC 通讯机制源码分析----Albertchen http://hi.baidu.com/albertchen521/blog/item/30c32d3f4bee993a71cf6ca0.htmlBinder通信简介: Linux系统中进程间通信的方式有:socket, named pipe,message queque, signal,sha
2011-12-26 10:30:51
347
转载 Android IPC 通讯机制源码分析一
Android IPC 通讯机制源码分析----Albertchen http://hi.baidu.com/albertchen521/blog/item/30c32d3f4bee993a71cf6ca0.htmlBinder通信简介: Linux系统中进程间通信的方式有:socket, named pipe,message queque, signal,share memory。Java系统中
2011-12-26 10:29:14
172
H264的sps和pps解析源码
2014-07-07
RTSP的实现 简单修改下里面的发送线程即可直接使用
2013-07-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人