Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The Final Specification – pinky promise! #95

Closed
phoboslab opened this issue Dec 19, 2021 · 10 comments
Closed

The Final Specification – pinky promise! #95

phoboslab opened this issue Dec 19, 2021 · 10 comments

Comments

@phoboslab
Copy link
Owner

So, after rejecting some more proposals (which is seriously difficult - sorry everyone!) I have arrived at what I can confidently call The Final Specification. The exact file format is described in qoi.h.

If you implemented QOI or integrated the qoi.h in any other projects, I'd like to ask you to update it. It would be cool if all implementations meet this final spec, so that QOI files are interchangeable between them.

I'm currently writing a short blog post about the final spec that I will post tomorrow (2021.12.20). qoiformat.org has already been updated. If you notice any errors or typos in the specification, please let me know!

Thanks <3

I want to thank everyone here again for your countless contributions and for your patience with me!

Please don't take it personal if your ideas were not implemented. It became very evident over the past few weeks that there's a strong desire for another image format that exchanges some of QOI's simplicity for better performance and compression rates. I'd be very happy to see this happen!

@MarcusJohnson91
Copy link

Not to hate, but you should try to specify 10, 12, 14, and 16 bit images.

HDR is a thing that's becoming pretty common.

@chocolate42
Copy link

Where is lossless RGB HDR 4:4:4 common?

@MarcusJohnson91
Copy link

Cameras...

@SkydiverTricky
Copy link

Are there plans to support other colour spaces, like YCbCr? and possibly 422 ?

@oscardssmith
Copy link

TLDR: no.

@gezawatt
Copy link

gezawatt commented Apr 4, 2022

I love the file format, but I just wanted to say that saving images in .tif format with LZW compression provides around the same speed, while also resulting in a smaller file size.

@walksanatora
Copy link

walksanatora commented Apr 5, 2022

okay so i am trying to read the w3 documents on how to submit a format
https://www.w3.org/2020/01/registering-mediatypes
and it appears you are just supposed to email them a plain text document explaining your format

here we go requirements lemme quickly read this
the document for submitting new formats

very descriptive
https://datatracker.ietf.org/doc/html/rfc6838#section-4.2.2

Here we go this is what we want
https://datatracker.ietf.org/doc/html/rfc6838#section-4.4
(actually explains what you need to include in the submission)

Okay we just need to write a rfc
https://datatracker.ietf.org/doc/html/rfc6838#section-4.10

Found a template
https://datatracker.ietf.org/doc/html/rfc6838#section-5.6

I filled it out with the information i know

   Type name:image

   Subtype name:qoi

   Required parameters: (idk what this is and cannot find it in the document) N/A

   Optional parameters: (still have no idea what this is for but it appears to be stuff like extra information. i think the disabling of alpha may be in here though) N/A

   Encoding considerations: binary

   Security considerations: there are no security considerations to be taken into account at this time

   Interoperability considerations: this format should be usable across all platforms assuming they are using the standardized format defined in the specification below

   Published specification: (insert these lines from  qoi.h https://github.com/phoboslab/qoi/blob/master/qoi.h#L81-L231)

   Applications that use this media type:(insert all the programs under tools, implementations & bindings, qoi support in other software) N/A

   Fragment identifier considerations: (I dont think qoi has any of these) N/A

   Additional information:

     Deprecated alias names for this type: image/x-qoi
     Magic number(s):offset 0 length 4 value 'QOIF' (0x716f6966)
     File extension(s): .qoi
     Macintosh file type code(s): N/A

   Person & email address to contact for further information:

 Intended usage: COMMON

   Restrictions on usage: NONE

   Author: phoboslab (mabey put your name here when you submit it)

   Change controller: (put your email here)

   Provisional registration? (standards tree only): N/A

@rayrobdod
Copy link

In this template, parameters refers to content-type parameters. The most common example of a parameter is the charset parameter in text-based formats - e.g. a content type of text/plain;charset=utf-16 indicates that the plain text document is encoded with the utf-16 charset. Most image formats don't have parameters, and I don't think this one would either.

@BenBE
Copy link

BenBE commented Apr 5, 2022

Considering long-term extendability I'd suggest including some means of indicating used features/format version. One possible extension could include bitstream compression or support for more channels/bit depths.

@HughPH
Copy link

HughPH commented Sep 12, 2022

No harm in creating a v2 if you wanted to change/add anything.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants