diff --git a/libswscale/utils.c b/libswscale/utils.c index 90ddbf1e06..e4d8a1d34a 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -781,10 +781,10 @@ static av_cold int init_hscaler_mmxext(int dstW, int xInc, uint8_t *filterCode, int c = ((xpos + xInc * 2) >> 16) - xx; int d = ((xpos + xInc * 3) >> 16) - xx; int inc = (d + 1 < 4); - uint8_t *fragment = (d + 1 < 4) ? fragmentB : fragmentA; - x86_reg imm8OfPShufW1 = (d + 1 < 4) ? imm8OfPShufW1B : imm8OfPShufW1A; - x86_reg imm8OfPShufW2 = (d + 1 < 4) ? imm8OfPShufW2B : imm8OfPShufW2A; - x86_reg fragmentLength = (d + 1 < 4) ? fragmentLengthB : fragmentLengthA; + uint8_t *fragment = inc ? fragmentB : fragmentA; + x86_reg imm8OfPShufW1 = inc ? imm8OfPShufW1B : imm8OfPShufW1A; + x86_reg imm8OfPShufW2 = inc ? imm8OfPShufW2B : imm8OfPShufW2A; + x86_reg fragmentLength = inc ? fragmentLengthB : fragmentLengthA; int maxShift = 3 - (d + inc); int shift = 0;