diff options
author | scuri <scuri> | 2009-08-18 02:21:01 +0000 |
---|---|---|
committer | scuri <scuri> | 2009-08-18 02:21:01 +0000 |
commit | 77a4608ee1f828ed70ec58588f0229cd57758148 (patch) | |
tree | b1550da93d53331715c200f1acf8a7c1b2ff7be9 /src | |
parent | e2726d7bef3b0a1684011e558cb68ca99cfecd75 (diff) |
*** empty log message ***
Diffstat (limited to 'src')
-rw-r--r-- | src/im_convertbitmap.cpp | 40 | ||||
-rw-r--r-- | src/im_convertcolor.cpp | 276 | ||||
-rw-r--r-- | src/imlua5.mak | 8 | ||||
-rw-r--r-- | src/imlua_process5.mak | 1 | ||||
-rw-r--r-- | src/lua5/im_convert.lua | 18 | ||||
-rw-r--r-- | src/lua5/im_fftw.lua | 19 | ||||
-rw-r--r-- | src/lua5/im_image.lua | 24 | ||||
-rw-r--r-- | src/lua5/imlua_convert.c | 19 | ||||
-rw-r--r-- | src/lua5/imlua_image.c | 50 | ||||
-rw-r--r-- | src/lua5/loh/im_fftw.loh | 151 |
10 files changed, 383 insertions, 223 deletions
diff --git a/src/im_convertbitmap.cpp b/src/im_convertbitmap.cpp index 9d3c720..a4f6b70 100644 --- a/src/im_convertbitmap.cpp +++ b/src/im_convertbitmap.cpp @@ -2,7 +2,7 @@ * \brief Image Conversion * * See Copyright Notice in im_lib.h - * $Id: im_convertbitmap.cpp,v 1.2 2009/08/13 22:34:25 scuri Exp $ + * $Id: im_convertbitmap.cpp,v 1.3 2009/08/18 02:23:33 scuri Exp $ */ #include "im.h" @@ -129,7 +129,7 @@ static void iImageMakeGray(imbyte *map, int count, int step) } } -static void iImageCopyMapAlpha(imbyte *map, imbyte *gldata, int depth, int count) +static void iImageGLCopyMapAlpha(imbyte *map, imbyte *gldata, int depth, int count) { /* gldata can be GL_RGBA or GL_LUMINANCE_ALPHA */ gldata += depth-1; /* position at first alpha */ @@ -141,38 +141,38 @@ static void iImageCopyMapAlpha(imbyte *map, imbyte *gldata, int depth, int count } } -static void iImageSetTranspMap(imbyte *map, imbyte *gldata, int count, imbyte *transp_map, int transp_count) +static void iImageGLSetTranspColor(imbyte *gldata, int count, imbyte r, imbyte g, imbyte b) { /* gldata is GL_RGBA */ - gldata += 3; /* position at first alpha */ for(int i = 0; i < count; i++) { - if (*map < transp_count) - *gldata = transp_map[*map]; + if (*(gldata+0) == r && + *(gldata+1) == g && + *(gldata+2) == b) + *(gldata+3) = 0; /* transparent */ else - *gldata = 255; /* opaque */ - - map++; + *(gldata+3) = 255; /* opaque */ gldata += 4; } } -static void iImageSetTranspColor(imbyte *gldata, int count, imbyte r, imbyte g, imbyte b) +static void iImageGLSetTranspMap(imbyte *map, imbyte *gldata, int count, imbyte *transp_map, int transp_count) { /* gldata is GL_RGBA */ + gldata += 3; /* position at first alpha */ for(int i = 0; i < count; i++) { - if (*(gldata+0) == r && - *(gldata+1) == g && - *(gldata+2) == b) - *(gldata+3) = 0; /* transparent */ + if (*map < transp_count) + *gldata = transp_map[*map]; else - *(gldata+3) = 255; /* opaque */ + *gldata = 255; /* opaque */ + + map++; gldata += 4; } } -static void iImageSetTranspIndex(imbyte *map, imbyte *gldata, int depth, int count, imbyte index) +static void iImageGLSetTranspIndex(imbyte *map, imbyte *gldata, int depth, int count, imbyte index) { /* gldata can be GL_RGBA or GL_LUMINANCE_ALPHA */ gldata += depth-1; /* position at first alpha */ @@ -258,7 +258,7 @@ void* imImageGetOpenGLData(const imImage* image, int *format) imConvertPacking(image->data[0], gldata, image->width, image->height, 3, IM_BYTE, 0); if (transp_color) - iImageSetTranspColor(gldata, image->count, *(transp_color+0), *(transp_color+1), *(transp_color+2)); + iImageGLSetTranspColor(gldata, image->count, *(transp_color+0), *(transp_color+1), *(transp_color+2)); } } else @@ -271,11 +271,11 @@ void* imImageGetOpenGLData(const imImage* image, int *format) iImageMakeGray(gldata, image->count, (glformat==GL_LUMINANCE_ALPHA)? 2: 1); if (image->has_alpha) - iImageCopyMapAlpha((imbyte*)image->data[1], gldata, depth, image->count); + iImageGLCopyMapAlpha((imbyte*)image->data[1], gldata, depth, image->count); else if (transp_map) - iImageSetTranspMap((imbyte*)image->data[0], gldata, image->count, transp_map, transp_count); + iImageGLSetTranspMap((imbyte*)image->data[0], gldata, image->count, transp_map, transp_count); else if (transp_index) - iImageSetTranspIndex((imbyte*)image->data[0], gldata, depth, image->count, *transp_index); + iImageGLSetTranspIndex((imbyte*)image->data[0], gldata, depth, image->count, *transp_index); } if (format) *format = glformat; diff --git a/src/im_convertcolor.cpp b/src/im_convertcolor.cpp index 4068b94..8e96ccc 100644 --- a/src/im_convertcolor.cpp +++ b/src/im_convertcolor.cpp @@ -2,7 +2,7 @@ * \brief Image Conversion * * See Copyright Notice in im_lib.h - * $Id: im_convertcolor.cpp,v 1.1 2008/10/17 06:10:16 scuri Exp $ + * $Id: im_convertcolor.cpp,v 1.2 2009/08/18 02:23:33 scuri Exp $ */ #include "im.h" @@ -56,6 +56,57 @@ void imConvertMapToRGB(unsigned char* data, int count, int depth, int packed, lo } } +static void iConvertSetTranspMap(imbyte *src_map, imbyte *dst_alpha, int count, imbyte *transp_map, int transp_count) +{ + for(int i = 0; i < count; i++) + { + if (*src_map < transp_count) + *dst_alpha = transp_map[*src_map]; + else + *dst_alpha = 255; /* opaque */ + + src_map++; + dst_alpha++; + } +} + +static void iConvertSetTranspIndex(imbyte *src_map, imbyte *dst_alpha, int count, imbyte index) +{ + for(int i = 0; i < count; i++) + { + if (*src_map == index) + *dst_alpha = 0; /* full transparent */ + else + *dst_alpha = 255; /* opaque */ + + src_map++; + dst_alpha++; + } +} + +static void iConvertSetTranspColor(imbyte **dst_data, int count, imbyte r, imbyte g, imbyte b) +{ + imbyte *pr = dst_data[0]; + imbyte *pg = dst_data[1]; + imbyte *pb = dst_data[2]; + imbyte *pa = dst_data[3]; + + for(int i = 0; i < count; i++) + { + if (*pr == r && + *pg == g && + *pb == b) + *pa = 0; /* transparent */ + else + *pa = 255; /* opaque */ + + pr++; + pg++; + pb++; + pa++; + } +} + // convert bin2gray and gray2bin inline void iConvertBinary(imbyte* map, int count, imbyte value) { @@ -124,7 +175,7 @@ static void iConvertMapToRGB(const imbyte* src_map, imbyte* red, imbyte* green, template <class T> int iDoConvert2Gray(int count, int data_type, - const T** src_data, int src_color_space, T** dst_data, int counter) + const T** src_data, int src_color_space, T** dst_data, int counter) { int i; T max; @@ -201,7 +252,7 @@ int iDoConvert2Gray(int count, int data_type, template <class T> int iDoConvert2RGB(int count, int data_type, - const T** src_data, int src_color_space, T** dst_data, int counter) + const T** src_data, int src_color_space, T** dst_data, int counter) { int i; T max, zero; @@ -303,7 +354,7 @@ int iDoConvert2RGB(int count, int data_type, template <class T> int iDoConvert2YCbCr(int count, int data_type, - const T** src_data, int src_color_space, T** dst_data, int counter) + const T** src_data, int src_color_space, T** dst_data, int counter) { int i; T zero; @@ -339,7 +390,7 @@ int iDoConvert2YCbCr(int count, int data_type, template <class T> int iDoConvert2XYZ(int count, int data_type, - const T** src_data, int src_color_space, T** dst_data, int counter) + const T** src_data, int src_color_space, T** dst_data, int counter) { int i; T max; @@ -439,7 +490,7 @@ int iDoConvert2XYZ(int count, int data_type, template <class T> int iDoConvert2Lab(int count, int data_type, - const T** src_data, int src_color_space, T** dst_data, int counter) + const T** src_data, int src_color_space, T** dst_data, int counter) { int i; T max; @@ -561,7 +612,7 @@ int iDoConvert2Lab(int count, int data_type, template <class T> int iDoConvert2Luv(int count, int data_type, - const T** src_data, int src_color_space, T** dst_data, int counter) + const T** src_data, int src_color_space, T** dst_data, int counter) { int i; T max; @@ -779,105 +830,152 @@ static int iConvertColorSpace(const imImage* src_image, imImage* dst_image) int imConvertColorSpace(const imImage* src_image, imImage* dst_image) { + int ret = IM_ERR_NONE; assert(src_image); assert(dst_image); if (!imImageMatchDataType(src_image, dst_image)) return IM_ERR_DATA; - if (src_image->color_space == dst_image->color_space) - return IM_ERR_DATA; - - switch(dst_image->color_space) + if (src_image->color_space != dst_image->color_space) { - case IM_RGB: - switch(src_image->color_space) + switch(dst_image->color_space) { - case IM_BINARY: - memcpy(dst_image->data[0], src_image->data[0], dst_image->plane_size); + case IM_RGB: + switch(src_image->color_space) + { + case IM_BINARY: + memcpy(dst_image->data[0], src_image->data[0], dst_image->plane_size); + iConvertBinary((imbyte*)dst_image->data[0], dst_image->count, 255); + memcpy(dst_image->data[1], dst_image->data[0], dst_image->plane_size); + memcpy(dst_image->data[2], dst_image->data[0], dst_image->plane_size); + ret = IM_ERR_NONE; + break; + case IM_MAP: + iConvertMapToRGB((imbyte*)src_image->data[0], (imbyte*)dst_image->data[0], (imbyte*)dst_image->data[1], (imbyte*)dst_image->data[2], dst_image->count, src_image->palette, src_image->palette_count); + ret = IM_ERR_NONE; + break; + case IM_GRAY: + memcpy(dst_image->data[0], src_image->data[0], dst_image->plane_size); + memcpy(dst_image->data[1], src_image->data[0], dst_image->plane_size); + memcpy(dst_image->data[2], src_image->data[0], dst_image->plane_size); + ret = IM_ERR_NONE; + break; + default: + ret = iConvertColorSpace(src_image, dst_image); + break; + } + break; + case IM_GRAY: + switch(src_image->color_space) + { + case IM_BINARY: + memcpy(dst_image->data[0], src_image->data[0], dst_image->size); iConvertBinary((imbyte*)dst_image->data[0], dst_image->count, 255); - memcpy(dst_image->data[1], dst_image->data[0], dst_image->plane_size); - memcpy(dst_image->data[2], dst_image->data[0], dst_image->plane_size); - return IM_ERR_NONE; - case IM_MAP: - iConvertMapToRGB((imbyte*)src_image->data[0], (imbyte*)dst_image->data[0], (imbyte*)dst_image->data[1], (imbyte*)dst_image->data[2], dst_image->count, src_image->palette, src_image->palette_count); - return IM_ERR_NONE; - case IM_GRAY: + ret = IM_ERR_NONE; + break; + case IM_MAP: + iConvertMap2Gray((imbyte*)src_image->data[0], (imbyte*)dst_image->data[0], dst_image->count, src_image->palette, src_image->palette_count); + ret = IM_ERR_NONE; + break; + case IM_YCBCR: memcpy(dst_image->data[0], src_image->data[0], dst_image->plane_size); - memcpy(dst_image->data[1], src_image->data[0], dst_image->plane_size); - memcpy(dst_image->data[2], src_image->data[0], dst_image->plane_size); - return IM_ERR_NONE; - default: - return iConvertColorSpace(src_image, dst_image); - } - case IM_GRAY: - switch(src_image->color_space) - { + ret = IM_ERR_NONE; + break; + default: + ret = iConvertColorSpace(src_image, dst_image); + break; + } + break; + case IM_MAP: + switch(src_image->color_space) + { + case IM_BINARY: // no break, same procedure as gray + case IM_GRAY: + memcpy(dst_image->data[0], src_image->data[0], dst_image->size); + dst_image->palette_count = src_image->palette_count; + memcpy(dst_image->palette, src_image->palette, dst_image->palette_count*sizeof(long)); + ret = IM_ERR_NONE; + break; + case IM_RGB: + dst_image->palette_count = 256; + ret = imConvertRGB2Map(src_image->width, src_image->height, + (imbyte*)src_image->data[0], (imbyte*)src_image->data[1], (imbyte*)src_image->data[2], + (imbyte*)dst_image->data[0], dst_image->palette, &dst_image->palette_count); + break; + default: + ret = IM_ERR_DATA; + break; + } + break; case IM_BINARY: - memcpy(dst_image->data[0], src_image->data[0], dst_image->size); - iConvertBinary((imbyte*)dst_image->data[0], dst_image->count, 255); - return IM_ERR_NONE; - case IM_MAP: - iConvertMap2Gray((imbyte*)src_image->data[0], (imbyte*)dst_image->data[0], dst_image->count, src_image->palette, src_image->palette_count); - return IM_ERR_NONE; - case IM_YCBCR: - memcpy(dst_image->data[0], src_image->data[0], dst_image->plane_size); - return IM_ERR_NONE; - default: - return iConvertColorSpace(src_image, dst_image); - } - case IM_MAP: - switch(src_image->color_space) - { - case IM_BINARY: // no break, same procedure as gray - case IM_GRAY: - memcpy(dst_image->data[0], src_image->data[0], dst_image->size); - dst_image->palette_count = src_image->palette_count; - memcpy(dst_image->palette, src_image->palette, dst_image->palette_count*sizeof(long)); - return IM_ERR_NONE; - case IM_RGB: - dst_image->palette_count = 256; - return imConvertRGB2Map(src_image->width, src_image->height, - (imbyte*)src_image->data[0], (imbyte*)src_image->data[1], (imbyte*)src_image->data[2], - (imbyte*)dst_image->data[0], dst_image->palette, &dst_image->palette_count); - default: - return IM_ERR_DATA; - } - case IM_BINARY: - switch(src_image->color_space) - { - case IM_GRAY: - memcpy(dst_image->data[0], src_image->data[0], dst_image->size); - iConvertBinary((imbyte*)dst_image->data[0], dst_image->count, 1); - return IM_ERR_NONE; - case IM_MAP: // convert to gray, then convert to binary - iConvertMap2Gray((imbyte*)src_image->data[0], (imbyte*)dst_image->data[0], dst_image->count, src_image->palette, src_image->palette_count); - iConvertBinary((imbyte*)dst_image->data[0], dst_image->count, 1); - return IM_ERR_NONE; - case IM_YCBCR: // convert to gray, then convert to binary - memcpy(dst_image->data[0], src_image->data[0], dst_image->plane_size); - iConvertBinary((imbyte*)dst_image->data[0], dst_image->count, 1); - return IM_ERR_NONE; - default: // convert to gray, then convert to binary + switch(src_image->color_space) { + case IM_GRAY: + memcpy(dst_image->data[0], src_image->data[0], dst_image->size); + iConvertBinary((imbyte*)dst_image->data[0], dst_image->count, 1); + ret = IM_ERR_NONE; + break; + case IM_MAP: // convert to gray, then convert to binary + iConvertMap2Gray((imbyte*)src_image->data[0], (imbyte*)dst_image->data[0], dst_image->count, src_image->palette, src_image->palette_count); + iConvertBinary((imbyte*)dst_image->data[0], dst_image->count, 1); + ret = IM_ERR_NONE; + break; + case IM_YCBCR: // convert to gray, then convert to binary + memcpy(dst_image->data[0], src_image->data[0], dst_image->plane_size); + iConvertBinary((imbyte*)dst_image->data[0], dst_image->count, 1); + ret = IM_ERR_NONE; + break; + default: // convert to gray, then convert to binary dst_image->color_space = IM_GRAY; - int ret = iConvertColorSpace(src_image, dst_image); + ret = iConvertColorSpace(src_image, dst_image); dst_image->color_space = IM_BINARY; - if (ret != IM_ERR_NONE) return ret; - iConvertBinary((imbyte*)dst_image->data[0], dst_image->count, 1); - return IM_ERR_NONE; + if (ret == IM_ERR_NONE) + iConvertBinary((imbyte*)dst_image->data[0], dst_image->count, 1); + ret = IM_ERR_NONE; + break; } + break; + case IM_YCBCR: + switch(src_image->color_space) + { + case IM_GRAY: + memcpy(dst_image->data[0], src_image->data[0], dst_image->plane_size); + ret = IM_ERR_NONE; + break; + default: + ret = iConvertColorSpace(src_image, dst_image); + break; + } + break; + default: + ret = iConvertColorSpace(src_image, dst_image); + break; } - case IM_YCBCR: - switch(src_image->color_space) + } + + if (src_image->has_alpha && dst_image->has_alpha) + memcpy(dst_image->data[dst_image->depth], src_image->data[src_image->depth], src_image->plane_size); + else if (dst_image->color_space == IM_RGB && dst_image->data_type == IM_BYTE && dst_image->has_alpha) + { + if (src_image->color_space == IM_RGB) + { + imbyte* transp_color = (imbyte*)imImageGetAttribute(src_image, "TransparencyColor", NULL, NULL); + if (transp_color) + iConvertSetTranspColor((imbyte**)dst_image->data, dst_image->count, *(transp_color+0), *(transp_color+1), *(transp_color+2)); + } + else { - case IM_GRAY: - memcpy(dst_image->data[0], src_image->data[0], dst_image->plane_size); - return IM_ERR_NONE; - default: - return iConvertColorSpace(src_image, dst_image); + int transp_count; + imbyte* transp_index = (imbyte*)imImageGetAttribute(src_image, "TransparencyIndex", NULL, NULL); + imbyte* transp_map = (imbyte*)imImageGetAttribute(src_image, "TransparencyMap", NULL, &transp_count); + if (transp_map) + iConvertSetTranspMap((imbyte*)src_image->data[0], (imbyte*)dst_image->data[3], dst_image->count, transp_map, transp_count); + else if (transp_index) + iConvertSetTranspIndex((imbyte*)src_image->data[0], (imbyte*)dst_image->data[3], dst_image->count, *transp_index); } - default: - return iConvertColorSpace(src_image, dst_image); } + + return ret; } + diff --git a/src/imlua5.mak b/src/imlua5.mak index 560616a..554b701 100644 --- a/src/imlua5.mak +++ b/src/imlua5.mak @@ -1,12 +1,14 @@ PROJNAME = im LIBNAME = imlua51 -DEF_FILE = imlua.def OPT = YES -SRCDIR = lua5 +LOHDIR = lua5/loh +SRC = lua5/imlua.c lua5/imlua_aux.c lua5/imlua_convert.c lua5/imlua_file.c lua5/imlua_image.c lua5/imlua_palette.c lua5/imlua_util.c +DEF_FILE = lua5/imlua.def -SRC = imlua.c imlua_aux.c imlua_convert.c imlua_file.c imlua_image.c imlua_palette.c imlua_util.c +SRCLUA = lua5/im_image.lua lua5/im_convert.lua +SRCLUADIR = lua5 INCLUDES = lua5 diff --git a/src/imlua_process5.mak b/src/imlua_process5.mak index c5e9c79..85415c4 100644 --- a/src/imlua_process5.mak +++ b/src/imlua_process5.mak @@ -1,6 +1,5 @@ PROJNAME = im LIBNAME = imlua_process51 -DEF_FILE = imlua_process.def OPT = YES diff --git a/src/lua5/im_convert.lua b/src/lua5/im_convert.lua new file mode 100644 index 0000000..231bdb5 --- /dev/null +++ b/src/lua5/im_convert.lua @@ -0,0 +1,18 @@ + +function im.ConvertDataTypeNew(src_image, data_type, cpx2real, gamma, abssolute, cast_mode) + local dst_image = im.ImageCreateBased(src_image, nil, nil, nil, data_type) + return im.ConvertDataType(src_image, dst_image, cpx2real, gamma, abssolute, cast_mode), dst_image +end + +function im.ConvertColorSpaceNew(src_image, color_space, has_alpha) + local dst_image = im.ImageCreateBased(src_image, nil, nil, color_space) + if (has_alpha) then dst_image:AddAlpha() end + return im.ConvertColorSpace(src_image, dst_image), dst_image +end + +function im.ConvertToBitmapNew(src_image, color_space, has_alpha, cpx2real, gamma, abssolute, cast_mode) + if (not color_space) then color_space = im.ColorModeToBitmap(src_image:ColorSpace()) end + local dst_image = im.ImageCreateBased(src_image, nil, nil, color_space) + if (has_alpha) then dst_image:AddAlpha() end + return im.ConvertToBitmap(src_image, dst_image, cpx2real, gamma, abssolute, cast_mode), dst_image +end diff --git a/src/lua5/im_fftw.lua b/src/lua5/im_fftw.lua index e57c7bf..7bae53e 100644 --- a/src/lua5/im_fftw.lua +++ b/src/lua5/im_fftw.lua @@ -3,6 +3,7 @@ -- Creates a new function, with the name suffixed by "New". This new function -- creates a new image, based on a source image, and calls the previous function -- with this new image. +-- We assume here that the functions returns only one parameter or none. local function OneSourceOneDest (funcname, width, height, color_space, data_type) local func = im[funcname] @@ -14,8 +15,12 @@ local function OneSourceOneDest (funcname, width, height, color_space, data_type local dst_image = im.ImageCreateBased(src_image, width, height, color_space, data_type) -- call previous method, repassing all parameters - func(src_image, dst_image, unpack(arg)) - return dst_image + local ret = func(src_image, dst_image, unpack(arg)) + if (ret) then + return ret, dst_image + else + return dst_image + end end end @@ -25,7 +30,7 @@ end local function TwoSourcesOneDest (funcname, width, height, color_space, data_type) local func = im[funcname] - + -- see if function is really defined assert(func, string.format("undefined function `%s'", funcname)) @@ -35,8 +40,12 @@ local function TwoSourcesOneDest (funcname, width, height, color_space, data_typ local dst_image = im.ImageCreateBased(src_image1, width, height, color_space, data_type) -- call previous method, repassing all parameters - func(src_image1, src_image2, dst_image, unpack(arg)) - return dst_image + local ret = func(src_image1, src_image2, dst_image, unpack(arg)) + if (ret) then + return ret, dst_image + else + return dst_image + end end end diff --git a/src/lua5/im_image.lua b/src/lua5/im_image.lua new file mode 100644 index 0000000..03e80f6 --- /dev/null +++ b/src/lua5/im_image.lua @@ -0,0 +1,24 @@ +-- If all parameteres, besides the image, are nil, this is equivalent to image:Clone. +-- If any parameter is not nil, then the value is used instead of the one from the source image. +-- If a parameter is a function, then the function is called, passing the source +-- image as parameter, to obtain the substituion value. + +function im.ImageCreateBased(image, width, height, color_space, data_type) + -- default values are those of the source image + width = width or image:Width() + height = height or image:Height() + color_space = color_space or image:ColorSpace() + data_type = data_type or image:DataType() + + -- callback to calculate parameters based on source image + if type(width) == "function" then width = width(image) end + if type(height) == "function" then height = height(image) end + if type(color_space) == "function" then color_space = color_space(image) end + if type(data_type) == "function" then data_type = data_type(image) end + + -- create a new image + new_image = im.ImageCreate(width, height, color_space, data_type) + image:CopyAttributes(new_image) + if (image:HasAlpha()) then new_image:AddAlpha() end + return new_image +end diff --git a/src/lua5/imlua_convert.c b/src/lua5/imlua_convert.c index 96b8429..c2c56d9 100644 --- a/src/lua5/imlua_convert.c +++ b/src/lua5/imlua_convert.c @@ -2,7 +2,7 @@ * \brief IM Lua 5 Binding * * See Copyright Notice in im_lib.h - * $Id: imlua_convert.c,v 1.2 2009/08/04 21:35:26 scuri Exp $ + * $Id: imlua_convert.c,v 1.3 2009/08/18 02:23:33 scuri Exp $ */ #include "im.h" @@ -76,4 +76,21 @@ void imlua_open_convert (lua_State *L) { /* "im" table is at the top of the stack */ luaL_register(L, NULL, imconvert_lib); +#ifdef TEC_BIGENDIAN +#ifdef TEC_64 +#include "loh/im_convert_be64.loh" +#else +#include "loh/im_convert_be32.loh" +#endif +#else +#ifdef TEC_64 +#ifdef WIN64 +#include "loh/im_convert_le64w.loh" +#else +#include "loh/im_convert_le64.loh" +#endif +#else +#include "loh/im_convert.loh" +#endif +#endif } diff --git a/src/lua5/imlua_image.c b/src/lua5/imlua_image.c index dc3322a..d823ac1 100644 --- a/src/lua5/imlua_image.c +++ b/src/lua5/imlua_image.c @@ -2,7 +2,7 @@ * \brief IM Lua 5 Binding * * See Copyright Notice in im_lib.h - * $Id: imlua_image.c,v 1.2 2009/08/12 04:09:17 scuri Exp $ + * $Id: imlua_image.c,v 1.3 2009/08/18 02:23:33 scuri Exp $ */ #include <string.h> @@ -1055,40 +1055,26 @@ static void createmeta (lua_State *L) lua_pop(L, 1); /* removes the metatable from the top of the stack */ } -/* If all parameteres, besides the image, are nil, this is equivalent to image:Clone. - If any parameter is not nil, then the value is used instead of the one from the source image. - If a parameter is a function, then the function is called, passing the source - image as parameter, to obtain the substituion value. */ -static void reg_image(lua_State *L) -{ - const char* data = { -"function im.ImageCreateBased(image, width, height, color_space, data_type) \n" -" -- default values are those of the source image \n" -" width = width or image:Width() \n" -" height = height or image:Height() \n" -" color_space = color_space or image:ColorSpace() \n" -" data_type = data_type or image:DataType() \n" -" \n" -" -- callback to calculate parameters based on source image \n" -" if type(width) == \"function\" then width = width(image) end \n" -" if type(height) == \"function\" then height = height(image) end \n" -" if type(color_space) == \"function\" then color_space = color_space(image) end \n" -" if type(data_type) == \"function\" then data_type = data_type(image) end \n" -" \n" -" -- create a new image \n" -" new_image = im.ImageCreate(width, height, color_space, data_type) \n" -" image:CopyAttributes(new_image) \n" -" return new_image \n" -"end \n" - }; - - if (luaL_loadbuffer(L, data, strlen(data), "reg_image")==0) lua_pcall(L, 0, 0, 0); -} - void imlua_open_image (lua_State *L) { /* "im" table is at the top of the stack */ createmeta(L); luaL_register(L, NULL, imimage_lib); - reg_image(L); +#ifdef TEC_BIGENDIAN +#ifdef TEC_64 +#include "loh/im_image_be64.loh" +#else +#include "loh/im_image_be32.loh" +#endif +#else +#ifdef TEC_64 +#ifdef WIN64 +#include "loh/im_image_le64w.loh" +#else +#include "loh/im_image_le64.loh" +#endif +#else +#include "loh/im_image.loh" +#endif +#endif } diff --git a/src/lua5/loh/im_fftw.loh b/src/lua5/loh/im_fftw.loh index 4f45bcc..9e7c78a 100644 --- a/src/lua5/loh/im_fftw.loh +++ b/src/lua5/loh/im_fftw.loh @@ -17,86 +17,93 @@ static const unsigned char B1[]={ 111,110, 0, 4, 3, 0, 0, 0,105,109, 0, 4, 7, 0, 0, 0, 67, 70, 76, 79, 65, 84, 0, 4, 11, 0, 0, 0, 80,114,111, 99,101,115,115, 70, 70, 84, 0, 4, 12, 0, 0, 0, 80,114,111, 99,101,115,115, 73, 70, 70, 84, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 0, 0, 20, 0, 0, 0, 0, 5, 0, 9, 17, 0, 0, 0, + 0, 0, 0, 0, 8, 0, 0, 0, 25, 0, 0, 0, 0, 5, 0, 9, 17, 0, 0, 0, 69, 1, 0, 0, 70, 1,128, 2,133, 65, 0, 0,192, 1,128, 2,156, 65, 0, 1, 133, 1, 0, 0,192, 1, 0, 0, 1,130, 0, 0,213, 1,130, 3, 36, 2, 0, 0, 0, 0,128, 0, 0, 0, 0, 1, 0, 0,128, 1, 0, 0, 0, 2, 0, 0,128, 2, 137, 1,130, 3, 30, 0,128, 0, 3, 0, 0, 0, 4, 3, 0, 0, 0,105,109, 0, 4, 7, 0, 0, 0, 97,115,115,101,114,116, 0, 4, 4, 0, 0, 0, 78,101,119, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 19, 0, 0, 0, 5, 1, 7, - 8, 17, 0, 0, 0,133, 0, 0, 0,134, 64, 64, 1,192, 0, 0, 0, 4, 1, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 24, 0, 0, 0, 5, 1, 7, + 8, 23, 0, 0, 0,133, 0, 0, 0,134, 64, 64, 1,192, 0, 0, 0, 4, 1, 0, 0, 68, 1,128, 0,132, 1, 0, 1,196, 1,128, 1,156,128, 0, 3,196, 0, 0, 2, 0, 1, 0, 0, 64, 1, 0, 1,133,129, 0, 0,192, 1,128, 0,156, 1, 0, - 1,220, 64, 0, 0,158, 0, 0, 1, 30, 0,128, 0, 3, 0, 0, 0, 4, 3, 0, - 0, 0,105,109, 0, 4, 17, 0, 0, 0, 73,109, 97,103,101, 67,114,101, 97,116, -101, 66, 97,115,101,100, 0, 4, 7, 0, 0, 0,117,110,112, 97, 99,107, 0, 0, - 0, 0, 0, 17, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 14, - 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 17, - 0, 0, 0, 17, 0, 0, 0, 17, 0, 0, 0, 17, 0, 0, 0, 17, 0, 0, 0, 17, - 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 3, 0, 0, 0, 10, - 0, 0, 0,115,114, 99, 95,105,109, 97,103,101, 0, 0, 0, 0, 0, 16, 0, 0, - 0, 4, 0, 0, 0, 97,114,103, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10, 0, 0, - 0,100,115,116, 95,105,109, 97,103,101, 0, 8, 0, 0, 0, 16, 0, 0, 0, 5, - 0, 0, 0, 6, 0, 0, 0,119,105,100,116,104, 0, 7, 0, 0, 0,104,101,105, -103,104,116, 0, 12, 0, 0, 0, 99,111,108,111,114, 95,115,112, 97, 99,101, 0, - 10, 0, 0, 0,100, 97,116, 97, 95,116,121,112,101, 0, 5, 0, 0, 0,102,117, -110, 99, 0, 17, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 9, - 0, 0, 0, 9, 0, 0, 0, 12, 0, 0, 0, 12, 0, 0, 0, 12, 0, 0, 0, 12, - 0, 0, 0, 19, 0, 0, 0, 19, 0, 0, 0, 19, 0, 0, 0, 19, 0, 0, 0, 19, - 0, 0, 0, 19, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 6, 0, 0, 0, 9, - 0, 0, 0,102,117,110, 99,110, 97,109,101, 0, 0, 0, 0, 0, 16, 0, 0, 0, - 6, 0, 0, 0,119,105,100,116,104, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, - 0, 0,104,101,105,103,104,116, 0, 0, 0, 0, 0, 16, 0, 0, 0, 12, 0, 0, - 0, 99,111,108,111,114, 95,115,112, 97, 99,101, 0, 0, 0, 0, 0, 16, 0, 0, - 0, 10, 0, 0, 0,100, 97,116, 97, 95,116,121,112,101, 0, 0, 0, 0, 0, 16, - 0, 0, 0, 5, 0, 0, 0,102,117,110, 99, 0, 2, 0, 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 41, 0, 0, 0, 0, 5, 0, 11, - 22, 0, 0, 0, 69, 1, 0, 0, 70, 1,128, 2,133, 65, 0, 0,192, 1,128, 2, - 5,130, 0, 0, 6,194, 64, 4, 65, 2, 1, 0,128, 2, 0, 0, 28, 2,128, 1, -156, 65, 0, 0,133, 1, 0, 0,192, 1, 0, 0, 1, 66, 1, 0,213, 1,130, 3, - 36, 2, 0, 0, 0, 0,128, 0, 0, 0, 0, 1, 0, 0,128, 1, 0, 0, 0, 2, - 0, 0,128, 2,137, 1,130, 3, 30, 0,128, 0, 6, 0, 0, 0, 4, 3, 0, 0, - 0,105,109, 0, 4, 7, 0, 0, 0, 97,115,115,101,114,116, 0, 4, 7, 0, 0, - 0,115,116,114,105,110,103, 0, 4, 7, 0, 0, 0,102,111,114,109, 97,116, 0, - 4, 24, 0, 0, 0,117,110,100,101,102,105,110,101,100, 32,102,117,110, 99,116, -105,111,110, 32, 96, 37,115, 39, 0, 4, 4, 0, 0, 0, 78,101,119, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 40, 0, 0, 0, 5, 2, 7, 10, 18, 0, - 0, 0,197, 0, 0, 0,198, 64,192, 1, 0, 1, 0, 0, 68, 1, 0, 0,132, 1, -128, 0,196, 1, 0, 1, 4, 2,128, 1,220,128, 0, 3, 4, 1, 0, 2, 64, 1, - 0, 0,128, 1,128, 0,192, 1,128, 1, 5,130, 0, 0, 64, 2, 0, 1, 28, 2, - 0, 1, 28, 65, 0, 0,222, 0, 0, 1, 30, 0,128, 0, 3, 0, 0, 0, 4, 3, - 0, 0, 0,105,109, 0, 4, 17, 0, 0, 0, 73,109, 97,103,101, 67,114,101, 97, -116,101, 66, 97,115,101,100, 0, 4, 7, 0, 0, 0,117,110,112, 97, 99,107, 0, - 0, 0, 0, 0, 18, 0, 0, 0, 35, 0, 0, 0, 35, 0, 0, 0, 35, 0, 0, 0, - 35, 0, 0, 0, 35, 0, 0, 0, 35, 0, 0, 0, 35, 0, 0, 0, 35, 0, 0, 0, - 38, 0, 0, 0, 38, 0, 0, 0, 38, 0, 0, 0, 38, 0, 0, 0, 38, 0, 0, 0, - 38, 0, 0, 0, 38, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 40, 0, 0, 0, - 4, 0, 0, 0, 11, 0, 0, 0,115,114, 99, 95,105,109, 97,103,101, 49, 0, 0, - 0, 0, 0, 17, 0, 0, 0, 11, 0, 0, 0,115,114, 99, 95,105,109, 97,103,101, - 50, 0, 0, 0, 0, 0, 17, 0, 0, 0, 4, 0, 0, 0, 97,114,103, 0, 0, 0, - 0, 0, 17, 0, 0, 0, 10, 0, 0, 0,100,115,116, 95,105,109, 97,103,101, 0, - 8, 0, 0, 0, 17, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0,119,105,100,116, -104, 0, 7, 0, 0, 0,104,101,105,103,104,116, 0, 12, 0, 0, 0, 99,111,108, -111,114, 95,115,112, 97, 99,101, 0, 10, 0, 0, 0,100, 97,116, 97, 95,116,121, -112,101, 0, 5, 0, 0, 0,102,117,110, 99, 0, 22, 0, 0, 0, 27, 0, 0, 0, - 27, 0, 0, 0, 30, 0, 0, 0, 30, 0, 0, 0, 30, 0, 0, 0, 30, 0, 0, 0, - 30, 0, 0, 0, 30, 0, 0, 0, 30, 0, 0, 0, 30, 0, 0, 0, 33, 0, 0, 0, - 33, 0, 0, 0, 33, 0, 0, 0, 33, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, + 1,220,128, 0, 0,218, 0, 0, 0, 22,192, 0,128, 0, 1,128, 1, 64, 1, 0, + 1, 30, 1,128, 1, 22, 0, 0,128,158, 0, 0, 1, 30, 0,128, 0, 3, 0, 0, + 0, 4, 3, 0, 0, 0,105,109, 0, 4, 17, 0, 0, 0, 73,109, 97,103,101, 67, +114,101, 97,116,101, 66, 97,115,101,100, 0, 4, 7, 0, 0, 0,117,110,112, 97, + 99,107, 0, 0, 0, 0, 0, 23, 0, 0, 0, 15, 0, 0, 0, 15, 0, 0, 0, 15, + 0, 0, 0, 15, 0, 0, 0, 15, 0, 0, 0, 15, 0, 0, 0, 15, 0, 0, 0, 15, + 0, 0, 0, 18, 0, 0, 0, 18, 0, 0, 0, 18, 0, 0, 0, 18, 0, 0, 0, 18, + 0, 0, 0, 18, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 19, 0, 0, 0, 20, + 0, 0, 0, 20, 0, 0, 0, 20, 0, 0, 0, 20, 0, 0, 0, 22, 0, 0, 0, 24, + 0, 0, 0, 4, 0, 0, 0, 10, 0, 0, 0,115,114, 99, 95,105,109, 97,103,101, + 0, 0, 0, 0, 0, 22, 0, 0, 0, 4, 0, 0, 0, 97,114,103, 0, 0, 0, 0, + 0, 22, 0, 0, 0, 10, 0, 0, 0,100,115,116, 95,105,109, 97,103,101, 0, 8, + 0, 0, 0, 22, 0, 0, 0, 4, 0, 0, 0,114,101,116, 0, 15, 0, 0, 0, 22, + 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0,119,105,100,116,104, 0, 7, 0, 0, + 0,104,101,105,103,104,116, 0, 12, 0, 0, 0, 99,111,108,111,114, 95,115,112, + 97, 99,101, 0, 10, 0, 0, 0,100, 97,116, 97, 95,116,121,112,101, 0, 5, 0, + 0, 0,102,117,110, 99, 0, 17, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 10, + 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 13, 0, 0, 0, 13, 0, 0, 0, 13, + 0, 0, 0, 13, 0, 0, 0, 24, 0, 0, 0, 24, 0, 0, 0, 24, 0, 0, 0, 24, + 0, 0, 0, 24, 0, 0, 0, 24, 0, 0, 0, 24, 0, 0, 0, 25, 0, 0, 0, 6, + 0, 0, 0, 9, 0, 0, 0,102,117,110, 99,110, 97,109,101, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 6, 0, 0, 0,119,105,100,116,104, 0, 0, 0, 0, 0, 16, 0, + 0, 0, 7, 0, 0, 0,104,101,105,103,104,116, 0, 0, 0, 0, 0, 16, 0, 0, + 0, 12, 0, 0, 0, 99,111,108,111,114, 95,115,112, 97, 99,101, 0, 0, 0, 0, + 0, 16, 0, 0, 0, 10, 0, 0, 0,100, 97,116, 97, 95,116,121,112,101, 0, 0, + 0, 0, 0, 16, 0, 0, 0, 5, 0, 0, 0,102,117,110, 99, 0, 2, 0, 0, 0, + 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 50, 0, 0, 0, + 0, 5, 0, 11, 22, 0, 0, 0, 69, 1, 0, 0, 70, 1,128, 2,133, 65, 0, 0, +192, 1,128, 2, 5,130, 0, 0, 6,194, 64, 4, 65, 2, 1, 0,128, 2, 0, 0, + 28, 2,128, 1,156, 65, 0, 0,133, 1, 0, 0,192, 1, 0, 0, 1, 66, 1, 0, +213, 1,130, 3, 36, 2, 0, 0, 0, 0,128, 0, 0, 0, 0, 1, 0, 0,128, 1, + 0, 0, 0, 2, 0, 0,128, 2,137, 1,130, 3, 30, 0,128, 0, 6, 0, 0, 0, + 4, 3, 0, 0, 0,105,109, 0, 4, 7, 0, 0, 0, 97,115,115,101,114,116, 0, + 4, 7, 0, 0, 0,115,116,114,105,110,103, 0, 4, 7, 0, 0, 0,102,111,114, +109, 97,116, 0, 4, 24, 0, 0, 0,117,110,100,101,102,105,110,101,100, 32,102, +117,110, 99,116,105,111,110, 32, 96, 37,115, 39, 0, 4, 4, 0, 0, 0, 78,101, +119, 0, 1, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 49, 0, 0, 0, 5, 2, + 7, 10, 24, 0, 0, 0,197, 0, 0, 0,198, 64,192, 1, 0, 1, 0, 0, 68, 1, + 0, 0,132, 1,128, 0,196, 1, 0, 1, 4, 2,128, 1,220,128, 0, 3, 4, 1, + 0, 2, 64, 1, 0, 0,128, 1,128, 0,192, 1,128, 1, 5,130, 0, 0, 64, 2, + 0, 1, 28, 2, 0, 1, 28,129, 0, 0, 26, 1, 0, 0, 22,192, 0,128, 64, 1, + 0, 2,128, 1,128, 1, 94, 1,128, 1, 22, 0, 0,128,222, 0, 0, 1, 30, 0, +128, 0, 3, 0, 0, 0, 4, 3, 0, 0, 0,105,109, 0, 4, 17, 0, 0, 0, 73, +109, 97,103,101, 67,114,101, 97,116,101, 66, 97,115,101,100, 0, 4, 7, 0, 0, + 0,117,110,112, 97, 99,107, 0, 0, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, - 41, 0, 0, 0, 6, 0, 0, 0, 9, 0, 0, 0,102,117,110, 99,110, 97,109,101, - 0, 0, 0, 0, 0, 21, 0, 0, 0, 6, 0, 0, 0,119,105,100,116,104, 0, 0, - 0, 0, 0, 21, 0, 0, 0, 7, 0, 0, 0,104,101,105,103,104,116, 0, 0, 0, - 0, 0, 21, 0, 0, 0, 12, 0, 0, 0, 99,111,108,111,114, 95,115,112, 97, 99, -101, 0, 0, 0, 0, 0, 21, 0, 0, 0, 10, 0, 0, 0,100, 97,116, 97, 95,116, -121,112,101, 0, 0, 0, 0, 0, 21, 0, 0, 0, 5, 0, 0, 0,102,117,110, 99, - 0, 2, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 20, 0, 0, - 0, 41, 0, 0, 0, 45, 0, 0, 0, 45, 0, 0, 0, 45, 0, 0, 0, 46, 0, 0, - 0, 46, 0, 0, 0, 46, 0, 0, 0, 46, 0, 0, 0, 46, 0, 0, 0, 46, 0, 0, - 0, 47, 0, 0, 0, 47, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0, 48, 0, 0, - 0, 48, 0, 0, 0, 48, 0, 0, 0, 2, 0, 0, 0, 17, 0, 0, 0, 79,110,101, - 83,111,117,114, 99,101, 79,110,101, 68,101,115,116, 0, 1, 0, 0, 0, 17, 0, - 0, 0, 18, 0, 0, 0, 84,119,111, 83,111,117,114, 99,101,115, 79,110,101, 68, -101,115,116, 0, 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, + 40, 0, 0, 0, 40, 0, 0, 0, 43, 0, 0, 0, 43, 0, 0, 0, 43, 0, 0, 0, + 43, 0, 0, 0, 43, 0, 0, 0, 43, 0, 0, 0, 43, 0, 0, 0, 43, 0, 0, 0, + 44, 0, 0, 0, 44, 0, 0, 0, 45, 0, 0, 0, 45, 0, 0, 0, 45, 0, 0, 0, + 45, 0, 0, 0, 47, 0, 0, 0, 49, 0, 0, 0, 5, 0, 0, 0, 11, 0, 0, 0, +115,114, 99, 95,105,109, 97,103,101, 49, 0, 0, 0, 0, 0, 23, 0, 0, 0, 11, + 0, 0, 0,115,114, 99, 95,105,109, 97,103,101, 50, 0, 0, 0, 0, 0, 23, 0, + 0, 0, 4, 0, 0, 0, 97,114,103, 0, 0, 0, 0, 0, 23, 0, 0, 0, 10, 0, + 0, 0,100,115,116, 95,105,109, 97,103,101, 0, 8, 0, 0, 0, 23, 0, 0, 0, + 4, 0, 0, 0,114,101,116, 0, 16, 0, 0, 0, 23, 0, 0, 0, 5, 0, 0, 0, + 6, 0, 0, 0,119,105,100,116,104, 0, 7, 0, 0, 0,104,101,105,103,104,116, + 0, 12, 0, 0, 0, 99,111,108,111,114, 95,115,112, 97, 99,101, 0, 10, 0, 0, + 0,100, 97,116, 97, 95,116,121,112,101, 0, 5, 0, 0, 0,102,117,110, 99, 0, + 22, 0, 0, 0, 32, 0, 0, 0, 32, 0, 0, 0, 35, 0, 0, 0, 35, 0, 0, 0, + 35, 0, 0, 0, 35, 0, 0, 0, 35, 0, 0, 0, 35, 0, 0, 0, 35, 0, 0, 0, + 35, 0, 0, 0, 38, 0, 0, 0, 38, 0, 0, 0, 38, 0, 0, 0, 38, 0, 0, 0, + 49, 0, 0, 0, 49, 0, 0, 0, 49, 0, 0, 0, 49, 0, 0, 0, 49, 0, 0, 0, + 49, 0, 0, 0, 49, 0, 0, 0, 50, 0, 0, 0, 6, 0, 0, 0, 9, 0, 0, 0, +102,117,110, 99,110, 97,109,101, 0, 0, 0, 0, 0, 21, 0, 0, 0, 6, 0, 0, + 0,119,105,100,116,104, 0, 0, 0, 0, 0, 21, 0, 0, 0, 7, 0, 0, 0,104, +101,105,103,104,116, 0, 0, 0, 0, 0, 21, 0, 0, 0, 12, 0, 0, 0, 99,111, +108,111,114, 95,115,112, 97, 99,101, 0, 0, 0, 0, 0, 21, 0, 0, 0, 10, 0, + 0, 0,100, 97,116, 97, 95,116,121,112,101, 0, 0, 0, 0, 0, 21, 0, 0, 0, + 5, 0, 0, 0,102,117,110, 99, 0, 2, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, + 0, 18, 0, 0, 0, 25, 0, 0, 0, 50, 0, 0, 0, 54, 0, 0, 0, 54, 0, 0, + 0, 54, 0, 0, 0, 55, 0, 0, 0, 55, 0, 0, 0, 55, 0, 0, 0, 55, 0, 0, + 0, 55, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0, 56, 0, 0, 0, 56, 0, 0, + 0, 57, 0, 0, 0, 57, 0, 0, 0, 57, 0, 0, 0, 57, 0, 0, 0, 2, 0, 0, + 0, 17, 0, 0, 0, 79,110,101, 83,111,117,114, 99,101, 79,110,101, 68,101,115, +116, 0, 1, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 84,119,111, 83,111,117, +114, 99,101,115, 79,110,101, 68,101,115,116, 0, 2, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0, }; if (luaL_loadbuffer(L,(const char*)B1,sizeof(B1),"../obj/imlua_fftw51/im_fftw.lo")==0) lua_call(L, 0, 0); |