diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /third_party/rust/mp4parse/link-u-avif-sample-images | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/mp4parse/link-u-avif-sample-images')
191 files changed, 3106 insertions, 0 deletions
diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/.github/workflows/encode-and-decode-daily.yml b/third_party/rust/mp4parse/link-u-avif-sample-images/.github/workflows/encode-and-decode-daily.yml new file mode 100644 index 0000000000..08733dec70 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/.github/workflows/encode-and-decode-daily.yml @@ -0,0 +1,146 @@ +name: Encode all images and decode them again weekly. + +on: + push: + schedule: + - cron: '0 20 * * 0' # https://crontab.guru/#0_2_*_*_0 + +jobs: + check-on-ubuntu: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-18.04, ubuntu-20.04] + include: + - os: ubuntu-18.04 + codename: 'bionic' + cavif-flag: '' + - os: ubuntu-20.04 + codename: 'focal' + cavif-flag: '' + steps: + - uses: actions/checkout@v2 + - name: Install required tools + run: sudo apt install -y curl jq unzip coreutils imagemagick + - name: Download latest cavif + shell: bash + run: | + runId=$(curl https://api.github.com/repos/link-u/cavif/actions/workflows/${WORKFLOW_ID}/runs | jq '[.workflow_runs[] | select( .conclusion == "success")][0].id') + artifactId=$(curl https://api.github.com/repos/link-u/cavif/actions/runs/${runId}/artifacts | jq '[.artifacts[] | select( .name == "${{ matrix.codename }}")][0].id') + curl --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' -o cavif.zip -L https://api.github.com/repos/link-u/cavif/actions/artifacts/${artifactId}/zip + unzip cavif.zip + env: + #id of https://github.com/link-u/cavif/actions?query=workflow%3A%22Build+debian+package+on+push+or+release-tags.%22 + # curl https://api.github.com/repos/link-u/cavif/actions/workflows + WORKFLOW_ID: '4521995' + - name: Download latest davif + shell: bash + run: | + runId=$(curl https://api.github.com/repos/link-u/davif/actions/workflows/${WORKFLOW_ID}/runs | jq '[.workflow_runs[] | select( .conclusion == "success")][0].id') + artifactId=$(curl https://api.github.com/repos/link-u/davif/actions/runs/${runId}/artifacts | jq '[.artifacts[] | select( .name == "${{ matrix.codename }}")][0].id') + curl --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' -o davif.zip -L https://api.github.com/repos/link-u/davif/actions/artifacts/${artifactId}/zip + unzip davif.zip + env: + #id of https://github.com/link-u/davif/actions?query=workflow%3A%22Build+debian+package+on+push+or+release-tags.%22 + # curl https://api.github.com/repos/link-u/davif/actions/workflows + WORKFLOW_ID: '452394' + - name: Install davif and cavif + run: sudo dpkg -i *.deb + - name: Use installed cavif and davif + run: | + sed -i -e 's/^CAVIF=.*$/CAVIF=cavif ${{ matrix.cavif-flag }}/' Makefile + sed -i -e 's/^DAVIF=.*$/DAVIF=davif/' Makefile + - name: Clean all images. + run: make clean + - name: Encode them all. + run: make all -j $(nproc) + - name: Decode them all. + run: make decode -j $(nproc) + - name: Copy images to upload. + run: | + mkdir -p ${{ matrix.codename }}/decoded + mkdir -p ${{ matrix.codename }}/encoded + cp decoded/* ${{ matrix.codename }}/decoded + cp *.avif ${{ matrix.codename }}/encoded + - name: Upload result + uses: actions/upload-artifact@v1 + with: + name: ${{ matrix.codename }} + path: ${{ matrix.codename }} + - name: Compare the result + run: make compare -j $(nproc) + check-on-windows: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - name: Install msys2 + uses: msys2/setup-msys2@v2 + with: + msystem: MINGW64 + update: true + path-type: inherit + - name: Install dependencies + shell: msys2 {0} + run: | + set -eux + pacman --noconfirm -S make + pacman --noconfirm -S bc + pacman --noconfirm -S mingw-w64-x86_64-imagemagick + pacman --noconfirm -S mingw-w64-x86_64-curl + pacman --noconfirm -S mingw-w64-x86_64-jq + make --version + echo '2+2' | bc + magick -version + - name: Download latest cavif + shell: bash + run: | + runId=$(curl https://api.github.com/repos/link-u/cavif/actions/workflows/${WORKFLOW_ID}/runs | jq '[.workflow_runs[] | select( .conclusion == "success")][0].id') + artifactId=$(curl https://api.github.com/repos/link-u/cavif/actions/runs/${runId}/artifacts | jq '[.artifacts[] | select( .name == "cavif-win64")][0].id') + curl --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' -o cavif.zip -L https://api.github.com/repos/link-u/cavif/actions/artifacts/${artifactId}/zip + unzip cavif.zip + rm cavif.zip + ./cavif.exe -h + env: + WORKFLOW_ID: '4517759' + - name: Download latest davif + shell: bash + run: | + runId=$(curl https://api.github.com/repos/link-u/davif/actions/workflows/${WORKFLOW_ID}/runs | jq '[.workflow_runs[] | select( .conclusion == "success")][0].id') + artifactId=$(curl https://api.github.com/repos/link-u/davif/actions/runs/${runId}/artifacts | jq '[.artifacts[] | select( .name == "davif-win64")][0].id') + curl --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' -o davif.zip -L https://api.github.com/repos/link-u/davif/actions/artifacts/${artifactId}/zip + unzip davif.zip + rm davif.zip + ./davif.exe -h + env: + WORKFLOW_ID: '4521970' + - name: Rewrite Makefile to installed cavif and davif + shell: msys2 {0} + run: | + sed -i -e 's/^CAVIF=.*$/CAVIF=.\/cavif.exe/' Makefile + sed -i -e 's/^DAVIF=.*$/DAVIF=.\/davif.exe/' Makefile + - name: Clean all images. + shell: msys2 {0} + run: make clean + - name: Encode them all + shell: msys2 {0} + run: make all -j $(nproc) + - name: Decode them all + shell: msys2 {0} + run: make decode -j $(nproc) + - name: Copy images to upload. + shell: msys2 {0} + run: | + mkdir -p win64/decoded + mkdir -p win64/encoded + cp decoded/* win64/decoded + cp *.avif win64/encoded + - name: Upload result + uses: actions/upload-artifact@v1 + with: + name: win64 + path: win64 + - name: Compare the result + shell: msys2 {0} + run: | + export PATH="/mingw64/bin:${PATH}" + make compare -j $(nproc) diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/.gitignore b/third_party/rust/mp4parse/link-u-avif-sample-images/.gitignore new file mode 100644 index 0000000000..69b09be52a --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/.gitignore @@ -0,0 +1,4 @@ +*.avif.png +/core +/decoded/ +/.alpha-masks/ diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/LICENSE.txt b/third_party/rust/mp4parse/link-u-avif-sample-images/LICENSE.txt new file mode 100644 index 0000000000..33bec29d51 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/LICENSE.txt @@ -0,0 +1,427 @@ +Attribution-ShareAlike 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More_considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution-ShareAlike 4.0 International Public +License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-ShareAlike 4.0 International Public License ("Public +License"). To the extent this Public License may be interpreted as a +contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. BY-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + f. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution and ShareAlike. + + h. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + i. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + k. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + l. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + m. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. + + c. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + b. ShareAlike. + + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. + + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-SA Compatible License. + + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. + + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material, + + including for purposes of Section 3(b); and + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org.
\ No newline at end of file diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/Makefile b/third_party/rust/mp4parse/link-u-avif-sample-images/Makefile new file mode 100644 index 0000000000..2cabb6101b --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/Makefile @@ -0,0 +1,911 @@ +CAVIF=../cavif/cmake-build-debug/cavif +DAVIF=../davif/cmake-build-debug/davif + +all: hato kimono fox plum; + +HATO=\ + hato.profile2.8bpc.yuv422.avif \ + hato.profile2.8bpc.yuv422.monochrome.avif \ + hato.profile2.10bpc.yuv422.avif \ + hato.profile2.10bpc.yuv422.monochrome.avif \ + hato.profile2.12bpc.yuv422.avif \ + hato.profile2.12bpc.yuv422.monochrome.avif \ + hato.profile0.8bpc.yuv420.avif \ + hato.profile0.8bpc.yuv420.monochrome.avif \ + hato.profile0.10bpc.yuv420.avif \ + hato.profile0.10bpc.yuv420.monochrome.avif + +hato: $(HATO); + +KIMONO=\ + kimono.avif \ + kimono.rotate90.avif \ + kimono.rotate270.avif \ + kimono.mirror-horizontal.avif \ + kimono.mirror-vertical.avif \ + kimono.mirror-vertical.rotate270.avif \ + kimono.crop.avif \ + kimono.mirror-vertical.rotate270.crop.avif + +kimono: $(KIMONO); + +FOX=\ + fox.profile0.8bpc.yuv420.avif \ + fox.profile0.8bpc.yuv420.odd-width.avif \ + fox.profile0.8bpc.yuv420.odd-height.avif \ + fox.profile0.8bpc.yuv420.odd-width.odd-height.avif \ + fox.profile0.8bpc.yuv420.monochrome.avif \ + fox.profile0.8bpc.yuv420.monochrome.odd-width.avif \ + fox.profile0.8bpc.yuv420.monochrome.odd-height.avif \ + fox.profile0.8bpc.yuv420.monochrome.odd-width.odd-height.avif \ + fox.profile0.10bpc.yuv420.avif \ + fox.profile0.10bpc.yuv420.odd-width.avif \ + fox.profile0.10bpc.yuv420.odd-height.avif \ + fox.profile0.10bpc.yuv420.odd-width.odd-height.avif \ + fox.profile0.10bpc.yuv420.monochrome.avif \ + fox.profile0.10bpc.yuv420.monochrome.odd-width.avif \ + fox.profile0.10bpc.yuv420.monochrome.odd-height.avif \ + fox.profile0.10bpc.yuv420.monochrome.odd-width.odd-height.avif \ + fox.profile2.12bpc.yuv420.avif \ + fox.profile2.12bpc.yuv420.odd-width.avif \ + fox.profile2.12bpc.yuv420.odd-height.avif \ + fox.profile2.12bpc.yuv420.odd-width.odd-height.avif \ + fox.profile2.12bpc.yuv420.monochrome.avif \ + fox.profile2.12bpc.yuv420.monochrome.odd-width.avif \ + fox.profile2.12bpc.yuv420.monochrome.odd-height.avif \ + fox.profile2.12bpc.yuv420.monochrome.odd-width.odd-height.avif \ + fox.profile2.8bpc.yuv422.avif \ + fox.profile2.8bpc.yuv422.odd-width.avif \ + fox.profile2.8bpc.yuv422.odd-height.avif \ + fox.profile2.8bpc.yuv422.odd-width.odd-height.avif \ + fox.profile2.8bpc.yuv422.monochrome.avif \ + fox.profile2.8bpc.yuv422.monochrome.odd-width.avif \ + fox.profile2.8bpc.yuv422.monochrome.odd-height.avif \ + fox.profile2.8bpc.yuv422.monochrome.odd-width.odd-height.avif \ + fox.profile2.10bpc.yuv422.avif \ + fox.profile2.10bpc.yuv422.odd-width.avif \ + fox.profile2.10bpc.yuv422.odd-height.avif \ + fox.profile2.10bpc.yuv422.odd-width.odd-height.avif \ + fox.profile2.10bpc.yuv422.monochrome.avif \ + fox.profile2.10bpc.yuv422.monochrome.odd-width.avif \ + fox.profile2.10bpc.yuv422.monochrome.odd-height.avif \ + fox.profile2.10bpc.yuv422.monochrome.odd-width.odd-height.avif \ + fox.profile2.12bpc.yuv422.avif \ + fox.profile2.12bpc.yuv422.odd-width.avif \ + fox.profile2.12bpc.yuv422.odd-height.avif \ + fox.profile2.12bpc.yuv422.odd-width.odd-height.avif \ + fox.profile2.12bpc.yuv422.monochrome.avif \ + fox.profile2.12bpc.yuv422.monochrome.odd-width.avif \ + fox.profile2.12bpc.yuv422.monochrome.odd-height.avif \ + fox.profile2.12bpc.yuv422.monochrome.odd-width.odd-height.avif \ + fox.profile1.8bpc.yuv444.avif \ + fox.profile1.8bpc.yuv444.odd-width.avif \ + fox.profile1.8bpc.yuv444.odd-height.avif \ + fox.profile1.8bpc.yuv444.odd-width.odd-height.avif \ + fox.profile1.10bpc.yuv444.avif \ + fox.profile1.10bpc.yuv444.odd-width.avif \ + fox.profile1.10bpc.yuv444.odd-height.avif \ + fox.profile1.10bpc.yuv444.odd-width.odd-height.avif \ + fox.profile2.12bpc.yuv444.avif \ + fox.profile2.12bpc.yuv444.odd-width.avif \ + fox.profile2.12bpc.yuv444.odd-height.avif \ + fox.profile2.12bpc.yuv444.odd-width.odd-height.avif \ + fox.profile2.12bpc.yuv444.monochrome.avif \ + fox.profile2.12bpc.yuv444.monochrome.odd-width.avif \ + fox.profile2.12bpc.yuv444.monochrome.odd-height.avif \ + fox.profile2.12bpc.yuv444.monochrome.odd-width.odd-height.avif + +fox: $(FOX); + +PLUM_LARGE=\ + plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.avif \ + plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.monochrome.avif \ + plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.avif \ + plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.monochrome.avif \ + plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.avif \ + plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.monochrome.avif \ + plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.avif \ + plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.monochrome.avif \ + plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.avif \ + plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.monochrome.avif \ + plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.avif \ + plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.monochrome.avif \ + plum-blossom-large.profile1.8bpc.yuv444.alpha-limited.avif \ + plum-blossom-large.profile1.10bpc.yuv444.alpha-limited.avif \ + plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.avif \ + plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.monochrome.avif \ + plum-blossom-large.profile0.8bpc.yuv420.alpha-full.avif \ + plum-blossom-large.profile0.8bpc.yuv420.alpha-full.monochrome.avif \ + plum-blossom-large.profile0.10bpc.yuv420.alpha-full.avif \ + plum-blossom-large.profile0.10bpc.yuv420.alpha-full.monochrome.avif \ + plum-blossom-large.profile2.12bpc.yuv420.alpha-full.avif \ + plum-blossom-large.profile2.12bpc.yuv420.alpha-full.monochrome.avif \ + plum-blossom-large.profile2.8bpc.yuv422.alpha-full.avif \ + plum-blossom-large.profile2.8bpc.yuv422.alpha-full.monochrome.avif \ + plum-blossom-large.profile2.10bpc.yuv422.alpha-full.avif \ + plum-blossom-large.profile2.10bpc.yuv422.alpha-full.monochrome.avif \ + plum-blossom-large.profile2.12bpc.yuv422.alpha-full.avif \ + plum-blossom-large.profile2.12bpc.yuv422.alpha-full.monochrome.avif \ + plum-blossom-large.profile1.8bpc.yuv444.alpha-full.avif \ + plum-blossom-large.profile1.10bpc.yuv444.alpha-full.avif \ + plum-blossom-large.profile2.12bpc.yuv444.alpha-full.avif \ + plum-blossom-large.profile2.12bpc.yuv444.alpha-full.monochrome.avif + +PLUM_SMALL=\ + plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.avif \ + plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.monochrome.avif \ + plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.avif \ + plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.monochrome.avif \ + plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.avif \ + plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.monochrome.avif \ + plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.avif \ + plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.monochrome.avif \ + plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.avif \ + plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.monochrome.avif \ + plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.avif \ + plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.monochrome.avif \ + plum-blossom-small.profile1.8bpc.yuv444.alpha-limited.avif \ + plum-blossom-small.profile1.10bpc.yuv444.alpha-limited.avif \ + plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.avif \ + plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.monochrome.avif \ + plum-blossom-small.profile0.8bpc.yuv420.alpha-full.avif \ + plum-blossom-small.profile0.8bpc.yuv420.alpha-full.monochrome.avif \ + plum-blossom-small.profile0.10bpc.yuv420.alpha-full.avif \ + plum-blossom-small.profile0.10bpc.yuv420.alpha-full.monochrome.avif \ + plum-blossom-small.profile2.12bpc.yuv420.alpha-full.avif \ + plum-blossom-small.profile2.12bpc.yuv420.alpha-full.monochrome.avif \ + plum-blossom-small.profile2.8bpc.yuv422.alpha-full.avif \ + plum-blossom-small.profile2.8bpc.yuv422.alpha-full.monochrome.avif \ + plum-blossom-small.profile2.10bpc.yuv422.alpha-full.avif \ + plum-blossom-small.profile2.10bpc.yuv422.alpha-full.monochrome.avif \ + plum-blossom-small.profile2.12bpc.yuv422.alpha-full.avif \ + plum-blossom-small.profile2.12bpc.yuv422.alpha-full.monochrome.avif \ + plum-blossom-small.profile1.8bpc.yuv444.alpha-full.avif \ + plum-blossom-small.profile1.10bpc.yuv444.alpha-full.avif \ + plum-blossom-small.profile2.12bpc.yuv444.alpha-full.avif \ + plum-blossom-small.profile2.12bpc.yuv444.alpha-full.monochrome.avif + +PLUM=$(PLUM_LARGE) $(PLUM_SMALL) + +plum: $(PLUM); + +STAR=\ + star-8bpc.avifs \ + star-8bpc-with-alpha.avifs \ + star-10bpc.avifs \ + star-10bpc-with-alpha.avifs \ + star-12bpc.avifs \ + star-12bpc-with-alpha.avifs + +star: $(STAR); + +ALL_AVIF=$(HATO) $(KIMONO) $(FOX) $(PLUM) +ALL_AVIFS=$(STAR) +DECODED_PNG=$(ALL_AVIF:%.avif=decoded/%.png) +DUMMY_CHECK_TARGETS=$(ALL_AVIF:%.avif=%.check) + +.PHONY: all clean \ + hato kimono fox plum \ + star \ + decode decode-clean decode-images \ + url hato-url kimono-url fox-url plum-url\ + compare $(DUMMY_CHECK_TARGETS) + +decode-clean: + rm -Rf decoded/ + +$(DECODED_PNG): | decoded + +decoded: + mkdir -p decoded + +decode-images: $(DECODED_PNG); + +decode: + $(MAKE) decode-clean + $(MAKE) decode-images + +compare: $(DUMMY_CHECK_TARGETS); + +decoded/%.png: %.avif + $(DAVIF) -i $< -o $@ + +$(DUMMY_CHECK_TARGETS): %.check: %.avif decoded/%.png + bash -e scripts/compare.sh $@ $(word 1,$^) $(word 2,$^) + +url: + cat Makefile | grep '^.*\?\.avif:' | sort -d | sed 's/^\(.*\)\:\s*\(.*\)$\/https\:\/\/raw.githubusercontent.com\/link-u\/avif-sample-images\/master\/\1, https\:\/\/raw.githubusercontent.com\/link-u\/avif-sample-images\/master\/\2/' + +hato-url: + $(MAKE) url | grep hato + +kimono-url: + $(MAKE) url | grep kimono + +fox-url: + $(MAKE) url | grep fox + +plum-url: + $(MAKE) url | grep plum-blossom + +clean: + rm -Rf *.avif decoded .alpha-masks + +## hato + +### YUV422 + +hato.profile2.8bpc.yuv422.avif: hato.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +hato.profile2.8bpc.yuv422.monochrome.avif: hato.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --monochrome --cpu-used 0 --rate-control q --crf 18 + +hato.profile2.10bpc.yuv422.avif: hato.16bpc.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +hato.profile2.10bpc.yuv422.monochrome.avif: hato.16bpc.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --monochrome --cpu-used 0 --rate-control q --crf 18 + +hato.profile2.12bpc.yuv422.avif: hato.16bpc.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +hato.profile2.12bpc.yuv422.monochrome.avif: hato.16bpc.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --monochrome --cpu-used 0 --rate-control q --crf 18 + +### YUV420 + +hato.profile0.8bpc.yuv420.avif: hato.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +hato.profile0.8bpc.yuv420.monochrome.avif: hato.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --monochrome --cpu-used 0 --rate-control q --crf 18 + +hato.profile0.10bpc.yuv420.avif: hato.16bpc.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +hato.profile0.10bpc.yuv420.monochrome.avif: hato.16bpc.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --monochrome --cpu-used 0 --rate-control q --crf 18 + +## Kimono + +kimono.avif: kimono.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +kimono.rotate90.avif: kimono.rotate90.png + $(CAVIF) -i $< -o $@ --rotation 270 --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +kimono.rotate270.avif: kimono.rotate270.png + $(CAVIF) -i $< -o $@ --rotation 90 --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +kimono.mirror-horizontal.avif: kimono.mirror-horizontal.png + $(CAVIF) -i $< -o $@ --mirror horizontal --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +kimono.mirror-vertical.avif: kimono.mirror-vertical.png + $(CAVIF) -i $< -o $@ --mirror vertical --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +kimono.mirror-vertical.rotate270.avif: kimono.mirror-vertical.rotate270.png + $(CAVIF) -i $< -o $@ --mirror vertical --rotation 90 --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +kimono.crop.avif: kimono.png + $(CAVIF) -i $< -o $@ --crop-offset 103,-308 --crop-size 385,330 --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +kimono.mirror-vertical.rotate270.crop.avif: kimono.mirror-vertical.rotate270.png + $(CAVIF) -i $< -o $@ --crop-offset -308,103 --crop-size 330,385 --mirror vertical --rotation 90 --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +## Fox Parade + +### YUV420 + +#### 8bit + +fox.profile0.8bpc.yuv420.avif: fox.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile0.8bpc.yuv420.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile0.8bpc.yuv420.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile0.8bpc.yuv420.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile0.8bpc.yuv420.monochrome.avif: fox.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile0.8bpc.yuv420.monochrome.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile0.8bpc.yuv420.monochrome.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile0.8bpc.yuv420.monochrome.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +#### 10bit + +fox.profile0.10bpc.yuv420.avif: fox.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile0.10bpc.yuv420.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile0.10bpc.yuv420.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile0.10bpc.yuv420.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile0.10bpc.yuv420.monochrome.avif: fox.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile0.10bpc.yuv420.monochrome.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile0.10bpc.yuv420.monochrome.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile0.10bpc.yuv420.monochrome.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +#### 12bit + +fox.profile2.12bpc.yuv420.avif: fox.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv420.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv420.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv420.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv420.monochrome.avif: fox.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv420.monochrome.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv420.monochrome.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv420.monochrome.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +### YUV422 + +#### 8bit + +fox.profile2.8bpc.yuv422.avif: fox.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.8bpc.yuv422.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.8bpc.yuv422.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.8bpc.yuv422.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.8bpc.yuv422.monochrome.avif: fox.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.8bpc.yuv422.monochrome.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.8bpc.yuv422.monochrome.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.8bpc.yuv422.monochrome.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +#### 10bit + +fox.profile2.10bpc.yuv422.avif: fox.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.10bpc.yuv422.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.10bpc.yuv422.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.10bpc.yuv422.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.10bpc.yuv422.monochrome.avif: fox.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.10bpc.yuv422.monochrome.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.10bpc.yuv422.monochrome.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.10bpc.yuv422.monochrome.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +#### 12bit + +fox.profile2.12bpc.yuv422.avif: fox.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv422.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv422.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv422.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv422.monochrome.avif: fox.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv422.monochrome.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv422.monochrome.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv422.monochrome.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +### YUV444 + +#### 8bit + +fox.profile1.8bpc.yuv444.avif: fox.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +fox.profile1.8bpc.yuv444.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +fox.profile1.8bpc.yuv444.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +fox.profile1.8bpc.yuv444.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +#### 10bit + +fox.profile1.10bpc.yuv444.avif: fox.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +fox.profile1.10bpc.yuv444.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +fox.profile1.10bpc.yuv444.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +fox.profile1.10bpc.yuv444.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +#### 12bit + +fox.profile2.12bpc.yuv444.avif: fox.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv444.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv444.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv444.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv444.monochrome.avif: fox.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv444.monochrome.odd-width.avif: fox.odd-width.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv444.monochrome.odd-height.avif: fox.odd-height.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +fox.profile2.12bpc.yuv444.monochrome.odd-width.odd-height.avif: fox.odd-width.odd-height.png + $(CAVIF) -i $< -o $@ --monochrome --tune psnr --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +## Alpha mask + +.alpha-masks: + mkdir -p .alpha-masks + +$(PLUM): | .alpha-masks + +## Plum blossom - large version + +### YUV420 + +#### 8bit + +plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.monochrome.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome + +plum-blossom-large.profile0.8bpc.yuv420.alpha-full.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile0.8bpc.yuv420.alpha-full.monochrome.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome + +#### 10bit + +plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.monochrome.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome + +plum-blossom-large.profile0.10bpc.yuv420.alpha-full.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile0.10bpc.yuv420.alpha-full.monochrome.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome + +#### 12bit + +plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.monochrome.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome + +plum-blossom-large.profile2.12bpc.yuv420.alpha-full.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile2.12bpc.yuv420.alpha-full.monochrome.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome + +## YUV422 + +#### 8bit + +plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.monochrome.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome + +plum-blossom-large.profile2.8bpc.yuv422.alpha-full.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile2.8bpc.yuv422.alpha-full.monochrome.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome + +#### 10bit + +plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.monochrome.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome + +plum-blossom-large.profile2.10bpc.yuv422.alpha-full.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile2.10bpc.yuv422.alpha-full.monochrome.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome + +#### 12bit + +plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.monochrome.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome + +plum-blossom-large.profile2.12bpc.yuv422.alpha-full.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile2.12bpc.yuv422.alpha-full.monochrome.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome + +### YUV444 + +#### 8bit + +plum-blossom-large.profile1.8bpc.yuv444.alpha-limited.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile1.8bpc.yuv444.alpha-full.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +#### 10bit + +plum-blossom-large.profile1.10bpc.yuv444.alpha-limited.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile1.10bpc.yuv444.alpha-full.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +#### 12bit + +plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.monochrome.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 --monochrome + +plum-blossom-large.profile2.12bpc.yuv444.alpha-full.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-large.profile2.12bpc.yuv444.alpha-full.monochrome.avif: plum-blossom-large.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 --monochrome + +## Plum blossom - small version + +### YUV420 + +#### 8bit + +plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.monochrome.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome + +plum-blossom-small.profile0.8bpc.yuv420.alpha-full.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile0.8bpc.yuv420.alpha-full.monochrome.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 8 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome + +#### 10bit + +plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.monochrome.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome + +plum-blossom-small.profile0.10bpc.yuv420.alpha-full.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile0.10bpc.yuv420.alpha-full.monochrome.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 0 --bit-depth 10 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome + +#### 12bit + +plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.monochrome.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome + +plum-blossom-small.profile2.12bpc.yuv420.alpha-full.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile2.12bpc.yuv420.alpha-full.monochrome.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv420 --cpu-used 0 --rate-control q --crf 18 --monochrome + +## YUV422 + +#### 8bit + +plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.monochrome.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome + +plum-blossom-small.profile2.8bpc.yuv422.alpha-full.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile2.8bpc.yuv422.alpha-full.monochrome.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome + +#### 10bit + +plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.monochrome.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome + +plum-blossom-small.profile2.10bpc.yuv422.alpha-full.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile2.10bpc.yuv422.alpha-full.monochrome.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome + +#### 12bit + +plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.monochrome.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome + +plum-blossom-small.profile2.12bpc.yuv422.alpha-full.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile2.12bpc.yuv422.alpha-full.monochrome.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv422 --cpu-used 0 --rate-control q --crf 18 --monochrome + +### YUV444 + +#### 8bit + +plum-blossom-small.profile1.8bpc.yuv444.alpha-limited.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile1.8bpc.yuv444.alpha-full.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 8 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 8 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +#### 10bit + +plum-blossom-small.profile1.10bpc.yuv444.alpha-limited.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile1.10bpc.yuv444.alpha-full.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 10 --pix-fmt yuv422 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 1 --bit-depth 10 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +#### 12bit + +plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.monochrome.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 --monochrome + +plum-blossom-small.profile2.12bpc.yuv444.alpha-full.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 + +plum-blossom-small.profile2.12bpc.yuv444.alpha-full.monochrome.avif: plum-blossom-small.png + $(CAVIF) -i $< -o .alpha-masks/$@ --encode-target alpha --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --lossless --monochrome --enable-full-color-range + $(CAVIF) -i $< -o $@ --tune psnr --encode-target image --attach-alpha .alpha-masks/$@ --profile 2 --bit-depth 12 --pix-fmt yuv444 --cpu-used 0 --rate-control q --crf 18 --monochrome + +star-8bpc.avifs: star.input.txt + $(eval TMP := $(shell mktemp -d)) + ~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt yuv420p -color_range jpeg -b:v 0 -crf 0 -lossless 1 $(TMP)/star.mp4 + # You need the latest version of gpac. + # Go to https://github.com/gpac/gpac + # then, `make deb -j32` + MP4Box -add-image $(TMP)/star.mp4:id=1:primary -new $@ + MP4Box -ab avis -ab msf1 -ab miaf -ab MA1B -rb mif1 -brand avis $@ + MP4Box -add $(TMP)/star.mp4:hdlr=pict:ccst:name="GPAC avifs" $@ + rm -Rfv $(TMP) + +# FIXME(ledya-z): WORK IN PROGRESS +star-8bpc-with-alpha.avifs: star.input.txt + $(eval TMP := $(shell mktemp -d)) + ~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt yuv420p -color_range mpeg -b:v 0 -crf 0 -lossless 1 "$(TMP)/star-video.mp4" + # FIXME(ledyba-z): It does not generate monochrome OBUs. + ~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt gray -color_range mpeg -b:v 0 -crf 0 -lossless 1 "$(TMP)/star-alpha.mp4" + # You need the latest version of gpac. + # Go to https://github.com/gpac/gpac + # then, `make deb -j32` + + MP4Box -raw-layer "1:output=$(TMP)/star-video" "$(TMP)/star-video.mp4" + MP4Box -raw-layer "1:output=$(TMP)/star-alpha" "$(TMP)/star-alpha.mp4" + + MP4Box -add-image "$(TMP)/star-alpha.av1:id=3:ref=auxl,4:alpha:name=Alpha" -add-image "$(TMP)/star-video.av1:id=4:name=Color" -set-primary 4 -ab avif -new $@ + MP4Box -add "$(TMP)/star-video.av1:hdlr=pict:ccst:name=\"GPAC avifs\"" -add "$(TMP)/star-alpha.av1:hdlr=auxv:ccst:alpha:name=\"GPAC avifs alpha\"" -ref 2:auxl:1 -ab msf1 -ab miaf -ab MA1B -brand avis $@ + rm -Rfv $(TMP) + +star-10bpc.avifs: star.input.txt + $(eval TMP := $(shell mktemp -d)) + ~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt yuv422p10 -color_range jpeg -b:v 0 -crf 0 -lossless 1 $(TMP)/star.mp4 + # You need the latest version of gpac. + # Go to https://github.com/gpac/gpac + # then, `make deb -j32` + MP4Box -add-image $(TMP)/star.mp4:id=1:primary -new $@ + MP4Box -ab avis -ab msf1 -ab miaf -ab MA1B -rb mif1 -brand avis $@ + MP4Box -add $(TMP)/star.mp4:hdlr=pict:ccst:name="GPAC avifs" $@ + rm -Rfv $(TMP) + +# FIXME(ledya-z): WORK IN PROGRESS +star-10bpc-with-alpha.avifs: star.input.txt + $(eval TMP := $(shell mktemp -d)) + ~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt yuv422p10 -color_range mpeg -b:v 0 -crf 0 -lossless 1 "$(TMP)/star-video.mp4" + # FIXME(ledyba-z): It does not generate monochrome OBUs. + ~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt gray10 -color_range mpeg -b:v 0 -crf 0 -lossless 1 "$(TMP)/star-alpha.mp4" + # You need the latest version of gpac. + # Go to https://github.com/gpac/gpac + # then, `make deb -j32` + + MP4Box -raw-layer "1:output=$(TMP)/star-video" "$(TMP)/star-video.mp4" + MP4Box -raw-layer "1:output=$(TMP)/star-alpha" "$(TMP)/star-alpha.mp4" + + MP4Box -add-image "$(TMP)/star-alpha.av1:id=3:ref=auxl,4:alpha:name=Alpha" -add-image "$(TMP)/star-video.av1:id=4:name=Color" -set-primary 4 -ab avif -new $@ + MP4Box -add "$(TMP)/star-video.av1:hdlr=pict:ccst:name=\"GPAC avifs\"" -add "$(TMP)/star-alpha.av1:hdlr=auxv:ccst:alpha:name=\"GPAC avifs alpha\"" -ref 2:auxl:1 -ab msf1 -ab miaf -ab MA1B -brand avis $@ + rm -Rfv $(TMP) + +star-12bpc.avifs: star.input.txt + $(eval TMP := $(shell mktemp -d)) + ~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt yuv444p12 -color_range jpeg -b:v 0 -crf 0 -lossless 1 $(TMP)/star.mp4 + # You need the latest version of gpac. + # Go to https://github.com/gpac/gpac + # then, `make deb -j32` + MP4Box -add-image $(TMP)/star.mp4:id=1:primary -new $@ + MP4Box -ab avis -ab msf1 -ab miaf -ab MA1B -rb mif1 -brand avis $@ + MP4Box -add $(TMP)/star.mp4:hdlr=pict:ccst:name="GPAC avifs" $@ + rm -Rfv $(TMP) + +# FIXME(ledya-z): WORK IN PROGRESS +star-12bpc-with-alpha.avifs: star.input.txt + $(eval TMP := $(shell mktemp -d)) + ~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt yuv444p12 -color_range mpeg -b:v 0 -crf 0 -lossless 1 "$(TMP)/star-video.mp4" + # FIXME(ledyba-z): It does not generate monochrome OBUs. + ~/umi/src/git.ffmpeg.org/ffmpeg/ffmpeg -r 10 -f concat -i star.input.txt -strict -2 -vcodec av1 -pix_fmt gray12 -color_range mpeg -b:v 0 -crf 0 -lossless 1 "$(TMP)/star-alpha.mp4" + # You need the latest version of gpac. + # Go to https://github.com/gpac/gpac + # then, `make deb -j32` + + MP4Box -raw-layer "1:output=$(TMP)/star-video" "$(TMP)/star-video.mp4" + MP4Box -raw-layer "1:output=$(TMP)/star-alpha" "$(TMP)/star-alpha.mp4" + + MP4Box -add-image "$(TMP)/star-alpha.av1:id=3:ref=auxl,4:alpha:name=Alpha" -add-image "$(TMP)/star-video.av1:id=4:name=Color" -set-primary 4 -ab avif -new $@ + MP4Box -add "$(TMP)/star-video.av1:hdlr=pict:ccst:name=\"GPAC avifs\"" -add "$(TMP)/star-alpha.av1:hdlr=auxv:ccst:alpha:name=\"GPAC avifs alpha\"" -ref 2:auxl:1 -ab msf1 -ab miaf -ab MA1B -brand avis $@ + rm -Rfv $(TMP) diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/README.md b/third_party/rust/mp4parse/link-u-avif-sample-images/README.md new file mode 100644 index 0000000000..6b803ec823 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/README.md @@ -0,0 +1,582 @@ +# AVIF Example files. + +![Encode all images and decode them again weekly.](https://github.com/link-u/avif-sample-images/workflows/Encode%20all%20images%20and%20decode%20them%20again%20weekly./badge.svg) + +- All files do not contain Exif metadata. +- All files are tagged as MIAF compatible. +- All files are tagged as compatible with the AVIF Baseline or Advanced Profile if possible. +- All images have the "reduced_still_picture_header" and "still_picture" flags set to 1 in the AV1 Sequence Header. +- Most images are licensed under [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.en), but some files are licensed different license. Please check. + +[Makefile](Makefile) describes how they were created. To generate files yourself, you have to install [cavif](https://github.com/link-u/cavif) and [davif](https://github.com/link-u/davif) + +## hato + +![hato.jpg](hato.jpg) + + - size: 3082x2048 + - License: [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.en) + - Author: Kaede Fujisaki ([@ledyba](https://github.com/ledyba)) + - Retrieved from [her website](https://hexe.net/2017/11/27/12:27:02/). + +### AVIF version + +#### YUV 420 + +| profile | bit depth | Monochrome | file | +|---------|-----------|------------|--------------------------------------------------| +| 0 | 8 | | [here](hato.profile0.8bpc.yuv420.avif) | +| 0 | 8 | YES | [here](hato.profile0.8bpc.yuv420.monochromeavif) | +| 0 | 10 | | [here](hato.profile0.10bpc.yuv420.avif) | +| 0 | 10 | YES | [here](hato.profile0.10bpc.yuv420.avif) | + +#### YUV422 + +| profile | bit depth | Monochrome | file | +|---------|-----------|------------|---------------------------------------------------| +| 2 | 8 | | [here](hato.profile2.8bpc.yuv422.avif) | +| 2 | 8 | YES | [here](hato.profile2.8bpc.yuv422.monochrome.avif) | +| 2 | 10 | | [here](hato.profile2.10bpc.yuv422.avif) | +| 2 | 10 | YES | [here](hato.profile2.10bpc.yuv422.avif) | +| 2 | 12 | | [here](hato.profile2.12bpc.yuv422.avif) | +| 2 | 12 | YES | [here](hato.profile2.12bpc.yuv422.avif) | + +#### URLS + +You can obtain this list with `make hato-url`. + +``` +https://raw.githubusercontent.com/link-u/avif-sample-images/master/hato.profile0.10bpc.yuv420.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/hato.profile0.10bpc.yuv420.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/hato.profile0.8bpc.yuv420.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/hato.profile0.8bpc.yuv420.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/hato.profile2.10bpc.yuv422.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/hato.profile2.10bpc.yuv422.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/hato.profile2.12bpc.yuv422.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/hato.profile2.12bpc.yuv422.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/hato.profile2.8bpc.yuv422.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/hato.profile2.8bpc.yuv422.monochrome.avif +``` + +## Kimono - Transformation tests + +[<img src="https://raw.githubusercontent.com/link-u/avif-sample-images/master/kimono.jpg" alt="kimono.jpg" height="512">](kimono.jpg) + + - size: 722x1024 + - License: [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.en) + - Authors: Momiji Jinzamomi([@momiji-san](https://github.com/momiji-san)) and Kaede Fujisaki ([@ledyba](https://github.com/ledyba)) + - Retrieved from [their website](https://hexe.net/2018/12/24/18:59:01/). + + +Test images for rotation(`irot`), mirroring(`imir`), cropping(`clap`). + +All AVIF images are encoded in these settings: + + - Profile 0 + - YUV420 + - 8 bits per component + +### FYI: Transform operation order + +[MIAF](https://www.iso.org/standard/74417.html) defines the transform operation order(p.16): + +> These properties, if used, shall be indicated to be applied in the following order: +> clean aperture first, then rotation, then mirror. + +### Identity + +[kimono.avif](./kimono.avif) + +No operation is applied. + +### Rotation 90 + +[kimono.rotate90.avif](./kimono.rotate90.avif) + +[Encoded image is rotated at 90 degree in counter-clockwise](kimono.rotate90.png), and marked to rotate it 270 degree in counter-clockwise when displaying. Thus, resulted image is as the same as the original. + +### Rotation 270 + +[kimono.rotate270.avif](./kimono.rotate270.avif) + +[Encoded image is rotated at 270 degree in counter-clockwise](kimono.rotate270.png), and marked to rotate it 90 degree in counter-clockwise when displaying. Thus, resulted image is as the same as the original. + + +### Mirroring horizontally + +[kimono.mirror-horizontal.avif](./kimono.mirror-horizontal.avif) + +[Encoded image is mirrored horizontally](kimono.mirror-horizontal.png), and marked to mirror it horizontally again when displaying. Thus, resulted image is as the same as the original. + +### Mirroring vertically + +[kimono.mirror-vertical.avif](./kimono.mirror-vertical.avif) + +Vertical version. Same as above. + +### Mirroring vertically + Rotating at 90 degrees. + +[kimono.mirror-vertical.rotate270.avif](./kimono.mirror-vertical.rotate270.avif) + +[Encoded image is mirrored vertically, then rorated at 90 degree in clockwise](kimono.mirror-vertical.rotate270.png), and marked to rotate it at 90 degree in counter-clockwise and then mirror it vertically when displaying. + +Thus, resulted image is as the same as the original. + +### Cropping + +[kimono.crop.avif](kimono.crop.avif) + +Displaying image will be cropped from the original image, using `CleanApertureBox`(See: ISO/IEC 14496-12:2015). + +Cropped under these condition: + + - cleanApertureWidthN: 385 + - cleanApertureWidthD: 1 + - cleanApertureHeightN: 330 + - cleanApertureHeightD: 1 + - horizOffN: 103 + - horizOffD: 1 + - vertOffN: -308 (This can be negative, as mensioned in ISO/IEC 14496-12:2015). + - vertOffD: 1 + +Resulted image should be: + +![kimono.crop.png](kimono.crop.png) + +### Cropping + Mirroring vertically + Rotating at 90 degrees. + +[kimono.mirror-vertical.rotate270.crop.avif](kimono.mirror-vertical.rotate270.crop.avif) + +[Encoded image is mirrored vertically, then rorated at 90 degree in clockwise](kimono.mirror-vertical.rotate270.png), and marked to crop it first, rotate it at 90 degree in counter-clockwise, and then mirror it vertically. + +Cropping condition is: + +- cleanApertureWidthN: 330 +- cleanApertureWidthD: 1 +- cleanApertureHeightN: 385 +- cleanApertureHeightD: 1 +- horizOffN: -308 +- horizOffD: 1 +- vertOffN: 103 +- vertOffD: 1 + +Resulted image should be as the same as above. + +![kimono.crop.png](kimono.crop.png) + +### URLS + +You can obtain this list with `make kimono-url`. + +``` +https://raw.githubusercontent.com/link-u/avif-sample-images/master/kimono.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/kimono.crop.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/kimono.mirror-horizontal.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/kimono.mirror-vertical.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/kimono.mirror-vertical.rotate270.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/kimono.mirror-vertical.rotate270.crop.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/kimono.rotate270.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/kimono.rotate90.avif +``` + +## Fox Parade - Odd dimensions images + +### Original + +[<img src="https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.jpg" alt="fox.jpg" height="512">](fox.jpg) + + - size: 1204 x 800 + - License: [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.en) + - Author: Kaede Fujisaki ([@ledyba](https://github.com/ledyba)) + - Retrieved from [her website](https://hexe.net/2017/12/02/16:33:53/). + +#### Odd-Width + + - [fox.odd-width.png](fox.odd-width.png) + - size: 1203 x 800 + +#### Odd-Height + + - [fox.odd-height.png](fox.odd-height.png) + - size: 1204 x 799 + +#### Odd-Width x Odd-Height + + - [fox.odd-width.odd-height.png](fox.odd-width.odd-height.png) + - size: 1203 x 799 + +### AVIF version + +| profile | bit depth | pix fmt | Monochrome | odd width | odd height | file | +|---------|-----------|---------|------------|-----------|------------|------------------------------------------------------------------------| +| 0 | 8 | YUV420 | | | | [here](fox.profile0.8bpc.yuv420.avif) | +| 0 | 8 | YUV420 | | YES | | [here](fox.profile0.8bpc.yuv420.odd-width.avif) | +| 0 | 8 | YUV420 | | | YES | [here](fox.profile0.8bpc.yuv420.odd-height.avif) | +| 0 | 8 | YUV420 | | YES | YES | [here](fox.profile0.8bpc.yuv420.odd-width.odd-height.avif) | +| 0 | 8 | YUV420 | YES | | | [here](fox.profile0.8bpc.yuv420.monochrome.avif) | +| 0 | 8 | YUV420 | YES | YES | | [here](fox.profile0.8bpc.yuv420.monochrome.odd-width.avif) | +| 0 | 8 | YUV420 | YES | | YES | [here](fox.profile0.8bpc.yuv420.monochrome.odd-height.avif) | +| 0 | 8 | YUV420 | YES | YES | YES | [here](fox.profile0.8bpc.yuv420.monochrome.odd-width.odd-height.avif) | +| 0 | 10 | YUV420 | | | | [here](fox.profile0.10bpc.yuv420.avif) | +| 0 | 10 | YUV420 | | YES | | [here](fox.profile0.10bpc.yuv420.odd-width.avif) | +| 0 | 10 | YUV420 | | | YES | [here](fox.profile0.10bpc.yuv420.odd-height.avif) | +| 0 | 10 | YUV420 | | YES | YES | [here](fox.profile0.10bpc.yuv420.odd-width.odd-height.avif) | +| 0 | 10 | YUV420 | YES | | | [here](fox.profile0.10bpc.yuv420.monochrome.avif) | +| 0 | 10 | YUV420 | YES | YES | | [here](fox.profile0.10bpc.yuv420.monochrome.odd-width.avif) | +| 0 | 10 | YUV420 | YES | | YES | [here](fox.profile0.10bpc.yuv420.monochrome.odd-height.avif) | +| 0 | 10 | YUV420 | YES | YES | YES | [here](fox.profile0.10bpc.yuv420.monochrome.odd-width.odd-height.avif) | +| 2 | 12 | YUV420 | | | | [here](fox.profile2.12bpc.yuv420.avif) | +| 2 | 12 | YUV420 | | YES | | [here](fox.profile2.12bpc.yuv420.odd-width.avif) | +| 2 | 12 | YUV420 | | | YES | [here](fox.profile2.12bpc.yuv420.odd-height.avif) | +| 2 | 12 | YUV420 | | YES | YES | [here](fox.profile2.12bpc.yuv420.odd-width.odd-height.avif) | +| 2 | 12 | YUV420 | YES | | | [here](fox.profile2.12bpc.yuv420.monochrome.avif) | +| 2 | 12 | YUV420 | YES | YES | | [here](fox.profile2.12bpc.yuv420.monochrome.odd-width.avif) | +| 2 | 12 | YUV420 | YES | | YES | [here](fox.profile2.12bpc.yuv420.monochrome.odd-height.avif) | +| 2 | 12 | YUV420 | YES | YES | YES | [here](fox.profile2.12bpc.yuv420.monochrome.odd-width.odd-height.avif) | +| 2 | 8 | YUV422 | | | | [here](fox.profile2.8bpc.yuv422.avif) | +| 2 | 8 | YUV422 | | YES | | [here](fox.profile2.8bpc.yuv422.odd-width.avif) | +| 2 | 8 | YUV422 | | | YES | [here](fox.profile2.8bpc.yuv422.odd-height.avif) | +| 2 | 8 | YUV422 | | YES | YES | [here](fox.profile2.8bpc.yuv422.odd-width.odd-height.avif) | +| 2 | 8 | YUV422 | YES | | | [here](fox.profile2.8bpc.yuv422.monochrome.avif) | +| 2 | 8 | YUV422 | YES | YES | | [here](fox.profile2.8bpc.yuv422.monochrome.odd-width.avif) | +| 2 | 8 | YUV422 | YES | | YES | [here](fox.profile2.8bpc.yuv422.monochrome.odd-height.avif) | +| 2 | 8 | YUV422 | YES | YES | YES | [here](fox.profile2.8bpc.yuv422.monochrome.odd-width.odd-height.avif) | +| 2 | 10 | YUV422 | | | | [here](fox.profile2.10bpc.yuv422.avif) | +| 2 | 10 | YUV422 | | YES | | [here](fox.profile2.10bpc.yuv422.odd-width.avif) | +| 2 | 10 | YUV422 | | | YES | [here](fox.profile2.10bpc.yuv422.odd-height.avif) | +| 2 | 10 | YUV422 | | YES | YES | [here](fox.profile2.10bpc.yuv422.odd-width.odd-height.avif) | +| 2 | 10 | YUV422 | YES | | | [here](fox.profile2.10bpc.yuv422.monochrome.avif) | +| 2 | 10 | YUV422 | YES | YES | | [here](fox.profile2.10bpc.yuv422.monochrome.odd-width.avif) | +| 2 | 10 | YUV422 | YES | | YES | [here](fox.profile2.10bpc.yuv422.monochrome.odd-height.avif) | +| 2 | 10 | YUV422 | YES | YES | YES | [here](fox.profile2.10bpc.yuv422.monochrome.odd-width.odd-height.avif) | +| 2 | 12 | YUV422 | | | | [here](fox.profile2.12bpc.yuv422.avif) | +| 2 | 12 | YUV422 | | YES | | [here](fox.profile2.12bpc.yuv422.odd-width.avif) | +| 2 | 12 | YUV422 | | | YES | [here](fox.profile2.12bpc.yuv422.odd-height.avif) | +| 2 | 12 | YUV422 | | YES | YES | [here](fox.profile2.12bpc.yuv422.odd-width.odd-height.avif) | +| 2 | 12 | YUV422 | YES | | | [here](fox.profile2.12bpc.yuv422.monochrome.avif) | +| 2 | 12 | YUV422 | YES | YES | | [here](fox.profile2.12bpc.yuv422.monochrome.odd-width.avif) | +| 2 | 12 | YUV422 | YES | | YES | [here](fox.profile2.12bpc.yuv422.monochrome.odd-height.avif) | +| 2 | 12 | YUV422 | YES | YES | YES | [here](fox.profile2.12bpc.yuv422.monochrome.odd-width.odd-height.avif) | +| 1 | 8 | YUV444 | | | | [here](fox.profile1.8bpc.yuv444.avif) | +| 1 | 8 | YUV444 | | YES | | [here](fox.profile1.8bpc.yuv444.odd-width.avif) | +| 1 | 8 | YUV444 | | | YES | [here](fox.profile1.8bpc.yuv444.odd-height.avif) | +| 1 | 8 | YUV444 | | YES | YES | [here](fox.profile1.8bpc.yuv444.odd-width.odd-height.avif) | +| 1 | 10 | YUV444 | | | | [here](fox.profile1.10bpc.yuv444.avif) | +| 1 | 10 | YUV444 | | YES | | [here](fox.profile1.10bpc.yuv444.odd-width.avif) | +| 1 | 10 | YUV444 | | | YES | [here](fox.profile1.10bpc.yuv444.odd-height.avif) | +| 1 | 10 | YUV444 | | YES | YES | [here](fox.profile1.10bpc.yuv444.odd-width.odd-height.avif) | +| 2 | 12 | YUV444 | | | | [here](fox.profile2.12bpc.yuv444.avif) | +| 2 | 12 | YUV444 | | YES | | [here](fox.profile2.12bpc.yuv444.odd-width.avif) | +| 2 | 12 | YUV444 | | | YES | [here](fox.profile2.12bpc.yuv444.odd-height.avif) | +| 2 | 12 | YUV444 | | YES | YES | [here](fox.profile2.12bpc.yuv444.odd-width.odd-height.avif) | +| 2 | 12 | YUV444 | YES | | | [here](fox.profile2.12bpc.yuv444.monochrome.avif) | +| 2 | 12 | YUV444 | YES | YES | | [here](fox.profile2.12bpc.yuv444.monochrome.odd-width.avif) | +| 2 | 12 | YUV444 | YES | | YES | [here](fox.profile2.12bpc.yuv444.monochrome.odd-height.avif) | +| 2 | 12 | YUV444 | YES | YES | YES | [here](fox.profile2.12bpc.yuv444.monochrome.odd-width.odd-height.avif) | + +### URLs + +You can obtain this list with `make fox-url`. + +``` +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.10bpc.yuv420.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.10bpc.yuv420.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.10bpc.yuv420.monochrome.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.10bpc.yuv420.monochrome.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.10bpc.yuv420.monochrome.odd-width.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.10bpc.yuv420.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.10bpc.yuv420.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.10bpc.yuv420.odd-width.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.8bpc.yuv420.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.8bpc.yuv420.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.8bpc.yuv420.monochrome.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.8bpc.yuv420.monochrome.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.8bpc.yuv420.monochrome.odd-width.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.8bpc.yuv420.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.8bpc.yuv420.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile0.8bpc.yuv420.odd-width.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile1.10bpc.yuv444.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile1.10bpc.yuv444.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile1.10bpc.yuv444.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile1.10bpc.yuv444.odd-width.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile1.8bpc.yuv444.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile1.8bpc.yuv444.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile1.8bpc.yuv444.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile1.8bpc.yuv444.odd-width.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.10bpc.yuv422.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.10bpc.yuv422.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.10bpc.yuv422.monochrome.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.10bpc.yuv422.monochrome.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.10bpc.yuv422.monochrome.odd-width.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.10bpc.yuv422.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.10bpc.yuv422.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.10bpc.yuv422.odd-width.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv420.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv420.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv420.monochrome.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv420.monochrome.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv420.monochrome.odd-width.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv420.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv420.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv420.odd-width.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv422.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv422.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv422.monochrome.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv422.monochrome.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv422.monochrome.odd-width.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv422.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv422.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv422.odd-width.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv444.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv444.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv444.monochrome.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv444.monochrome.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv444.monochrome.odd-width.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv444.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv444.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.12bpc.yuv444.odd-width.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.8bpc.yuv422.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.8bpc.yuv422.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.8bpc.yuv422.monochrome.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.8bpc.yuv422.monochrome.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.8bpc.yuv422.monochrome.odd-width.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.8bpc.yuv422.odd-height.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.8bpc.yuv422.odd-width.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/fox.profile2.8bpc.yuv422.odd-width.odd-height.avif +``` +## Plum blossom - test images for alpha planes + +### Original (SVG) + +[![plum-blossom.svg](./plum-blossom.svg)](plum-blossom.svg) + + - License: [CC-BY](https://creativecommons.org/licenses/by/4.0/deed.en) + - Author: Ryo Hirafuji ([@ledyba-z](https://github.com/ledyba-z)) + +#### Large Version (PNG) + + - [plum-blossom-large.png](plum-blossom-large.png) + - size: 2048x2048 + +#### Small Version (PNG) + + - [plum-blossom-small.png](plum-blossom-small.png) + - size: 128x128 + +### AVIF version (Large Version) + +#### Limited-ranged alpha + +| profile | bit depth | pix fmt | Monochrome | alpha | file | +|---------|-----------|---------|------------|-------- |--------------------------------------------------------------------------------| +| 0 | 8 | YUV420 | | limited | [here](plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.avif) | +| 0 | 8 | YUV420 | YES | limited | [here](plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.monochrome.avif) | +| 0 | 10 | YUV420 | | limited | [here](plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.avif) | +| 0 | 10 | YUV420 | YES | limited | [here](plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.monochrome.avif) | +| 2 | 12 | YUV420 | | limited | [here](plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.avif) | +| 2 | 12 | YUV420 | YES | limited | [here](plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.monochrome.avif) | +| 2 | 8 | YUV422 | | limited | [here](plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.avif) | +| 2 | 8 | YUV422 | YES | limited | [here](plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.monochrome.avif) | +| 2 | 10 | YUV422 | | limited | [here](plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.avif) | +| 2 | 10 | YUV422 | YES | limited | [here](plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.monochrome.avif) | +| 2 | 12 | YUV422 | | limited | [here](plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.avif) | +| 2 | 12 | YUV422 | YES | limited | [here](plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.monochrome.avif) | +| 1 | 8 | YUV444 | | limited | [here](plum-blossom-large.profile1.8bpc.yuv444.alpha-limited.avif) | +| 1 | 10 | YUV444 | | limited | [here](plum-blossom-large.profile1.10bpc.yuv444.alpha-limited.avif) | +| 2 | 12 | YUV444 | | limited | [here](plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.avif) | +| 2 | 12 | YUV444 | YES | limited | [here](plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.monochrome.avif) | + +#### Full-ranged alpha + +| profile | bit depth | pix fmt | Monochrome | alpha | file | +|---------|-----------|---------|------------|-------- |--------------------------------------------------------------------------------| +| 0 | 8 | YUV420 | | full | [here](plum-blossom-large.profile0.8bpc.yuv420.alpha-full.avif) | +| 0 | 8 | YUV420 | YES | full | [here](plum-blossom-large.profile0.8bpc.yuv420.alpha-full.monochrome.avif) | +| 0 | 10 | YUV420 | | full | [here](plum-blossom-large.profile0.10bpc.yuv420.alpha-full.avif) | +| 0 | 10 | YUV420 | YES | full | [here](plum-blossom-large.profile0.10bpc.yuv420.alpha-full.monochrome.avif) | +| 2 | 12 | YUV420 | | full | [here](plum-blossom-large.profile2.12bpc.yuv420.alpha-full.avif) | +| 2 | 12 | YUV420 | YES | full | [here](plum-blossom-large.profile2.12bpc.yuv420.alpha-full.monochrome.avif) | +| 2 | 8 | YUV422 | | full | [here](plum-blossom-large.profile2.8bpc.yuv422.alpha-full.avif) | +| 2 | 8 | YUV422 | YES | full | [here](plum-blossom-large.profile2.8bpc.yuv422.alpha-full.monochrome.avif) | +| 2 | 10 | YUV422 | | full | [here](plum-blossom-large.profile2.10bpc.yuv422.alpha-full.avif) | +| 2 | 10 | YUV422 | YES | full | [here](plum-blossom-large.profile2.10bpc.yuv422.alpha-full.monochrome.avif) | +| 2 | 12 | YUV422 | | full | [here](plum-blossom-large.profile2.12bpc.yuv422.alpha-full.avif) | +| 2 | 12 | YUV422 | YES | full | [here](plum-blossom-large.profile2.12bpc.yuv422.alpha-full.monochrome.avif) | +| 1 | 8 | YUV444 | | full | [here](plum-blossom-large.profile1.8bpc.yuv444.alpha-full.avif) | +| 1 | 10 | YUV444 | | full | [here](plum-blossom-large.profile1.10bpc.yuv444.alpha-full.avif) | +| 2 | 12 | YUV444 | | full | [here](plum-blossom-large.profile2.12bpc.yuv444.alpha-full.avif) | +| 2 | 12 | YUV444 | YES | full | [here](plum-blossom-large.profile2.12bpc.yuv444.alpha-full.monochrome.avif) | + +### AVIF version (Small Version) + +#### Limited-ranged alpha + +| profile | bit depth | pix fmt | Monochrome | alpha | file | +|---------|-----------|---------|------------|-------- |--------------------------------------------------------------------------------| +| 0 | 8 | YUV420 | | limited | [here](plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.avif) | +| 0 | 8 | YUV420 | YES | limited | [here](plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.monochrome.avif) | +| 0 | 10 | YUV420 | | limited | [here](plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.avif) | +| 0 | 10 | YUV420 | YES | limited | [here](plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.monochrome.avif) | +| 2 | 12 | YUV420 | | limited | [here](plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.avif) | +| 2 | 12 | YUV420 | YES | limited | [here](plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.monochrome.avif) | +| 2 | 8 | YUV422 | | limited | [here](plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.avif) | +| 2 | 8 | YUV422 | YES | limited | [here](plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.monochrome.avif) | +| 2 | 10 | YUV422 | | limited | [here](plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.avif) | +| 2 | 10 | YUV422 | YES | limited | [here](plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.monochrome.avif) | +| 2 | 12 | YUV422 | | limited | [here](plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.avif) | +| 2 | 12 | YUV422 | YES | limited | [here](plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.monochrome.avif) | +| 1 | 8 | YUV444 | | limited | [here](plum-blossom-small.profile1.8bpc.yuv444.alpha-limited.avif) | +| 1 | 10 | YUV444 | | limited | [here](plum-blossom-small.profile1.10bpc.yuv444.alpha-limited.avif) | +| 2 | 12 | YUV444 | | limited | [here](plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.avif) | +| 2 | 12 | YUV444 | YES | limited | [here](plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.monochrome.avif) | + +#### Full-ranged alpha + +| profile | bit depth | pix fmt | Monochrome | alpha | file | +|---------|-----------|---------|------------|-------- |--------------------------------------------------------------------------------| +| 0 | 8 | YUV420 | | full | [here](plum-blossom-small.profile0.8bpc.yuv420.alpha-full.avif) | +| 0 | 8 | YUV420 | YES | full | [here](plum-blossom-small.profile0.8bpc.yuv420.alpha-full.monochrome.avif) | +| 0 | 10 | YUV420 | | full | [here](plum-blossom-small.profile0.10bpc.yuv420.alpha-full.avif) | +| 0 | 10 | YUV420 | YES | full | [here](plum-blossom-small.profile0.10bpc.yuv420.alpha-full.monochrome.avif) | +| 2 | 12 | YUV420 | | full | [here](plum-blossom-small.profile2.12bpc.yuv420.alpha-full.avif) | +| 2 | 12 | YUV420 | YES | full | [here](plum-blossom-small.profile2.12bpc.yuv420.alpha-full.monochrome.avif) | +| 2 | 8 | YUV422 | | full | [here](plum-blossom-small.profile2.8bpc.yuv422.alpha-full.avif) | +| 2 | 8 | YUV422 | YES | full | [here](plum-blossom-small.profile2.8bpc.yuv422.alpha-full.monochrome.avif) | +| 2 | 10 | YUV422 | | full | [here](plum-blossom-small.profile2.10bpc.yuv422.alpha-full.avif) | +| 2 | 10 | YUV422 | YES | full | [here](plum-blossom-small.profile2.10bpc.yuv422.alpha-full.monochrome.avif) | +| 2 | 12 | YUV422 | | full | [here](plum-blossom-small.profile2.12bpc.yuv422.alpha-full.avif) | +| 2 | 12 | YUV422 | YES | full | [here](plum-blossom-small.profile2.12bpc.yuv422.alpha-full.monochrome.avif) | +| 1 | 8 | YUV444 | | full | [here](plum-blossom-small.profile1.8bpc.yuv444.alpha-full.avif) | +| 1 | 10 | YUV444 | | full | [here](plum-blossom-small.profile1.10bpc.yuv444.alpha-full.avif) | +| 2 | 12 | YUV444 | | full | [here](plum-blossom-small.profile2.12bpc.yuv444.alpha-full.avif) | +| 2 | 12 | YUV444 | YES | full | [here](plum-blossom-small.profile2.12bpc.yuv444.alpha-full.monochrome.avif) | + +### URLs + +You can obtain this list with `make plum-url`. + +``` +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile0.10bpc.yuv420.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile0.10bpc.yuv420.alpha-full.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile0.8bpc.yuv420.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile0.8bpc.yuv420.alpha-full.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile1.10bpc.yuv444.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile1.10bpc.yuv444.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile1.8bpc.yuv444.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile1.8bpc.yuv444.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.10bpc.yuv422.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.10bpc.yuv422.alpha-full.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.12bpc.yuv420.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.12bpc.yuv420.alpha-full.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.12bpc.yuv422.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.12bpc.yuv422.alpha-full.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.12bpc.yuv444.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.12bpc.yuv444.alpha-full.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.8bpc.yuv422.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.8bpc.yuv422.alpha-full.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile0.10bpc.yuv420.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile0.10bpc.yuv420.alpha-full.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile0.8bpc.yuv420.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile0.8bpc.yuv420.alpha-full.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile1.10bpc.yuv444.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile1.10bpc.yuv444.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile1.8bpc.yuv444.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile1.8bpc.yuv444.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.10bpc.yuv422.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.10bpc.yuv422.alpha-full.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.12bpc.yuv420.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.12bpc.yuv420.alpha-full.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.12bpc.yuv422.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.12bpc.yuv422.alpha-full.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.12bpc.yuv444.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.12bpc.yuv444.alpha-full.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.8bpc.yuv422.alpha-full.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.8bpc.yuv422.alpha-full.monochrome.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.avif +https://raw.githubusercontent.com/link-u/avif-sample-images/master/plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.monochrome.avif +``` + +## Red at 12 o'clock with color profile - ICC Profile tests + +![red-at-12-oclock-with-color-profile.jpg](red-at-12-oclock-with-color-profile) + + - License: GNU LGPL v2.1 or 2 claused BSD License + - Author: Tony Payne <tpayne@chromium.org> + - [commit](https://chromium.googlesource.com/chromium/src/+/e89ab1941644ff34b262cac05f23e82b7e249377) + +### AVIF version + + - [red-at-12-oclock-with-color-profile-lossy.avif](red-at-12-oclock-with-color-profile-lossy.avif) + - [red-at-12-oclock-with-color-profile-8bpc.avif](red-at-12-oclock-with-color-profile-8bpc.avif) + - [red-at-12-oclock-with-color-profile-10bpc.avif](red-at-12-oclock-with-color-profile-10bpc.avif) + - [red-at-12-oclock-with-color-profile-12bpc.avif](red-at-12-oclock-with-color-profile-12bpc.avif) + +## Twinkle Star - Image Sequence Test + +[![star.gif](star.gif)](star.gif) + + - [AV1 mp4 version](star.mp4) + +### Original (SVG) + +[![star.svg](./star.svg)](star.svg) + + - License: [CC-BY](https://creativecommons.org/licenses/by/4.0/deed.en) + - Author: Ryo Hirafuji ([@ledyba-z](https://github.com/ledyba-z)) + - Special Thanks: [Shigatake's Pixel Art Lesson](http://shigatake.sakura.ne.jp/gallery/dot/dot_1.html) + +### AVIFS version + +#### Normal + +- [star-8bpc.avifs](star-8bpc.avifs) + - YUV420 + - full-ranged color +- [star-10bpc.avifs](star-10bpc.avifs) + - YUV422 + - full-ranged color +- [star-12bpc.avifs](star-12bpc.avifs) + - YUV444 + - full-ranged color + +- [star-8bpc-with-alpha.avifs](star-8bpc-with-alpha.avifs) + - YUV420 + - 8bit + - limited-ranged color + - limited-ranged alpha +- [star-8bpc-with-alpha.avifs](star-10bpc-with-alpha.avifs) + - YUV422 + - 10bit + - limited-ranged color + - limited-ranged alpha +- [star-8bpc-with-alpha.avifs](star-12bpc-with-alpha.avifs) + - YUV444 + - 12bit + - limited-ranged color + - limited-ranged alpha diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.jpg b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.jpg Binary files differnew file mode 100644 index 0000000000..748f2786b5 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.jpg diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.odd-height.png b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.odd-height.png Binary files differnew file mode 100644 index 0000000000..831ab7529a --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.odd-height.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.odd-width.odd-height.png b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.odd-width.odd-height.png Binary files differnew file mode 100644 index 0000000000..c858205691 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.odd-width.odd-height.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.odd-width.png b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.odd-width.png Binary files differnew file mode 100644 index 0000000000..f5fe9fce9b --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.odd-width.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.png b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.png Binary files differnew file mode 100644 index 0000000000..a1e59a2a11 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.avif Binary files differnew file mode 100644 index 0000000000..a1c0abd7aa --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.monochrome.avif Binary files differnew file mode 100644 index 0000000000..d5febaa151 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.monochrome.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.monochrome.odd-height.avif Binary files differnew file mode 100644 index 0000000000..1ab92318e3 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.monochrome.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.monochrome.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.monochrome.odd-width.avif Binary files differnew file mode 100644 index 0000000000..5f3828cb52 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.monochrome.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.monochrome.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.monochrome.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..cc48e0bed3 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.monochrome.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.odd-height.avif Binary files differnew file mode 100644 index 0000000000..3ab37403e9 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.odd-width.avif Binary files differnew file mode 100644 index 0000000000..d1b2555542 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..94cca20074 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.10bpc.yuv420.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.avif Binary files differnew file mode 100644 index 0000000000..2bae4c7131 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.monochrome.avif Binary files differnew file mode 100644 index 0000000000..a9b7fe9d1a --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.monochrome.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.monochrome.odd-height.avif Binary files differnew file mode 100644 index 0000000000..b69c3231e1 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.monochrome.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.monochrome.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.monochrome.odd-width.avif Binary files differnew file mode 100644 index 0000000000..3a8c04b844 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.monochrome.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.monochrome.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.monochrome.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..5bfc8e7ce8 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.monochrome.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.odd-height.avif Binary files differnew file mode 100644 index 0000000000..fc2d1f5749 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.odd-width.avif Binary files differnew file mode 100644 index 0000000000..927d7f677b --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..5edb77e51d --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile0.8bpc.yuv420.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.10bpc.yuv444.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.10bpc.yuv444.avif Binary files differnew file mode 100644 index 0000000000..755463c6d4 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.10bpc.yuv444.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.10bpc.yuv444.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.10bpc.yuv444.odd-height.avif Binary files differnew file mode 100644 index 0000000000..888d2ce227 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.10bpc.yuv444.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.10bpc.yuv444.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.10bpc.yuv444.odd-width.avif Binary files differnew file mode 100644 index 0000000000..27c3aa3397 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.10bpc.yuv444.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.10bpc.yuv444.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.10bpc.yuv444.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..a2826556e8 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.10bpc.yuv444.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.8bpc.yuv444.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.8bpc.yuv444.avif Binary files differnew file mode 100644 index 0000000000..b6cec528e1 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.8bpc.yuv444.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.8bpc.yuv444.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.8bpc.yuv444.odd-height.avif Binary files differnew file mode 100644 index 0000000000..22e25a25bd --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.8bpc.yuv444.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.8bpc.yuv444.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.8bpc.yuv444.odd-width.avif Binary files differnew file mode 100644 index 0000000000..bb6c184be2 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.8bpc.yuv444.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.8bpc.yuv444.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.8bpc.yuv444.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..353fed4712 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile1.8bpc.yuv444.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.avif Binary files differnew file mode 100644 index 0000000000..04d460ca7f --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.monochrome.avif Binary files differnew file mode 100644 index 0000000000..85e565af18 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.monochrome.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.monochrome.odd-height.avif Binary files differnew file mode 100644 index 0000000000..639be9af0a --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.monochrome.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.monochrome.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.monochrome.odd-width.avif Binary files differnew file mode 100644 index 0000000000..6536a7c4e7 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.monochrome.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.monochrome.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.monochrome.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..b4439bbbc1 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.monochrome.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.odd-height.avif Binary files differnew file mode 100644 index 0000000000..476162e8f9 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.odd-width.avif Binary files differnew file mode 100644 index 0000000000..1818973475 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..92c9cc93fe --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.10bpc.yuv422.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.avif Binary files differnew file mode 100644 index 0000000000..c1d4f7171e --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.monochrome.avif Binary files differnew file mode 100644 index 0000000000..2c8975019b --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.monochrome.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.monochrome.odd-height.avif Binary files differnew file mode 100644 index 0000000000..fbca49f58b --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.monochrome.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.monochrome.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.monochrome.odd-width.avif Binary files differnew file mode 100644 index 0000000000..7d9407e397 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.monochrome.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.monochrome.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.monochrome.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..bc6497683a --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.monochrome.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.odd-height.avif Binary files differnew file mode 100644 index 0000000000..476346ba3e --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.odd-width.avif Binary files differnew file mode 100644 index 0000000000..2ebd4e881b --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..72606405e1 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv420.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.avif Binary files differnew file mode 100644 index 0000000000..de1d6d6c21 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.monochrome.avif Binary files differnew file mode 100644 index 0000000000..2c8975019b --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.monochrome.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.monochrome.odd-height.avif Binary files differnew file mode 100644 index 0000000000..fbca49f58b --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.monochrome.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.monochrome.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.monochrome.odd-width.avif Binary files differnew file mode 100644 index 0000000000..7d9407e397 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.monochrome.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.monochrome.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.monochrome.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..bc6497683a --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.monochrome.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.odd-height.avif Binary files differnew file mode 100644 index 0000000000..99536832cc --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.odd-width.avif Binary files differnew file mode 100644 index 0000000000..cda3cc7f63 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..36a585969b --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv422.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.avif Binary files differnew file mode 100644 index 0000000000..134a3b8ae5 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.monochrome.avif Binary files differnew file mode 100644 index 0000000000..2c8975019b --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.monochrome.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.monochrome.odd-height.avif Binary files differnew file mode 100644 index 0000000000..fbca49f58b --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.monochrome.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.monochrome.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.monochrome.odd-width.avif Binary files differnew file mode 100644 index 0000000000..7d9407e397 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.monochrome.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.monochrome.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.monochrome.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..bc6497683a --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.monochrome.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.odd-height.avif Binary files differnew file mode 100644 index 0000000000..8289a38e4a --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.odd-width.avif Binary files differnew file mode 100644 index 0000000000..31fd3f8d5e --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..bfc513dcfb --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.12bpc.yuv444.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.avif Binary files differnew file mode 100644 index 0000000000..f5ea954d84 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.monochrome.avif Binary files differnew file mode 100644 index 0000000000..43d9292b05 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.monochrome.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.monochrome.odd-height.avif Binary files differnew file mode 100644 index 0000000000..c1e5e41ada --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.monochrome.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.monochrome.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.monochrome.odd-width.avif Binary files differnew file mode 100644 index 0000000000..669a400204 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.monochrome.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.monochrome.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.monochrome.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..e4953714da --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.monochrome.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.odd-height.avif Binary files differnew file mode 100644 index 0000000000..26a0b2a43c --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.odd-width.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.odd-width.avif Binary files differnew file mode 100644 index 0000000000..27d6d6ef03 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.odd-width.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.odd-width.odd-height.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.odd-width.odd-height.avif Binary files differnew file mode 100644 index 0000000000..7668b3515e --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/fox.profile2.8bpc.yuv422.odd-width.odd-height.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/hato.16bpc.png b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.16bpc.png Binary files differnew file mode 100644 index 0000000000..2ce57305bd --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.16bpc.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/hato.jpg b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.jpg Binary files differnew file mode 100644 index 0000000000..f760cb9a8e --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.jpg diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/hato.png b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.png Binary files differnew file mode 100644 index 0000000000..3667c72467 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile0.10bpc.yuv420.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile0.10bpc.yuv420.avif Binary files differnew file mode 100644 index 0000000000..70186fa2c6 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile0.10bpc.yuv420.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile0.10bpc.yuv420.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile0.10bpc.yuv420.monochrome.avif Binary files differnew file mode 100644 index 0000000000..afda40dada --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile0.10bpc.yuv420.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile0.8bpc.yuv420.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile0.8bpc.yuv420.avif Binary files differnew file mode 100644 index 0000000000..d37c2734be --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile0.8bpc.yuv420.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile0.8bpc.yuv420.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile0.8bpc.yuv420.monochrome.avif Binary files differnew file mode 100644 index 0000000000..fb08dd4f92 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile0.8bpc.yuv420.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.10bpc.yuv422.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.10bpc.yuv422.avif Binary files differnew file mode 100644 index 0000000000..da8fe75a1c --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.10bpc.yuv422.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.10bpc.yuv422.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.10bpc.yuv422.monochrome.avif Binary files differnew file mode 100644 index 0000000000..7f90e43eba --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.10bpc.yuv422.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.12bpc.yuv422.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.12bpc.yuv422.avif Binary files differnew file mode 100644 index 0000000000..7d703d474c --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.12bpc.yuv422.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.12bpc.yuv422.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.12bpc.yuv422.monochrome.avif Binary files differnew file mode 100644 index 0000000000..16c0558666 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.12bpc.yuv422.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.8bpc.yuv422.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.8bpc.yuv422.avif Binary files differnew file mode 100644 index 0000000000..cd58a6f8a3 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.8bpc.yuv422.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.8bpc.yuv422.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.8bpc.yuv422.monochrome.avif Binary files differnew file mode 100644 index 0000000000..b6b033a617 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/hato.profile2.8bpc.yuv422.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/images.html b/third_party/rust/mp4parse/link-u-avif-sample-images/images.html new file mode 100644 index 0000000000..e5a69ae6db --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/images.html @@ -0,0 +1,745 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <title>All images</title> + </head> + <body> +<h1>AVIF images</h1> + <h2>hato.profile2.8bpc.yuv422.avif<h2> + <h3>PNG version<h3> + <img src="./hato.png" width="400"> + <h3>AVIF version<h3> + <img src="./hato.profile2.8bpc.yuv422.avif" width="400"> + <h2>hato.profile2.8bpc.yuv422.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./hato.png" width="400"> + <h3>AVIF version<h3> + <img src="./hato.profile2.8bpc.yuv422.monochrome.avif" width="400"> + <h2>hato.profile2.10bpc.yuv422.avif<h2> + <h3>PNG version<h3> + <img src="./hato.16bpc.png" width="400"> + <h3>AVIF version<h3> + <img src="./hato.profile2.10bpc.yuv422.avif" width="400"> + <h2>hato.profile2.10bpc.yuv422.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./hato.16bpc.png" width="400"> + <h3>AVIF version<h3> + <img src="./hato.profile2.10bpc.yuv422.monochrome.avif" width="400"> + <h2>hato.profile2.12bpc.yuv422.avif<h2> + <h3>PNG version<h3> + <img src="./hato.16bpc.png" width="400"> + <h3>AVIF version<h3> + <img src="./hato.profile2.12bpc.yuv422.avif" width="400"> + <h2>hato.profile2.12bpc.yuv422.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./hato.16bpc.png" width="400"> + <h3>AVIF version<h3> + <img src="./hato.profile2.12bpc.yuv422.monochrome.avif" width="400"> + <h2>hato.profile0.8bpc.yuv420.avif<h2> + <h3>PNG version<h3> + <img src="./hato.png" width="400"> + <h3>AVIF version<h3> + <img src="./hato.profile0.8bpc.yuv420.avif" width="400"> + <h2>hato.profile0.8bpc.yuv420.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./hato.png" width="400"> + <h3>AVIF version<h3> + <img src="./hato.profile0.8bpc.yuv420.monochrome.avif" width="400"> + <h2>hato.profile0.10bpc.yuv420.avif<h2> + <h3>PNG version<h3> + <img src="./hato.16bpc.png" width="400"> + <h3>AVIF version<h3> + <img src="./hato.profile0.10bpc.yuv420.avif" width="400"> + <h2>hato.profile0.10bpc.yuv420.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./hato.16bpc.png" width="400"> + <h3>AVIF version<h3> + <img src="./hato.profile0.10bpc.yuv420.monochrome.avif" width="400"> + <h2>fox.profile0.8bpc.yuv420.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.8bpc.yuv420.avif" width="400"> + <h2>fox.profile0.8bpc.yuv420.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.8bpc.yuv420.odd-width.avif" width="400"> + <h2>fox.profile0.8bpc.yuv420.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.8bpc.yuv420.odd-height.avif" width="400"> + <h2>fox.profile0.8bpc.yuv420.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.8bpc.yuv420.odd-width.odd-height.avif" width="400"> + <h2>fox.profile0.8bpc.yuv420.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.8bpc.yuv420.monochrome.avif" width="400"> + <h2>fox.profile0.8bpc.yuv420.monochrome.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.8bpc.yuv420.monochrome.odd-width.avif" width="400"> + <h2>fox.profile0.8bpc.yuv420.monochrome.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.8bpc.yuv420.monochrome.odd-height.avif" width="400"> + <h2>fox.profile0.8bpc.yuv420.monochrome.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.8bpc.yuv420.monochrome.odd-width.odd-height.avif" width="400"> + <h2>fox.profile0.10bpc.yuv420.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.10bpc.yuv420.avif" width="400"> + <h2>fox.profile0.10bpc.yuv420.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.10bpc.yuv420.odd-width.avif" width="400"> + <h2>fox.profile0.10bpc.yuv420.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.10bpc.yuv420.odd-height.avif" width="400"> + <h2>fox.profile0.10bpc.yuv420.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.10bpc.yuv420.odd-width.odd-height.avif" width="400"> + <h2>fox.profile0.10bpc.yuv420.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.10bpc.yuv420.monochrome.avif" width="400"> + <h2>fox.profile0.10bpc.yuv420.monochrome.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.10bpc.yuv420.monochrome.odd-width.avif" width="400"> + <h2>fox.profile0.10bpc.yuv420.monochrome.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.10bpc.yuv420.monochrome.odd-height.avif" width="400"> + <h2>fox.profile0.10bpc.yuv420.monochrome.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile0.10bpc.yuv420.monochrome.odd-width.odd-height.avif" width="400"> + <h2>fox.profile2.12bpc.yuv420.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv420.avif" width="400"> + <h2>fox.profile2.12bpc.yuv420.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv420.odd-width.avif" width="400"> + <h2>fox.profile2.12bpc.yuv420.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv420.odd-height.avif" width="400"> + <h2>fox.profile2.12bpc.yuv420.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv420.odd-width.odd-height.avif" width="400"> + <h2>fox.profile2.12bpc.yuv420.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv420.monochrome.avif" width="400"> + <h2>fox.profile2.12bpc.yuv420.monochrome.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv420.monochrome.odd-width.avif" width="400"> + <h2>fox.profile2.12bpc.yuv420.monochrome.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv420.monochrome.odd-height.avif" width="400"> + <h2>fox.profile2.12bpc.yuv420.monochrome.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv420.monochrome.odd-width.odd-height.avif" width="400"> + <h2>fox.profile2.8bpc.yuv422.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.8bpc.yuv422.avif" width="400"> + <h2>fox.profile2.8bpc.yuv422.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.8bpc.yuv422.odd-width.avif" width="400"> + <h2>fox.profile2.8bpc.yuv422.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.8bpc.yuv422.odd-height.avif" width="400"> + <h2>fox.profile2.8bpc.yuv422.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.8bpc.yuv422.odd-width.odd-height.avif" width="400"> + <h2>fox.profile2.8bpc.yuv422.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.8bpc.yuv422.monochrome.avif" width="400"> + <h2>fox.profile2.8bpc.yuv422.monochrome.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.8bpc.yuv422.monochrome.odd-width.avif" width="400"> + <h2>fox.profile2.8bpc.yuv422.monochrome.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.8bpc.yuv422.monochrome.odd-height.avif" width="400"> + <h2>fox.profile2.8bpc.yuv422.monochrome.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.8bpc.yuv422.monochrome.odd-width.odd-height.avif" width="400"> + <h2>fox.profile2.10bpc.yuv422.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.10bpc.yuv422.avif" width="400"> + <h2>fox.profile2.10bpc.yuv422.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.10bpc.yuv422.odd-width.avif" width="400"> + <h2>fox.profile2.10bpc.yuv422.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.10bpc.yuv422.odd-height.avif" width="400"> + <h2>fox.profile2.10bpc.yuv422.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.10bpc.yuv422.odd-width.odd-height.avif" width="400"> + <h2>fox.profile2.10bpc.yuv422.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.10bpc.yuv422.monochrome.avif" width="400"> + <h2>fox.profile2.10bpc.yuv422.monochrome.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.10bpc.yuv422.monochrome.odd-width.avif" width="400"> + <h2>fox.profile2.10bpc.yuv422.monochrome.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.10bpc.yuv422.monochrome.odd-height.avif" width="400"> + <h2>fox.profile2.10bpc.yuv422.monochrome.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.10bpc.yuv422.monochrome.odd-width.odd-height.avif" width="400"> + <h2>fox.profile2.12bpc.yuv422.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv422.avif" width="400"> + <h2>fox.profile2.12bpc.yuv422.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv422.odd-width.avif" width="400"> + <h2>fox.profile2.12bpc.yuv422.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv422.odd-height.avif" width="400"> + <h2>fox.profile2.12bpc.yuv422.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv422.odd-width.odd-height.avif" width="400"> + <h2>fox.profile2.12bpc.yuv422.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv422.monochrome.avif" width="400"> + <h2>fox.profile2.12bpc.yuv422.monochrome.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv422.monochrome.odd-width.avif" width="400"> + <h2>fox.profile2.12bpc.yuv422.monochrome.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv422.monochrome.odd-height.avif" width="400"> + <h2>fox.profile2.12bpc.yuv422.monochrome.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv422.monochrome.odd-width.odd-height.avif" width="400"> + <h2>fox.profile1.8bpc.yuv444.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile1.8bpc.yuv444.avif" width="400"> + <h2>fox.profile1.8bpc.yuv444.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile1.8bpc.yuv444.odd-width.avif" width="400"> + <h2>fox.profile1.8bpc.yuv444.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile1.8bpc.yuv444.odd-height.avif" width="400"> + <h2>fox.profile1.8bpc.yuv444.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile1.8bpc.yuv444.odd-width.odd-height.avif" width="400"> + <h2>fox.profile1.10bpc.yuv444.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile1.10bpc.yuv444.avif" width="400"> + <h2>fox.profile1.10bpc.yuv444.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile1.10bpc.yuv444.odd-width.avif" width="400"> + <h2>fox.profile1.10bpc.yuv444.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile1.10bpc.yuv444.odd-height.avif" width="400"> + <h2>fox.profile1.10bpc.yuv444.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile1.10bpc.yuv444.odd-width.odd-height.avif" width="400"> + <h2>fox.profile2.12bpc.yuv444.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv444.avif" width="400"> + <h2>fox.profile2.12bpc.yuv444.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv444.odd-width.avif" width="400"> + <h2>fox.profile2.12bpc.yuv444.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv444.odd-height.avif" width="400"> + <h2>fox.profile2.12bpc.yuv444.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv444.odd-width.odd-height.avif" width="400"> + <h2>fox.profile2.12bpc.yuv444.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./fox.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv444.monochrome.avif" width="400"> + <h2>fox.profile2.12bpc.yuv444.monochrome.odd-width.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv444.monochrome.odd-width.avif" width="400"> + <h2>fox.profile2.12bpc.yuv444.monochrome.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv444.monochrome.odd-height.avif" width="400"> + <h2>fox.profile2.12bpc.yuv444.monochrome.odd-width.odd-height.avif<h2> + <h3>PNG version<h3> + <img src="./fox.odd-width.odd-height.png" width="400"> + <h3>AVIF version<h3> + <img src="./fox.profile2.12bpc.yuv444.monochrome.odd-width.odd-height.avif" width="400"> + <h2>plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.avif" width="400"> + <h2>plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.monochrome.avif" width="400"> + <h2>plum-blossom-large.profile0.8bpc.yuv420.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile0.8bpc.yuv420.alpha-full.avif" width="400"> + <h2>plum-blossom-large.profile0.8bpc.yuv420.alpha-full.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile0.8bpc.yuv420.alpha-full.monochrome.avif" width="400"> + <h2>plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.avif" width="400"> + <h2>plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.monochrome.avif" width="400"> + <h2>plum-blossom-large.profile0.10bpc.yuv420.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile0.10bpc.yuv420.alpha-full.avif" width="400"> + <h2>plum-blossom-large.profile0.10bpc.yuv420.alpha-full.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile0.10bpc.yuv420.alpha-full.monochrome.avif" width="400"> + <h2>plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.avif" width="400"> + <h2>plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.monochrome.avif" width="400"> + <h2>plum-blossom-large.profile2.12bpc.yuv420.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.12bpc.yuv420.alpha-full.avif" width="400"> + <h2>plum-blossom-large.profile2.12bpc.yuv420.alpha-full.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.12bpc.yuv420.alpha-full.monochrome.avif" width="400"> + <h2>plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.avif" width="400"> + <h2>plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.monochrome.avif" width="400"> + <h2>plum-blossom-large.profile2.8bpc.yuv422.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.8bpc.yuv422.alpha-full.avif" width="400"> + <h2>plum-blossom-large.profile2.8bpc.yuv422.alpha-full.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.8bpc.yuv422.alpha-full.monochrome.avif" width="400"> + <h2>plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.avif" width="400"> + <h2>plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.monochrome.avif" width="400"> + <h2>plum-blossom-large.profile2.10bpc.yuv422.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.10bpc.yuv422.alpha-full.avif" width="400"> + <h2>plum-blossom-large.profile2.10bpc.yuv422.alpha-full.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.10bpc.yuv422.alpha-full.monochrome.avif" width="400"> + <h2>plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.avif" width="400"> + <h2>plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.monochrome.avif" width="400"> + <h2>plum-blossom-large.profile2.12bpc.yuv422.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.12bpc.yuv422.alpha-full.avif" width="400"> + <h2>plum-blossom-large.profile2.12bpc.yuv422.alpha-full.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.12bpc.yuv422.alpha-full.monochrome.avif" width="400"> + <h2>plum-blossom-large.profile1.8bpc.yuv444.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile1.8bpc.yuv444.alpha-limited.avif" width="400"> + <h2>plum-blossom-large.profile1.8bpc.yuv444.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile1.8bpc.yuv444.alpha-full.avif" width="400"> + <h2>plum-blossom-large.profile1.10bpc.yuv444.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile1.10bpc.yuv444.alpha-limited.avif" width="400"> + <h2>plum-blossom-large.profile1.10bpc.yuv444.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile1.10bpc.yuv444.alpha-full.avif" width="400"> + <h2>plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.avif" width="400"> + <h2>plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.monochrome.avif" width="400"> + <h2>plum-blossom-large.profile2.12bpc.yuv444.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.12bpc.yuv444.alpha-full.avif" width="400"> + <h2>plum-blossom-large.profile2.12bpc.yuv444.alpha-full.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-large.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-large.profile2.12bpc.yuv444.alpha-full.monochrome.avif" width="400"> + <h2>plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.avif" width="400"> + <h2>plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.monochrome.avif" width="400"> + <h2>plum-blossom-small.profile0.8bpc.yuv420.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile0.8bpc.yuv420.alpha-full.avif" width="400"> + <h2>plum-blossom-small.profile0.8bpc.yuv420.alpha-full.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile0.8bpc.yuv420.alpha-full.monochrome.avif" width="400"> + <h2>plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.avif" width="400"> + <h2>plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.monochrome.avif" width="400"> + <h2>plum-blossom-small.profile0.10bpc.yuv420.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile0.10bpc.yuv420.alpha-full.avif" width="400"> + <h2>plum-blossom-small.profile0.10bpc.yuv420.alpha-full.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile0.10bpc.yuv420.alpha-full.monochrome.avif" width="400"> + <h2>plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.avif" width="400"> + <h2>plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.monochrome.avif" width="400"> + <h2>plum-blossom-small.profile2.12bpc.yuv420.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.12bpc.yuv420.alpha-full.avif" width="400"> + <h2>plum-blossom-small.profile2.12bpc.yuv420.alpha-full.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.12bpc.yuv420.alpha-full.monochrome.avif" width="400"> + <h2>plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.avif" width="400"> + <h2>plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.monochrome.avif" width="400"> + <h2>plum-blossom-small.profile2.8bpc.yuv422.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.8bpc.yuv422.alpha-full.avif" width="400"> + <h2>plum-blossom-small.profile2.8bpc.yuv422.alpha-full.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.8bpc.yuv422.alpha-full.monochrome.avif" width="400"> + <h2>plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.avif" width="400"> + <h2>plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.monochrome.avif" width="400"> + <h2>plum-blossom-small.profile2.10bpc.yuv422.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.10bpc.yuv422.alpha-full.avif" width="400"> + <h2>plum-blossom-small.profile2.10bpc.yuv422.alpha-full.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.10bpc.yuv422.alpha-full.monochrome.avif" width="400"> + <h2>plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.avif" width="400"> + <h2>plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.monochrome.avif" width="400"> + <h2>plum-blossom-small.profile2.12bpc.yuv422.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.12bpc.yuv422.alpha-full.avif" width="400"> + <h2>plum-blossom-small.profile2.12bpc.yuv422.alpha-full.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.12bpc.yuv422.alpha-full.monochrome.avif" width="400"> + <h2>plum-blossom-small.profile1.8bpc.yuv444.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile1.8bpc.yuv444.alpha-limited.avif" width="400"> + <h2>plum-blossom-small.profile1.8bpc.yuv444.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile1.8bpc.yuv444.alpha-full.avif" width="400"> + <h2>plum-blossom-small.profile1.10bpc.yuv444.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile1.10bpc.yuv444.alpha-limited.avif" width="400"> + <h2>plum-blossom-small.profile1.10bpc.yuv444.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile1.10bpc.yuv444.alpha-full.avif" width="400"> + <h2>plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.avif" width="400"> + <h2>plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.monochrome.avif" width="400"> + <h2>plum-blossom-small.profile2.12bpc.yuv444.alpha-full.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.12bpc.yuv444.alpha-full.avif" width="400"> + <h2>plum-blossom-small.profile2.12bpc.yuv444.alpha-full.monochrome.avif<h2> + <h3>PNG version<h3> + <img src="./plum-blossom-small.png" width="400"> + <h3>AVIF version<h3> + <img src="./plum-blossom-small.profile2.12bpc.yuv444.alpha-full.monochrome.avif" width="400"> +<h2>kimono.avif</h2> + <h3>PNG version<h3> + <img src="./kimono.png" width="400"> + <h3>AVIF version<h3> + <img src="./kimono.avif" width="400"> +<h2>kimono.rotate90.avif</h2> + <h3>PNG version<h3> + <img src="./kimono.png" width="400"> + <h3>AVIF version<h3> + <img src="./kimono.rotate90.avif" width="400"> +<h2>kimono.rotate270.avif</h2> + <h3>PNG version<h3> + <img src="./kimono.png" width="400"> + <h3>AVIF version<h3> + <img src="./kimono.rotate270.avif" width="400"> +<h2>kimono.mirror-horizontal.avif</h2> + <h3>PNG version<h3> + <img src="./kimono.png" width="400"> + <h3>AVIF version<h3> + <img src="./kimono.mirror-horizontal.avif" width="400"> +<h2>kimono.mirror-vertical.rotate270.avif</h2> + <h3>PNG version<h3> + <img src="./kimono.png" width="400"> + <h3>AVIF version<h3> + <img src="./kimono.mirror-vertical.rotate270.avif" width="400"> +<h2>kimono.crop.avif</h2> + <h3>PNG version<h3> + <img src="./kimono.crop.png" width="400"> + <h3>AVIF version<h3> + <img src="./kimono.crop.avif" width="400"> +<h2>kimono.mirror-vertical.rotate270.crop.avif</h2> + <h3>PNG version<h3> + <img src="./kimono.crop.png" width="400"> + <h3>AVIF version<h3> + <img src="./kimono.mirror-vertical.rotate270.crop.avif" width="400"> +<h1>AVIFS images</h1> +<h2>star.avifs<h2> + <h3>GIF version</h3> + <img src="./star.gif" width="400"> + <h3>AVIFS version (without alpha)</h3> + <img src="./star.avifs" width="400"> +<h2>star-with-alpha.avifs<h2> + <h3>GIF version</h3> + <img src="./star.gif" width="400"> + <h3>AVIFS version (with alpha)</h3> + <img src="./star-with-alpha.avifs" width="400"> + </body> +</html> diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.avif Binary files differnew file mode 100644 index 0000000000..e91fe56e72 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.crop.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.crop.avif Binary files differnew file mode 100644 index 0000000000..777813e690 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.crop.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.crop.png b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.crop.png Binary files differnew file mode 100644 index 0000000000..ea47f4c9a2 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.crop.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.jpg b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.jpg Binary files differnew file mode 100644 index 0000000000..6c4894a43d --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.jpg diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-horizontal.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-horizontal.avif Binary files differnew file mode 100644 index 0000000000..3447d4ad89 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-horizontal.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-horizontal.png b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-horizontal.png Binary files differnew file mode 100644 index 0000000000..de61ec89f0 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-horizontal.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-vertical.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-vertical.avif Binary files differnew file mode 100644 index 0000000000..41d2bd2091 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-vertical.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-vertical.png b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-vertical.png Binary files differnew file mode 100644 index 0000000000..2eeb69d89b --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-vertical.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-vertical.rotate270.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-vertical.rotate270.avif Binary files differnew file mode 100644 index 0000000000..164c66bc7d --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-vertical.rotate270.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-vertical.rotate270.crop.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-vertical.rotate270.crop.avif Binary files differnew file mode 100644 index 0000000000..47ab00b1e4 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-vertical.rotate270.crop.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-vertical.rotate270.png b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-vertical.rotate270.png Binary files differnew file mode 100644 index 0000000000..bbd9dc766e --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.mirror-vertical.rotate270.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.png b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.png Binary files differnew file mode 100644 index 0000000000..2bddce177a --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.rotate270.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.rotate270.avif Binary files differnew file mode 100644 index 0000000000..aed93e55a0 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.rotate270.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.rotate270.png b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.rotate270.png Binary files differnew file mode 100644 index 0000000000..e9916b527c --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.rotate270.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.rotate90.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.rotate90.avif Binary files differnew file mode 100644 index 0000000000..ee7c5246e1 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.rotate90.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.rotate90.png b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.rotate90.png Binary files differnew file mode 100644 index 0000000000..02ede290b4 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/kimono.rotate90.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.png b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.png Binary files differnew file mode 100644 index 0000000000..22f0c8627a --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.10bpc.yuv420.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.10bpc.yuv420.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..9bc5e76309 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.10bpc.yuv420.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.10bpc.yuv420.alpha-full.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.10bpc.yuv420.alpha-full.monochrome.avif Binary files differnew file mode 100644 index 0000000000..77ffb204a1 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.10bpc.yuv420.alpha-full.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..3befc33670 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.monochrome.avif Binary files differnew file mode 100644 index 0000000000..dc9f644b4d --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.10bpc.yuv420.alpha-limited.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.8bpc.yuv420.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.8bpc.yuv420.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..6ef118d519 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.8bpc.yuv420.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.8bpc.yuv420.alpha-full.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.8bpc.yuv420.alpha-full.monochrome.avif Binary files differnew file mode 100644 index 0000000000..e71f4e5452 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.8bpc.yuv420.alpha-full.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..73c6a32236 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.monochrome.avif Binary files differnew file mode 100644 index 0000000000..8e9d45d0bf --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile0.8bpc.yuv420.alpha-limited.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile1.10bpc.yuv444.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile1.10bpc.yuv444.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..029512f75f --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile1.10bpc.yuv444.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile1.10bpc.yuv444.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile1.10bpc.yuv444.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..fc9ef8bf19 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile1.10bpc.yuv444.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile1.8bpc.yuv444.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile1.8bpc.yuv444.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..bcca0a5584 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile1.8bpc.yuv444.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile1.8bpc.yuv444.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile1.8bpc.yuv444.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..2ac003523a --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile1.8bpc.yuv444.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.10bpc.yuv422.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.10bpc.yuv422.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..cb5256097b --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.10bpc.yuv422.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.10bpc.yuv422.alpha-full.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.10bpc.yuv422.alpha-full.monochrome.avif Binary files differnew file mode 100644 index 0000000000..9e91137240 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.10bpc.yuv422.alpha-full.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..2906c39fea --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.monochrome.avif Binary files differnew file mode 100644 index 0000000000..1d07bfb056 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.10bpc.yuv422.alpha-limited.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv420.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv420.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..51fce45c0d --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv420.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv420.alpha-full.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv420.alpha-full.monochrome.avif Binary files differnew file mode 100644 index 0000000000..ec30fcc3e1 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv420.alpha-full.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..370c33dd37 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.monochrome.avif Binary files differnew file mode 100644 index 0000000000..515f247f61 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv420.alpha-limited.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv422.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv422.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..9a99028b8e --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv422.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv422.alpha-full.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv422.alpha-full.monochrome.avif Binary files differnew file mode 100644 index 0000000000..ec30fcc3e1 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv422.alpha-full.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..43ede8cbc8 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.monochrome.avif Binary files differnew file mode 100644 index 0000000000..515f247f61 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv422.alpha-limited.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv444.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv444.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..bfed8fb528 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv444.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv444.alpha-full.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv444.alpha-full.monochrome.avif Binary files differnew file mode 100644 index 0000000000..ec30fcc3e1 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv444.alpha-full.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..28caa27a37 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.monochrome.avif Binary files differnew file mode 100644 index 0000000000..515f247f61 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.12bpc.yuv444.alpha-limited.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.8bpc.yuv422.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.8bpc.yuv422.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..4952b91fa1 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.8bpc.yuv422.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.8bpc.yuv422.alpha-full.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.8bpc.yuv422.alpha-full.monochrome.avif Binary files differnew file mode 100644 index 0000000000..509ff84b8a --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.8bpc.yuv422.alpha-full.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..d0a177adf3 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.monochrome.avif Binary files differnew file mode 100644 index 0000000000..f14276c5fd --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-large.profile2.8bpc.yuv422.alpha-limited.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.png b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.png Binary files differnew file mode 100644 index 0000000000..901b3edd4a --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.10bpc.yuv420.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.10bpc.yuv420.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..77a9c12d64 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.10bpc.yuv420.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.10bpc.yuv420.alpha-full.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.10bpc.yuv420.alpha-full.monochrome.avif Binary files differnew file mode 100644 index 0000000000..9c3a0d84cc --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.10bpc.yuv420.alpha-full.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..09e25a8f4f --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.monochrome.avif Binary files differnew file mode 100644 index 0000000000..ebfc2d1c84 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.10bpc.yuv420.alpha-limited.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.8bpc.yuv420.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.8bpc.yuv420.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..0669fcebe1 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.8bpc.yuv420.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.8bpc.yuv420.alpha-full.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.8bpc.yuv420.alpha-full.monochrome.avif Binary files differnew file mode 100644 index 0000000000..b1aadc8a61 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.8bpc.yuv420.alpha-full.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..4418b2c814 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.monochrome.avif Binary files differnew file mode 100644 index 0000000000..b4bd661c4a --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile0.8bpc.yuv420.alpha-limited.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile1.10bpc.yuv444.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile1.10bpc.yuv444.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..30a3542c7a --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile1.10bpc.yuv444.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile1.10bpc.yuv444.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile1.10bpc.yuv444.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..0561b592cb --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile1.10bpc.yuv444.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile1.8bpc.yuv444.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile1.8bpc.yuv444.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..db4f7a5c50 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile1.8bpc.yuv444.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile1.8bpc.yuv444.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile1.8bpc.yuv444.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..ad07e3453c --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile1.8bpc.yuv444.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.10bpc.yuv422.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.10bpc.yuv422.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..ca18319163 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.10bpc.yuv422.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.10bpc.yuv422.alpha-full.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.10bpc.yuv422.alpha-full.monochrome.avif Binary files differnew file mode 100644 index 0000000000..47e732a2ef --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.10bpc.yuv422.alpha-full.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..ecb78e9e22 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.monochrome.avif Binary files differnew file mode 100644 index 0000000000..c32f19489d --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.10bpc.yuv422.alpha-limited.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv420.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv420.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..7959d15b92 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv420.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv420.alpha-full.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv420.alpha-full.monochrome.avif Binary files differnew file mode 100644 index 0000000000..1ef86bcae0 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv420.alpha-full.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..9d8b7116f2 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.monochrome.avif Binary files differnew file mode 100644 index 0000000000..a240078446 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv420.alpha-limited.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv422.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv422.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..faf043db63 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv422.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv422.alpha-full.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv422.alpha-full.monochrome.avif Binary files differnew file mode 100644 index 0000000000..1ef86bcae0 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv422.alpha-full.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..7f840da29c --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.monochrome.avif Binary files differnew file mode 100644 index 0000000000..a240078446 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv422.alpha-limited.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv444.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv444.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..db34cd3f74 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv444.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv444.alpha-full.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv444.alpha-full.monochrome.avif Binary files differnew file mode 100644 index 0000000000..1ef86bcae0 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv444.alpha-full.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..f1879a5550 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.monochrome.avif Binary files differnew file mode 100644 index 0000000000..a240078446 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.12bpc.yuv444.alpha-limited.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.8bpc.yuv422.alpha-full.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.8bpc.yuv422.alpha-full.avif Binary files differnew file mode 100644 index 0000000000..ebb5e34c43 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.8bpc.yuv422.alpha-full.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.8bpc.yuv422.alpha-full.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.8bpc.yuv422.alpha-full.monochrome.avif Binary files differnew file mode 100644 index 0000000000..3e6021b716 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.8bpc.yuv422.alpha-full.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.avif Binary files differnew file mode 100644 index 0000000000..e7eb2a33d3 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.monochrome.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.monochrome.avif Binary files differnew file mode 100644 index 0000000000..50522d68af --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom-small.profile2.8bpc.yuv422.alpha-limited.monochrome.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom.svg b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom.svg new file mode 100644 index 0000000000..e6b9b07f2f --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/plum-blossom.svg @@ -0,0 +1,176 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="1000mm" + height="1000mm" + viewBox="0 0 1000 1000" + version="1.1" + id="svg8" + inkscape:version="0.92.4 (5da689c313, 2019-01-14)" + sodipodi:docname="plum-blossom.svg" + inkscape:export-filename="/home/psi/src/github.com/link-u/avif-sample-images/plum-blossom-small.png" + inkscape:export-xdpi="13.0048" + inkscape:export-ydpi="13.0048"> + <defs + id="defs2" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="1367.1429" + inkscape:cy="2035.7143" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="2560" + inkscape:window-height="1403" + inkscape:window-x="2560" + inkscape:window-y="0" + inkscape:window-maximized="1" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,703)"> + <circle + id="path10" + cx="500" + cy="-453" + style="fill:#ffd5d5;stroke-width:0.24955437" + r="200" /> + <circle + id="path10-9" + cx="262.2359" + cy="-280.25427" + style="fill:#ffd5d5;stroke-width:0.24955437" + r="200" /> + <circle + id="path10-9-1" + cx="737.76416" + cy="-280.25427" + style="fill:#ffd5d5;stroke-width:0.24955437" + r="200" /> + <circle + id="path10-9-2" + cx="353.05371" + cy="-0.74575806" + style="fill:#ffd5d5;stroke-width:0.24955437" + r="200" /> + <circle + id="path10-9-2-7" + cx="646.94629" + cy="-0.74575806" + style="fill:#ffd5d5;stroke-width:0.24955437" + r="200" /> + <rect + style="fill:#ffffff;stroke-width:0.23664318" + id="rect215" + width="20" + height="160" + x="493.0238" + y="-430.27975" /> + <rect + style="fill:#ffffff;stroke-width:0.26458332" + id="rect217" + width="2.2678571" + height="10.583333" + x="495.46429" + y="-374.6012" /> + <circle + style="fill:#ffeeaa;stroke-width:0.22826084" + id="path221" + cx="503.0238" + cy="-437.10715" + r="30" /> + <rect + style="fill:#ffffff;stroke-width:0.23664318" + id="rect215-0" + width="20" + height="160" + x="336.11542" + y="186.29741" + transform="rotate(-72.000001)" /> + <circle + style="fill:#ffeeaa;stroke-width:0.22826084" + id="path221-9" + cx="346.11542" + cy="179.47002" + r="30.000002" + transform="rotate(-72.000001)" /> + <rect + style="fill:#ffffff;stroke-width:0.23664318" + id="rect215-0-3" + width="20" + height="160" + x="-49.702778" + y="-764.44379" + transform="rotate(72)" /> + <circle + style="fill:#ffeeaa;stroke-width:0.22826084" + id="path221-9-6" + cx="-39.702778" + cy="-771.27118" + r="30.000002" + transform="rotate(72)" /> + <rect + style="fill:#ffffff;stroke-width:0.23664318" + id="rect215-0-3-0" + width="20" + height="160" + x="-539.49518" + y="-358.71228" + transform="rotate(144)" /> + <circle + style="fill:#ffeeaa;stroke-width:0.22826084" + id="path221-9-6-6" + cx="-529.49518" + cy="-365.53967" + r="30.000002" + transform="rotate(144)" /> + <rect + style="fill:#ffffff;stroke-width:0.23664318" + id="rect215-0-3-0-2" + width="20" + height="160" + x="-292.17621" + y="228.38646" + transform="rotate(-144)" /> + <circle + style="fill:#ffeeaa;stroke-width:0.22826084" + id="path221-9-6-6-6" + cx="-282.17621" + cy="221.55907" + r="30.000002" + transform="rotate(-144)" /> + <circle + style="fill:#ffeeaa;stroke-width:0.31818181" + id="path4004" + cx="500" + cy="-203" + r="70" /> + </g> +</svg> diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile-10bpc.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile-10bpc.avif Binary files differnew file mode 100644 index 0000000000..8c964b1448 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile-10bpc.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile-12bpc.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile-12bpc.avif Binary files differnew file mode 100644 index 0000000000..27fd2932e9 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile-12bpc.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile-8bpc.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile-8bpc.avif Binary files differnew file mode 100644 index 0000000000..913e6b6eb5 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile-8bpc.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile-lossy.avif b/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile-lossy.avif Binary files differnew file mode 100644 index 0000000000..4f2d48cba0 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile-lossy.avif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile.jpg b/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile.jpg Binary files differnew file mode 100644 index 0000000000..20fee46c00 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile.jpg diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile.png b/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile.png Binary files differnew file mode 100644 index 0000000000..5320cc8dfb --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/red-at-12-oclock-with-color-profile.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/scripts/compare.sh b/third_party/rust/mp4parse/link-u-avif-sample-images/scripts/compare.sh new file mode 100644 index 0000000000..513d19fd2b --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/scripts/compare.sh @@ -0,0 +1,23 @@ +##!/usr/bin/env bash + +avif=$2 +decoded=$3 + +orig=$(cat Makefile | grep "^${avif}" | sed "s/^${avif}: \(.*\)$/\1/") + +if (echo ${avif} | grep "monochrome"); then + # FIMXE(ledyba-z): compare monochrome images. + score="100.0" +elif (echo ${avif} | grep "\(rotate\|mirror\|crop\)"); then + # FIMXE(ledyba-z): compare transformed images + score="100.0" +else + score=$(compare -metric PSNR ${orig} ${decoded} NULL: 2>&1 || true) +fi +if test $(echo "${score} >= 35.0" | bc -l) -eq 1; then + echo "Passing: ${decoded}: ${score}" + exit 0 +else + echo "Failed: ${decoded}: ${score} (vs ${orig})" + exit -1 +fi diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/star-10bpc-with-alpha.avifs b/third_party/rust/mp4parse/link-u-avif-sample-images/star-10bpc-with-alpha.avifs Binary files differnew file mode 100644 index 0000000000..05c5a45c49 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/star-10bpc-with-alpha.avifs diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/star-10bpc.avifs b/third_party/rust/mp4parse/link-u-avif-sample-images/star-10bpc.avifs Binary files differnew file mode 100644 index 0000000000..2ddcf5047f --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/star-10bpc.avifs diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/star-12bpc-with-alpha.avifs b/third_party/rust/mp4parse/link-u-avif-sample-images/star-12bpc-with-alpha.avifs Binary files differnew file mode 100644 index 0000000000..c6fe1a53cd --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/star-12bpc-with-alpha.avifs diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/star-12bpc.avifs b/third_party/rust/mp4parse/link-u-avif-sample-images/star-12bpc.avifs Binary files differnew file mode 100644 index 0000000000..86dfc2ee80 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/star-12bpc.avifs diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/star-8bpc-with-alpha.avifs b/third_party/rust/mp4parse/link-u-avif-sample-images/star-8bpc-with-alpha.avifs Binary files differnew file mode 100644 index 0000000000..bb9dfa5c33 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/star-8bpc-with-alpha.avifs diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/star-8bpc.avifs b/third_party/rust/mp4parse/link-u-avif-sample-images/star-8bpc.avifs Binary files differnew file mode 100644 index 0000000000..6c0b0e3dc0 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/star-8bpc.avifs diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/star.gif b/third_party/rust/mp4parse/link-u-avif-sample-images/star.gif Binary files differnew file mode 100644 index 0000000000..52076cafdd --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/star.gif diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/star.input.txt b/third_party/rust/mp4parse/link-u-avif-sample-images/star.input.txt new file mode 100644 index 0000000000..ce797225f6 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/star.input.txt @@ -0,0 +1,9 @@ +file 'star.png' +duration 0.1 +file 'star90.png' +duration 0.1 +file 'star180.png' +duration 0.1 +file 'star270.png' +duration 0.1 +file 'star.png' diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/star.png b/third_party/rust/mp4parse/link-u-avif-sample-images/star.png Binary files differnew file mode 100644 index 0000000000..468dcde005 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/star.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/star.svg b/third_party/rust/mp4parse/link-u-avif-sample-images/star.svg new file mode 100644 index 0000000000..8bca22a420 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/star.svg @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="310.57089mm" + height="310.57089mm" + viewBox="0 0 310.57089 310.57089" + version="1.1" + id="svg8" + inkscape:version="0.92.4 (5da689c313, 2019-01-14)" + sodipodi:docname="star.svg" + inkscape:export-filename="/home/psi/g/lu/avif-sample-images/star.png" + inkscape:export-xdpi="13.0048" + inkscape:export-ydpi="13.0048"> + <defs + id="defs2" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="-377.14283" + inkscape:cy="435.7143" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:window-width="2560" + inkscape:window-height="1369" + inkscape:window-x="2560" + inkscape:window-y="1474" + inkscape:window-maximized="1" + inkscape:snap-others="true" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="レイヤー 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(7.4768269e-6,13.570917)"> + <path + sodipodi:type="star" + style="fill:#ffeeaa;stroke-width:0.26458332" + id="path10" + sodipodi:sides="5" + sodipodi:cx="155.28574" + sodipodi:cy="141.64303" + sodipodi:r1="154.21428" + sodipodi:r2="77.10714" + sodipodi:arg1="-1.5707963" + sodipodi:arg2="-0.9424778" + inkscape:flatsided="false" + inkscape:rounded="0.05" + inkscape:randomized="0" + d="m 155.28574,-12.571243 c 5.12042,0 41.17993,88.823585 45.32244,91.833292 4.1425,3.009707 99.76176,9.85635 101.34405,14.726158 1.5823,4.869808 -71.75095,66.612433 -73.33325,71.482243 -1.58229,4.86981 21.45414,97.92485 17.31163,100.93456 -4.1425,3.00971 -85.52445,-47.65483 -90.64487,-47.65483 -5.12042,0 -86.50238,50.66453 -90.644886,47.65483 C 60.498348,263.3953 83.534785,170.34026 81.952489,165.47045 80.370192,160.60064 7.0369457,98.858007 8.6192422,93.988199 10.201539,89.118391 105.82079,82.271756 109.9633,79.26205 c 4.1425,-3.009707 40.20202,-91.833293 45.32244,-91.833293 z" + inkscape:export-xdpi="13.0048" + inkscape:export-ydpi="13.0048" + inkscape:transform-center-y="-14.661668" /> + </g> +</svg> diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/star180.png b/third_party/rust/mp4parse/link-u-avif-sample-images/star180.png Binary files differnew file mode 100644 index 0000000000..2c5f522211 --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/star180.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/star270.png b/third_party/rust/mp4parse/link-u-avif-sample-images/star270.png Binary files differnew file mode 100644 index 0000000000..8812b9bdeb --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/star270.png diff --git a/third_party/rust/mp4parse/link-u-avif-sample-images/star90.png b/third_party/rust/mp4parse/link-u-avif-sample-images/star90.png Binary files differnew file mode 100644 index 0000000000..93526260ba --- /dev/null +++ b/third_party/rust/mp4parse/link-u-avif-sample-images/star90.png |