libjpeg-turbo

ソフトウェアのスクリーンショット:
libjpeg-turbo
ソフトウェアの詳細:
バージョン: 1.4.90 更新
日付のアップロード: 10 Mar 16
開発者: D. R. Commander
ライセンス: 無料
人気: 68

Rating: nan/5 (Total Votes: 0)

のlibjpeg-turboが、具体的にSIMDを使用するx86およびx86-64のプロセッサ、(のために細工された、オープンソース、クロスプラットフォームと元のlibjpegライブラリソフトウェアの高速バージョンを提供するように設計完全にフリーソフトウェアです。単一命令、そのようなSSE2、MMXおよびNEONなど複数データ)命令を、ベースラインJPEG伸張と圧縮を加速させるます。


非常に高速なJPEG画像コーデック

このソフトウェアは、一般のlibjpegの変更されていないバージョンよりも2〜4倍高速です非常に速いJPEG画像コーデックです。このプロジェクトは、もともと宮坂勝で作成されたのlibjpeg / SIMDプロジェクトに基づいていた。


伝統的なのlibjpeg APIを実装

のlibjpegライブラリのこのターボバージョンでは、従来のlibjpegのAPIだけでなく、簡単なTurboJPEG APIを実装しています。これにより、ユーザーはより圧縮またはビッグエンディアンと32ビットのピクセルバッファ(などXBGR、RGBX、)、およびフル機能のJavaインタフェースに解凍することを可能にする、色空間の拡張機能を備えています。


DEBのネイティブインストーラやRPMベースのOSとして配布

あなたの便宜のために、ソフトウェアは、両方のサポート、などのDebian、Ubuntuの、Linuxのミント、Fedoraの、CentOSの、Red Hat Enterprise Linuxに、openSUSEの、Mageia、などのDEBおよびRPMベースのオペレーティングシステム用のネイティブインストーラーとして配布されています64および32ビット・ハードウェア・プラットフォーム


libjpeg-turboが入門

のlibjpeg-turboがプロジェクトを簡単にGNU / Linuxディストリビューションの主なソフトウエアリポジトリからインストールすることができます。また、自動的にそれを必要とするすべてのソフトウェアと一緒にインストールされます。

ソースパッケージを使用して手動でインストールするには、ケースであなたは、あなたのハードウェアアーキテクチャ/オペレーティングシステムのためにそれを最適化Softowareから最新のアーカイブをダウンロードして保存、アーカイブマネージャユーティリティを使用して、その内容を抽出し、ターミナルアプリケーションを開きたいと抽出されたアーカイブファイル(例:cd /ホーム/ softoware /のlibjpeg-turboが)の場所に移動します。

次に、&lsquoを実行します。./構成&&作る’ sudoはインストール&rsquo作る;&lsquoに続いて、プログラムを設定してコンパイルするためのコマンド。 commadが広いそれにシステムをインストールし、すべてのアプリケーションが利用できるようにする

このリリースの新機能:ます。

