2011年12月7日
摘要: YUV是指亮度参量和色度参量分开表示的像素格式,而这样分开的好处就是不但可以避免相互干扰,还可以降低色度的采样率而不会对图像质量影响太大。YUV是一个比较笼统地说法,针对它的具体排列方式,可以分为很多种具体的格式。转载一篇对yuv格式解释的比较清楚地文章,也可以直接参考微软的那篇文章。对于YUV格式,比较原始的讲解是MPEG-2 VIDEO部分的解释,当然后来微软有一个比较经典的解释,中文的大多是翻译这篇文章的。文章来源:http://msdn.microsoft.com/en-us/library/aa904813(VS.80).aspx这里转载有人已经翻译过的,个人认为已经翻译的很不错了, 阅读全文
posted @ 2011-12-07 08:44 MirAcle_包子 阅读(677) 评论(0) 推荐(0) 编辑
  2011年11月7日
摘要: 饱和32位数到16位ldr m, =0x00007fffmov a, b, asr #15 ; a = (b >> 15)teq a, b, asr #31 ; if (a != sign(b))eorne b, m, b, asr #31 ; b = 0x7fff ^ sign(b)饱和左移mov m, #0x7fffffffmov a, b, lsl c ; a = b << cteq b, a, asr c ; if (b != (a >> c))eorne a, m, b, asr #31 ; a = 0x7fffffff ^ sign(b)舍入右移 阅读全文
posted @ 2011-11-07 14:08 MirAcle_包子 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 一、跳转指令。跳转指令用于实现程序流程的跳转,在ARM程序中有以下两种方法可以实现程序流程的跳转。 Ⅰ.使用专门的跳转指令。Ⅱ.直接向程序计数器PC写入跳转地址值。 通过向程序计数器PC写入跳转地址值,可以实现在4GB的地址空间中的任意跳转,在跳转之前结合使用 MOV LR,PC等类似指令,可以保存将来的返回地址值,从而实现在4GB连续的线性地址空间的子程序调用。ARM指令集中的跳转指令可以完成从当前指令向前或向后的32MB的地址空间的跳转,包括以下4条指令: 1、B指令 B指令的格式为: B{条件} 目标地址 B指令是最简单的跳转指令。一旦遇到一个B指令,ARM处理器将立即跳转到给定的目标地 阅读全文
posted @ 2011-11-07 08:21 MirAcle_包子 阅读(671) 评论(0) 推荐(0) 编辑
  2011年10月17日
摘要: 在开发过程中,发现简单的在Storage Memory区域拷贝或粘贴文件不能达到硬件量测的要求,需要直接通过编写ARM汇编指令让CPU直接对Memory进行读写数据。以前没有用VS2005编写过汇编代码,所以走了点弯路,一直试图用内嵌汇编的方式来build,可恨的VS2005死活不认ARM指令,后来请出 google大神一搜,原来这条路已经有很多先行者试过了,结论是VS2005不能用内嵌汇编的方式build ARM汇编代码!俗话说的好啊,机器是死的,人是活的!google大神给我指出了一条通向光明的道路: VS2005中是可以对纯粹的arm汇编文件进行编译的,当然也可以将C编译生成的obj文件 阅读全文
posted @ 2011-10-17 09:41 MirAcle_包子 阅读(716) 评论(0) 推荐(0) 编辑
  2011年10月15日
摘要: 本人对Bada系统刚初步接触,所以有的地方模糊请大家谅解! 这里就不介绍Bada的历史,helloword的创建和真机联调,请大家百度一下,都能找到。 Bada IDE在创建工程后都会有.cproject这个文件,其提供了要编译文件目录,编译的头文件引用,编译的命令,可能会有makefile的创建,makefile是Bada IDE编译的主要手段吧。每个目录的编译都会有一个makefile相对应,在外面还有一个总的makefile去控制。 makefile是bada自己生成的,我们不能修改去源文件,但是可以在IDE修改其创建。 点击工程右键->Properties->C/C++ B 阅读全文
posted @ 2011-10-15 17:47 MirAcle_包子 阅读(221) 评论(0) 推荐(0) 编辑