Job*_*Joy 3 c# silverlight encoding
我想将Writablebitmap转换为Jpeg流,看起来没有平台支持,我可以在网上看到一堆开源编码器库,我想得到你的意见,哪个是性能和推荐的可靠性.
我花了很多时间在FJCore和LibJpeg.Net上.FJCore更容易使用,因为它是从Java移植而来的,并且有一个模糊的类似于你期望在C#中看到的对象模型.然而,LibJpeg.NET是迄今为止更完整的库(它基于非正式规范的libjpeg),并且它也明显更快.举一个例子,FJCore使用反向离散余弦变换的简单实现,包括1024次乘法和每个8x8块的额外1024次加法.相比之下,LibJpeg.NET使用高性能AAN算法,只需144次乘法和464次加法(参见http://datasheets.chipdb.org/Intel/x86/MMX/MMX/AP528.HTM#AAN算法)).此外,FJCore在使用内存方面的效率相当低,不断重新创建可以轻松重用的对象.与此同时,由于FJCore的优化程度较低,因此攻击起来要容易得多.
对于我目前的项目(涉及为Silverlight编写视频编解码器),我使用FJCore作为起点,修复了一大堆低效率,将其IDCT算法替换为LibJpeg.NET中的IDCT算法,最终得到了一些东西.我大约是原始性能的10倍.