Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > New and alternative video codecs

Reply
 
Thread Tools Search this Thread Display Modes
Old 28th March 2021, 22:33   #421  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 812
Quote:
Originally Posted by Marsu42 View Post
The more probably progress of AV2 will be including more patented stuff from AVC, HEVC and VVC once it expires - which might take some time.
The number of VVC patches has decreased. We'll see what time will tell.
Jamaika is offline   Reply With Quote
Old 28th March 2021, 22:38   #422  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 812
Test
avifenc.exe -a tune=butteraugli -j 4 160011_architecture-air-conditioner-building.jpg 160011_architecture-air-conditioner-building.avif
ERROR: Failed to finish encoding: Encoding of color planes failed

heifenc.exe image_21447_48bit.png -v -L -q 100 --avif -b 8 --no-alpha -p chroma=444 -p speed=5 -p tune=butteraugli --matrix_coefficients=1 --full_range_flag=0 -o image_21447_36bit.avif
ERROR:
Jamaika is offline   Reply With Quote
Old 29th March 2021, 22:15   #423  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 812
New codecs for maniac 2021.03.29
https://www.sendspace.com/file/zu5ipq

Problem with webp2:
Code:
#if !defined(_MSC_VER)
#ifdef WP2_HAVE_BOOST
#include <boost/stacktrace.hpp>
#include <sstream>
#else
#include "execinfo.h"
#endif
#endif
Fix
#if !defined(_WIN32) || !defined(_WIN64)

libyuv 1785 - problem with SIMD AVX2 GCC
C:\Users\KOMPUT~1\AppData\Local\Temp\ccLXwvku.s: Assembler messages:
C:\Users\KOMPUT~1\AppData\Local\Temp\ccLXwvku.s:7873: Error: operand type mismatch for `vbroadcastss'
C:\Users\KOMPUT~1\AppData\Local\Temp\ccLXwvku.s:7948: Error: operand type mismatch for `vbroadcastss'
Change:
Code:
#ifdef HAS_ARGBTOAR30ROW_SSSE3
void ARGBToAR30Row_SSSE3(const uint8_t* src, uint8_t* dst, int width) { ... }

void ABGRToAR30Row_SSSE3(const uint8_t* src, uint8_t* dst, int width) { ... }
#endif
Code:
#ifdef HAS_ARGBTOAR64ROW_SSSE3
void ARGBToAR64Row_SSSE3(const uint8_t* src_argb,
                         uint16_t* dst_ar64,
                         int width) { ... }

void AR64ToARGBRow_SSSE3(const uint16_t* src_ar64,
                         uint8_t* dst_argb,
                         int width) { ... }

void AB64ToARGBRow_SSSE3(const uint16_t* src_ab64,
                         uint8_t* dst_argb,
                         int width) { ... }
#endif
Code:
#if defined(HAS_ARGBTOYROW_SSSE3) || defined(HAS_I422TOARGBROW_SSSE3)
void BGRAToYRow_SSSE3(const uint8_t* src_bgra, uint8_t* dst_y, int width) { ... }

void BGRAToUVRow_SSSE3(const uint8_t* src_bgra,
                       int src_stride_bgra,
                       uint8_t* dst_u,
                       uint8_t* dst_v,
                       int width) { ... }

void ABGRToYRow_SSSE3(const uint8_t* src_abgr, uint8_t* dst_y, int width) { ... }

void RGBAToYRow_SSSE3(const uint8_t* src_rgba, uint8_t* dst_y, int width) { ... }

void ABGRToUVRow_SSSE3(const uint8_t* src_abgr,
                       int src_stride_abgr,
                       uint8_t* dst_u,
                       uint8_t* dst_v,
                       int width) { ... }

void RGBAToUVRow_SSSE3(const uint8_t* src_rgba,
                       int src_stride_rgba,
                       uint8_t* dst_u,
                       uint8_t* dst_v,
                       int width) { ... }
#endif
Code:
#ifdef HAS_CONVERT16TO8ROW_SSSE3
void Convert16To8Row_SSSE3(const uint16_t* src_y,
                           uint8_t* dst_y,
                           int scale,
                           int width) { ... }
#endif
Code:
#ifdef HAS_HALFMERGEUVROW_SSSE3
void HalfMergeUVRow_SSSE3(const uint8_t* src_u,
                          int src_stride_u,
                          const uint8_t* src_v,
                          int src_stride_v,
                          uint8_t* dst_uv,
                          int width) { ... }
