Quantcast
Channel: Richard Geldreich's Blog
Browsing all 302 articles
Browse latest View live
↧

LodePNG

So far this is a nice looking library, and I've heard it reliably handles 16-bit/component .PNG's :http://lodev.org/lodepng/

View Article


libsquish's DXT1 "Cluster Fit" method applied to ETC1

libsquish (a popular DXT encoding library) internally uses a total ordering based method to find high-quality DXT endpoints. This method can also be applied to ETC1 encoding, using the equations in...

View Article


Image may be NSFW.
Clik here to view.

ETC1 block flip estimation

ETC1's block includes a "flip" bit, which describes how the subblocks are oriented in each block. When this bit is set the two subblocks are oriented horizontally in a 4x4 pixel block like...

View Article

More ETC1 cluster fit data

Ignore the SSIM stats, this is a corpus test image with random 4x4 blocks chosen from many other images.This was on a 20 core Xeon workstation, with multithreading enabled in basislib and etc2comp (40...

View Article

Image may be NSFW.
Clik here to view.

ETC1 encoder performance on kodim18 at various quality/effort levels

I'm trying to get a handle on how the available ETC1 compressors perform, using their public API's, at their various quality or effort levels. This is only for a single image (kodim18 - my usual for...

View Article


Image may be NSFW.
Clik here to view.

Visualization of random ETC2 Planar Mode blocks

For fun I've been poking around at the planar mode in ETC2. From this presentation:Okay, they are intended for use on smoothly varying blocks. I'm intrigued by planar mode because the colors are stored...

View Article

Image may be NSFW.
Clik here to view.

ETC2 texture compression using exclusively planar blocks

The usual explanation given for planar blocks is that they are intended for smoothly varying blocks (see my previous post on planar blocks). So it seems natural to model the block's pixels as three...

View Article

Image may be NSFW.
Clik here to view.

ETC2 planar block only output created with etcpak

Bartosz Taudul (etcpak author) sent these ETC2 planar block only encodings in a reply to my previous post. For planar-only they look amazing!Note: I've verified these images myself by hacking etcpak's...

View Article


ETC1 optimization notes

I've been optimizing this function:std::pair<etc1_bits, error> = ETC1Encode(pixels, options).Which actually gives me a really fast way of accurately computing this:error = ETC1Distance(pixelsA,...

View Article


Image may be NSFW.
Clik here to view.

ETC1 block color clusterization progress

I've got block color ("endpoint") clusterization working pretty well with the full ETC1 format. (Not just a subset, like in last month's endpoint clusterization experiment.)Here are some quick...

View Article

Image may be NSFW.
Clik here to view.

RDO ETC1 texture compression prototype

I've now got a basic ETC1 RDO compressor working. Clusterization is now used on both the block colors/intensity table indices and selectors. This compressor supports the entire ETC1 format: 2 subblocks...

View Article

Image may be NSFW.
Clik here to view.

RDO ETC1 texture compression tool output

Here's what my current experimental compression tool outputs to stdout while compressing a single image. I've begun to experiment with different perceptual metrics, such as PSNR-HVS and PSNR-HVSM. (I'm...

View Article

Image may be NSFW.
Clik here to view.

2D Haar Wavelet Transform on GPU texture selector indices

I've been very busy refining my new ETC1 compressor, so I haven't been posting much recently. Today I decided to do something different, so I've been playing around with the 2D Haar 4x4 and 8x8...

View Article


GST: GPU-decodable Supercompressed Textures

This is amazingly well done:http://gamma.cs.unc.edu/GST/Code:https://github.com/GammaUNC/GSTPaper:http://gamma.cs.unc.edu/GST/gst.pdf

View Article

Example code: 4x4 Haar transform on ETC1 selectors

Someone asked me for the code that implements the selector frequency domain filtering experiment I did on one of my previous posts. Here you go. The linear algebra and utility code is all very similar...

View Article


Image may be NSFW.
Clik here to view.

In-app charting/graphing using pplot

pplot is a nice little graphing library:http://pplot.sourceforge.net/pplot is device and platform independent, which I really liked. I hooked it up to my generic image class, which supports things like...

View Article

status of basis ETC1 support

I've "upgraded" my 2D-only prototype to a full-blown class now, instead of it living in my experimental framework as a huge function.Next up are things like macroblock support, more endpoint/selector...

View Article


Image may be NSFW.
Clik here to view.

Rate distortion performance of Basis ETC1 RDO+LZMA on the Kodak test set

At 3 quality levels, using REC709 perceptual colorspace metrics. This compares plain ETC1 (with no lossless compression), basislib highest quality ETC1+LZMA, and basislib RDO+LZMA."S" = selectors, "E"...

View Article

Image may be NSFW.
Clik here to view.

Effect of ETC1 endpoint quantization on Luma SSIM/PSNR

In this test on the 24 kodak images I quantized the ETC1 block colors/intensity tables (or what I've been calling "endpoints", from DXT1/BC1 terminology) to 128 clusters, but the selectors were not...

View Article

Image may be NSFW.
Clik here to view.

Effect of ETC1 selector quantization on Luma SSIM/PSNR

This is like the previous post, except this time only the selectors are quantized while the endpoints are left alone. kodak test images, perceptual colorspace metrics:Stats for non-RDO ETC1...

View Article
Browsing all 302 articles
Browse latest View live