摘要: 1.什么是RGB?RGB是红绿蓝三原色的意思,R=Red、G=Green、B=Blue。2.什么是YUV/YCbCr/YPbPr?亮度信号经常被称作Y,色度信号是由两个互相独立的信号组成。视颜色系统和格式不同,两种色度信号经常被称作U和V或Pb和Pr或Cb和Cr。这些都是由不同的编码格式所产生的,但是实际上,他们的概念基本相同。在DVD中,色度信号被存储成Cb和Cr(C代表颜色,b代表蓝色,r代表红色)。3.什么是4:4:4、4:2:2、4:2:0?在最近十年中,视频工程师发现人眼对色度的敏感程度要低于对亮度的敏感程度。在生理学中,有一条规律,那就是人类视网膜上的视网膜杆细胞要多于视网膜锥细胞 阅读全文
posted @ 2013-11-24 22:54 葫芦娃Vs奥特曼 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 一、什么是RAW文件?RAW文件主要是一种记录了数码相机传感器的原始信息,同时伴随着一些由相机所产生的一些元数据(metadata,诸如IS0的设置、快门速度、光圈值、白平衡等)的文件。不同的相机制造商会采用各种不同的编码方式来记录raw数据,进行不同方式的压缩,个别还甚至对raw数据进行加密。所以,不同的制造商对各自的raw文件采用不同的文件扩展名,如Canon的.CRW、Minolta的.MRW,Nikon的.NEF,Olympus的.ORF等,不过其原理和所提供的作用功能都是大同小异的。二、为何要选择RAW格式?答案是非常简单的,我们来看一下在绝大部分数码相机内部,拍摄JPG的话,其生成 阅读全文
posted @ 2013-11-24 22:50 葫芦娃Vs奥特曼 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 搜索算法是利用计算机的高性能来有目的的穷举一个问题的部分或所有的可能情况,从而求出问题的解的一种方法。搜索过程实际上是根据初始条件和扩展规则构造一棵解答树并寻找符合目标状态的节点的过程。所有的搜索算法从其最终的算法实现上来看,都可以划分成两个部分──控制结构和产生系统,而所有的算法的优化和改进主要都是通过修改其控制结构来完成的。现在主要对其控制结构进行讨论,因此对其产生系统作如下约定:Function ExpendNode(Situation:Tsituation;ExpendWayNo:Integer):TSituation;表示对给出的节点状态Sitution采用第ExpendWayNo种 阅读全文
posted @ 2013-11-24 22:49 葫芦娃Vs奥特曼 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 在用户态下编程可以通过main()的来传递命令行参数,而编写一个内核模块则通过module_param()module_param宏是Linux 2.6内核中新增的,该宏被定义在include/linux/moduleparam.h文件中,具体定义如下:#define module_param(name, type, perm) \module_param_named(name, name, type, perm)其中使用了 3 个参数:要传递的参数变量名, 变量的数据类型, 以及访问参数的权限。module_param(name,type,perm);module_param使用了 3 个参 阅读全文
posted @ 2013-11-24 22:48 葫芦娃Vs奥特曼 阅读(263) 评论(0) 推荐(0) 编辑
摘要: Linux内核中最常见的锁是自旋锁。一个自旋锁就是一个互斥设备,它只能有两个值:"锁定"和"解锁"。如果锁可用,则"锁定"位被设置,而代码继续进入临界区;相反,如果锁被其他进程争用,则代码进入忙循环并重复检查这个锁,直到锁可用为止。这个循环就是自旋锁的"自旋"。自旋锁最多只能被一个可执行的线程持有。如果一个执行线程试图获得一个被争用的自旋锁,那么该线程就会一直进行忙循环-旋转-等待锁重新可用。注意,同一个锁可以用在多个位置。缺点:一个被争用的自旋锁使得请求它的线程在等待锁重新可用时自旋(特别浪费处理器时间)。所以, 阅读全文
posted @ 2013-11-24 21:34 葫芦娃Vs奥特曼 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 2.4.1 内存申请和释放 include/linux/kernel.h里声明了kmalloc()和kfree()。用于在内核模式下申请和释放内存。 void *kmalloc(unsigned int len,int priority); void kfree(void *__ptr); 与用户模式下的malloc()不同,kmalloc()申请空间有大小限制。长度是2的整次方。可以申请的最大长度也有限制。另外kmalloc()有priority参数,通常使用时可以为GFP_KERNEL,如果在中断里调用用GFP_ATOMIC参数,因为使用GFP_KERNEL则调用者可能进入sleep状态, 阅读全文
posted @ 2013-11-24 21:32 葫芦娃Vs奥特曼 阅读(1010) 评论(0) 推荐(0) 编辑
摘要: 1. 序最近在折腾各种.so,碰到了一些问题,一开始对于很多错误也没有头绪,茫然不知所措。索性化了一天多时间将>中部分内容略读了一遍,主要是关于编译,链接和加载这块的。于是顺便做个笔记,方便以后回顾。基本上知道了这些,对于编译,链接和加载过程中产生的各种问题,应该就能从根本上理解并解决了。其实以前上学时也看过那本经典的>,当时还写了篇>,不过此次会更细致深入地了解下整个编译链接和加载过程,并结合经常碰到的问题,提出一些解决方案。2. 编译和链接2.1. 编译过程广义的代码编译过程,实际上应该细分为:预处理,编译,汇编,链接。预处理过程,负责头文件展开,宏替换,条件编译的选择, 阅读全文
posted @ 2013-11-24 21:26 葫芦娃Vs奥特曼 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 1. 在Linux下,如何确认是多核或多CPU:#cat /proc/cpuinfo如果有多个类似以下的项目,则为多核或多CPU:processor : 0......processor : 12. Linux下,如何看每个CPU的使用率:#top -d 1之后按下1. 则显示多个CPUCpu0 : 1.0%us, 3.0%sy, 0.0%ni, 96.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%stCpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st3. 如何察看某个进程在哪个CP 阅读全文
posted @ 2013-11-24 21:22 葫芦娃Vs奥特曼 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 搜索算法是利用计算机的高性能来有目的的穷举一个问题的部分或所有的可能情况,从而求出问题的解的一种方法。搜索过程实际上是根据初始条件和扩展规则构造一棵解答树并寻找符合目标状态的节点的过程。所有的搜索算法从其最终的算法实现上来看,都可以划分成两个部分──控制结构和产生系统,而所有的算法的优化和改进主要都是通过修改其控制结构来完成的。现在主要对其控制结构进行讨论,因此对其产生系统作如下约定:Function ExpendNode(Situation:Tsituation;ExpendWayNo:Integer):TSituation;表示对给出的节点状态Sitution采用第ExpendWayNo种 阅读全文
posted @ 2013-11-24 20:58 葫芦娃Vs奥特曼 阅读(158) 评论(0) 推荐(0) 编辑