#endif
Code:
#ifdef HAS_HALFMERGEUVROW_AVX2
void HalfMergeUVRow_AVX2(const uint8_t* src_u,
                         int src_stride_u,
                         const uint8_t* src_v,
                         int src_stride_v,
                         uint8_t* dst_uv,
                         int width) { ... }
#endif
Code:
ANY11(RGB565ToARGBRow_Any_SSE2, RGB565ToARGBRow_SSE2, 0, 2, 4, 7)
ANY11(ARGB1555ToARGBRow_Any_SSE2, ARGB1555ToARGBRow_SSE2, 0, 2, 4, 7)
ANY11(ARGB4444ToARGBRow_Any_SSE2, ARGB4444ToARGBRow_SSE2, 0, 2, 4, 7)
#if defined(HAS_RGB24TOARGBROW_SSSE3)
ANY11(RGB24ToARGBRow_Any_SSSE3, RGB24ToARGBRow_SSSE3, 0, 3, 4, 15)
ANY11(RAWToARGBRow_Any_SSSE3, RAWToARGBRow_SSSE3, 0, 3, 4, 15)
#endif
Code:
ANY11(YUY2ToYRow_Any_SSE2, YUY2ToYRow_SSE2, 1, 4, 1, 15)
ANY11(UYVYToYRow_Any_SSE2, UYVYToYRow_SSE2, 1, 4, 1, 15)
#ifdef HAS_BGRATOYROW_SSSE3
ANY11(BGRAToYRow_Any_SSSE3, BGRAToYRow_SSSE3, 0, 4, 1, 15)
ANY11(ABGRToYRow_Any_SSSE3, ABGRToYRow_SSSE3, 0, 4, 1, 15)
ANY11(RGBAToYRow_Any_SSSE3, RGBAToYRow_SSSE3, 0, 4, 1, 15)
#endif
Code:
#ifdef HAS_SCALEROWUP2BILINEAR_16_SSE2
SU2BLANY(ScaleRowUp2_Bilinear_16_Any_SSE2,
         ScaleRowUp2_Bilinear_16_SSE2,
         ScaleRowUp2_Bilinear_16_C,
         7,
         uint16_t)
#endif
Code:
#ifdef HAS_SCALEROWUP2BILINEAR_16_SSSE3
  if (TestCpuFlag(kCpuHasSSSE3)) {
    Scale2RowUp = ScaleRowUp2_Bilinear_16_Any_SSSE3;
  }
#endif
Code:
#ifdef HAS_SCALEROWDOWN2_SSSE3
void ScaleRowDown2_SSSE3(const uint8_t* src_ptr,
                         ptrdiff_t src_stride,
                         uint8_t* dst_ptr,
                         int dst_width) { ... }

void ScaleRowDown2Linear_SSSE3(const uint8_t* src_ptr,
                               ptrdiff_t src_stride,
                               uint8_t* dst_ptr,
                               int dst_width) { ... }

void ScaleRowDown2Box_SSSE3(const uint8_t* src_ptr,
                            ptrdiff_t src_stride,
                            uint8_t* dst_ptr,
                            int dst_width) { ... }
#endif
Code:
#ifdef HAS_SCALEROWDOWN4_SSSE3
void ScaleRowDown4_SSSE3(const uint8_t* src_ptr,
                         ptrdiff_t src_stride,
                         uint8_t* dst_ptr,
                         int dst_width) { ... }

void ScaleRowDown4Box_SSSE3(const uint8_t* src_ptr,
                            ptrdiff_t src_stride,
                            uint8_t* dst_ptr,
                            int dst_width) { ... }
#endif
Code:
#ifdef HAS_SCALEROWDOWN34_SSSE3
void ScaleRowDown34_SSSE3(const uint8_t* src_ptr,
                          ptrdiff_t src_stride,
                          uint8_t* dst_ptr,
                          int dst_width) { ... }

void ScaleRowDown34_1_Box_SSSE3(const uint8_t* src_ptr,
                                ptrdiff_t src_stride,
                                uint8_t* dst_ptr,
                                int dst_width) { ... }

void ScaleRowDown34_0_Box_SSSE3(const uint8_t* src_ptr,
                                ptrdiff_t src_stride,
                                uint8_t* dst_ptr,
                                int dst_width) { ... }

void ScaleRowDown38_SSSE3(const uint8_t* src_ptr,
                          ptrdiff_t src_stride,
                          uint8_t* dst_ptr,
                          int dst_width) { ... }

