History

swscale/utils: use FF_ALLOC(Z)_ARRAY_OR_GOTO() and av_malloc(z)_array()

Michael Niedermayer committed 12 years ago

Commit 656fe7e1 parent beecfa81 file · +13 −13Browse files

Unified · Split

libswscale/utils.c+13−13
@@ -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 end314 // 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) { // unscaled317 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 end636 // 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++) {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t