资 源 简 介
Because libjpeg-turbo is the most optimized library to compress and decompress jpeg picture, this project consist of the development of a wrapper in delphi (pascal object) to use the libjpeg-turbo.
Demo
1) click on concat to generate a mjpeg file which is a concatanation of 1.jpg and 2.jpg. It create also a file index of the adress of every jpg in the mjpeg file.
2) Mono Thread : Load and decode 6 jpeg file from 1 thread.
3) Multi Thread : Load and decode 6 jpeg file from 6 threads.
4) Multi Thread MJPEG : Load the mjpeg file in a TFileStream. The demo slice the mjpeg by reading offset in the index file. Then, it fill 6 TMemoryStream which are decode in 6 different thread.
I"ve created a simple wrapper named cgJpeg. If you want to compare performance with the Delphi/Windows decoder, you can remove the "cg" in the uses declaration of thoses files :
* DelphiJpegTurbo.pas
* U_threadChargement.pas
Performance
On my
文 件 列 表
DelphiJpegTurbo
1.jpg
2.jpg
cgJpeg.dcu
cgJpeg.pas
DelphiJpegTurbo.dcu
DelphiJpegTurbo.dfm
DelphiJpegTurbo.pas
index.txt
jpeg62_32.dll
jpeg62_64.dll
libJPEG.dcu
libJPEG.pas
Project.dpr
Project.dproj
Project.dproj.local
Project.identcache
Project.res
RxConst.dcu
RxMaxMin.dcu
RxResConst.dcu
RxResConst_eng.dcu
RxSpin.dcu
RxStrUtils.dcu
RxVCLUtils.dcu
U_threadChargement.dcu
U_threadChargement.pas
U_threadChargement_2.dcu
U_threadChargement_2.pas