Lucas CHOLLET 75748d93ce [libpng16] Add support for reading and writing the cICP chunk
This chunk was added in the third edition of the PNG specification and
contains Coding Independent Code Points (related to color space
description). It is fairly simple as it only contains four fields of one
byte each: Colour Primaries, Transfer Function, Matrix Coefficients,
Video Full Range Flag.

The test file originally comes from the related WPT test case:
https://github.com/web-platform-tests/wpt/blob/master/png/support/cicp-display-p3.png

Note that I reencoded the file to make it match libpng's default
encoding parameters (it only modifies the IDAT chunk).

This is a cherry-pick of commit 65925ad4b2cbed934d5d850fe764dc46c4becbcb
from branch 'libpng18'.

Reviewed-by: John Bowler <jbowler@acm.org>
Reviewed-by: Chris Blume <ProgramMax@gmail.com>
Reviewed-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
2025-01-02 11:15:20 +02:00
..
2024-09-14 11:46:34 +03:00
2020-03-29 23:58:29 -04:00
2020-03-29 23:58:29 -04:00
2020-03-29 23:58:29 -04:00
2009-04-06 16:04:20 -05:00

Scripts and makefiles for libpng
--------------------------------

    pnglibconf.h.prebuilt  =>  Configuration settings

    makefile.aix      =>  AIX/gcc makefile
    makefile.amiga    =>  Amiga makefile
    makefile.atari    =>  Atari makefile
    makefile.bc32     =>  Borland C makefile, for Win32
    makefile.beos     =>  BeOS makefile
    makefile.clang    =>  Generic clang makefile
    makefile.darwin   =>  Darwin makefile, for macOS (formerly Mac OS X)
    makefile.dec      =>  DEC Alpha UNIX makefile
    makefile.dj2      =>  DJGPP 2 makefile
    makefile.emcc     =>  Emscripten makefile
    makefile.freebsd  =>  FreeBSD makefile
    makefile.gcc      =>  Generic gcc makefile
    makefile.hpgcc    =>  HPUX makefile using gcc
    makefile.hpux     =>  HPUX (10.20 and 11.00) makefile
    makefile.hp64     =>  HPUX (10.20 and 11.00) makefile, 64-bit
    makefile.ibmc     =>  IBM C/C++ version 3.x for Win32 and OS/2 (static lib)
    makefile.intel    =>  Intel C/C++ version 4.0 and later
    makefile.linux    =>  Linux/ELF makefile
                          (gcc, creates shared libpng16.so.16.1.6.*)
    makefile.mips     =>  MIPS makefile
    makefile.msys     =>  MSYS (MinGW) makefile
    makefile.netbsd   =>  NetBSD/cc makefile, makes shared libpng.so
    makefile.openbsd  =>  OpenBSD makefile
    makefile.riscos   =>  Acorn RISCOS makefile
    makefile.sco      =>  SCO OSr5 ELF and Unixware 7 with Native cc
    makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, static lib)
    makefile.sggcc    =>  Silicon Graphics makefile
                          (gcc, creates shared libpng16.so.16.1.6.*)
    makefile.solaris  =>  Solaris 2.X makefile
                          (gcc, creates shared libpng16.so.16.1.6.*)
    makefile.so9      =>  Solaris 9 makefile
                          (gcc, creates shared libpng16.so.16.1.6.*)
    makefile.std      =>  Generic UNIX makefile (cc, static lib)
    makefile.sunos    =>  Sun makefile
    makefile.32sunu   =>  Sun Ultra 32-bit makefile
    makefile.64sunu   =>  Sun Ultra 64-bit makefile
    makefile.vcwin32  =>  makefile for Microsoft Visual C++ 4.0 and later
    makevms.com       =>  VMS build script
    smakefile.ppc     =>  AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
                          (Requires SCOPTIONS, copied from SCOPTIONS.ppc)

Other supporting scripts
------------------------

    README.txt        =>  This file
    descrip.mms       =>  VMS makefile for MMS or MMK
    libpng-config-body.in  =>  used by several makefiles to create libpng-config
    libpng-config-head.in  =>  used by several makefiles to create libpng-config
    libpng.pc.in      =>  Used by several makefiles to create libpng.pc
    macro.lst         =>  Used by GNU Autotools
    pngwin.rc         =>  Used by the visualc71 project
    pngwin.def        =>  Used by makefile.os2
    pngwin.dfn        =>  Used to maintain pngwin.def
    SCOPTIONS.ppc     =>  Used with smakefile.ppc

    checksym.awk      =>  Used for maintaining pnglibconf.h
    dfn.awk           =>  Used for maintaining pnglibconf.h
    options.awk       =>  Used for maintaining pnglibconf.h
    pnglibconf.dfa    =>  Used for maintaining pnglibconf.h
    pnglibconf.mak    =>  Used for maintaining pnglibconf.h
    intprefix.c       =>  Used for symbol versioning
    prefix.c          =>  Used for symbol versioning
    sym.c             =>  Used for symbol versioning
    symbols.c         =>  Used for symbol versioning
    vers.c            =>  Used for symbol versioning

Further information can be found in comments in the individual scripts and
makefiles.