[FFmpeg-devel] [PATCH 4/4] avfilter/vf_geq: fix interpolation with 1 pixel width/height

Marton Balint cus at passwd.hu
Mon May 13 22:43:05 EEST 2024



On Sat, 11 May 2024, Michael Niedermayer wrote:

> On Thu, May 09, 2024 at 08:49:18AM +0200, Marton Balint wrote:
>> Fixes ticket #9740.
>>
>> Signed-off-by: Marton Balint <cus at passwd.hu>
>> ---
>>  libavfilter/vf_geq.c | 20 ++++++++++++--------
>>  1 file changed, 12 insertions(+), 8 deletions(-)
>>
>> diff --git a/libavfilter/vf_geq.c b/libavfilter/vf_geq.c
>> index dbe50e5250..12604d44a2 100644
>> --- a/libavfilter/vf_geq.c
>> +++ b/libavfilter/vf_geq.c
>> @@ -112,8 +112,12 @@ static inline double getpix(void *priv, double x, double y, int plane)
>>          return 0;
>>
>>      if (geq->interpolation == INTERP_BILINEAR) {
>> -        xi = x = av_clipd(x, 0, w - 2);
>> -        yi = y = av_clipd(y, 0, h - 2);
>> +        int xn, yn;
>> +
>> +        xi = x = av_clipd(x, 0, w - 1);
>> +        yi = y = av_clipd(y, 0, h - 1);
>> +        xn = av_clip(xi + 1, 0, w - 1);
>> +        yn = av_clip(yi + 1, 0, h - 1);
>
> xi + 1 should not need cliping, a FFMIN() should be enough

Ok, will apply the series with that change.

Thanks,
Marton


More information about the ffmpeg-devel mailing list