• Show log

    Commit

  • Hash : b5a9ef64
    Author : DRC
    Date : 2022-11-13T13:00:26

    Don't allow 12-bit JPEG support to be disabled
    
    In libjpeg-turbo 2.1.x and prior, the WITH_12BIT CMake variable was used
    to enable 12-bit JPEG support at compile time, because the libjpeg API
    library could not handle multiple JPEG data precisions at run time.  The
    initial approach to handling multiple JPEG data precisions at run time
    (7fec5074f962b20ed00b4f5da4533e1e8d4ed8ac) created a whole new API,
    library, and applications for 12-bit data precision, so it made sense to
    repurpose WITH_12BIT to allow 12-bit data precision to be disabled.
    e8b40f3c2ba187ba95c13c3e8ce21c8534256df7 made it so that the libjpeg API
    library can handle multiple JPEG data precisions at run time via a
    handful of straightforward API extensions.  Referring to
    6c2bc901e27b047440ed46920c4d3f0480b48268, it hasn't been possible to
    build libjpeg-turbo with both forward and backward libjpeg API/ABI
    compatibility since libjpeg-turbo 1.4.x.  Thus, whereas we retain full
    backward API/ABI compatibility with libjpeg v6b-v8, forward libjpeg
    API/ABI compatibility ceased being realistic years ago, so it no longer
    makes sense to provide compile-time options that give a false sense of
    forward API/ABI compatibility by allowing some (but not all) of our
    libjpeg API extensions to be disabled.  Such options are difficult to
    maintain and clutter the code with #ifdefs.
    

  • 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.