Independent JPEG Group's JPEG software release 6b
  with x86 SIMD extension for IJG JPEG library version 1.02
    == INSTALL ==
-----------------------------------------------------------

Υե

  ΥեǤϡSIMD  libjpeg 饤֥Υѥλ
  ޤʤ顢ǤϥꥸʥǤ libjpeg 饤֥ΰ
  (ѥλץǤλȤ)򤢤ٿƤȤ
  ͤоݤˤƤޤꥸʥǤλˡˤĤƤϡ
  install.doc (ʸ) 򻲾ȤƤ

    ֥ NASM ꡿󥹥ȡ
    ѥλ
       Microsoft Visual C++ 6.0 ʹߤ糫ȯĶ(DevStudio)ξ
       jconfig.h  Makefile 򤷤ƥѥ뤹
       UNIX Ķ configure ץȤȤ
    ʣեбǤ cjpeg/djpeg (altui/)
    ɥ򸺤餹ˤ
     SIMD ̿Ѥʤ褦ˤˤ


֥ NASM ꡿󥹥ȡ

   x86 SIMD  libjpeg 饤֥ SIMD ĥʬϡΤۤȤɤ
  x86 Υ֥ǽ񤫤ƤޤΥ֥쥽ɤ
  ֥뤹ˤϡNASM (Netwide Assembler) Ȥ֥餬ɬפǤ
  Microsoft  MASM 䤽θߴ֥ǤϰޤΤդƤ
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  NASM (Netwide Assembler) ϡ http://nasm.sourceforge.net/ or
  http://sourceforge.net/project/showfiles.php?group_id=6208 
  ɤǤޤVer.0.98.25 ʹߤŪСΤΤɬפǤ
  (2006/02)ǤκǿǤ Ver.0.98.39 Ǥ

  ʤx86 Ǥ Darwin  Mac OS X ʤɤǻѤϡǤϤޤ
  ˥꡼Ƥʤ Ver.0.98.40 ʹߤΥСΤΤɬפǤ
  ǤϡVer.0.98.40 Ͼ嵭θȤ CVS ݥȥ꤫饽
  ɤɤƥѥ롿󥹥ȡ뤹ɬפޤ

  Windows Ϥξϡnasm-0.XX.YY-win32.zip (XX.YY ˤϥСֹ椬)
  Ȥ̾Υեɤơ˴ޤޤ nasmw.exe 
  åѥμ¹ԥե뷲󥹥ȡ뤵Ƥ˥ԡޤ

  Ƽ PC-UNIX ξϡOS ۸ˤưܿѤߥѥå󶡤Ƥ
  礬ޤΤǡޤǽˤǧƤߤƤ줬ʤ
  ϡ嵭Ȥ饽(nasm-0.XX.YY.tar.gz)
  ƥѥ롿󥹥ȡ뤷Ƥlinux ξ rpm ѥå
  륷ƥξϡ嵭Ȥˤ rpm Хʥѥå
  Ǥޤ

  ȤơYASM (http://www.tortall.net/projects/yasm/) ϻȤʤ
  YASM  NASM ߴäƤޤߤΥС(0.4.0)Ǥ
  ޤߴ٤㤤˥Х(ɥ쥹׻ޤäǥʥɤ
  Ƥ)ᡢΥƥȤǤ YASM ǥ֥뤷ɤϤޤä
  ưޤǤ x86 SIMD extension for IJG JPEG library
  ǤϡȤ YASM ѤƤ AMD64  64bit бˤϤʤޤ󡣡


ѥλ

  ۤȤɤʬǥꥸʥǤѤꤢޤΤǡʲǤϡ
   SIMD ĥǤͭ濴˽Ҥ٤ޤ


   Microsoft Visual C++ 6.0 ʹߤ糫ȯĶ(DevStudio)ξ

    ۥåȤˤϡMicrosoft Visual C++ 6.0 ѤΥץȥե
    °ƤޤV6.0 ʹߤ VC++ ξϡVC++ 6.0 Υե
    Ѵ(ݡ)ƻȤäƤMicrosoft Visual C++ 2005 Express
    Edition ˤơݡȡѥǤ뤳ȤǧƤޤ

    ˡϡޤ vc6proj եˤե򡢥ե뷲
    (*.c) Τեˤ٤ưưޤ libjpeg.dsw 򳫤
    (⤷ϥݡȤ)˥塼 ӥɢХåӥ Ǥ٤Ƥ
    åƥӥɤУϣˤǤ

    ڡ libjpeg.dsw ˤϡʲΥץȤƤޤ

     makecfg.dsp

      ΥץȤϡmakecfg.c 򥳥ѥ롿󥯤ơ
      ӥɥƥåפǤ(makecfg.exe)¹Ԥlibjpeg.dsp Υӥɤ
      ɬפե jsimdcfg.inc Ư򤷤Ƥޤ

      ϡlibjpeg.dsp ѥ뤵ɬѥ(¹)
      ʤФʤޤ

     libjpeg.dsp

      JPEG 饤֥ libjpeg.lib ӥɤޤmakecfg.dsp Ϥ
      ե jsimdcfg.inc ɬפǤ

     cjpeg.dsp, djpeg.dsp, jpegtran.dsp, rdjpgcom.dsp, wrjpgcom.dsp

      IJG JPEG library °Ƥ륵ץ롦ץꥱǤ
      cjpeg  JPEG ̤djpeg  JPEG Ÿjpegtran  JPEG
      եѴ򤷤ޤrdjpgcom  wrjpgcom ϡJPEGե
      Υƥȥʸޤ

     apptest.dsp

      Ǥä cjpeg, djpeg, jpegtran ФƴñưƥȤ
      ޤ(make test Ʊ)ޤΥեȤǼºݤ˲ե
      ѴνϤ fc.exe Ӥޤ"FC: ϸ
      ޤǤ" ȤåɽСץ
      ưƤޤ

    JPEG 饤֥ libjpeg.lib ¾ΥեȤ˥󥯤뤿 libjpeg.dsp
    ¾Υڡ塼˴ޤϡmakecfg.dsp 
    ɬƱڡ塼˴ޤᡢ makecfg.dsp 
    libjpeg.dsp ˥ӥɤ褦ˡ¸طꤷƤ
    ϡ˽Ҥ٤褦ˡlibjpeg.dsp  makecfg.dsp Ϥ
    ե jsimdcfg.inc ɬפȤƤ뤿Ǥ

    ˡϡ(VC++ 6.0ξ) ˥塼 ץ  ¸ط 
    libjpeg 򤷡ΰ makecfg ˥åޤ


   jconfig.h  Makefile 򤷤ƥѥ뤹

    Windows ϤΥѥξǡޥɥ饤󤫤饳ѥ뤹
    ϡˡȤäƤ

    ˡϡ° jconfig.*  Makefile.* 椫ŬڤʤΤ򤽤줾
    Ĥӡ줾 jconfig.h  Makefile ̾Ѥޤ
    ơեΤǥ쥯ȥ(ե)򥫥ȥǥ
    ȥˤơޥɥ饤 make (VC++ ξ nmake)ȥ
    УϣˤǤϼưŪˡlibjpeg 饤֥ȡץ륢ץ
    (cjpeg  djpeg ʤ)ѥ뤵ޤ

    °Ƥ jconfig.*  Makefile.* ϡʲνϤбƤޤ
    ʤꥸʥǤ°Ƥ jconfig.*  Makefile.* ϡ
    SIMD бǤǤϻѤǤޤ(եιѤäƤ뤿)

     jconfig.dj  & makefile.dj  -- DJGPP v2.0 or later
     jconfig.bc5 & makefile.bc5 -- Borland C++ Compiler 5.5 (win32)
     jconfig.mgw & makefile.mgw, makefile.mgwdll -- MinGW
     jconfig.vc  & makefile.vc , makefile.vcdll  -- VC++ 6.0 or later
     jconfig.linux & makefile.linux -- linux

    ʳΥѥбϡinstall.doc ˽񤤤Ƥ
    褦ˡޤ ckconfig.c 򥳥ѥ롿¹Ԥ jconfig.h 
    makefile.unix ⤷ makefile.ansi ȤԽ Makefile 
    Ƥ

    ʲƥѥ˸ͭҤ٤ޤ

     jconfig.dj  & makefile.dj  -- DJGPP v2.0 or later.

      ǽʸ¤꿷СѤƤDJGPP 2.03 + gcc 3.4.4
      + binutils 2.16.1 ȤȤ߹碌ưǧƤޤ

      makefile.dj ˤϡgcc 3.4.x Υѥ륪ץ󤬽񤫤
      ޤΤǡgcc 3.4.x ʳǤޤѥǤʤϡŬ
      ľƻȤäƤ

     jconfig.bc5 & makefile.bc5 -- Borland C++ Compiler 5.5 (win32)

      ʤѥϤǤϤǤ BCC 5.5 ξϡ
      ۤȤɤΥ SSE/SSE2 ưޤͳϡBCC 5.5 °
      (ilink32.exe)ŤSSE16Хȶɥ쥹֤
      ȤǤʤǤ

      ΤᡢBCC 5.5 Ȥ SSE/SSE2 ΥݡȤ()
      ѥ뤹뤳Ȥ򤪴ᤤޤ

     jconfig.mgw & makefile.mgw, makefile.mgwdll -- MinGW

      ǽʸ¤꿷СѤƤgcc 3.4.4 + binutils
      2.16.91 ȤȤ߹碌ưǧƤޤ

      ޤGNU make 󥹥ȡ뤵Ƥ뤳ȤɬפǤMinGW ξ硢
      (make.exe ǤϤʤ) mingw32-make.exe Ȥ̾ǥ󥹥ȡ뤵
      ޤΤǡmake ǤϤʤ mingw32-make ȥפɬפޤ

       makefile ˤϡgcc 3.4.x Υѥ륪ץ󤬽
      ƤޤΤǡgcc 3.4.x ʳǤޤѥǤʤϡ
      Ŭ˽ľƻȤäƤ

      makefile.mgw ϡlibjpeg 饤֥Ū饤֥(libjpeg.a)
      ѥ뤷ǡ libjpeg.a 󥯤 cjpeg, djpeg,
      jpegtran ޤmakefile.mgwdll ϡlibjpeg 饤֥
      DLL(jpeg62.dll)˥ѥ뤷ǡ jpeg62.dll 󥯤
      cjpeg, djpeg, jpegtran ޤ

     jconfig.vc  & makefile.vc , makefile.vcdll  -- VC++ 6.0 or later

      VC++ 6.0 ʹߤʤ鲿ʤѥǤϤǤե꡼
      Ƥ Microsoft Visual C++ Toolkit 2003 Ǥ⡢nmake.exe
      󥹥ȡ뤵ƤХѥǤޤ

      makefile.vc ϡlibjpeg 饤֥Ū饤֥(libjpeg.lib)
      ѥ뤷ǡ libjpeg.lib 󥯤 cjpeg, djpeg,
      jpegtran ޤmakefile.vcdll ϡlibjpeg 饤֥
      DLL(jpeg62.dll)˥ѥ뤷ǡ jpeg62.dll 󥯤
      cjpeg, djpeg, jpegtran ޤ

     jconfig.linux & makefile.linux -- linux

      Ƽ linux бޤlinux ξ configure ץȤ
      ȤȤ򶯤ᤤޤ


   UNIX Ķ configure ץȤȤ

    Ƽ PC-UNIX ξʤɡ롦ץȤ餻뤳ȤΤǤ
    Ķξϡconfigure ץȤȤȴñ˥ѥǤޤ

      $ ./configure --enable-shared --enable-static
      $ make
      $ make test      (ưƥȡɬפ˱)
      # make install

    ˡǤϡʲΥץåȥեǥѥǤ뤳Ȥǧ
    ޤʳ UNIX  OS Ǥ⥳ѥϲǽȻפޤ
    㴳μľɬפˤʤ⤢뤫Ȼפޤ

    Vine Linux 2.6r4 (gcc 2.95.3)  Vine Linux 3.2 (gcc 3.4.4)
    Fedora core 3 (gcc 3.4.2)  Fedora core 4 (gcc 4.0.0)
    FreeBSD 5.4 (gcc 3.4.2)  FreeBSD 6.0 (gcc 3.4.4)
    NetBSD 2.0 (gcc 3.3.3)  NetBSD 3.0 (gcc 3.3.3)
    Solaris 10 1/06 for x64/x86 (i386-pc-solaris2.10)
    Darwin 8.0.1 for x86 (i386-apple-darwin8.0.1; gcc 3.3)
    MinGW & MSYS (gcc 3.4.4)
    cygwin (gcc 3.4.4)

    Ʊ configure ץȤ GNU autoconf 줿ΤǤ
     configure ץȤϡŪ configure ץȤǧ
    åץ¾ˡʲΥåǧޤ

     --enable-shared / --enable-static

      --enable-shared ꤹȡGNU libtool Ȥäƶͭ饤֥
      ޤ--enable-static ꤹȡƱ GNU libtool 
      ȤäŪ饤֥ޤξꤹȡͭ饤֥
      Ū饤֥ξޤդˤξȤꤷʤȡ
      GNU libtool Ȥ鷺Ū饤֥Τߤޤ

      ƥ˥󥹥ȡ뤹饤֥ξꤹ
      ɬפǤ礦

     --disable-mmx / --disable-3dnow / --disable-sse / --disable-sse2

       SIMD ̿᥻åȤΥݡ()ƥѥ뤷ޤ

     --enable-uchar-boolean

       bool  int ǤϤʤ unsigned char 
      ѹޤΥץ̾(äɬפǤʤ¤)Ѥʤ
      ϡMinGW ʤɤ Windows  UNIX Ķˤơbool 
       Windows ν˹碌뤿ѰդƤΤǤ

    ʲƥץåȥե˸ͭҤ٤ޤ

     Ƽ linux ǥȥӥ塼

      ۤɸŤΤǤʤ¤ꡢ嵭μǲʤѥǤ
      ϤǤ

      嵭μǶͭ饤֥硢ΥСֹ
      62.1.0 (ե̾libjpeg.so.62.1.0) ȤʤޤҤ
      Ȥꡢꥸʥ(ե̾libjpeg.so.62.0.0)ȥХʥ٥
      Ǥξ̸ߴޤΤǡꥸʥǤȤΤޤ֤뤳
      Ǥޤ

      rpm ȤäѥåѤƤǥȥӥ塼Ǥϡ
      Ʊ spec ե (libjpeg.spec) ⤴Ѥޤϡ
      Vine Linux 3.2  Fedora core 4 ǤưǧƤޤ

     xBSD եߥ (FreeBSD/NetBSD/OpenBSD)

      ǶΥС FreeBSD  NetBSD ˴ؤƤϡѥǤ
      ȤǧƤޤOpenBSD ˴ؤƤϤʤȻפޤ
      ֥ȥեޥåȤ a.out ȤäŤΤ˴ؤƤϡ
      եեޥåȤμ configure ץȤˤƸФǤ
      褦ˤƤޤư̤ǧǤ

      FreeBSD ξ硢嵭μǶͭ饤֥硢
      Сֹ 9 (ե̾libjpeg.so.9) Ȥʤޤϡ
      ports collection ˤǤΥСֹ˽सΤǡ
      (Хʥ̸ߴʤΤ)ǤȤΤޤ֤뤳ȤǤޤ
      NetBSD/OpenBSD ξΥСֹ 62.1.0 (ե̾
      libjpeg.so.62.1.0) ˤʤޤ(Хʥ̸ߴ)

     Solaris 10

      ԤΥƥȤǤϡ˥ѥǤơͭ饤֥꤬Хʥ
      ߴˤʤ뤳ȤǧƤޤ(ե̾libjpeg.so.62.1.0)
      Ǥ SIMD  libjpeg 饤֥ AMD64 ˤϸǤб
      Ƥʤᡢ32bitǤΥ饤֥ꤷޤ

     Darwin for x86

      ԤΥƥȤǤϡ˥ѥǤơͭ饤֥꤬Хʥ
      ߴˤʤ뤳ȤǧƤޤ(ե̾libjpeg.62.1.0.dylib)
      x86  Mac OS X Ǥ⡢ѥ뤵ǤưΤȻפޤ

      Ǥϡ֥ nasm  Darwin ؤΥݡȤʬǤʤᡢ
      ȥåʥɤ Darwin / Mac OS X бƤޤ
      ưˤϤޤäʤϤǤ

     MinGW & MSYS (gcc 3.4.4)

      MinGW ξϡ° makefile.mgw / makefile.mgwdll ȤȤ
      侩ޤMSYS 󥹥ȡ뤵Ƥ configure ץ
      Ȥޤξϡconfigure ץȤ餻ݤ
      --enable-uchar-boolean ɬꤷƤ뤳Ȥǡ
      ¾ Windows Ϥν(VC++ʤ)Ϥ륳ɤȥХʥߴ
      ʤޤ

     cygwin (gcc 3.4.4)

      ޤդ٤ϡcygwin ξ硢cygwin ˥꡼
       DLL (cygjpeg-62.dll) ȤϥХʥߴˤϤʤޤ󡣤ϡ
      ǤΥХʥˤ lossless jpeg patch (ljpeg-6b.tar.gz) Ȥ
      ѥåޤޤƤ뤿ǡSIMDǤФƤΥѥåŬ
      뤳ȤϺǤ

      ХʥߴǤϤʤᡢ꡼Ǥ DLL 򤳤SIMDǤ֤
      뤳ȤϤǤޤ󡣤ΤSIMDǤ DLL  cygjpeg-162.dll
      Ȥ̾ˤʤ褦ˤƤޤ򥷥ƥ˥󥹥ȡ뤹
      ȤǤޤSIMDǤ DLL ѤˤϡJPEG 饤֥
      ѤƤ륽եȤƥѥ롿ƥ󥯤ɬפޤ

      ʤ DLL ˤĤСֹѤСconfigure
      ץȤ餻 config.ver ƤѹƤ


ʣեбǤ cjpeg/djpeg (altui/)

  ץ륢ץꥱ cjpeg  djpeg ˤĤƤǤǥեȤ
  ֤ǥѥ뤵(¾Υե뷲Ʊˤ cjpeg.c
   djpeg.c) ϡ٤˰ĤΥե뤷ѴǤʤΤǤĤޤꡢ
  ϥեϥޥɥ饤˰ĤǤϤɸϤ
  -outfile ץǻꤷե˽񤭽ФޤƼ UNIX 
  OS ˥󥹥ȡ뤵ѤƤ cjpeg/djpeg ϤΥפΤΤǤ

  IJG ˥꡼Ƥ MS-DOS Ǥ cjpeg/djpeg
  (ftp://ftp.simtel.net/.2/simtelnet/msdos/graphics/jpeg6_b.zip) Ǥϡ
  ʣϥեǤϤϥեƱ˼ưŪ
  ޤΥפ cjpeg/djpeg ꤿСaltui/ ˤ
  cjpeg.c  djpeg.c 򡢸餢(եǤ) cjpeg.c / djpeg.c 
  ؤƥѥ뤷Ƥ altui Ǥ cjpeg.c / djpeg.c ϡ
   jpegaltui.v6b.tar.gz Ȥե̾ۤƤΤФ
  SIMD б˴ؤ뽤äΤǤ

  ʣեбǤ cjpeg/djpeg  Windows Ϥʤɤ UNIX Ķ
  Ѥ硢ϥե̾磻ɥɤǻǤ褦ˤˤϡ
  ƥѥ˸̤꤬ͭɬפˤʤ礬ޤʤʤ顢
  MS-DOSϡWindowsϤδĶǤϰ̤ˡ磻ɥɤŸϥѥ
  °ΥȥåץǹԤʤ뤿Ǥ

  MinGW  DJGPP V.2 ʤɤξϡ磻ɥɤŸϺǽ餫ͭ
  ˤʤäƤ뤿ᡢ̤ʤȤ򤷤ʤƤ磻ɥɤˤե
  ϤǤޤMicrosoft Visual C++  Borland C++ ξϡ̡磻
  Ÿͭ륪֥ȥեǤ setargv.obj 
  wildargs.obj  EXE եΥ󥯻¾Υ֥ȥեȰ
  󥯤뤳Ȥǡ磻ɥŸͭǤޤ SIMD 
  cjpeg/djpeg ξϡsetargv.obj  wildargs.obj Ƥ륳ɤ
  cjpeg.c/djpeg.c ľܽ񤭹Ǥ뤿ᡢץȥե Makefile
  ˾嵭Υ֥ȥեɲäʤƤ⡢磻ɥɤˤե
  ꤬Ǥ褦ˤƤޤʳΣåѥѤǡ
  磻ɥɤˤե꤬ǤʤϡѥΥޥ˥奢
  򻲾Ȥơ磻ɥŸͭǥѥ뤷Ƥ

  linux ʤɤ UNIX ĶǤϡ磻ɥɤŸϥץब
  ư˥ޥɥˤäƹԤʤ뤿ᡢѥʤ
  ɬפޤ󡣥磻ɥɤˤե̾Ͼ˻Ȥޤ


ɥ򸺤餹ˤ

  SIMD ɤղäᡢʬɥƤޤǤ
  JPEG library ʲΤ褦ʥǥեȤξ֤Ǿ˻ѤƤΤʤС
  jmorecfg.h ˤ(ޥ)ʲΤ褦ѹƥѥ
  뤳ȤǡѤʤɤ뤳ȤǤɥ򸺤餹
  ȤǤޤ

   cinfo.dct_method ͤѹƤʤ

    ѿ DCT黻ˡꤷcjpeg/djpeg Ǥ -dct ץ
    бޤѿͤϥǥեȤǤ JDCT_ISLOW ǡäͳ
    ʤ¤ꤳΥǥեȤξ֤ǻѤ뤳Ȥ򶯤侩ޤʲ
    ޥ #undef ˤ뤳ȤǡJDCT_ISLOW ξ֤ǤϷ褷ƻѤʤ
    ɤǤޤ

    #define DCT_IFAST_SUPPORTED  ->  #undef DCT_IFAST_SUPPORTED
    #define DCT_FLOAT_SUPPORTED  ->  #undef DCT_FLOAT_SUPPORTED

    Ǥ⤫ʤΥɥ︺Ǥޤä DCT_FLOAT_SUPPORTED
     #undef ˤȡ3DNow!  SSE ΥݡȤ⼫ưŪ̵ˤʤޤ

  Ÿ cinfo.do_fancy_upsampling ͤѹƤʤ

    ѿ djpeg Ǥ -nosmooth ץ-nosmooth 
     FALSE ꤵޤǥեȤǤ TRUE ǡäͳ
    ʤ¤ꤳΥǥեȤξ֤ǻѤ뤳Ȥ򶯤侩ޤʲ
    ޥ #undef ˤ뤳ȤǡTRUE ξ֤ǤϷ褷ƻѤʤɤ
    Ǥޤ

    #define UPSAMPLE_MERGING_SUPPORTED  ->  #undef UPSAMPLE_MERGING_SUPPORTED

  Ÿ cinfo.scale_num, cinfo.scale_denom ͤѹƤʤ

    פˡJPEG̾Ÿפεǽǡdjpeg Ǥ -scale M/N 
    ޤͥʤɤξѤ뤳Ȥ¿
    ǽǤޤäѤƤʤϡʲΥޥ #undef
    ˤ뤳Ȥǡ̤︺Ǥޤ

    #define IDCT_SCALING_SUPPORTED  ->  #undef IDCT_SCALING_SUPPORTED

  ȤơѿɤΤ褦ʾ֤ǻȤ뤫ͽ¬Ǥʤ
  硢ȤСƥ˥󥹥ȡ뤹붦ͭ饤֥ʤ
  ϡäɺ︺ϹԤʤ٤ǤϤޤ󡣥ɺ︺Ԥʤ
  ΤϡJPEG 饤֥λȤ褯狼äƤΥץꥱ
  ˥󥯤ΤߤˤƤ


 SIMD ̿Ѥʤ褦ˤˤ

   jconfig.h ˤ롢#undef JSIMD_***_NOT_SUPPORTED Ȥ
  ޥ #define ˤ뤳ȤǼ¸Ǥޤconfigure ץȤ
  --disable-mmx ʤɤΥץꤷϡΥޥϼưŪ
  #define ޤ

  3DNow!  SSE ϸưDCTˤѤƤޤΤǡҤ
  DCT_FLOAT_SUPPORTED  #undef ˤǤޤȤ̵ˤޤ
  MMX  SSE2 ϡŸγƽѤƤơ®ؤι׸٤
  ⤤ΤǡͭˤƤȤᤷޤȤ߹Ӥʤɡ
  餻ץåμब狼äƤϡ̾Ѥʤ
  ΥݡȤ򳰤Ȥǡɥκ︺Ǥޤ



[EOF]
