Changes between Version 21 and Version 22 of SponsoringPrograms/STF/2025


Ignore:
Timestamp:
Aug 25, 2025, 5:26:39 AM (10 months ago)
Author:
Lynne
Comment:

Add milestones to the FFv1 improvements proposals

Legend:

Unmodified
Added
Removed
Modified
  • SponsoringPrograms/STF/2025

    v21 v22  
    105105'''Duration:''' 8 Months
    106106
     107'''Payment:''' 30,000 EUR
     108
     109'''Developer:''' Lynne
     110
     111==== Milestones
     112
     113===== 16-bit floating-point video decoding
     114
     115* **Description**: Minimum viable implementation of floating-point decoding in the Vulkan decoder. This would allow for the FFv1 Vulkan decoder to be used in professional cinema/CGI productions, where linear 16-bit floating point video is used during pre-production.
     116
     117* **Deliverables**: Patches to implement compliant support for it posted on the mailing list.
     118
     119===== 16-bit floating-point video encoding
     120
     121* **Description**: Same as the previous milestone, for the encoder. Minimum viable implementation of floating-point decoding in the Vulkan encoder. This would allow for the FFv1 Vulkan encoder to be used in professional cinema/CGI productions.
     122
     123* **Deliverables**: Patches to implement compliant support for it posted on the mailing list.
     124
     125===== 32-bit floating-point video decoding
     126
     127* **Description**: More advanced version, built upon the previous work, to allow the decoder to correctly decode 32-bit floating point video. More and more production is switching to 32-bit video, as 16-bit linear video can reach limits with high dynamic range video.
     128
     129* **Deliverables**: Patches to implement compliant support for it posted on the mailing list.
     130
     131===== 32-bit floating-point video encoding
     132
     133* **Description**: Same as the previous milestone, for the encoder. 32-bit floating point video encoding support would be added to the encoder.
     134
     135* **Deliverables**: Patches to implement compliant support for it posted on the mailing list.
     136
     137=== FFv1 Bayer coding support ===
     138
     139'''Description:''' FFv1 is an important standard for archival. However, it is capable of more than just long-term compression. The recent GPU implementation has demonstrated that its sufficiently fast to be used as a RAW format, allowing NLEs to work in a fully lossless flow. This project will implement support for common Bayer formats, both for encoding and decoding, along with metadata, allowing FFv1 to be used for professional production.
     140
     141'''Expected results:''' FFv1 is able to encode and decode Bayer pixel ordering, both on the GPU and CPU implementations, with the necessary metadata information carried to permit accurate color reconstruction and flexibility when color grading and mastering.
     142
     143'''Duration:''' 6 Months
     144
    107145'''Payment:''' 20,000 EUR
    108146
    109147'''Developer:''' Lynne
    110148
    111 === FFv1 Bayer coding support ===
    112 
    113 '''Description:''' FFv1 is an important standard for archival. However, it is capable of more than just long-term compression. The recent GPU implementation has demonstrated that its sufficiently fast to be used as a RAW format, allowing NLEs to work in a fully lossless flow. This project will implement support for common Bayer formats, both for encoding and decoding, along with metadata, allowing FFv1 to be used for professional production.
    114 
    115 '''Expected results:''' FFv1 is able to encode and decode Bayer pixel ordering, both on the GPU and CPU implementations, with the necessary metadata information carried to permit accurate color reconstruction and flexibility when color grading and mastering.
    116 
    117 '''Duration:''' 6 Months
    118 
    119 '''Payment:''' 15,000 EUR
     149==== Milestones
     150
     151===== FFv1 Bayer video encoding and decoding
     152
     153* **Description**: Minimum implementation of Bayer encoding and decoding for the CPU encoder. Both have to be added at the same time as this is adding new features to the codec.
     154
     155* **Deliverables**: Patches to implement compliant support for it posted on the mailing list.
     156
     157===== FFv1 Vulkan Bayer video encoding and decoding
     158
     159* **Description**: Implementation of Bayer encoding and decoding for the Vulkan FFv1 encoder and decoders.
     160
     161* **Deliverables**: Patches to implement compliant support for it posted on the mailing list.
     162
     163=== swscale Vulkan backend ===
     164
     165'''Description:''' The recent swscale rewrite has transformed it into a flexible and reliable framework to handle scaling, with the logic being decoupled from the DSP code. This simplifies writing backends with all the benefits and deterministic behaviour of the CPU version. This project will implement a Vulkan backend for the new swscale framework, writing SPIR-V code directly with no assembler, which will allow Vulkan frames (and frames imported from other GPU APIs into Vulkan) to be scaled.
     166
     167'''Expected results:''' swscale Vulkan backend, with feature parity to the C backend
     168
     169'''Duration:''' 12 Months
     170
     171'''Payment:''' 40,000 EUR
    120172
    121173'''Developer:''' Lynne
    122174
    123 === swscale Vulkan backend ===
    124 
    125 '''Description:''' The recent swscale rewrite has transformed it into a flexible and reliable framework to handle scaling, with the logic being decoupled from the DSP code. This simplifies writing backends with all the benefits and deterministic behaviour of the CPU version. This project will implement a Vulkan backend for the new swscale framework, writing SPIR-V code directly with no assembler, which will allow Vulkan frames (and frames imported from other GPU APIs into Vulkan) to be scaled.
    126 
    127 '''Expected results:''' swscale Vulkan backend, with feature parity to the C backend
    128 
    129 '''Duration:''' 12 Months
    130 
    131 '''Payment:''' 40,000 EUR
    132 
    133 '''Developer:''' Lynne
    134 
    135175=== swscale AArch64 NEON backend ===
    136176