• Show log

    Commit

  • Hash : bfc3ce31
    Author : DRC
    Date : 2018-04-10T15:50:22

    x86[-64] SIMD: Don't auto-generate jsimdcfg.inc
    
    The old Un*x (autotools-based) build system always auto-generated this
    file, but that behavior was more or less a relic of the days before the
    libjpeg-turbo colorspace extensions were implemented.  The thinking was
    that, if a particular developer wanted to change RGB_RED, RGB_GREEN,
    RGB_BLUE, or RGB_PIXELSIZE in order to compress from/decompress to
    different RGB pixel layouts, then the SIMD extensions should
    automatically respond to those changes whenever they were made to
    jmorecfg.h.  The modern reality is that changing RGB_* is no longer
    necessary because of the libjpeg-turbo colorspace extensions, and
    changing any of the other constants in jsimdcfg.inc can't be done
    without making deeper modifications to the SIMD extensions.  In general,
    we treat RGB_* as a de facto, immutable part of the legacy libpjeg API.
    Realistically, since the values of those constants have been the same in
    every Un*x distribution released in the past 20-30 years, any software
    that uses a system-supplied build of libjpeg must assume that those
    constants will have default values.
    
    Furthermore, even if it made sense to auto-generate jsimdcfg.inc, it was
    never possible to do so on Windows, so it was always going to be
    necessary to manually generate the Windows version of the file whenever
    any of the constants changed.  This commit introduces a new custom CMake
    target called "jsimdcfg" that can be used, on Un*x platforms, to
    generate jsimdcfg.inc on demand, although this should only be necessary
    when introducing new x86 SIMD instructions or making other deep
    modifications, such as SIMD acceleration for 12-bit JPEGs.
    
    For those who may be wondering why we don't do the same thing for
    win/jconfig.h.in, it's because performing all of the necessary CMake
    checks to populate that file is very slow on Windows.
    

  • 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