• Show log

    Commit

  • Hash : e69dd40c
    Author : DRC
    Date : 2024-01-23T13:26:41

    Reorganize source to make things easier to find
    
    - Move all libjpeg documentation, except for README.ijg, into the doc/
      subdirectory.
    
    - Move the TurboJPEG C API documentation from doc/html/ into
      doc/turbojpeg/.
    
    - Move all C source code and headers into a src/ subdirectory.
    
    - Move turbojpeg-jni.c into the java/ subdirectory.
    
    Referring to #226, there is no ideal solution to this problem.  A
    semantically ideal solution would have involved placing all source code,
    including the SIMD and Java source code, under src/ (or perhaps placing
    C library source code under lib/ and C test program source code under
    test/), all header files under include/, and all documentation under
    doc/.  However:
    
    - To me it makes more sense to have separate top-level directories for
      each language, since the SIMD extensions and the Java API are
      technically optional features.  src/ now contains only the code that
      is relevant to the core C API libraries and associated programs.
    - I didn't want to bury the java/ and simd/ directories or add a level
      of depth to them, since both directories already contain source code
      that is 3-4 levels deep.
    - I would prefer not to separate the header files from the C source
      code, because:
      1. It would be disruptive.  libjpeg and libjpeg-turbo have
         historically placed C source code and headers in the same
         directory, and people who are familiar with both projects (self
         included) are used to looking for the headers in the same directory
         as the C source code.
      2. In terms of how the headers are used internally in libjpeg-turbo,
         the distinction between public and private headers is a bit fuzzy.
    - It didn't make sense to separate the test source code from the library
      source code, since there is not a clear distinction in some cases.
      (For instance, the IJG image I/O functions are used by cjpeg and djpeg
      as well as by the TurboJPEG API.)
    
    This solution is minimally disruptive, since it keeps all C source code
    and headers together and keeps java/ and simd/ as top-level directories.
    It is a bit awkward, because java/ and simd/ technically contain source
    code, even though they are not under src/.  However, other solutions
    would have been more awkward for different reasons.
    
    Closes #226
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/libjpeg-turbo.git
    Git SSH git@git.kmx.io:kc3-lang/libjpeg-turbo.git
    Public access ? public
    Description

    Fork of libjpeg with SIMD

    Users
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg_l thodg
    Tags

  • ReadMe.txt

  • libjpeg-turbo is a JPEG image codec that uses SIMD instructions to accelerate baseline JPEG compression and decompression on x86, x86-64, Arm, PowerPC, and MIPS systems, as well as progressive JPEG compression on x86, x86-64, and Arm systems.  On such systems, libjpeg-turbo is generally 2-6x as fast as libjpeg, all else being equal.  On other types of systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by virtue of its highly-optimized Huffman coding routines.  In many cases, the performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs.
    
    libjpeg-turbo implements both the traditional libjpeg API as well as the less powerful but more straightforward TurboJPEG API.  libjpeg-turbo also features colorspace extensions that allow it to compress from/decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java interface.
    
    libjpeg-turbo was originally based on libjpeg/SIMD, an MMX-accelerated derivative of libjpeg v6b developed by Miyasaka Masaru.  The TigerVNC and VirtualGL projects made numerous enhancements to the codec in 2009, and in early 2010, libjpeg-turbo spun off into an independent project, with the goal of making high-speed JPEG compression/decompression technology available to a broader range of users and developers.  libjpeg-turbo is an ISO/IEC and ITU-T reference implementation of the JPEG standard.