void ScaleRowDown38_2_Box_SSSE3(const uint8_t* src_ptr,
                                ptrdiff_t src_stride,
                                uint8_t* dst_ptr,
                                int dst_width) { ... }

void ScaleRowDown38_3_Box_SSSE3(const uint8_t* src_ptr,
                                ptrdiff_t src_stride,
                                uint8_t* dst_ptr,
                                int dst_width) { ... }
#endif
Code:
#ifdef HAS_SCALEFILTERCOLS_SSSE3
void ScaleFilterCols_SSSE3(uint8_t* dst_ptr,
                           const uint8_t* src_ptr,
                           int dst_width,
                           int x,
                           int dx) { ... }
#endif
Code:
#ifdef HAS_SCALEARGBFILTERCOLS_SSSE3
void ScaleARGBFilterCols_SSSE3(uint8_t* dst_argb,
                               const uint8_t* src_argb,
                               int dst_width,
                               int x,
                               int dx) { ... }
#endif
Code:
#ifdef __AVX2__
// Visual C 2012 required for AVX2.
#if defined(_M_IX86) && !defined(__clang__) && defined(_MSC_VER) && \
    _MSC_VER >= 1700
#define VISUALC_HAS_AVX2
#endif  // VisualStudio >= 2012

// clang >= 3.4.0 required for AVX2.
#if defined(__clang__) && (defined(__x86_64__) || defined(__i386__))
#if (__clang_major__ > 3) || (__clang_major__ == 3 && (__clang_minor__ >= 4))
#define CLANG_HAS_AVX2
#endif  // clang >= 3.4
#endif  // __clang__

#if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
#if (__GNUC__ > 4) || (__GNUC__ == 4 && (__GNUC_MINOR__ >= 7))
#define GCC_HAS_AVX2
#endif  // GNUC >= 4.7
#endif  // __GNUC__
#endif

// The following are available for Visual C and GCC:
#if !defined(LIBYUV_DISABLE_X86) && \
    (defined(__x86_64__) || defined(__i386__) || defined(_M_IX86))
#ifdef __SSE4_1__
#define HAS_HASHDJB2_SSE41
#endif
#define HAS_SUMSQUAREERROR_SSE2
#ifdef __SSE4_2__
#define HAS_HAMMINGDISTANCE_SSE42
#endif
#endif
Code:
// The following are available for GCC and clangcl 64 bit:
#if !defined(LIBYUV_DISABLE_X86) && defined(__SSSE3__) && \
    (defined(__x86_64__) || defined(__i386__)) && !defined(_MSC_VER)
#define HAS_HAMMINGDISTANCE_SSSE3
#endif

// The following are available for GCC and clangcl 64 bit:
#if !defined(LIBYUV_DISABLE_X86) && \
    (defined(CLANG_HAS_AVX2) || defined(GCC_HAS_AVX2)) && \
    (defined(__x86_64__) || defined(__i386__)) && !defined(_MSC_VER)
#define HAS_HAMMINGDISTANCE_AVX2
#endif
Code:
#ifdef __AVX2__
// GCC >= 4.7.0 required for AVX2.
#if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
#if (__GNUC__ > 4) || (__GNUC__ == 4 && (__GNUC_MINOR__ >= 7))
#define GCC_HAS_AVX2
#endif  // GNUC >= 4.7
#endif  // __GNUC__

// clang >= 3.4.0 required for AVX2.
#if defined(__clang__) && (defined(__x86_64__) || defined(__i386__))
#if (__clang_major__ > 3) || (__clang_major__ == 3 && (__clang_minor__ >= 4))
#define CLANG_HAS_AVX2
#endif  // clang >= 3.4
#endif  // __clang__

// Visual C 2012 required for AVX2.
#if defined(_M_IX86) && !defined(__clang__) && defined(_MSC_VER) && \
    _MSC_VER >= 1700
#define VISUALC_HAS_AVX2
#endif  // VisualStudio >= 2012
#endif

// clang >= 6.0.0 required for AVX512.
#if defined(__clang__) && (defined(__x86_64__) || defined(__i386__))
// clang in xcode follows a different versioning scheme.
// TODO(fbarchard): fix xcode 9 ios b/789.
#if (__clang_major__ >= 7) && !defined(__APPLE__)
#define CLANG_HAS_AVX512
#endif  // clang >= 7
#endif  // __clang__
Code:
#if  (defined(__x86_64__) || defined(__i386__)) && !defined(_MSC_VER)

