| # libavif third party sources |
| |
| Anything in this directory is imported from third party sources with minimal changes. |
| |
| See `LICENSE` file of respective subdirectories of this directory for license information. |
| |
| # libyuv |
| This subdirectory contains source code imported from libyuv as of `c60323de1756f489bd061e66aea9c3c73a8ef72c`, with modifications intended to keep them relatively small and simple. |
| |
| # Importing from upstream |
| When importing source code from upstream libyuv, the following changes must be done: |
| 1. Source hierachy is to be kept the same as in libyuv. |
| 2. The only APIs that are called by libavif for scaling are `ScalePlane` and `ScalePlane_12`. Anything else must be left out. |
| 3. In function `ScalePlane` and `ScalePlane_16`, only the `ScalePlaneVertical`, `CopyPlane`, `ScalePlaneBox`, `ScalePlaneUp2_Linear`, `ScalePlaneUp2_Bilinear`, `ScalePlaneBilinearUp`, `ScalePlaneBilinearDown` and `ScalePlaneSimple` paths (and their `_16` equivalents) from libyuv must be kept; any other paths are to be stripped out (including SIMD). |
| 4. The commit hash of libyuv from where the files got imported in this README.md file must be updated if possible. |
| 5. `LIBYUV_API` must be removed from any and all imported functions as these files are always built static. |
| 6. Replace .cc file extension by .c. |