私は現在、jpeglib-turboライブラリを使ってC++でjpegリサイザを実装しています。高性能jpeglib-turboインプリメンテーションは<100msで圧縮解除/圧縮できますか?
ライブラリを使用してJPEG圧縮解除と再圧縮の対象を100ミリ秒に設定しました。私が推奨する最適化設定(jpeglib-turbo usage.txtに記載されています)を使用することで最高の結果を得ることができるのは約320msなので、100msでも/現実的かと疑問に思っていますか?これは3000x4000pxのイメージを約6Mbから130Kbに解凍/再圧縮することです。
私は速い展開のために使用しているコードは次のとおりです。答えを
dinfo.dct_method = JDCT_IFAST;
dinfo.do_fancy_upsampling = FALSE;
dinfo.two_pass_quantize = FALSE;
dinfo.dither_mode = JDITHER_ORDERED;
dinfo.scale_num = 1/8;
好奇心の理由から、なぜそんなに速くする必要がありますか? 6MBのJPEGの320msはかなり高速です。 – Bojangles
あなたはプラットフォームについて言及していません。これは携帯用ですか?デスクトップ?シングルまたはマルチスレッド?私はいくつかの速い「DCTサムネイル」コードを手に入れています。私の2GHz Core i7(シングルスレッドを使用)では、約120msで6メガバイトのJPEGデータ(4000x4000画像)から1/8サイズのRGB32画像を抽出することができます。その500x500イメージを130KBに再圧縮するには、おそらく40-100msかかるでしょう(私はまだコンプレッサーの極端な最適化を行っていません)。サムネイル抽出コードの時間が重要な部分は、64ビットのアセンブリ言語で記述されています。詳細は私に連絡してください([email protected])。 – BitBank
は万が一このプロジェクトのオープンソースですか?リンクを投稿してください:) – kritzikratzi