Unified · Split
| @@ -312,13 +312,13 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos, · 311 unmodified lines | |||
| 312 | emms_c(); // FIXME should not be required but IS (even for non-MMX versions) | 312 | emms_c(); // FIXME should not be required but IS (even for non-MMX versions) |
| 313 | 313 | ||
| 314 | // NOTE: the +3 is for the MMX(+1) / SSE(+3) scaler which reads over the end | 314 | // NOTE: the +3 is for the MMX(+1) / SSE(+3) scaler which reads over the end |
| 315 | FF_ALLOC_OR_GOTO(NULL, *filterPos, (dstW + 3) * sizeof(**filterPos), fail); | 315 | FF_ALLOC_ARRAY_OR_GOTO(NULL, *filterPos, (dstW + 3), sizeof(**filterPos), fail); |
| 316 | 316 | ||
| 317 | if (FFABS(xInc - 0x10000) < 10 && srcPos == dstPos) { // unscaled | 317 | if (FFABS(xInc - 0x10000) < 10 && srcPos == dstPos) { // unscaled |
| 318 | int i; | 318 | int i; |
| 319 | filterSize = 1; | 319 | filterSize = 1; |
| 320 | FF_ALLOCZ_OR_GOTO(NULL, filter, | 320 | FF_ALLOCZ_ARRAY_OR_GOTO(NULL, filter, |
| 321 | dstW * sizeof(*filter) * filterSize, fail); | 321 | dstW, sizeof(*filter) * filterSize, fail); |
| 322 | 322 | ||
| 323 | for (i = 0; i < dstW; i++) { | 323 | for (i = 0; i < dstW; i++) { |
| 324 | filter[i * filterSize] = fone; | 324 | filter[i * filterSize] = fone; |
| @@ -328,8 +328,8 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos, · 3 unmodified lines | |||
| 328 | int i; | 328 | int i; |
| 329 | int64_t xDstInSrc; | 329 | int64_t xDstInSrc; |
| 330 | filterSize = 1; | 330 | filterSize = 1; |
| 331 | FF_ALLOC_OR_GOTO(NULL, filter, | 331 | FF_ALLOC_ARRAY_OR_GOTO(NULL, filter, |
| 332 | dstW * sizeof(*filter) * filterSize, fail); | 332 | dstW, sizeof(*filter) * filterSize, fail); |
| 333 | 333 | ||
| 334 | xDstInSrc = ((dstPos*(int64_t)xInc)>>8) - ((srcPos*0x8000LL)>>7); | 334 | xDstInSrc = ((dstPos*(int64_t)xInc)>>8) - ((srcPos*0x8000LL)>>7); |
| 335 | for (i = 0; i < dstW; i++) { | 335 | for (i = 0; i < dstW; i++) { |
| @@ -344,8 +344,8 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos, · 8 unmodified lines | |||
| 344 | int i; | 344 | int i; |
| 345 | int64_t xDstInSrc; | 345 | int64_t xDstInSrc; |
| 346 | filterSize = 2; | 346 | filterSize = 2; |
| 347 | FF_ALLOC_OR_GOTO(NULL, filter, | 347 | FF_ALLOC_ARRAY_OR_GOTO(NULL, filter, |
| 348 | dstW * sizeof(*filter) * filterSize, fail); | 348 | dstW, sizeof(*filter) * filterSize, fail); |
| 349 | 349 | ||
| 350 | xDstInSrc = ((dstPos*(int64_t)xInc)>>8) - ((srcPos*0x8000LL)>>7); | 350 | xDstInSrc = ((dstPos*(int64_t)xInc)>>8) - ((srcPos*0x8000LL)>>7); |
| 351 | for (i = 0; i < dstW; i++) { | 351 | for (i = 0; i < dstW; i++) { |
| @@ -385,8 +385,8 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos, · 33 unmodified lines | |||
| 385 | filterSize = FFMIN(filterSize, srcW - 2); | 385 | filterSize = FFMIN(filterSize, srcW - 2); |
| 386 | filterSize = FFMAX(filterSize, 1); | 386 | filterSize = FFMAX(filterSize, 1); |
| 387 | 387 | ||
| 388 | FF_ALLOC_OR_GOTO(NULL, filter, | 388 | FF_ALLOC_ARRAY_OR_GOTO(NULL, filter, |
| 389 | dstW * sizeof(*filter) * filterSize, fail); | 389 | dstW, sizeof(*filter) * filterSize, fail); |
| 390 | 390 | ||
| 391 | xDstInSrc = ((dstPos*(int64_t)xInc)>>7) - ((srcPos*0x10000LL)>>7); | 391 | xDstInSrc = ((dstPos*(int64_t)xInc)>>7) - ((srcPos*0x10000LL)>>7); |
| 392 | for (i = 0; i < dstW; i++) { | 392 | for (i = 0; i < dstW; i++) { |
| @@ -493,7 +493,7 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos, · 100 unmodified lines | |||
| 493 | if (dstFilter) | 493 | if (dstFilter) |
| 494 | filter2Size += dstFilter->length - 1; | 494 | filter2Size += dstFilter->length - 1; |
| 495 | av_assert0(filter2Size > 0); | 495 | av_assert0(filter2Size > 0); |
| 496 | FF_ALLOCZ_OR_GOTO(NULL, filter2, filter2Size * dstW * sizeof(*filter2), fail); | 496 | FF_ALLOCZ_ARRAY_OR_GOTO(NULL, filter2, dstW, filter2Size * sizeof(*filter2), fail); |
| 497 | 497 | ||
| 498 | for (i = 0; i < dstW; i++) { | 498 | for (i = 0; i < dstW; i++) { |
| 499 | int j, k; | 499 | int j, k; |
| @@ -577,7 +577,7 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos, · 77 unmodified lines | |||
| 577 | av_assert0(minFilterSize > 0); | 577 | av_assert0(minFilterSize > 0); |
| 578 | filterSize = (minFilterSize + (filterAlign - 1)) & (~(filterAlign - 1)); | 578 | filterSize = (minFilterSize + (filterAlign - 1)) & (~(filterAlign - 1)); |
| 579 | av_assert0(filterSize > 0); | 579 | av_assert0(filterSize > 0); |
| 580 | filter = av_malloc(filterSize * dstW * sizeof(*filter)); | 580 | filter = av_malloc_array(dstW, filterSize * sizeof(*filter)); |
| 581 | if (!filter) | 581 | if (!filter) |
| 582 | goto fail; | 582 | goto fail; |
| 583 | if (filterSize >= MAX_FILTER_SIZE * 16 / | 583 | if (filterSize >= MAX_FILTER_SIZE * 16 / |
| @@ -635,8 +635,8 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos, · 51 unmodified lines | |||
| 635 | 635 | ||
| 636 | // Note the +1 is for the MMX scaler which reads over the end | 636 | // Note the +1 is for the MMX scaler which reads over the end |
| 637 | /* align at 16 for AltiVec (needed by hScale_altivec_real) */ | 637 | /* align at 16 for AltiVec (needed by hScale_altivec_real) */ |
| 638 | FF_ALLOCZ_OR_GOTO(NULL, *outFilter, | 638 | FF_ALLOCZ_ARRAY_OR_GOTO(NULL, *outFilter, |
| 639 | *outFilterSize * (dstW + 3) * sizeof(int16_t), fail); | 639 | (dstW + 3), *outFilterSize * sizeof(int16_t), fail); |
| 640 | 640 | ||
| 641 | /* normalize & store in outFilter */ | 641 | /* normalize & store in outFilter */ |
| 642 | for (i = 0; i < dstW; i++) { | 642 | for (i = 0; i < dstW; i++) { |