Лучший Jpeg Encoder для Silverlight 4.0 - PullRequest
3 голосов
/ 03 декабря 2010

Я хочу преобразовать Writablebitmap в поток Jpeg, и похоже, что нет поддержки платформы, а также я могу увидеть в Интернете кучу библиотек Encoder с открытым исходным кодом, хочу узнать ваше мнение о том, какая из них является рекомендуемой с точки зренияпроизводительности и надежности.

Ответы [ 3 ]

5 голосов
/ 03 декабря 2010

Я провел довольно много времени с FJCore и LibJpeg.Net .FJCore проще в использовании, поскольку он был перенесен с Java и имеет объектную модель, которая немного напоминает то, что вы ожидаете увидеть в C #.Тем не менее, LibJpeg.NET является гораздо более полной библиотекой (она основана на неформально канонической libjpeg ), и она также значительно быстрее.Чтобы привести один пример, FJCore использует наивную реализацию обратного дискретного косинусного преобразования, которая включает в себя что-то вроде 1024 умножения и дополнительные 1024 сложения для каждого блока 8x8.В отличие от этого, LibJpeg.NET использует высокопроизводительный алгоритм AAN, который принимает только 144 умножения и 464 сложения (см. http://datasheets.chipdb.org/Intel/x86/MMX/MMX/AP528.HTM#AAN Алгоритм ).Кроме того, FJCore довольно неэффективно использует память, постоянно воссоздавая объекты, которые можно легко использовать повторно.В то же время, поскольку в FJCore меньше оптимизаций, его гораздо проще взломать.

Для моего текущего проекта (который включает в себя написание видеокодека для Silverlight), я использовал FJCore в качестве отправной точки, исправил целый рядиз-за его неэффективности заменил алгоритм IDCT на алгоритм из LibJpeg.NET и в результате получил нечто, в 10 раз превышающее исходную производительность.

5 голосов
/ 03 декабря 2010

У меня хороший опыт работы с FJCore .Я также писал об этом некоторое время назад http://kodierer.blogspot.com/2009/11/convert-encode-and-decode-silverlight.html

0 голосов
/ 05 января 2011

Кен, почему бы тебе не отправить свой обновленный код в исходный код FJCore?

http://code.google.com/p/fjcore/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...