Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. General talk
  3. Showcase
  4. My first QT imageformats plug-in for AV1 Image File Format (AVIF)
Forum Updated to NodeBB v4.3 + New Features

My first QT imageformats plug-in for AV1 Image File Format (AVIF)

Scheduled Pinned Locked Moved Unsolved Showcase
14 Posts 4 Posters 2.9k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Offline
    N Offline
    novomeskyd
    wrote on last edited by
    #3

    May I ask, is there a chance that QT will officially support AVIF format in the future?
    Support in QT automatically enables many applications to work with AVIF images:
    KDE applications now open AVIF
    This is a web browser from KDE which opened AVIF picture in website because it is a QT application:
    Konqueror web browser
    I don't insist that any of future versions of my plug-in to be included, it can be any alternative implementation. The goal is to support AVIF. It seems that browsers will support this format and big players are interested too: Google, Netflix, Facebook (they are mentioning AVIF in the job offer).
    You can open AVIF pictures in Windows10 if you installed AV1 Video Extension from Microsoft Store.

    I used libavif in my plug-in. Libavif needs at least one AV1 encoder and decoder. You can choose libaom, dav1d, rav1e, libgav1.

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #4

      You should check with the KDE guys to avoid duplicating efforts. The Qt project has the qimageformats module for extra formats.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      N 1 Reply Last reply
      1
      • SGaistS SGaist

        You should check with the KDE guys to avoid duplicating efforts. The Qt project has the qimageformats module for extra formats.

        N Offline
        N Offline
        novomeskyd
        wrote on last edited by novomeskyd
        #5

        As I understood for KDE guys it doesn't matter whether AVIF is in kimageformats or in qtimageformats (I know it cannot be in both packages - they install in the same folder). KDE guys answered that it depends on license.

        I don't create any additional restrictions beside mentioning license of dependencies I use.

        I believe that including AVIF in qtimageformats would be the best for majority.

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #6

          As they say, you have to check the licence(s) of the dependencies you use to ensure they are compatible with the Qt licences.

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          N 1 Reply Last reply
          0
          • SGaistS SGaist

            As they say, you have to check the licence(s) of the dependencies you use to ensure they are compatible with the Qt licences.

            N Offline
            N Offline
            novomeskyd
            wrote on last edited by
            #7

            @SGaist
            Yes, I checked the licenses:
            libavif - https://github.com/AOMediaCodec/libavif/blob/master/LICENSE
            libaom - https://aomedia.googlesource.com/aom/+/refs/heads/master/LICENSE

            These licenses says no warranty, no liability, as-is. There is no restrictions for closed source, no open-source requirements. Only requirement is to retain&reproduce copyright notice of their permissive license.

            It is like WEBP license and WEBP is included in qtimageformats already.

            So I think it should be OK with https://www.qt.io/licensing/

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #8

              Looks like it should be ok.

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              0
              • fcarneyF Offline
                fcarneyF Offline
                fcarney
                wrote on last edited by
                #9

                Copyright is only part of it though. There may be patent issues.

                C++ is a perfectly valid school of magic.

                N 1 Reply Last reply
                0
                • fcarneyF fcarney

                  Copyright is only part of it though. There may be patent issues.

                  N Offline
                  N Offline
                  novomeskyd
                  wrote on last edited by
                  #10

                  @fcarney
                  There are some patents but they are free to use. This URL is in AVIF specification:
                  http://aomedia.org/license/
                  A there you can find:
                  http://aomedia.org/license/patent-license/

                  1 Reply Last reply
                  3
                  • N Offline
                    N Offline
                    novomeskyd
                    wrote on last edited by
                    #11

                    Just letting you know that I continue to improve this AVIF format plug-in.
                    I will post it again when I finish with things on my TODO list.

                    I want to say that I appreciate the fact that QColorSpace Class was introduced in Qt 5.14 - that's very important for correctly displaying images.

                    Maybe in the future it will be good to have direct support for modern WCG/HDR colorspaces with PQ & HLG TransferFunctions too. AVIF can use such colorspaces.

                    1 Reply Last reply
                    0
                    • N Offline
                      N Offline
                      novomeskyd
                      wrote on last edited by
                      #12

                      I create a new version of the plug-in.
                      I prepared an illustrated manual how to install the plug-in to KDE and how the applications are able to use the AVIF image format afterwards:
                      http://188.121.162.14/avif/kde.html
                      Download link with source (including build script and dependencies - libavif and libaom) are on the webpage too.

                      The new version of the plug-in supports image sequences (animation) too.

                      I am willing to contribute this code to Qt. AVIF format is practically better than JPEG, GIF, PNG and WEBP together. I believe AVIF deserve to be supported. Many applications would benefit from AVIF if it gets included in Qt.

                      What can I do so the plug-in would be closer to get accepted by Qt?

                      jsulmJ 1 Reply Last reply
                      2
                      • N novomeskyd

                        I create a new version of the plug-in.
                        I prepared an illustrated manual how to install the plug-in to KDE and how the applications are able to use the AVIF image format afterwards:
                        http://188.121.162.14/avif/kde.html
                        Download link with source (including build script and dependencies - libavif and libaom) are on the webpage too.

                        The new version of the plug-in supports image sequences (animation) too.

                        I am willing to contribute this code to Qt. AVIF format is practically better than JPEG, GIF, PNG and WEBP together. I believe AVIF deserve to be supported. Many applications would benefit from AVIF if it gets included in Qt.

                        What can I do so the plug-in would be closer to get accepted by Qt?

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #13

                        @novomeskyd said in My first QT imageformats plug-in for AV1 Image File Format (AVIF):

                        What can I do so the plug-in would be closer to get accepted by Qt?

                        Take a look at https://wiki.qt.io/Qt_Contribution_Guidelines

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        N 1 Reply Last reply
                        1
                        • jsulmJ jsulm

                          @novomeskyd said in My first QT imageformats plug-in for AV1 Image File Format (AVIF):

                          What can I do so the plug-in would be closer to get accepted by Qt?

                          Take a look at https://wiki.qt.io/Qt_Contribution_Guidelines

                          N Offline
                          N Offline
                          novomeskyd
                          wrote on last edited by
                          #14

                          Thanks for info.
                          I still wish the AVIF support to be included in Qt in the future.
                          In order to get experiences and prepare myself for more complicated steps (from my point of view) I decided to host my project on GitHub ( https://github.com/novomesk/qt-avif-image-plugin ).

                          1 Reply Last reply
                          0

                          • Login

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • Users
                          • Groups
                          • Search
                          • Get Qt Extensions
                          • Unsolved