[FFmpeg-devel] [PATCH] avcodec/vc1_pred: properly clip interlaced motion vectors

Carl Eugen Hoyos ceffmpeg at gmail.com
Sat Apr 21 19:34:18 EEST 2018


2018-04-21 10:22 GMT+02:00, Paul B Mahol <onemda at gmail.com>:
> Fixes #2557.
>
> Signed-off-by: Paul B Mahol <onemda at gmail.com>
> ---
>  libavcodec/vc1_pred.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/vc1_pred.c b/libavcodec/vc1_pred.c
> index 54712f6b7a..9f42a930fe 100644
> --- a/libavcodec/vc1_pred.c
> +++ b/libavcodec/vc1_pred.c
> @@ -98,9 +98,9 @@ static av_always_inline int scaleforsame_y(VC1Context *v,
> int i, int n /* MV */,
>      }
>
>      if (v->cur_field_type && !v->ref_field_type[dir])
> -        return av_clip(scaledvalue, -v->range_y / 2 + 1, v->range_y / 2);
> +        return av_clip(scaledvalue, -v->range_y / 2 - 1, v->range_y / 2);
>      else
> -        return av_clip(scaledvalue, -v->range_y / 2, v->range_y / 2 - 1);
> +        return av_clip(scaledvalue, -v->range_y / 2, v->range_y / 2 + 1);

Makes the affected frames bit-exact, so lgtm.

Thank you, Carl Eugen


More information about the ffmpeg-devel mailing list