Jump to content

WinXP HEVC/HEIF/HEIC Image Encoder/Decoder


Recommended Posts

Posted (edited)

as promised .heic is brought to windows xp
closing the gap for xp having a very new image encoder and decoder

(and nothing using any other modules, engines or weird operating system dependencys)

the resulting image is even better then the one on wikipedia 
https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format
reason behind this i only choosed the best options, better internal code, better decisions, and disregarded code 
that decreases image quality
-----

APP "WinXP HEVC/HEIF/H265 Image En/Decoder explained"


The Encoder:

Encode By Filename:
allow you to select a file this heic encoder supports : .jpg, .png, .tif and .y4m (raw YUV format)
the encoder make a .heic file from the choosen file

Encoder By Folder:
this read "Encode By Folder Searched Format Ending"
if you have choosen jpg then it will search all .jpg files in the choosen folder

actual chooses: png, jpg, tif or y4m
if the entry was jpg
then the encoder will encode all .jpg files in that folder to .heic

this by folder was made so you can encode many files instead of always 1 file, while going to drink some coffee

 

Encoder Complexity:
"placebo" is the best setting here
i actually dont see any reason to choose a different setting that actually only results in less image quality
(best: 1: placebo, 2: veryslow, 3: slower, 4: slow, 5: medium, 6: fast , 7: faster, 
8: veryfast, 9: superfast, 10 ultrafast)
why we should we set a setting that decreases image quality? (basicly i not even wanted to have this box)

(1 word about this, placebo use the best compressions tricks therefore the time is longer(more code = more time), the others try to speed up this (and leave out some functions, tricks, try to end the encoder before it really was done), it might not always increase the image - but you can be certain you got the best option (and the highest amount of pixels possible)

also it can happen that that your image might not challenged the encoder for its maximum, then a "faster" setting dont have that much difference, still it can result in less amount of pixels, with placebo you are certain to get the maximum

it really raise questions to use the others, you can make a big jpg file and you may dont see the image difference that much - but why ? are we making a jpg or are we making a high efficienty image encoder ?)

Hardware Acceleration:
makes use of hardware registers such as MMX, SSE and AVX
this speed up encoding time a lot
since the encoder is very complex image encoding can take time
hardware acceleration makes encoding a lot faster

notice: depending on your cpu power since the encoder is complex can take some time

(if so keep a look "Encoded Image Files")

(MMX, SSE and AVX are speed hardware registers they are between 64 and 512 bits wide, depending what one is available (yes in 32 bit))

Quality:
controls the filesize of your .heic file, the lower this number the smaller your .heic file

lossless:
that option is not very useful 
as the real question is how well the pixels was preserved making a compression (we actually dont make a raw format - we make a compression)
so better set this option to 0

(it dont make a real compression)

Tuner:
this increases the image quality even further
good settings are psnr and ssim - the other settings only decrease image quality 

the tuner increased the amount of pixels, as said before its a extra function to improve more pixels

more code = more time - this makes a good example - if you leave out many of good possible tricks you might end up in a less fancy picture 

-----

The Decoder:

you have to choose a output image format for your .heic file (we have png, tif, jpg, and y4m)

png compression level (0-9):

