FreeBSD Bugzilla – Attachment 163051 Details for
Bug 204497
[NEW PORT] graphics/aseprite: Animated sprite editor & pixel art tool
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
shar archive
aseprite.shar (text/plain), 17.89 KB, created by
Yuri Victorovich
on 2015-11-12 12:18:08 UTC
(
hide
)
Description:
shar archive
Filename:
MIME Type:
Creator:
Yuri Victorovich
Created:
2015-11-12 12:18:08 UTC
Size:
17.89 KB
patch
obsolete
># This is a shell archive. Save it in a file, remove anything before ># this line, and then unpack it by entering "sh file". Note, it may ># create directories; files and directories will be owned by you and ># have default permissions. ># ># This archive contains: ># ># graphics/aseprite ># graphics/aseprite/Makefile ># graphics/aseprite/distinfo ># graphics/aseprite/pkg-descr ># graphics/aseprite/pkg-plist ># graphics/aseprite/files ># graphics/aseprite/files/patch-src_app_resource__finder.cpp ># graphics/aseprite/files/patch-src_base_file__handle.cpp ># graphics/aseprite/files/patch-src_app_util_freetype__utils.cpp ># graphics/aseprite/files/patch-third__party_pixman_pixman_pixman-combine32.h ># >echo c - graphics/aseprite >mkdir -p graphics/aseprite > /dev/null 2>&1 >echo x - graphics/aseprite/Makefile >sed 's/^X//' >graphics/aseprite/Makefile << '4d72af54ffa0eb1af2418f582c15f129' >X# Created by: Yuri Victorovich <yuri@rawbw.com> >X# $FreeBSD$ >X >XPORTNAME= aseprite >XPORTVERSION= 1.1.1 >XDISTVERSIONPREFIX= v >XCATEGORIES= graphics >X >XMAINTAINER= yuri@rawbw.com >XCOMMENT= Animated sprite editor & pixel art tool >X >XLICENSE= GPLv2 >XLICENSE_FILE= ${WRKSRC}/LICENSE.txt >X >XLIB_DEPENDS= libfreetype.so:${PORTSDIR}/print/freetype2 \ >X liballeg.so:${PORTSDIR}/devel/allegro \ >X libpng.so:${PORTSDIR}/graphics/png \ >X libgif.so:${PORTSDIR}/graphics/giflib \ >X libcurl.so:${PORTSDIR}/ftp/curl \ >X libtinyxml.so:${PORTSDIR}/textproc/tinyxml >X >XOPTIONS_DEFINE= WEBP >XOPTIONS_DEFAULT= WEBP >X >XWEBP_LIB_DEPENDS= libwebp.so:${PORTSDIR}/graphics/webp >X >XUSE_GITHUB= yes >XGH_ACCOUNT= aseprite aseprite:flic aseprite:gtest aseprite:simpleini aseprite:duk >XGH_PROJECT= aseprite flic:flic gtest:gtest simpleini:simpleini duktape:duk >XGH_TAGNAME= b659747 da184cb:flic d63c625:gtest d4a436a:simpleini 90090c7:duk >X >XUSES= cmake:outsource compiler:c++11-lib jpeg pkgconfig >XUSE_XORG= x11 xcursor xext xpm ice pixman sm xxf86dga xxf86vm >X >X.include <bsd.port.options.mk> >X >XCMAKE_ARGS+= -DUSE_SHARED_ALLEGRO4=1 >XCMAKE_ARGS+= -DUSE_SHARED_GIFLIB=1 >XCMAKE_ARGS+= -DUSE_SHARED_ZLIB=1 >XCMAKE_ARGS+= -DUSE_SHARED_JPEGLIB=1 >XCMAKE_ARGS+= -DUSE_SHARED_LIBPNG=1 >X.if ${PORT_OPTIONS:MWEBP} >XCMAKE_ARGS+= -DWITH_WEBP_SUPPORT=1 >XCMAKE_ARGS+= -DUSE_SHARED_LIBWEBP=1 >X.endif >XCMAKE_ARGS+= -DUSE_SHARED_FREETYPE=1 >XCMAKE_ARGS+= -DUSE_SHARED_PIXMAN=1 >XCMAKE_ARGS+= -DUSE_SHARED_CURL=1 >XCMAKE_ARGS+= -DUSE_SHARED_TINYXML=1 >XCMAKE_ARGS+= -DFREETYPE_INCLUDE_DIR=${LOCALBASE}/include/freetype2 >XCXXFLAGS+= -I${LOCALBASE}/include >X >Xpost-extract: >X @${RMDIR} ${WRKSRC}/src/flic ${WRKSRC}/third_party/gtest ${WRKSRC}/third_party/simpleini ${WRKSRC}/third_party/duktape >X @${MV} ${WRKDIR}/flic-* ${WRKSRC}/src/flic >X @${MV} ${WRKDIR}/gtest-* ${WRKSRC}/third_party/gtest >X @${MV} ${WRKDIR}/simpleini-* ${WRKSRC}/third_party/simpleini >X @${MV} ${WRKDIR}/duktape-* ${WRKSRC}/third_party/duktape >X @${MKDIR} ${WRKSRC}/third_party/pixman/pixman >X >Xpost-configure: >X @${REINPLACE_CMD} -e 's|-lXxf86dga |-L${LOCALBASE}/lib -lXxf86dga |g' \ >X `find ${WRKDIR} -name link.txt` >X @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ >X ${WRKSRC}/src/app/resource_finder.cpp >X >X.include <bsd.port.mk> >4d72af54ffa0eb1af2418f582c15f129 >echo x - graphics/aseprite/distinfo >sed 's/^X//' >graphics/aseprite/distinfo << '6665c5a11a4ca0d6bbe98dedf07e15f6' >XSHA256 (aseprite-aseprite-v1.1.1-b659747_GH0.tar.gz) = 45b08dcf5fd02a8759c1cfbf5cd7b2c80b988993bd2d7a1f24b8e3601a60245c >XSIZE (aseprite-aseprite-v1.1.1-b659747_GH0.tar.gz) = 2979354 >XSHA256 (aseprite-flic-da184cb_GH0.tar.gz) = 118f422957ea59121a14f0474471cfb09fcf62fe9834b9b683671e53fb675075 >XSIZE (aseprite-flic-da184cb_GH0.tar.gz) = 6552 >XSHA256 (aseprite-gtest-d63c625_GH0.tar.gz) = 9f8be975b8672f7e2e14053744bc9433aa8d0f613378ca1a9ab99ac87ba11a39 >XSIZE (aseprite-gtest-d63c625_GH0.tar.gz) = 989187 >XSHA256 (aseprite-simpleini-d4a436a_GH0.tar.gz) = d78bdc44396b81501c5ad1b59d06db9055b037db53ef2a30dd583194ed3133fa >XSIZE (aseprite-simpleini-d4a436a_GH0.tar.gz) = 54668 >XSHA256 (aseprite-duktape-90090c7_GH0.tar.gz) = a188d14e622a10429588376da8d77c3a79dd268a241e15a1bc6f2a3e04d126ce >XSIZE (aseprite-duktape-90090c7_GH0.tar.gz) = 608122 >6665c5a11a4ca0d6bbe98dedf07e15f6 >echo x - graphics/aseprite/pkg-descr >sed 's/^X//' >graphics/aseprite/pkg-descr << '17ed3bd669accc34c9385da4d2ac3a91' >XAseprite is an open source program to create animated sprites. >X* Its main features are: >X* Sprites are composed by layers & frames (as separated concepts). >X* Supported color modes: RGBA, Indexed (palettes up to 256 colors), >X and Grayscale. >X* Load/save sequence of PNG files and GIF animations >X (and FLC, FLI, JPG, BMP, PCX, TGA). >X* Export/import animations to/from Sprite Sheets. >X* Tiled drawing mode, useful to draw patterns and textures. >X* Undo/Redo for every operation. >X* Real-time animation preview. >X* Multiple editors support. >X* Pixel-art specific tools like filled Contour, Polygon, Shading mode, etc. >X* Onion skinning >X >XWWW: http://www.aseprite.org/ >17ed3bd669accc34c9385da4d2ac3a91 >echo x - graphics/aseprite/pkg-plist >sed 's/^X//' >graphics/aseprite/pkg-plist << '0a8cfdc3fb41220deba9f64008447ac3' >Xbin/aseprite >X%%DATADIR%%/data/convmatr.def >X%%DATADIR%%/data/fonts/allegro.pcx >X%%DATADIR%%/data/fonts/anipro_fixed.pcx >X%%DATADIR%%/data/fonts/anipro_variable.pcx >X%%DATADIR%%/data/fonts/ase1.pcx >X%%DATADIR%%/data/fonts/ase2.pcx >X%%DATADIR%%/data/gui.xml >X%%DATADIR%%/data/icons/ase.ico >X%%DATADIR%%/data/icons/ase16.png >X%%DATADIR%%/data/icons/ase32.png >X%%DATADIR%%/data/icons/ase48.png >X%%DATADIR%%/data/icons/ase64.png >X%%DATADIR%%/data/icons/doc.ico >X%%DATADIR%%/data/icons/doc16.png >X%%DATADIR%%/data/icons/doc32.png >X%%DATADIR%%/data/icons/doc48.png >X%%DATADIR%%/data/icons/doc64.png >X%%DATADIR%%/data/palettes/apple-ii.gpl >X%%DATADIR%%/data/palettes/arne16.gpl >X%%DATADIR%%/data/palettes/arne32.gpl >X%%DATADIR%%/data/palettes/atari2600-ntsc.gpl >X%%DATADIR%%/data/palettes/atari2600-pal.gpl >X%%DATADIR%%/data/palettes/cga.gpl >X%%DATADIR%%/data/palettes/commodore-plus4.gpl >X%%DATADIR%%/data/palettes/commodore-vic20.gpl >X%%DATADIR%%/data/palettes/commodore64.gpl >X%%DATADIR%%/data/palettes/db16.gpl >X%%DATADIR%%/data/palettes/db32.gpl >X%%DATADIR%%/data/palettes/gameboy.gpl >X%%DATADIR%%/data/palettes/google-ui.gpl >X%%DATADIR%%/data/palettes/master-system.gpl >X%%DATADIR%%/data/palettes/nes-ntsc.gpl >X%%DATADIR%%/data/palettes/nes.gpl >X%%DATADIR%%/data/palettes/solarized.gpl >X%%DATADIR%%/data/palettes/teletext.gpl >X%%DATADIR%%/data/palettes/win16.gpl >X%%DATADIR%%/data/palettes/zx-spectrum.gpl >X%%DATADIR%%/data/pref.xml >X%%DATADIR%%/data/scripts/white_to_alpha.js >X%%DATADIR%%/data/skins/default/font.png >X%%DATADIR%%/data/skins/default/minifont.png >X%%DATADIR%%/data/skins/default/palette.png >X%%DATADIR%%/data/skins/default/sheet.png >X%%DATADIR%%/data/skins/default/skin.xml >X%%DATADIR%%/data/widgets/advanced_mode.xml >X%%DATADIR%%/data/widgets/canvas_size.xml >X%%DATADIR%%/data/widgets/cel_properties.xml >X%%DATADIR%%/data/widgets/color_curve_point.xml >X%%DATADIR%%/data/widgets/convolution_matrix.xml >X%%DATADIR%%/data/widgets/despeckle.xml >X%%DATADIR%%/data/widgets/duplicate_sprite.xml >X%%DATADIR%%/data/widgets/export_sprite_sheet.xml >X%%DATADIR%%/data/widgets/file_selector.xml >X%%DATADIR%%/data/widgets/font_popup.xml >X%%DATADIR%%/data/widgets/frame_properties.xml >X%%DATADIR%%/data/widgets/frame_tag_properties.xml >X%%DATADIR%%/data/widgets/gif_options.xml >X%%DATADIR%%/data/widgets/goto_frame.xml >X%%DATADIR%%/data/widgets/grid_settings.xml >X%%DATADIR%%/data/widgets/home_view.xml >X%%DATADIR%%/data/widgets/import_sprite_sheet.xml >X%%DATADIR%%/data/widgets/jpeg_options.xml >X%%DATADIR%%/data/widgets/keyboard_shortcuts.xml >X%%DATADIR%%/data/widgets/layer_properties.xml >X%%DATADIR%%/data/widgets/main_window.xml >X%%DATADIR%%/data/widgets/new_folder_window.xml >X%%DATADIR%%/data/widgets/new_layer.xml >X%%DATADIR%%/data/widgets/new_sprite.xml >X%%DATADIR%%/data/widgets/options.xml >X%%DATADIR%%/data/widgets/palette_from_sprite.xml >X%%DATADIR%%/data/widgets/palette_popup.xml >X%%DATADIR%%/data/widgets/palette_size.xml >X%%DATADIR%%/data/widgets/paste_text.xml >X%%DATADIR%%/data/widgets/replace_color.xml >X%%DATADIR%%/data/widgets/select_accelerator.xml >X%%DATADIR%%/data/widgets/send_crash.xml >X%%DATADIR%%/data/widgets/sprite_properties.xml >X%%DATADIR%%/data/widgets/sprite_size.xml >X%%DATADIR%%/data/widgets/timeline_conf.xml >X%%DATADIR%%/data/widgets/undo_history.xml >X%%DATADIR%%/data/widgets/webp_options.xml >X%%DATADIR%%/data/%%WWWDIR%%.css >X%%DATADIR%%/data/%%WWWDIR%%.js >X%%DATADIR%%/data/%%WWWDIR%%.png >X%%DATADIR%%/data/www/index.html >0a8cfdc3fb41220deba9f64008447ac3 >echo c - graphics/aseprite/files >mkdir -p graphics/aseprite/files > /dev/null 2>&1 >echo x - graphics/aseprite/files/patch-src_app_resource__finder.cpp >sed 's/^X//' >graphics/aseprite/files/patch-src_app_resource__finder.cpp << '9aa7549eed45d9fa343cc411207dd1d1' >X--- src/app/resource_finder.cpp.orig 2015-11-06 13:40:13 UTC >X+++ src/app/resource_finder.cpp >X@@ -105,7 +105,7 @@ void ResourceFinder::includeDataDir(cons >X includeBinDir(buf); >X #else >X // $BINDIR/../share/aseprite/data/filename (installed in /usr/ or /usr/local/) >X- sprintf(buf, "../share/aseprite/data/%s", filename); >X+ sprintf(buf, "/usr/local/share/aseprite/data/%s", filename); >X includeBinDir(buf); >X #endif >X >9aa7549eed45d9fa343cc411207dd1d1 >echo x - graphics/aseprite/files/patch-src_base_file__handle.cpp >sed 's/^X//' >graphics/aseprite/files/patch-src_base_file__handle.cpp << '8d50d281ba906412e15b0f12bfa45b40' >X--- src/base/file_handle.cpp.orig 2015-11-06 13:40:13 UTC >X+++ src/base/file_handle.cpp >X@@ -26,6 +26,8 @@ >X #define O_TEXT 0 >X #endif >X >X+#include <sys/stat.h> >X+ >X using namespace std; >X >X namespace base { >8d50d281ba906412e15b0f12bfa45b40 >echo x - graphics/aseprite/files/patch-src_app_util_freetype__utils.cpp >sed 's/^X//' >graphics/aseprite/files/patch-src_app_util_freetype__utils.cpp << '6ac1322df23ec3140099ba670f7c9880' >X--- src/app/util/freetype_utils.cpp.orig 2015-11-06 13:40:13 UTC >X+++ src/app/util/freetype_utils.cpp >X@@ -21,7 +21,7 @@ >X >X #include <stdexcept> >X >X-#include "freetype/ftglyph.h" >X+#include <ftglyph.h> >X #include "ft2build.h" >X #include FT_FREETYPE_H >X >6ac1322df23ec3140099ba670f7c9880 >echo x - graphics/aseprite/files/patch-third__party_pixman_pixman_pixman-combine32.h >sed 's/^X//' >graphics/aseprite/files/patch-third__party_pixman_pixman_pixman-combine32.h << '05734fe5e9415401a4071f6c9f30b73b' >X--- third_party/pixman/pixman/pixman-combine32.h.orig 2015-11-12 11:22:08 UTC >X+++ third_party/pixman/pixman/pixman-combine32.h >X@@ -0,0 +1,272 @@ >X+#define COMPONENT_SIZE 8 >X+#define MASK 0xff >X+#define ONE_HALF 0x80 >X+ >X+#define A_SHIFT 8 * 3 >X+#define R_SHIFT 8 * 2 >X+#define G_SHIFT 8 >X+#define A_MASK 0xff000000 >X+#define R_MASK 0xff0000 >X+#define G_MASK 0xff00 >X+ >X+#define RB_MASK 0xff00ff >X+#define AG_MASK 0xff00ff00 >X+#define RB_ONE_HALF 0x800080 >X+#define RB_MASK_PLUS_ONE 0x10000100 >X+ >X+#define ALPHA_8(x) ((x) >> A_SHIFT) >X+#define RED_8(x) (((x) >> R_SHIFT) & MASK) >X+#define GREEN_8(x) (((x) >> G_SHIFT) & MASK) >X+#define BLUE_8(x) ((x) & MASK) >X+ >X+/* >X+ * ARMv6 has UQADD8 instruction, which implements unsigned saturated >X+ * addition for 8-bit values packed in 32-bit registers. It is very useful >X+ * for UN8x4_ADD_UN8x4, UN8_rb_ADD_UN8_rb and ADD_UN8 macros (which would >X+ * otherwise need a lot of arithmetic operations to simulate this operation). >X+ * Since most of the major ARM linux distros are built for ARMv7, we are >X+ * much less dependent on runtime CPU detection and can get practical >X+ * benefits from conditional compilation here for a lot of users. >X+ */ >X+ >X+#if defined(USE_GCC_INLINE_ASM) && defined(__arm__) && \ >X+ !defined(__aarch64__) && (!defined(__thumb__) || defined(__thumb2__)) >X+#if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || \ >X+ defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || \ >X+ defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) || \ >X+ defined(__ARM_ARCH_6M__) || defined(__ARM_ARCH_7__) || \ >X+ defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || \ >X+ defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) >X+ >X+static force_inline uint32_t >X+un8x4_add_un8x4 (uint32_t x, uint32_t y) >X+{ >X+ uint32_t t; >X+ asm ("uqadd8 %0, %1, %2" : "=r" (t) : "%r" (x), "r" (y)); >X+ return t; >X+} >X+ >X+#define UN8x4_ADD_UN8x4(x, y) \ >X+ ((x) = un8x4_add_un8x4 ((x), (y))) >X+ >X+#define UN8_rb_ADD_UN8_rb(x, y, t) \ >X+ ((t) = un8x4_add_un8x4 ((x), (y)), (x) = (t)) >X+ >X+#define ADD_UN8(x, y, t) \ >X+ ((t) = (x), un8x4_add_un8x4 ((t), (y))) >X+ >X+#endif >X+#endif >X+ >X+/*****************************************************************************/ >X+ >X+/* >X+ * Helper macros. >X+ */ >X+ >X+#define MUL_UN8(a, b, t) \ >X+ ((t) = (a) * (uint16_t)(b) + ONE_HALF, ((((t) >> G_SHIFT ) + (t) ) >> G_SHIFT )) >X+ >X+#define DIV_UN8(a, b) \ >X+ (((uint16_t) (a) * MASK + ((b) / 2)) / (b)) >X+ >X+#ifndef ADD_UN8 >X+#define ADD_UN8(x, y, t) \ >X+ ((t) = (x) + (y), \ >X+ (uint32_t) (uint8_t) ((t) | (0 - ((t) >> G_SHIFT)))) >X+#endif >X+ >X+#define DIV_ONE_UN8(x) \ >X+ (((x) + ONE_HALF + (((x) + ONE_HALF) >> G_SHIFT)) >> G_SHIFT) >X+ >X+/* >X+ * The methods below use some tricks to be able to do two color >X+ * components at the same time. >X+ */ >X+ >X+/* >X+ * x_rb = (x_rb * a) / 255 >X+ */ >X+#define UN8_rb_MUL_UN8(x, a, t) \ >X+ do \ >X+ { \ >X+ t = ((x) & RB_MASK) * (a); \ >X+ t += RB_ONE_HALF; \ >X+ x = (t + ((t >> G_SHIFT) & RB_MASK)) >> G_SHIFT; \ >X+ x &= RB_MASK; \ >X+ } while (0) >X+ >X+/* >X+ * x_rb = min (x_rb + y_rb, 255) >X+ */ >X+#ifndef UN8_rb_ADD_UN8_rb >X+#define UN8_rb_ADD_UN8_rb(x, y, t) \ >X+ do \ >X+ { \ >X+ t = ((x) + (y)); \ >X+ t |= RB_MASK_PLUS_ONE - ((t >> G_SHIFT) & RB_MASK); \ >X+ x = (t & RB_MASK); \ >X+ } while (0) >X+#endif >X+ >X+/* >X+ * x_rb = (x_rb * a_rb) / 255 >X+ */ >X+#define UN8_rb_MUL_UN8_rb(x, a, t) \ >X+ do \ >X+ { \ >X+ t = (x & MASK) * (a & MASK); \ >X+ t |= (x & R_MASK) * ((a >> R_SHIFT) & MASK); \ >X+ t += RB_ONE_HALF; \ >X+ t = (t + ((t >> G_SHIFT) & RB_MASK)) >> G_SHIFT; \ >X+ x = t & RB_MASK; \ >X+ } while (0) >X+ >X+/* >X+ * x_c = (x_c * a) / 255 >X+ */ >X+#define UN8x4_MUL_UN8(x, a) \ >X+ do \ >X+ { \ >X+ uint32_t r1__, r2__, t__; \ >X+ \ >X+ r1__ = (x); \ >X+ UN8_rb_MUL_UN8 (r1__, (a), t__); \ >X+ \ >X+ r2__ = (x) >> G_SHIFT; \ >X+ UN8_rb_MUL_UN8 (r2__, (a), t__); \ >X+ \ >X+ (x) = r1__ | (r2__ << G_SHIFT); \ >X+ } while (0) >X+ >X+/* >X+ * x_c = (x_c * a) / 255 + y_c >X+ */ >X+#define UN8x4_MUL_UN8_ADD_UN8x4(x, a, y) \ >X+ do \ >X+ { \ >X+ uint32_t r1__, r2__, r3__, t__; \ >X+ \ >X+ r1__ = (x); \ >X+ r2__ = (y) & RB_MASK; \ >X+ UN8_rb_MUL_UN8 (r1__, (a), t__); \ >X+ UN8_rb_ADD_UN8_rb (r1__, r2__, t__); \ >X+ \ >X+ r2__ = (x) >> G_SHIFT; \ >X+ r3__ = ((y) >> G_SHIFT) & RB_MASK; \ >X+ UN8_rb_MUL_UN8 (r2__, (a), t__); \ >X+ UN8_rb_ADD_UN8_rb (r2__, r3__, t__); \ >X+ \ >X+ (x) = r1__ | (r2__ << G_SHIFT); \ >X+ } while (0) >X+ >X+/* >X+ * x_c = (x_c * a + y_c * b) / 255 >X+ */ >X+#define UN8x4_MUL_UN8_ADD_UN8x4_MUL_UN8(x, a, y, b) \ >X+ do \ >X+ { \ >X+ uint32_t r1__, r2__, r3__, t__; \ >X+ \ >X+ r1__ = (x); \ >X+ r2__ = (y); \ >X+ UN8_rb_MUL_UN8 (r1__, (a), t__); \ >X+ UN8_rb_MUL_UN8 (r2__, (b), t__); \ >X+ UN8_rb_ADD_UN8_rb (r1__, r2__, t__); \ >X+ \ >X+ r2__ = ((x) >> G_SHIFT); \ >X+ r3__ = ((y) >> G_SHIFT); \ >X+ UN8_rb_MUL_UN8 (r2__, (a), t__); \ >X+ UN8_rb_MUL_UN8 (r3__, (b), t__); \ >X+ UN8_rb_ADD_UN8_rb (r2__, r3__, t__); \ >X+ \ >X+ (x) = r1__ | (r2__ << G_SHIFT); \ >X+ } while (0) >X+ >X+/* >X+ * x_c = (x_c * a_c) / 255 >X+ */ >X+#define UN8x4_MUL_UN8x4(x, a) \ >X+ do \ >X+ { \ >X+ uint32_t r1__, r2__, r3__, t__; \ >X+ \ >X+ r1__ = (x); \ >X+ r2__ = (a); \ >X+ UN8_rb_MUL_UN8_rb (r1__, r2__, t__); \ >X+ \ >X+ r2__ = (x) >> G_SHIFT; \ >X+ r3__ = (a) >> G_SHIFT; \ >X+ UN8_rb_MUL_UN8_rb (r2__, r3__, t__); \ >X+ \ >X+ (x) = r1__ | (r2__ << G_SHIFT); \ >X+ } while (0) >X+ >X+/* >X+ * x_c = (x_c * a_c) / 255 + y_c >X+ */ >X+#define UN8x4_MUL_UN8x4_ADD_UN8x4(x, a, y) \ >X+ do \ >X+ { \ >X+ uint32_t r1__, r2__, r3__, t__; \ >X+ \ >X+ r1__ = (x); \ >X+ r2__ = (a); \ >X+ UN8_rb_MUL_UN8_rb (r1__, r2__, t__); \ >X+ r2__ = (y) & RB_MASK; \ >X+ UN8_rb_ADD_UN8_rb (r1__, r2__, t__); \ >X+ \ >X+ r2__ = ((x) >> G_SHIFT); \ >X+ r3__ = ((a) >> G_SHIFT); \ >X+ UN8_rb_MUL_UN8_rb (r2__, r3__, t__); \ >X+ r3__ = ((y) >> G_SHIFT) & RB_MASK; \ >X+ UN8_rb_ADD_UN8_rb (r2__, r3__, t__); \ >X+ \ >X+ (x) = r1__ | (r2__ << G_SHIFT); \ >X+ } while (0) >X+ >X+/* >X+ * x_c = (x_c * a_c + y_c * b) / 255 >X+ */ >X+#define UN8x4_MUL_UN8x4_ADD_UN8x4_MUL_UN8(x, a, y, b) \ >X+ do \ >X+ { \ >X+ uint32_t r1__, r2__, r3__, t__; \ >X+ \ >X+ r1__ = (x); \ >X+ r2__ = (a); \ >X+ UN8_rb_MUL_UN8_rb (r1__, r2__, t__); \ >X+ r2__ = (y); \ >X+ UN8_rb_MUL_UN8 (r2__, (b), t__); \ >X+ UN8_rb_ADD_UN8_rb (r1__, r2__, t__); \ >X+ \ >X+ r2__ = (x) >> G_SHIFT; \ >X+ r3__ = (a) >> G_SHIFT; \ >X+ UN8_rb_MUL_UN8_rb (r2__, r3__, t__); \ >X+ r3__ = (y) >> G_SHIFT; \ >X+ UN8_rb_MUL_UN8 (r3__, (b), t__); \ >X+ UN8_rb_ADD_UN8_rb (r2__, r3__, t__); \ >X+ \ >X+ x = r1__ | (r2__ << G_SHIFT); \ >X+ } while (0) >X+ >X+/* >X+ x_c = min(x_c + y_c, 255) >X+*/ >X+#ifndef UN8x4_ADD_UN8x4 >X+#define UN8x4_ADD_UN8x4(x, y) \ >X+ do \ >X+ { \ >X+ uint32_t r1__, r2__, r3__, t__; \ >X+ \ >X+ r1__ = (x) & RB_MASK; \ >X+ r2__ = (y) & RB_MASK; \ >X+ UN8_rb_ADD_UN8_rb (r1__, r2__, t__); \ >X+ \ >X+ r2__ = ((x) >> G_SHIFT) & RB_MASK; \ >X+ r3__ = ((y) >> G_SHIFT) & RB_MASK; \ >X+ UN8_rb_ADD_UN8_rb (r2__, r3__, t__); \ >X+ \ >X+ x = r1__ | (r2__ << G_SHIFT); \ >X+ } while (0) >X+#endif >05734fe5e9415401a4071f6c9f30b73b >exit >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 204497
:
163048
|
163049
|
163051
|
163068
|
163833
|
163856
|
166626
|
166634
|
168060
|
168083
|
170496