Mercurial > mplayer.hg
view libass/ass_cache_template.h @ 32714:5248e989612a
Remove libswscale subdirectory.
libswscale has been moved to FFmpeg since some time and only kept in the
MPlayer repository for historical reasons and difficulty in moving code
complete with history between Subversion repositories.
FFmpeg now contains libswscale directly without indirection through an
svn:externals property, so no reason to keep libswscale in MPlayer remains.
author | diego |
---|---|
date | Thu, 20 Jan 2011 09:41:43 +0000 |
parents | 48d020c5ceca |
children | 6e7f60f6f9d4 |
line wrap: on
line source
#ifdef CREATE_STRUCT_DEFINITIONS #undef CREATE_STRUCT_DEFINITIONS #define START(funcname, structname) \ typedef struct structname { #define GENERIC(type, member) \ type member; #define FTVECTOR(member) \ FT_Vector member; #define BITMAPHASHKEY(member) \ BitmapHashKey member; #define END(typedefnamename) \ } typedefnamename; #elif defined(CREATE_COMPARISON_FUNCTIONS) #undef CREATE_COMPARISON_FUNCTIONS #define START(funcname, structname) \ static int funcname##_compare(void *key1, void *key2, size_t key_size) \ { \ struct structname *a = key1; \ struct structname *b = key2; \ return // conditions follow #define GENERIC(type, member) \ a->member == b->member && #define FTVECTOR(member) \ a->member.x == b->member.x && a->member.y == b->member.y && #define BITMAPHASHKEY(member) \ bitmap_compare(&a->member, &b->member, sizeof(a->member)) && #define END(typedefname) \ 1; \ } #elif defined(CREATE_HASH_FUNCTIONS) #undef CREATE_HASH_FUNCTIONS #define START(funcname, structname) \ static unsigned funcname##_hash(void *buf, size_t len) \ { \ struct structname *p = buf; \ unsigned hval = FNV1_32A_INIT; #define GENERIC(type, member) \ hval = fnv_32a_buf(&p->member, sizeof(p->member), hval); #define FTVECTOR(member) GENERIC(, member.x); GENERIC(, member.y); #define BITMAPHASHKEY(member) { \ unsigned temp = bitmap_hash(&p->member, sizeof(p->member)); \ hval = fnv_32a_buf(&temp, sizeof(temp), hval); \ } #define END(typedefname) \ return hval; \ } #else #error missing defines #endif // describes a bitmap; bitmaps with equivalents structs are considered identical START(bitmap, bitmap_hash_key) GENERIC(char, bitmap) // bool : true = bitmap, false = outline GENERIC(ASS_Font *, font) GENERIC(double, size) // font size GENERIC(uint32_t, ch) // character code FTVECTOR(outline) // border width, 16.16 fixed point value GENERIC(int, bold) GENERIC(int, italic) GENERIC(char, be) // blur edges GENERIC(double, blur) // gaussian blur GENERIC(unsigned, scale_x) // 16.16 GENERIC(unsigned, scale_y) // 16.16 GENERIC(int, frx) // signed 16.16 GENERIC(int, fry) // signed 16.16 GENERIC(int, frz) // signed 16.16 GENERIC(int, fax) // signed 16.16 GENERIC(int, fay) // signed 16.16 // shift vector that was added to glyph before applying rotation // = 0, if frx = fry = frx = 0 // = (glyph base point) - (rotation origin), otherwise GENERIC(int, shift_x) GENERIC(int, shift_y) FTVECTOR(advance) // subpixel shift vector FTVECTOR(shadow_offset) // shadow subpixel shift GENERIC(unsigned, drawing_hash) // hashcode of a drawing GENERIC(unsigned, flags) // glyph decoration GENERIC(unsigned, border_style) END(BitmapHashKey) // describes an outline glyph START(glyph, glyph_hash_key) GENERIC(ASS_Font *, font) GENERIC(double, size) // font size GENERIC(uint32_t, ch) // character code GENERIC(int, bold) GENERIC(int, italic) GENERIC(unsigned, scale_x) // 16.16 GENERIC(unsigned, scale_y) // 16.16 FTVECTOR(outline) // border width, 16.16 GENERIC(unsigned, drawing_hash) // hashcode of a drawing GENERIC(unsigned, flags) // glyph decoration flags GENERIC(unsigned, border_style) END(GlyphHashKey) // Cache for composited bitmaps START(composite, composite_hash_key) GENERIC(int, aw) GENERIC(int, ah) GENERIC(int, bw) GENERIC(int, bh) GENERIC(int, ax) GENERIC(int, ay) GENERIC(int, bx) GENERIC(int, by) GENERIC(int, as) GENERIC(int, bs) GENERIC(unsigned char *, a) GENERIC(unsigned char *, b) END(CompositeHashKey) #undef START #undef GENERIC #undef FTVECTOR #undef BITMAPHASHKEY #undef END