• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

_msvc/H23-Aug-2020-4,3774,373

doc/example/H23-Aug-2020-3,1502,353

m4/H23-Aug-2020-561494

src/H23-Aug-2020-32,55424,084

test/H23-Aug-2020-11,8719,058

.coverity-prepare.shH A D23-Aug-2020141 54

.gitignoreH A D23-Aug-2020585 5551

.gitmodulesH A D23-Aug-2020114 43

.travis-script.shH A D23-Aug-2020624 2619

.travis.ymlH A D23-Aug-20202.1 KiB7572

COPYINGH A D23-Aug-2020484 159

ChangeLogH A D23-Aug-20205.9 KiB172140

Makefile.amH A D23-Aug-202013.4 KiB439366

README.mdH A D23-Aug-20203.4 KiB8465

autogen.shH A D23-Aug-202050 41

configure.acH A D23-Aug-20204.9 KiB127100

dummy.cppH A D23-Aug-20200 10

zimg.pc.inH A D23-Aug-2020372 1512

README.md

1z.lib
2======
3The "z" library implements the commonly required image processing basics of
4scaling, colorspace conversion, and depth conversion. A simple API enables
5conversion between any supported formats to operate with minimal knowledge
6from the programmer. All library routines were designed from the ground-up
7with correctness, flexibility, and thread-safety as first priorities.
8Allocation, buffering, and I/O are cleanly separated from processing, allowing
9the programmer to adapt "z" to many scenarios.
10
11Requirements
12-----
13- Byte-addressable architecture
14- Two's complement integer encoding
15- 32-bit or greater machine word
16- C++11 compiler
17- Platforms: Microsoft Windows, POSIX
18
19Building
20-----
21The officially supported build system is GNU autotools. Use the provided
22"autogen.sh" script to instantiate the familiar "configure" and "make" build
23system. Visual Studio project files are not stable and are subject to change.
24
25Capabilities
26-----
27### Colorspace
28
29Colorspaces: SMPTE-C (NTSC), Rec.709, Rec.2020
30
31The colorspace module provides for conversion between any combination of
32colorspaces, as defined by the commonly used triplet of matrix coefficients,
33transfer characteristics, and color primaries. Conversions are implemented
34with intelligent logic that minimizes the number of intermediate
35representations required for common scenarios, such as conversion between
36YCbCr and RGB. Support is also provided for the non-traditional YCbCr system
37of ITU-R BT.2020 constant luminance (CL), which retains higher fidelity with
38chroma subsampling. Note that "z" is not a color management system and should
39not be used to perform drastic contrast or gamut reduction, such as BT.2020
40to BT.709.
41
42### Depth
43
44Formats: BYTE, WORD, HALF, FLOAT
45
46The depth module provides for conversion between any pixel (number) format,
47including one and two-byte integer formats as well as IEEE-754 binary16
48(OpenEXR) and binary32 formats. Limited range (16-235) and full swing (0-255)
49integer formats are supported, including conversion between such formats.
50Multiple dithering methods are available when converting to integer formats,
51from basic rounding to high quality error diffusion.
52
53### Resize
54
55The resize module provides high fidelity linear resamplers, including the
56popular Bicubic and Lanczos filters. Resampling ratios of up to 100x are
57supported for upsampling and downsampling. Full support is provided for
58various coordinate systems, including the various chroma siting conventions
59(e.g. JPEG and MPEG2) as well as interlaced images.
60
61Performance
62-----
63"z" is optimized for Intel(R) Architecture and features faster processing times
64than industry standard swscale software.
65
66Time (ms) to resize FHD image to UHD with Lanczos filter.
67
68|                                | z.lib 2.8 | swscale 4.0.2* |
69|--------------------------------|-----------|----------------|
70| Intel(R) Core(TM) i7-8565U     |       7.7 |           15.2 |
71| Intel(R) Xeon(R) Platinum 8176 |      10.8 |           22.2 |
72
73Time (ms) to convert FHD BT.709 (YUV) to FHD BT.2020.
74
75|                                | z.lib 2.8 | swscale 4.0.2** |
76|--------------------------------|-----------|-----------------|
77| Intel(R) Core(TM) i7-8565U     |       8.3 |            17.5 |
78| Intel(R) Xeon(R) Platinum 8176 |      11.5 |            25.6 |
79
80\* `scale=3840:2160:sws_flags=lanczos+accurate_rnd:sws_dither=none`
81
82\** `colorspace=all=bt2020:iall=bt709:format=yuv420p10`
83
84