JM Decoder计算PSNR的一个bug
由 hubdog 于 星期五, 2009-09-25 15:05 发表今天发现JM Decoder的一个bug,对于有I帧全部是IDR帧的码流,由于IDR的帧号是0,IDR之前如果有B帧的时候,B帧的帧号为负值。JM Decoder在查找YUV文件的参考帧来计算PSNR时,由于负值会找不到相应的参考帧,导致算出的PSNR是错误的。解码时它会报类似下面的错误。
Warning: Could not seek to frame number -2 in reference file. Shown PSNR might be wrong.
基于BSpline的插值运算
由 hubdog 于 星期六, 2009-09-19 21:14 发表正在做的一个C#项目要用到插值运算,插值运算算法主要是用了BSpline和多项式。
找了一下没有写得特别好的BSpline的C#库,Delphi倒是有一个别人写的不错的例子。
简单改写了一下。
使用.Net客户端访问BlazeDS
由 hubdog 于 星期三, 2009-09-16 12:50 发表前面那个Flex项目,客户追加了预算,增加了一些功能,其中一个功能要用.Net来写客户端,找了一下发现DotNet程序可以使用 FluorineFx来访问BlazeDS的服务。
一个高效的固定大小内存池管理算法
由 hubdog 于 星期二, 2009-07-28 13:19 发表这两天,在改一个既有程序的内存池管理算法,原有的管理算法基于固定内存最大块管理,块的尺寸固定为最大可利用内存大小,在大部分的情况下内存利用率非常低。
为此打算找一个高速的内存利用率高的算法。先是看了看FastMM,代码太复杂,使用了太多的汇编语言,过于庞大,接近8000行代码。于是放弃,找来找去,发现sqlite的内存池管理算法还是挺牛叉的。它是基于二分策略的,每一个内存块的大小是2的指数。
视频开发中使用有理数进行小数运算
由 hubdog 于 星期二, 2009-07-21 20:04 发表在研究视频解码程序的时候,我们看到的源代码比如FFMpeg中几乎都是使用有理数来进行运算小数运算,原因就是有理数相对浮点运算来说,几乎没有误差,不会产生误差的累积和扩散。
在Google appegine上部署BlazeDS和Spring程序(二)
由 hubdog 于 星期日, 2009-06-28 22:20 发表作者:陈省
接着上篇文章,这次我们要添加Spring的安全认证功能,首先在\WEB-INF\config\web-application-security.xml文件中定义认证Provider,
基于Spring Security配置多个认证Provider
由 hubdog 于 星期日, 2009-06-28 08:42 发表前面做的那个Flex项目最近有一个小改造,客户要在那个应用服务器基础上添加一个新的Service,但是这个新的服务是使用另外一套权限管理认证机制,因为预算很少,为了不增加部署成本,考虑部署在同一个BlazeDS上,查了一下Spring Security,发现可以部署多个认证Provider。
一个开源的OCR库
由 hubdog 于 星期五, 2009-06-19 15:36 发表