OS XのPowerPCプラットフォーム上でビルド問題を修正しました(md5cmp OS Xはle32toh()とhtole32()関数を提供しないため、ビルドに失敗しました。)。
非SIMD RGB565色変換コードは、ビッグエンディアンのマシンで正しく動作しませんでした。この問題は修正されました。
COMPONENTIDだった&GT場合、それは誤って1 -1の代わりに返されますこれによりtjPlaneSizeYUV()で問題を修正しました。 0とsubsampはTJSAMP_GRAYました。
tjBufSizeYUV2における問題を修正しました()幅があった&LT場合、それは誤って0の代わりに-1を返しますwherby。 1。
ハフマン符号化は、現在ARM64プラットフォーム上のビットカウント用のCLZとBSR命令を使用しています。
TJCompressorとTJDecompressorのJavaクラスでclose()メソッドは現在、冪等です。以前は、その方法はTurboJPEGインスタンスが既に破壊された場合でも、ネイティブtjDestroy()関数を呼び出します。 close()メソッドがすでに呼び出されていた場合、これは、例外がファイナライズ中にスローされる原因となりました。例外がキャッチ、それはまだ高価な操作でした。
例えば、(1以外のサンプリング係数で圧縮されたグレースケールJPEG画像を解凍しようとすると「cjpeg -grayscale -sampleの2x2 'で、(;; JPEG画像&QUOTためのサブサンプリングのタイプを判別できませんでした&QUOT)TurboJPEG APIは、以前にエラーが発生しました)。サブサンプリングは、技術的にグレースケールJPEGファイルでは意味を持たない、したがって、このような画像の水平方向および垂直方向のサンプリング係数は、解凍器によって無視されます。しかし、TurboJPEG APIが硬すぎるされていた、それがグレースケールJPEGなどの画像を扱わ前にサンプリング係数が1に等しくなるように期待していました。
cjpegは、djpeg、およびjpegtranは現在、ライブラリのバージョンと出口を出力します-versionの引数を、受け入れます。
1.4ベータ1 [15]を参照すると、別の非常にまれな状況はバッファ宛先マネージャを使用しているときに、ハフマン符号化のローカル・バッファをオーバーランすることができ、非常に高周波数ブロック(基本的にジャンク画像データ)が符号化されている下に発見されました。ハフマンローカルバッファは、前の問題に対処するために136バイトに128バイトから増加したにもかかわらず、新たな問題があってもオーバーランする大きなバッファを引き起こしました。さらなる分析は、(JPEGスキャン順に32767と-32768に交互にAC係数の設定など)、絶対最悪の場合には、ハフマン符号化は、符号化されていないブロックの倍のサイズに近づく符号化ブロックを生成することができ、ことが明らかになりました。このように、ハフマンローカルバッファは、将来的に再発生からこのような問題を回避すべきである256バイトに増加しました。
これらの機能はlibturbojpegマップファイルに含まれていなかったため、新しいtjPlaneSizeYUV()、tjPlaneWidth()、およびtjPlaneHeight()関数は、OS XとWindowsを除くすべてのプラットフォーム上で実際には使用できませんでした。この問題は修正されました。
JPP()、JMETHOD()、およびのlibjpeg-ターボヘッダファイルでFARマクロを回復しました。 JPP()とJMETHOD()マクロは、もともとプロトタイプ・パラメータのサポートを欠いていた非ANSIコンパイラを支援する方法としてのlibjpegで実施されました。 libjpeg-turboが、このようなコンパイラをサポートしたことがないが、いくつかのソフトウェアパッケージは、まだ自分自身のプロトタイプを定義するためにマクロを使用しています。同様に、のlibjpeg-ターボは、MS-DOSや遠くのシンボルを持っている他のプラットフォームをサポートしたことがないが、いくつかのソフトウェアパッケージは、まだFARマクロを使用します。かなり良いの引数は、これが問題のソフトウェアの一部に悪い習慣があると判断することができますが、これは複数のパッケージに影響を与えるので、ここでそれを修正するだけで簡単です。
iOS用のコンパイルから64ビットSIMDコードARMを防止し、そして&QUOTによってインストールされたバイナリのすべてでARMv8アーキテクチャを含まれていた問題を修正しました;公式" OS X用のlibjpeg-ターボSDK

このバージョン1.4.2の新機能です:

このはmd5cmpは、OS Xがle32toh()とhtole32が提供されていないため(ビルドに失敗した(OS XのPowerPCプラットフォーム上でビルド問題を修正しました) 機能。)。
非SIMD RGB565色変換コードは、ビッグエンディアンのマシンで正しく動作しませんでした。この問題は修正されました。
COMPONENTIDだった&GT場合、それは誤って1 -1の代わりに返されますこれによりtjPlaneSizeYUV()で問題を修正しました。 0とsubsampはTJSAMP_GRAYました。
tjBufSizeYUV2における問題を修正しました()幅があった&LT場合、それは誤って0の代わりに-1を返しますwherby。 1。
ハフマン符号化は、現在ARM64プラットフォーム上のビットカウント用のCLZとBSR命令を使用しています。
TJCompressorとTJDecompressorのJavaクラスでclose()メソッドは現在、冪等です。以前は、その方法はTurboJPEGインスタンスが既に破壊された場合でも、ネイティブtjDestroy()関数を呼び出します。 close()メソッドがすでに呼び出されていた場合、これは、例外がファイナライズ中にスローされる原因となりました。例外がキャッチ、それはまだ高価な操作でした。
例えば、(1以外のサンプリング係数で圧縮されたグレースケールJPEG画像を解凍しようとすると「cjpeg -grayscale -sampleの2x2 'で、(;; JPEG画像&QUOTためのサブサンプリングのタイプを判別できませんでした&QUOT)TurboJPEG APIは、以前にエラーが発生しました)。サブサンプリングは、技術的にグレースケールJPEGファイルでは意味を持たない、したがって、このような画像の水平方向および垂直方向のサンプリング係数は、解凍器によって無視されます。しかし、TurboJPEG APIが硬すぎるされていた、それがグレースケールJPEGなどの画像を扱わ前にサンプリング係数が1に等しくなるように期待していました。
cjpegは、djpeg、およびjpegtranは現在、ライブラリのバージョンと出口を出力します-versionの引数を、受け入れます。
1.4ベータ1 [15]を参照すると、別の非常にまれな状況はバッファ宛先マネージャを使用しているときに、ハフマン符号化のローカル・バッファをオーバーランすることができ、非常に高周波数ブロック(基本的にジャンク画像データ)が符号化されている下に発見されました。ハフマンローカルバッファは、前の問題に対処するために136バイトに128バイトから増加したにもかかわらず、新たな問題があってもオーバーランする大きなバッファを引き起こしました。さらなる分析は、(JPEGスキャン順に32767と-32768に交互にAC係数の設定など)、絶対最悪の場合には、ハフマン符号化は、符号化されていないブロックの倍のサイズに近づく符号化ブロックを生成することができ、ことが明らかになりました。このように、ハフマンローカルバッファは、将来的に再発生からこのような問題を回避すべきである256バイトに増加しました。
これらの機能はlibturbojpegマップファイルに含まれていなかったため、新しいtjPlaneSizeYUV()、tjPlaneWidth()、およびtjPlaneHeight()関数は、OS XとWindowsを除くすべてのプラットフォーム上で実際には使用できませんでした。この問題は修正されました。
JPP()、JMETHOD()、およびのlibjpeg-ターボヘッダファイルでFARマクロを回復しました。 JPP()とJMETHOD()マクロは、もともとプロトタイプ・パラメータのサポートを欠いていた非ANSIコンパイラを支援する方法としてのlibjpegで実施されました。 libjpeg-turboが、このようなコンパイラをサポートしたことがないが、いくつかのソフトウェアパッケージは、まだ自分自身のプロトタイプを定義するためにマクロを使用しています。同様に、のlibjpeg-ターボは、MS-DOSや遠くのシンボルを持っている他のプラットフォームをサポートしたことがないが、いくつかのソフトウェアパッケージは、まだFARマクロを使用します。かなり良いの引数は、これが問題のソフトウェアの一部に悪い習慣があると判断することができますが、これは複数のパッケージに影響を与えるので、ここでそれを修正するだけで簡単です。
iOS用のコンパイルから64ビットSIMDコードARMを防止し、そして&QUOTによってインストールされたバイナリのすべてでARMv8アーキテクチャを含まれていた問題を修正しました;公式" OS X用のlibjpeg-ターボSDK

このバージョン1.4.0の新機能です:

このはmd5cmpは、OS Xがle32toh()とhtole32が提供されていないため(ビルドに失敗した(OS XのPowerPCプラットフォーム上でビルド問題を修正しました) 機能。)。
非SIMD RGB565色変換コードは、ビッグエンディアンのマシンで正しく動作しませんでした。この問題は修正されました。
COMPONENTIDだった&GT場合、それは誤って1 -1の代わりに返されますこれによりtjPlaneSizeYUV()で問題を修正しました。 0とsubsampはTJSAMP_GRAYました。
tjBufSizeYUV2における問題を修正しました()幅があった&LT場合、それは誤って0の代わりに-1を返しますwherby。 1。
ハフマン符号化は、現在ARM64プラットフォーム上のビットカウント用のCLZとBSR命令を使用しています。
TJCompressorとTJDecompressorのJavaクラスでclose()メソッドは現在、冪等です。以前は、その方法はTurboJPEGインスタンスが既に破壊された場合でも、ネイティブtjDestroy()関数を呼び出します。 close()メソッドがすでに呼び出されていた場合、これは、例外がファイナライズ中にスローされる原因となりました。例外がキャッチ、それはまだ高価な操作でした。
例えば、(1以外のサンプリング係数で圧縮されたグレースケールJPEG画像を解凍しようとすると「cjpeg -grayscale -sampleの2x2 'で、(;; JPEG画像&QUOTためのサブサンプリングのタイプを判別できませんでした&QUOT)TurboJPEG APIは、以前にエラーが発生しました)。サブサンプリングは、技術的にグレースケールJPEGファイルでは意味を持たない、したがって、このような画像の水平方向および垂直方向のサンプリング係数は、解凍器によって無視されます。しかし、TurboJPEG APIが硬すぎるされていた、それがグレースケールJPEGなどの画像を扱わ前にサンプリング係数が1に等しくなるように期待していました。
cjpegは、djpeg、およびjpegtranは現在、ライブラリのバージョンと出口を出力します-versionの引数を、受け入れます。
1.4ベータ1 [15]を参照すると、別の非常にまれな状況はバッファ宛先マネージャを使用しているときに、ハフマン符号化のローカル・バッファをオーバーランすることができ、非常に高周波数ブロック(基本的にジャンク画像データ)が符号化されている下に発見されました。ハフマンローカルバッファは、前の問題に対処するために136バイトに128バイトから増加したにもかかわらず、新たな問題があってもオーバーランする大きなバッファを引き起こしました。さらなる分析は、(JPEGスキャン順に32767と-32768に交互にAC係数の設定など)、絶対最悪の場合には、ハフマン符号化は、符号化されていないブロックの倍のサイズに近づく符号化ブロックを生成することができ、ことが明らかになりました。このように、ハフマンローカルバッファは、将来的に再発生からこのような問題を回避すべきである256バイトに増加しました。
これらの機能はlibturbojpegマップファイルに含まれていなかったため、新しいtjPlaneSizeYUV()、tjPlaneWidth()、およびtjPlaneHeight()関数は、OS XとWindowsを除くすべてのプラットフォーム上で実際には使用できませんでした。この問題は修正されました。
JPP()、JMETHOD()、およびのlibjpeg-ターボヘッダファイルでFARマクロを回復しました。 JPP()とJMETHOD()マクロは、もともとプロトタイプ・パラメータのサポートを欠いていた非ANSIコンパイラを支援する方法としてのlibjpegで実施されました。 libjpeg-turboが、このようなコンパイラをサポートしたことがないが、いくつかのソフトウェアパッケージは、まだ自分自身のプロトタイプを定義するためにマクロを使用しています。同様に、のlibjpeg-ターボは、MS-DOSや遠くのシンボルを持っている他のプラットフォームをサポートしたことがないが、いくつかのソフトウェアパッケージは、まだFARマクロを使用します。かなり良いの引数は、これが問題のソフトウェアの一部に悪い習慣があると判断することができますが、これは複数のパッケージに影響を与えるので、ここでそれを修正するだけで簡単です。
iOS用のコンパイルから64ビットSIMDコードARMを防止し、そして&QUOTによってインストールされたバイナリのすべてでARMv8アーキテクチャを含まれていた問題を修正しました;公式" OS X用のlibjpeg-ターボSDK

このバージョン1.3.0の新機能です:

この[1] 'テストを行う「今のFreeBSD上で正しく動作しない、それはもはや他の国連上に存在することが実行可能にmd5sumが必要です* Xプラットフォーム。
パッケージングシステムをオーバーホール[2]: - ベンダー提供のlibjpeg-turboがパッケージとの競合を避けるために、のlibjpeg-turboがための公式のRPMとのDEBはQUOTを、&ために改名されました;のlibjpeg-turboが、公式]です。 - TurboJPEGライブラリは現在、ベンダー提供のパッケージとの競合を避けるためにもパッケージングシステムを合理化するために、公式のLinuxおよびMacのパッケージでは/ opt /のlibjpeg-turboが下にあります。 - リリースパッケージは、現在のconfigure変数&QUOTで定義されたディレクトリ構造を使用して作成され、接頭辞&QUOT ;," BINDIR&QUOT ;," ;,などLIBDIR&QUOT(UN * X)またはCMAKE_INSTALL_PREFIX変数によって(Windowsの)例外はありますドキュメントは常にのUn * xとMacシステム、およびWindows上でのシステムのデフォルトのドキュメントディレクトリの下に配置されていることを、TurboJPEG DLLは、常にWindowsのシステムディレクトリにあります。 - いつもは/ opt /のlibjpeg-turboが/ lib32が32ビットライブラリと64ビットライブラリでは/ opt / libjpeg-をインストールします(Mac用を除く)は、Linux / Unixプラットフォーム上の混乱、公式のlibjpeg-turboがパッケージを避けるために、ターボ/ lib64に。 - いくつかのケースでは、UN * Xシステム上のlibjpeg-turboが実行可能ファイルが正常に同じパッケージによってインストールされた共有ライブラリとリンクしていなかったことにより、問題​​を修正しました。 - &QUOTを構築することにより問題を修正しました。インストーラ" TurboJPEG JARファイルは、以前に構築されていなかった場合WITH_JAVA = 1が失敗したときに、Windows上でターゲットにしています。 - ビルド"インストール" Windows上のターゲットは今installerが同じ場所にファイルをインストールします。
[3]正常に動作してからI / Oサスペンションを防止ハフマン符号化のバグを修正しました。

このバージョン1.2.0の新機能である:UnixシステムでYASMを使用するときに遭遇する

このビルド問題が修正されました。
範囲外のSSE2 SIMDコードで読み込むには、修正されました。
アプリケーションが追加された解凍時に4バイトRGBバッファ内の未使用バイトがアルファチャンネルとして扱われるべきであることを指定することができ、新しい色空間の拡張定数。
libjpeg-turboがデヴィルを構築するときに検出される回帰の問題が修正されました。
iOSのサポー​​トは、Mac用のlibjpeg-ターボSDKに追加されました。

このバージョンは何1.1ベータ1で新しく追加されます。

のlibjpeg-turboがするのlibjpegのV7またはv8b API / ABIをエミュレートするように構築することができます。
Windows用のビルドシステムはcmakeのを使用しています。
TurboJPEG / OSSは今/グレースケールビットマップに解凍し、YUV平面出力するRGBまたはJPEG画像を変換から圧縮することができます。
jpgtestは、既存のJPEG画像と伸張性能をテストするために使用することができます。
任意の算術符号化および復号化のサポ​​ートを加えました。
さらに保護が無効ハフマン符号に対して追加されました。

このバージョン1.0.0の新機能です:

このさらにFreeBSD上で改善を構築します。
Unix / Linuxパッケージは、現在のlibjpegランタイムプログラム(cjpeg等)とmanページが含まれています。
amd64のDebianシステム用の32ビットの補助パッケージがあります。
Cygwinのサポート。
非x86アーキテクチャ上/テストを構築するための完全なサポート。
64ビットOS Xのバイナリは現在、OS X 10.4との下位互換性があります。
様々なLinuxのパッケージングの調整があります。

このバージョン0.0.91の新機能です:

このパッケージをdebファイルを追加しましたドキュメントを
大規模なJPEG画像を解凍および/またはのlibjpeg-ターボデコンプレッサとバッファI / Oを使用して固定データ破損の問題

開発者の他のソフトウェア D. R. Commander

TurboVNC
TurboVNC

3 Jun 15

VirtualGL
VirtualGL

7 Mar 16

へのコメント libjpeg-turbo

コメントが見つかりません
コメントを追加
画像をオンにする!