Technical

All technical archives.


元旦过后我就开始准备自己搞一个epoll的封装库,以期扔掉这个无比庞大的boost(对x86的服务器系统来说是还OK,但对一些嵌入式的应用来说,实在吃不消)。 但是始终卡在client端socket关闭后,server端针对broken pipe的signal(多线程中的signal)的处理上,这个问题一拖就拖了将近一个星期,实在汗顔。 后来实在有点火了,就准备照boost asio来扒一个下来,结果,扒着扒着发现asio原来完全可以独立于boost来运行(作为一个独立的library)。 这下真的搞的火大了。OMG,我又浪费了将近一周的生命… 以下是来自asio作者Christopher Kohlhoff对asio与boost.asio的区别说明: Asio and Boost.Asio Asio comes in two variants: (non-Boost) Asio and Boost.Asio. The differences between the two are outlined below. What are the differences in the source code? Where do I get a release package? Where are the source code repositories? How […]

Asio and Boost.Asio


EasyIPCam原先的时候在部分型号的手机(或平板)上出来的图像颜色不正,原因就是在于我错误的把NV12当作YUV420P来处理了,后来已更正,但一直未对此问题作记录,现补上。以供其他碰到类似问题的朋友参考。 以下是,关于几种常见YUV格式的一点扫盲知识: NV16就是 YUV422SP NV21就是 YUV420SP NV12就是 YUV420SP格式,Y分量平面格式,UV打包格式。 1)YUV420SP中的S和P分别是什么意思? SP(Semi-Planar)指的是YUV不是分成3个平面而是分成2个平面。Y数据一个平面,UV数据合用一个平面。UV平面的数据格式是UVUVUV…。 2)yuv格式中的interlace \ progressive分别是什么意思阿 ? interlace指的是隔行扫描,是把一帧图像分成上下两场,上场(Top field)的数据是整个图像的奇数行(1,3,5,7…),下场(Bottom field)的数据是整个图像的偶数行(2,4,6,8…)。两场穿插组合起来变成一帧完整图像。而progressive指的是逐行扫描,一帧图像 的每一行都按顺序排放。 若您发现EasyIPCam存在什么Bug,或者对EasyIPCam有什么意见、建议或者想法,可直接在http://bbs.rg4.net/thread-13892-1-1.html留言,或者通过mail与我联络,感谢您的支持和回馈。

Android 视频采集相关格式


前两天收到QA回馈说Android版的机顶盒客户端在浏览Panasonic BL C1A设备的时候出现下半部分画面绿屏的问题。具体状况如下图: 后来经确认是由于该设备用ffmpeg解码只能解出YUVJ422P格式,而实际上在该版的程序里未判断ffmpeg解码成功后的实际格式(default为YUV420P),就把它当作YUV420P去用,去转RGB565了,结果就出现这个Bug。 记之。

Android STB(机顶盒)客户端Motion JPEG视频下半部分绿屏问题



让你的Freescale i.MX 53 Quick Start Board 支持SATA硬盘。 由于项目使用中需要大容量硬盘,而Freescale i.MX 53 Quick Start Board又没带完整的SATA硬盘支持。事实上板子上有SATA数据库线接口,但却不给带电源线接口,我….。 所以,如果你要接SATA硬盘到i.MX53 QSB就相当于必须要自己外接电源(除非你自己重新layout板子),如:从一台PC中接一根电源出来,然后接到硬盘的电源上,接法如下:

Freescale i.MX 53 Quick Start Board 接SATA硬盘