avfilter/vf_minterpolate: do not right shift negative numbers

It was source of crashes. Use division instead.

Original patch by author. Log message by comitter.
pull/230/head
Davinder Singh 8 years ago committed by Paul B Mahol
parent a0a57072c9
commit 11a631d4a7
  1. 4
      libavfilter/vf_minterpolate.c

@ -936,8 +936,8 @@ static void set_frame_data(MIContext *mi_ctx, int alpha, AVFrame *avf_out)
for (i = 0; i < pixel->nb; i++) {
Frame *frame = &mi_ctx->frames[pixel->refs[i]];
if (chroma) {
x_mv = (x >> mi_ctx->chroma_h_shift) + (pixel->mvs[i][0] >> mi_ctx->chroma_h_shift);
y_mv = (y >> mi_ctx->chroma_v_shift) + (pixel->mvs[i][1] >> mi_ctx->chroma_v_shift);
x_mv = (x >> mi_ctx->chroma_h_shift) + (pixel->mvs[i][0] / (1 << mi_ctx->chroma_h_shift));
y_mv = (y >> mi_ctx->chroma_v_shift) + (pixel->mvs[i][1] / (1 << mi_ctx->chroma_v_shift));
} else {
x_mv = x + pixel->mvs[i][0];
y_mv = y + pixel->mvs[i][1];

Loading…
Cancel
Save