png compression level -1 actually represents png compression 6
i actually dont see a well reason to have -1 as option, since -1 just represent compression 6
(you can try this out by looking at the filesize of the resulting .png file (try -1 and 6 they are the same)
-1 actually is called png_default_compression what then is defined as 6 
0 means no compression (this is good to make a compare how well your .heic file was preserved)
increasing values make higher compressions losing more pixels (again 6 is equal to -1) 
0 is the best png compression regarding pixels

going from 0 to higher numbers decreasing image quality (higher numbers create smaller file sizes)

(and make a compromise about pixels and compression)

png is said to be lossless, but i only know for certain if option 0 is selected that it is a lossless copy. (what makes a 1:1 copy of the .heic file as it exits) 


jpg compression (1-100):
nothing much to say here the higher this value the better the resulting jpg image
notice higher values also cause bigger filze sizes
90 seems to be a good choice


Decode By Filename:
this button actually reads out "Decode In Format"
why ? because if you select a .heic file the decoder has to know the decompression format
valid formats are: png , jpg , y4m, tif

Decode By Folder:
reads out "Decode In Format"
then the selected folder is searched for .heic files 
and then the decoder decodes all .heic files into the image format you set in "Decode In Format"

 

Multi-pass: 

this makes a second image and compare the result with the first image - according to information this also improves image quality a bit (the h.266 says for example 1-3 % in average, then something about maybe sometimes more)

Create A Subfolder:

this allow you to put a folder where the WinXP HEIC en/decoder put its files 

it trys to create that folder, but you also can create that folder yourself

this also avoid the name problem when controlling with "By Folder" 

------


rumors say .heic is the best image encoder at the moment 
as we know .heic passes jpg, jpg2000 and jxr (jpeg xr)
what we can see in the wikipedia site for heic

maybe .heic also other jpg formats like the jxs format (what is rather speed orientated then quality orientated)
there are some (jpeg xt, jpeg xs, jpeg ls, jpeg xe, jpeg xl)
(https://jpeg.org)


if someone wants to makes the compares the h.266 by frauenhofer or jxl would be candidates to try 
or even the others ...

i actually never seen a h.266 frauenhofer image yet


(updated the links):

https://www.file-upload.net/download-15405155/WinXP_HEIC.zip.html

https://www.mediafire.com/file/g9t94vi3dr4gycl/WinXP_HEIC.zip/file

 

 


 

Edited by user57

Posted

Interesting, but still don't understand what does it have to do with HEVC mentioned in the title (H265).

Will Nero understand this format?

Posted

well it interhents from hevc (h.265)

then the idea seems to be .HEIF (High Efficiency Image File Format)

what can store multiple formats (such as jpg2000)

but jpg2000 is not a new file format

so the new files that are actually encoded with the new encoder are called .heic

so .heic is what we want (High Efficiency Image Coding)

Posted

I downloaded this on my tablet, I'll be checking out if this can work on  my Windows ME system tomorrow as I've only partial read support for this format on that system and none for encoding. I can read some flavors of it in XnView via a susie plugin and an old version of Image Magick and others with Gpac, and yet some other with nothing.

BTW, with regards to png decoding, compression levels have to to do with file size vs speed not quality, png is always lossless.

Heic, avif and jxl beat old formats quite massively with regards to filesize for identical quality but are all damn slow, about 100x slower to decode in a few tests I made, so nothing I am going to adopt for my own use, especially as storage space is not issue anymore these days. Nice to have decoding options for these formats though.

 

Posted

Thanks for this, user57, I've been searching all over for a way to manage HEIC on XP! On XP Pro x64, I tried the decoding on an iPhone picture, both jpg and png, but sadly it ended up with random line artifacts throughout the picture. I haven't tried it on x86 yet.

If it's ok to mention here, I have found another free program that just recently started handling HEIC on XP too. It has an editor, viewer and converter!

Posted
3 minutes ago, Teslaman said:

If it's ok to mention here, I have found another free program that just recently started handling HEIC on XP too. It has an editor, viewer and converter!

Sure man, what is it?

Posted (edited)
19 hours ago, loblo said:

Sure man, what is it?

It's the latest version of Chasys Draw IES.

Oh and it also creates thumbnails for the folder view! It's a bit slow at that for me, but that could be due to which method it uses. It uses the HEVC codec, either an included or installed one.

Edited by Teslaman
Posted (edited)

well there are some websites that offer a decoder for that heif format

https://strukturag.github.io/libheif/

is that one working for you ?

but encoders are rare for now, special a encoder for winxp dont exits, and having hardware acceleration 

and this encoder use the best settings, best code, and dont go down the road any time to create a .heic file 

cmp3.thumb.jpg.3d5e2f52644131dce4d1fe0212d4a706.jpg

 

as everybody can see normal jpg, jpeg 2000 and jpeg jxr are beaten up even the heif file from wiki is beaten up

 

Edited by user57
Posted

I tried a few different browsers, but no it didn't work for me. Ah yeah I'm not sure if Chasys does encoding either, my install currently doesn't, but in my case I'm just looking for decoding anyways. I did try your encoder on a JPG and it worked fine! :cool:

Posted
On 10/25/2023 at 3:08 PM, user57 said:

as everybody can see normal jpg, jpeg 2000 and jpeg jxr are beaten up even the heif file from wiki is beaten up

Your JPEG screenshot is noticeably degraded, which you can see if you look around the red icons on the GUI. This distorts the comparison.

This program is mainly useful to decode downloaded images that can't be decoded on WinXP at all. With fast networks and large disks, one can easily use high quality JPEG. Extreme compression is not necessary today. All these advanced formats load very slowly. JPEG-XL is somewhat better because it includes options for producing a lower complexity file that is easier to decode, but you're no in control over them if you download images from the internet.

Posted

j7n is absolutly right that it also degraded

actually the orginal file with same size isnt provided by wikipedia

but what i still can tell is that even then it degraded a lot lower then the other heic file
(even double compressed)

because i didnt even have the orginal file, and compressed the entire image to around the same filesize
then the image still had more pixels preserved 

even when 2 compressions happend, even then we can see the improvment

and even when put to a higher compression the encoder from msfn still passed the other heic file
(for this i actually made a even smaller filesize, what is around compared to the target filesize)


the places are:
1 heic from msfn
2 heic from wikipedia heic
3 jxr - preserved the image better then the others
4 jpeg 2000 - yes preserved more pixels then normal jpeg 
5 normal jpg - huge losses nowhere near the other compressions

it can be seen on the lamp, that window, or from the "tree top left to the white car"

the heic from wikipedia has lost that window split, jxr also lost that texture
that can be tested by somebody just looking the lamp/or that window at the wikipedia file
then testing if that texture was preserved with the msfn heic file 
(also trying different filesizes can be tryed)

orginal_vs_jpeg_xr.thumb.jpg.e7af143e7d168652823da737d2a53a6e.jpg
many image encoders actually have that "recompression problem", that they transfer to a RGB image
and then recompress the image again. sometimes the differens ist not well seen
but actually the image itself is not changed like in a RGB image
for compression often a other approach is done:

it just call the encoder (with the same settings) again ... what useally means again a few losses

i wonder why Francebb hasnt answered yet
he might actually have a h.266 image

  • 4 weeks later...
Posted

well i was trying those who actually say they work in windows xp

i tryed (chasys draw ies converter)
1: checking dependencies (heif/avif/avci)
2: video codec not found HEIC, common (avif, and av1)
when doing the convert it dont create the file (it created an empty folder)

prgramm (pixillion)
calls up 
http://www.nch.com.au/components/libheif.exe

i had to download that one, because IE6 in xp cant download that file
but after that i installed libheif.exe 
but the converter just hangs up


do i make something wrong ? both of these opened in windows xp but and installede.jpg.236471e16d4f15af1092927498a13859.jpg

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...