Last edited by Jamaika; 5th April 2021 at 12:03.
Jamaika is offline   Reply With Quote
Old 4th April 2021, 08:21   #424  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 812
Opensource 2021.04.04
https://www.sendspace.com/file/9dnpbl

Test new GCC 11.0.1 with codec google
https://www.sendspace.com/file/59w1iw

Test new GCC 11.0.1 with codec google with AVX2
https://www.sendspace.com/file/42l6fk
Observed differences. I don't know why I can run AVX2 codecs on my old computer. Either changes have been made to GCC 11 or Windows, or something compiles badly.

Last edited by Jamaika; 5th April 2021 at 18:49.
Jamaika is offline   Reply With Quote
Old 7th April 2021, 11:14   #425  |  Link
skal
Registered User
 
Join Date: Jun 2003
Posts: 129
Quote:
Originally Posted by Jamaika View Post
New codecs for maniac 2021.03.29
https://www.sendspace.com/file/zu5ipq

Problem with webp2:
Code:
#if !defined(_MSC_VER)
#ifdef WP2_HAVE_BOOST
#include <boost/stacktrace.hpp>
#include <sstream>
#else
#include "execinfo.h"
#endif
#endif
Fix
#if !defined(_WIN32) || !defined(_WIN64)
Should be fixed with e8e25a
Thanks!
skal is offline   Reply With Quote
Old 29th April 2021, 06:30   #426  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 812
https://github.com/Jamaika1/mingw-std-threads-gcc11
{mingw} isn't compatible with c++17. The appendix doesn't include all the features of <future>.

New GCC 12.0.0 (2021.04.30)
Code:
Encoders (AVIF is default):
- aom = AOMedia Project AV1 Encoder 3.1.0-5d1b573

Library encoder:  libavif  HDR  1.12.0  8_12bit c++ [06 May 2021] {mingw, butteraugli}
                     aom        3.1.0   8_12bit c   [07 May 2021]
                  JPEGXL-tune   0.3.7           c++ [06 May 2021]
                  brotli        1.0.9           c   [18 Jan 2021]
                  libyuv        1788            c++ [04 May 2021]
                  libJPEG-turbo 2.1.0      8bit c   [23 Apr 2021]
                  libPNG        1.6.38          c   [12 Mar 2021]
                    zlib        1.2.11.1        c   [17 Sep 2020]
Compiled by Jamaika
Code:
Library encoder:  av1enc        0.0.1   8_12bit c++ [07 May 2021] {boost, mingw}
                  libWebP       1.2.0           c   [29 Feb 2021]
                     aom        3.1.0           c   [07 May 2021]
                  libavif       0.9.0           c   [07 May 2021]
                  libgav1       0.16.3  8_10bit c++ [06 May 2021]
                  jpegxl        0.3.7           c++ [06 May 2021]
                  brotli        1.0.9           c   [18 Jan 2021]
                  libyuv        1788            c++ [04 May 2021]
                  libJPEG-turbo 2.1.0      8bit c   [23 Apr 2021]
                  lodePNG                       c++ [17 Oct 2020]
                  libPNG        1.6.38          c   [12 Mar 2021]
                  libTIFF       4.3.0           c   [06 May 2021]
                  giflib        5.2.1           c   [24 Jun 2019]
                    zlib        1.2.11.1        c   [17 Sep 2020]
Compiled by Jamaika
Code:
  J P E G   \/ |
            /\ |_   e n c o d e r    [v0.3.7 0.3.7-040eae81 | SIMD supported: Scalar]

Library:          libJPEGXL     0.3.7           c++ [06 May 2021]  {mingw, highway, butteraugli}
                  brotli        1.0.9           c   [18 Jan 2021] {addition google}
                  brunsli       JXL             c++ [23 Mar 2021] {addition google}
                  butteraugli   JXL             c++ [23 Mar 2021] {addition google}
                  highway       0.12.0          c++ [07 May 2021] {addition google}
                  skcms                         c++ [15 Apr 2021] {addition google}
                  libsJPEG      0.1.0           c++ [23 Mar 2021] {addition google}
                  libJPEG-turbo 2.1.0      8bit c   [16 Apr 2021]
                  lodePNG                       c++ [17 Oct 2020]
                   libPNG       1.6.38          c   [12 Mar 2021] {for anime PNG}
                   giflib       5.2.1           c   [24 Jun 2019]
                     zlib       1.2.11.1        c   [17 Sep 2020]
                  openexr       3.0.2           c++ [07 May 2021] {instead TIFF, Adobe DNG}
                    Imath       3.0.2           c++ [07 May 2021] {addition openexr}
