It's designed to work similarly to tvspelsfreak's texconv. I'm not going to repeat the entire contents of the README, but here's the major improvments:
For what "better mipmaps" means, here's an example. With texconv, the mipmap levels don't line up properly, so the image shifts to the side in smaller mipmap levels. pvrtex corrects for this, and uses a better filter. Compression is generally much faster using FFmpeg's compressor (but I have found one pathological case where pvrtex is much slower: that test texture above). The results are of similar quality to texconv; you might find one spot in a texture where one compressor does slightly better than the other, but then you'll find a spot where it does slightly worse, and it works out to be about even altogether. Here are some benchmarks versus texconv:* Faster texture compression and palette generation
* Can generate small codebook VQ textures
* No Qt dependency
* Support for compressed stride textures
* Better mipmap generation
* Dithering
* Support for additional output file types (adds .PVR and .DT)
Code: Select all
256x256 RGB565 ($ENCODER -f RGB565 -o result.tex -i tex256x256.png)
pvrtex 0.02 seconds
texconv 0.02 seconds
1024x1024 RGB565 Mipped ($ENCODER -f RGB565 -o result.tex -i tex1024x1024.png -m)
pvrtex 0.80 seconds
texconv 0.63 seconds
1024x1024 RGB565 Mipped VQ ($ENCODER -f RGB565 -o result.tex -i tex1024x1024.png -m -c)
pvrtex 1.87 seconds
texconv 6.75 seconds
1024x1024 ARGB4444 Mipped VQ ($ENCODER -f ARGB4444 -o result.tex -i tex1024x1024.png -m -c)
pvrtex 1.88 seconds
texconv 8.53 seconds
1024x1024 PAL8BPP Mipped VQ ($ENCODER -f PAL8BPP -o result.tex -i tex1024x1024.png -m -c -b)
pvrtex 3.58 seconds
texconv 11.5 seconds
There's still a lot that could be done to improve it, but I think this is enough for now.
Edit: Most recent version (1.01) is in this post