diff --git a/gfx/filter.c b/gfx/filter.c index 2c6ac8981b..631e0b5307 100644 --- a/gfx/filter.c +++ b/gfx/filter.c @@ -97,6 +97,8 @@ static softfilter_get_implementation_t softfilter_get_implementation_from_idx(un return darken_get_implementation; case SOFTFILTER_TWOXSAI: return twoxsai_get_implementation; + case SOFTFILTER_HQ2X: + return hq2x_get_implementation; case SOFTFILTER_SCALE2X: return scale2x_get_implementation; } diff --git a/gfx/filter.h b/gfx/filter.h index a76073d740..2826d13fcb 100644 --- a/gfx/filter.h +++ b/gfx/filter.h @@ -51,12 +51,14 @@ enum SOFTFILTER_NONE = 0, //SOFTFILTER_2XBR, SOFTFILTER_DARKEN, + SOFTFILTER_HQ2X, SOFTFILTER_TWOXSAI, SOFTFILTER_SCALE2X, SOFTFILTER_LAST, }; #ifdef HAVE_FILTERS_BUILTIN +const struct softfilter_implementation *hq2x_get_implementation(softfilter_simd_mask_t simd); const struct softfilter_implementation *twoxsai_get_implementation(softfilter_simd_mask_t simd); const struct softfilter_implementation *twoxbr_get_implementation(softfilter_simd_mask_t simd); const struct softfilter_implementation *darken_get_implementation(softfilter_simd_mask_t simd); diff --git a/gfx/filters/hq2x.c b/gfx/filters/hq2x.c index e824d82306..619987b73b 100644 --- a/gfx/filters/hq2x.c +++ b/gfx/filters/hq2x.c @@ -82,7 +82,7 @@ static void hq2x_generic_destroy(void *data) #define HQ2X_565_SHIFT (16) #define HQ2X_4444_SHIFT (16) -static uint32_t *yuvTable; +static uint32_t yuvTable[32768]; static uint8_t rotate[256]; const static uint8_t hqTable[256] = { @@ -112,9 +112,6 @@ static void initialize(void) if (initialized) return; - if (posix_memalign((void**)&yuvTable, 16, 32768 * sizeof(uint32_t))) - return; - for (i = 0; i < 32768; ++i) { const uint8_t R = (i >> 0) & 31; diff --git a/griffin/griffin.c b/griffin/griffin.c index 74a1a4dd3c..7fe66370d9 100644 --- a/griffin/griffin.c +++ b/griffin/griffin.c @@ -480,6 +480,7 @@ FILTERS #include "../gfx/filters/2xsai.c" #include "../gfx/filters/2xbr.c" #include "../gfx/filters/darken.c" +#include "../gfx/filters/hq2x.c" #include "../gfx/filters/scale2x.c" #endif /*============================================================