Compiled by Jamaika
Code:
[2021-05-01 08:51:48.913] [info] compress time: 281.236 ms

Library:          grok          9.1.0      8bit c++17 [30 Apr 2021] {mingw, cperl, tclap, spdlog, taskflow, highway}
                  cperl         5.30.0          c   [02 Nov 2020]
                  tclap         1.4.0           c   [02 Nov 2020] {grok}
                  spdlog        1.8.2           c   [04 Mar 2021]
                  taskflow      3.1.0           c   [26 Apr 2021]
                  htjpeg2000    0.7.2           c++ [01 Sep 2020] {grok}
                  highway       0.12.0          c++ [29 Apr 2021] {addition google}
                  libPNG        1.6.38          c   [12 Mar 2021]
                  libTIFF       4.2.0           c   [14 Apr 2021]
                  libJPEG-turbo 2.1.0      8bit c   [15 Apr 2021]
                    zlib        1.2.11.1        c   [17 Sep 2020]
Compiled by Jamaika
Code:
VVCSoftware: VTM Encoder Version 12.3 [Windows][GCC 12.0.0][64 bit]
VVEncoderApp.exe: Fraunhofer VVC Encoder ver. 0.3.1.0 [Windows][GCC 12.0.0][64 bit][SIMD=NA]
MEGA PACK CODECS 08.05.2021
https://www.sendspace.com/file/7txlns

VVEncoderApp.exe -i "input_8bit.yuv" -o "output_10bit.vvc" -v 5 -f 100 -t 4 -s 1280x720 -r 29 -c yuv420 -g 16 -ip 16 --bitrate 3000000 --passes 1 --preset medium --level 6.2 --tier main
xeve_codec.exe -i "input_8bit.yuv" -o "output_10bit.evc" -v 2 -f 100 -m 4 -w 1280 -h 720 -z 29 --chroma_format_idc 1 -g 15 -p 16 -q 25 --rc_type 0 --bps 3000000 --input_bit_depth 8 --preset medium --level 6.2 --codec_bit_depth 10 --output_bit_depth 10 --amvr 1

New jpeg2000 library has appeared on the official pages. Too bad there are no part16 and part17 parts included.
https://gitlab.com/wg1/htj2k-rs

Last edited by Jamaika; 11th May 2021 at 06:00.
Jamaika is offline   Reply With Quote
Old 15th May 2021, 22:17   #427  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 812
New libbpg with JVETVVC 12.3
New libbpg with JVETVVENC 0.3.1 only aspect ratio 16:9
https://www.sendspace.com/file/4wxr89

Last edited by Jamaika; Yesterday at 10:20.
Jamaika is offline   Reply With Quote
Old 15th May 2021, 22:57   #428  |  Link
nhw_pulsar
Registered User
 
Join Date: Apr 2017
Posts: 35
Hi Jamaika,

That's great!!! I have downloaded your VVC encoders tuned for image compression with BPG, and I can create the .vvc compressed files! Just, I didn't read in depth your previous messages, but could you indicate me where is the BPG VVC decoder? How can we decompress the .vvc compressed files (into .png)?

Again your work is great! Any help for the VVC decoder would be very helpful.

Many thanks in advance.
Cheers,
Raphael
nhw_pulsar is online now   Reply With Quote
Old Yesterday, 10:17   #429  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 812
Hi Raphael

BPG should be decoded by BPG decoder. However my knowledge of programming is limited.
For those willing I have created an encoder based on BPG. Includes thread, lossless and 444.
The files can be decoded by vvc decoders.

bpgenc_jvetvvenc.exe -q 20 -f 444 -c ycbcr -m 4 -b 8 image.png

https://github.com/Jamaika1/libbpg_vvc

Last edited by Jamaika; Yesterday at 10:45.
Jamaika is offline   Reply With Quote
Old Yesterday, 10:49   #430  |  Link
nhw_pulsar
Registered User
 
Join Date: Apr 2017
Posts: 35
Hello,

Thank you for your answer.

The problem with VVC decoders is that they will decode/decompress the .vvc compressed file into the YUV420 format if I am not wrong.One of the big advantages of BPG decoder is that it will then make the YUV420 upsampling (and after, the RGB conversion) and then create the final PNG file.

