#define X264_VERSION "" // no configure script for msvc
#endif
-/* alloca: force 16byte alignment */
-#ifdef _MSC_VER
-#define x264_alloca(x) (void*)(((intptr_t)_alloca((x)+15)+15)&~15)
-#else
-#define x264_alloca(x) (void*)(((intptr_t) alloca((x)+15)+15)&~15)
-#endif
-
#ifdef _MSC_VER
#define DECLARE_ALIGNED( type, var, n ) __declspec(align(n)) type var
#else
{
int x, y, z;
float ssim = 0.0;
- int (*sum0)[4] = x264_alloca(4 * (width/4+3) * sizeof(int));
- int (*sum1)[4] = x264_alloca(4 * (width/4+3) * sizeof(int));
+ int (*sum0)[4] = x264_malloc(4 * (width/4+3) * sizeof(int));
+ int (*sum1)[4] = x264_malloc(4 * (width/4+3) * sizeof(int));
width >>= 2;
height >>= 2;
z = 0;
for( x = 0; x < width-1; x += 4 )
ssim += pf->ssim_end4( sum0+x, sum1+x, X264_MIN(4,width-x-1) );
}
+ x264_free(sum0);
+ x264_free(sum1);
return ssim / ((width-1) * (height-1));
}
int enc_dc[4];
int sad_size = i_pixel <= PIXEL_8x8 ? PIXEL_8x8 : PIXEL_4x4;
int delta = x264_pixel_size[sad_size].w;
- uint16_t *ads = x264_alloca((max_x-min_x+8) * sizeof(uint16_t));
+ uint16_t *ads = x264_malloc((max_x-min_x+8) * sizeof(uint16_t));
h->pixf.sad_x4[sad_size]( zero, m->p_fenc[0], m->p_fenc[0]+delta,
m->p_fenc[0]+delta*FENC_STRIDE, m->p_fenc[0]+delta+delta*FENC_STRIDE,
for( i=0; i<i_mvs; i++ )
COST_MV( mvs[i], my );
}
+
+ x264_free(ads);
#endif
}
break;