diff options
author | Takeshi (Kesh) Ikuma <tikuma@hotmail.com> | 2022-10-01 21:12:59 -0500 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2022-10-22 19:35:44 +0200 |
commit | 65f96a965af415300f7533c75940eeae4e3a2287 (patch) | |
tree | d32ba737188282a0f9f07b899479ffb20da4d115 /libavfilter/af_aderivative.c | |
parent | 993e3a6b54552c59bda076d1568ebce69b566545 (diff) | |
download | ffmpeg-65f96a965af415300f7533c75940eeae4e3a2287.tar.gz |
avfilter/vf_curves: add PCHIP interpolator and interp option
summary: This patch modifies the `curves` filter with new `interp` option
to let user pick the existing natural cubic spline interpolation
and the new PCHIP interapolation.
reason: The natural cubic spline does not impose monotonicity between
the keypoints. As such, the fitted curve may vary wildly against
user's intension. The PCHIP interpolation is not as smooth as
the natural spline but guarantees the monotonicity. Providing
both options enhances users experience (e.g., reduces the number
of keypoints to realize the desired curve). See the related bug
report for the example of an ill-interpolated curve.
alternate solution:
Both Photoshop and GIMP appear to use monotonic interpolation in
their curve tools, which were the models for this filter. As
such, an alternate solution is to drop the natural spline and
go without the `interp` option.
related bug report: https://trac.ffmpeg.org/ticket/9947 (filed by myself)
Signed-off-by: Takeshi (Kesh) Ikuma <tikuma@hotmail.com>
Diffstat (limited to 'libavfilter/af_aderivative.c')
0 files changed, 0 insertions, 0 deletions