But the VVC codec is out of my knowledge, -and I guess you also have to know the BPG header first, because I think you have to pass through a BPG header?-

Nevermind, I wanted to let you know that I very appreciate your great work to provide AVIF, JXL, WEBP2, HEIF, BPG,... compiles/binaries!

Cheers,
Raphael
nhw_pulsar is online now   Reply With Quote
Old Yesterday, 11:54   #431  |  Link
Intrinsic
Registered User
 
Join Date: May 2021
Posts: 1
Hi Jamaika,

I've been lurking and using your compiles for a long time now, but since 23rd April(file date this issue started) i've been unable to work with any PNG files getting the following error:
J P E G \/ |
/\ |_ e n c o d e r [v0.3.7 0.3.7-040eae81 | SIMD supported: Scalar]

codec_png.cc:505: PNG: no color_space/icc_pathname given, assuming sRGB
codec_png.cc:505: PNG: no color_space/icc_pathname given, assuming sRGB
c:\msys1200\x86_64-w64-mingw32\include\lib\jxl\enc_ac_strategy.h:60: JXL_DASSERT: masking_field_row[by * masking_field_stride + bx] > 0
c:\msys1200\x86_64-w64-mingw32\include\lib\jxl\base\file_io.h:68: JXL_FAILURE: Failed to open file for reading

When i've built JPEGXL myself i don't get this issue, hopefully the error above can help you track down the problem.

Thanks for all your work on these builds it's very much appreciated!


Regards

-Intrinsic
Intrinsic is offline   Reply With Quote
Old Yesterday, 12:36   #432  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 812
I don't see the problem under Windows. Give the commands and upload the file.
Code:
cjxl.exe image_21447_24bit.png image_21447_24bit.jxl -v -m -q 100 -s 5 -C 1 --num_threads=4
  J P E G   \/ |
            /\ |_   e n c o d e r    [v0.3.7 0.3.7-30ea86ab | SIMD supported: Scalar]

codec_png.cc:505: PNG: no color_space/icc_pathname given, assuming sRGB
Read 1563x1558 image, 10.9 MP/s
Encoding [Modular, lossless, hare], 4 threads.
Compressed to 2561452 bytes (8.415 bpp).
1563 x 1558, 0.51 MP/s [0.51, 0.51], 1 reps, 4 threads.
Average butteraugli iters:       0.00
Total layer bits headers          0.000459%        94
Total layer bits TOC              0.005237%      1073
Total layer bits quant tables     0.000005%         1
Total layer bits dictionary       0.006853%      1404   [c/i:  6.00 | hst:      30 | ex:      93 | h+c+e:     188.354]
Total layer bits modularGlobal    0.182340%     37357   [c/i:128.00 | hst:    4663 | ex:       0 | h+c+e: 2142933.124]
Total layer bits modularAcGroup  99.717214%  20429613
Total layer bits modularTree      0.087892%     18007   [c/i:  4.00 | hst:      42 | ex:     414 | h+c+e:    2154.706]
Total image size             20487549   [c/i:138.00 | hst:    4736 | ex:  421118 | h+c+e: 2565887.059]
Allocations: 936 (max bytes in use: 1.210860E+08)

Library:          libJPEGXL     0.3.7           c++ [06 May 2021] {mingw, highway, butteraugli}
                  brotli        1.0.9           c   [18 Jan 2021] {addition google}
                  brunsli       JXL             c++ [23 Mar 2021] {addition google}
                  butteraugli   JXL             c++ [23 Mar 2021] {addition google}
                  highway       0.12.0          c++ [07 May 2021] {addition google}
                  skcms                         c++ [15 Apr 2021] {addition google}
                  libsJPEG      0.1.0           c++ [23 Mar 2021] {addition google}
                  libJPEG-turbo 2.1.0      8bit c   [23 Apr 2021]
                  lodePNG                       c++ [17 Oct 2020]
                   libPNG       1.6.38          c   [12 Mar 2021] {for anime PNG}
                   giflib       5.2.1           c   [24 Jun 2019]
                     zlib       1.2.11.1        c   [17 Sep 2020]
                  openexr       3.0.2           c++ [07 May 2021] {instead TIFF, Adobe DNG}
                    Imath       3.0.2           c++ [07 May 2021] {addition openexr}
Compiled by Jamaika
Jamaika is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 16:39.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.