video: add zimg wrapper

This provides a very similar API to sws_utils.h, which can be used to
convert and scale from one mp_image to another.

This commit adds only the code, but does not use it anywhere.

The code is quite preliminary and barely tested. It supports only a few
pixel formats, and will return failure for many others. (Unlike
libswscale, which tries to support anything that FFmpeg knows.)

zimg itself accepts only planar formats. Supporting other formats
requires manual packing/unpacking. (Compared to libswscale, the zimg API
is generally lower level, but allows for more flexibility.) Only BGR0
output was actually tested. It appears to work.
This commit is contained in:
wm4
2019-10-20 01:54:45 +02:00
parent fd539a542f
commit 07aa29ed8e
6 changed files with 686 additions and 1 deletions

View File

@@ -3830,6 +3830,14 @@ Software Scaler
``--sws-cvs=<v>``
Software scaler chroma vertical shifting. See ``--sws-scaler``.
``--zimg--scaler=<point|bilinear|bicubic|spline16|lanczos>``
Zimg luma scaler to use (default: bilinear).
``--zimg-fast=<yes|no>``
Allow optimizations that help with performance, but reduce quality (default:
yes). Currently, this may simplify gamma conversion operations.
Audio Resampler
---------------