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


Ignore:
Timestamp:
Aug 25, 2025, 9:03:47 AM (10 months ago)
Author:
Niklas Haas
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SponsoringPrograms/STF/2025

    v22 v23  
    233233'''Developer:''' Michael Niedermayer (michael-stf@niedermayer.cc)
    234234
     235=== libswscale modernization (part 2)
     236
     237**One line summary:** Port remaining "legacy" code paths from libswscale to the new architecture.
     238
     239**Description:** Libswscale is the central image scaling and format conversion component used by the FFmpeg multimedia set of libraries. "Modern" libswscale is the name I have given to the new set of APIs and internal designs (SwsContext, SwsGraph and SwsOps) that were successfully introduced as part of the 2024 "swscale modernization" STF project. The objective of this work is to complete this transition, by porting the remaining code paths (notably, scaling support and color conversion) to the new architecture, thus allowing the "legacy" code paths to be deprecated and phased out of FFmpeg.
     240
     241**Duration:** 8 months
     242
     243**Payment:** 70.000 EUR
     244
     245**Developer:** Niklas Haas <ffmpeg@haasn.xyz>
     246
     247==== Milestones
     248
     249===== Develop the SwsOps architecture to support scaling
     250
     251**Description:** The existing SwsOps architecture will need to be updated to support scaling operations. This includes necessary R&D and testing to find a design that scales well and does not introduce performance regressions versus the legacy code paths.
     252
     253**Deliverables:** An implementation of the necessary new APIs and high-level logic, alongside a reference implementation in C.
     254
     255**Compensation:** 20,000 EUR
     256
     257===== Updating x86_64 backend
     258
     259**Description:** After expanding the SwsOps architecture, the x86_64 backend will need to be updated to support the new scaling operations. This includes implementing optimized versions of the new APIs using SIMD instructions.
     260
     261**Deliverables:** An implementation, targeting at least SSE4, AVX2 and AVX-512, of the newly added APIs in Milestone 1.
     262
     263**Compensation:** 20,000 EUR
     264
     265===== Remaining format coverage
     266
     267**Description:** Some, more difficult, formats, which were previously handled by the legacy code paths, are not yet supported by the SwsOps backend. This notably includes 96/128-bit formats, XYZ, Bayer and packed/subsampled formats (e.g. YUYV).
     268
     269**Deliverables:** An implementation of the necessary APIs and high-level logic, alongside a reference implementation in C, and possibly an x86_64 code path for the most important formats.
     270
     271**Compensation:** 20,000 EUR
     272
     273===== Properly integrate CMM layer
     274
     275**Description:** Some format conversions currently require conversion between difference colorspaces. This operation is currently handled in a very inefficient manner, as a result of predating the SwsOps design. This layer should be updated to use the new architecture, which will make it vastly more efficient.
     276
     277**Deliverables:** The color management layer successfully integrated into the SwsOps design.
     278
     279**Compensation:** 10,000 EUR