Go to the documentation of this file.
29 #ifndef _XINE_MANGLE_H
30 #define _XINE_MANGLE_H
32 #if defined(PIC) && ! defined(__PIC__)
37 #if defined(__MINGW32__) || defined(__CYGWIN__) || defined(__DJGPP__) || \
38 defined(__OS2__) || (defined (__OpenBSD__) && !defined(__ELF__))
39 # if defined(__MINGW64__)
40 # define EXTERN_PREFIX ""
42 # define EXTERN_PREFIX "_"
44 # if defined(__x86_64__) && defined(__PIC__)
45 # define MANGLE(a) EXTERN_PREFIX #a"(%%rip)"
47 # define MANGLE(a) EXTERN_PREFIX #a
50 # if defined(__x86_64__) && defined(__PIC__)
51 # define MANGLE(a) #a"(%%rip)"
52 # elif defined(__APPLE__)
53 # define MANGLE(a) "_" #a
void xine_array_add(xine_array_t *array, void *value)
Definition: array.c:85
#define C_YUV420_YUYV_INTERLACED(p_y1, p_y2, p_u, p_ut, p_ub, p_v, p_vt, p_vb, p_line1, p_line2)
Definition: color.c:664
dnode_t *volatile tail
Definition: xineutils.h:82
size_t xine_array_size(const xine_array_t *array)
Definition: array.c:77
#define punpcklbw_r2r(regs, regd)
Definition: mmx.h:695
int pfmt
Definition: color.c:1758
Definition: xineutils.h:64
void * xine_mallocz_aligned(size_t size)
Definition: utils.c:856
#define XINE_MALLOC
Definition: attributes.h:139
unsigned int row_count
Definition: xineutils.h:397
xine_list_t * xine_list_new(void)
Definition: list.c:72
static void yuv9_to_yv12_c(const uint8_t *restrict y_src, int y_src_pitch, uint8_t *restrict y_dest, int y_dest_pitch, const uint8_t *restrict u_src, int u_src_pitch, uint8_t *restrict u_dest, int u_dest_pitch, const uint8_t *restrict v_src, int v_src_pitch, uint8_t *restrict v_dest, int v_dest_pitch, int width, int height)
Definition: color.c:568
#define DLIST_ADD_TAIL(n, l)
Definition: xineutils.h:106
#define pmaddwd_r2r(regs, regd)
Definition: mmx.h:529
#define GET_Y(v)
Definition: color.c:2058
int v_b_table[256]
Definition: color.c:86
int u_b_table[256]
Definition: color.c:89
@ rgb_rgba_clut
Definition: color.c:1764
int cm
Definition: color.c:1758
static void xine_array_ensure_chunk_size(xine_array_t *array, size_t size)
Definition: array.c:39
#define MIN_CHUNK_SIZE
Definition: array.c:30
void xine_list_push_back(xine_list_t *list, void *value)
Definition: list.c:162
void xine_list_delete(xine_list_t *list)
Definition: list.c:108
void *(* xine_fast_memcpy)(void *to, const void *from, size_t len)
Definition: memcpy.c:60
void xine_array_remove(xine_array_t *array, unsigned int position)
Definition: array.c:104
xine_list_iterator_t xine_list_find(xine_list_t *list, void *value)
Definition: list.c:275
_xine_list_chunk_t * next
Definition: list.c:44
void(* yuv444_to_yuy2)(const yuv_planes_t *yuv_planes, unsigned char *yuy2_map, int pitch)
Definition: color.c:92
#define MM_ACCEL_X86_MMX
Definition: xineutils.h:164
void * xine_array_get(const xine_array_t *array, unsigned int position)
Definition: array.c:115
void * value
Definition: list.c:40
static xine_list_elem_t * _xine_list_elem_new(xine_list_t *list)
Definition: list.c:115
#define SCALEFACTOR
Definition: xineutils.h:433
void xine_list_clear(xine_list_t *list)
Definition: list.c:103
uint32_t size
Definition: list.c:55
void * xine_list_next_value(xine_list_t *list, xine_list_iterator_t *ite)
Definition: list.c:197
#define paddd_r2r(regs, regd)
Definition: mmx.h:439
void rgb2yuy2_slice(rgb2yuy2_t *rgb2yuy2, const uint8_t *restrict in, int ipitch, uint8_t *restrict out, int opitch, int width, int height)
Definition: color.c:2063
uint64_t t1[256]
Definition: color.c:1754
_xine_list_chunk_t * chunks
Definition: list.c:54
static _xine_list_chunk_t * _xine_list_chunk_new(xine_list_t *list, uint32_t size)
Definition: list.c:59
static void upsample_c_plane_c(const uint8_t *src, int src_width, int src_height, uint8_t *dest, unsigned int src_pitch, unsigned int dest_pitch)
Definition: color.c:522
@ rgb_pal2
Definition: color.c:1765
void free_yuv_planes(yuv_planes_t *yuv_planes)
Definition: color.c:140
#define ALIGN4(ptr)
Definition: color.c:72
int y_r_table[256]
Definition: color.c:78
void rgb2yuy2_palette(rgb2yuy2_t *rgb2yuy2, const uint8_t *pal, int num_colors, int bits_per_pixel)
Definition: color.c:1947
@ rgb_rgba
Definition: color.c:1762
void yv12_to_yv12(const unsigned char *y_src, int y_src_pitch, unsigned char *y_dst, int y_dst_pitch, const unsigned char *u_src, int u_src_pitch, unsigned char *u_dst, int u_dst_pitch, const unsigned char *v_src, int v_src_pitch, unsigned char *v_dst, int v_dst_pitch, int width, int height)
Definition: copy.c:48
#define MIN_CHUNK_SIZE
Definition: list.c:30
#define sfence()
Definition: mmx.h:263
static void _xine_list_reset(xine_list_t *list)
Definition: list.c:88
uint64_t t2[256]
Definition: color.c:1754
#define psrlq_i2r(imm, reg)
Definition: mmx.h:633
void xine_array_set(xine_array_t *array, unsigned int position, void *value)
Definition: array.c:122
uint32_t first_unused
Definition: list.c:47
int u_r_table[256]
Definition: color.c:84
unsigned int xine_list_size(xine_list_t *list)
Definition: list.c:146
void xine_array_delete(xine_array_t *array)
Definition: array.c:72
void(* yuy2_to_yv12)(const unsigned char *yuy2_map, int yuy2_pitch, unsigned char *y_dst, int y_dst_pitch, unsigned char *u_dst, int u_dst_pitch, unsigned char *v_dst, int v_dst_pitch, int width, int height)
Definition: color.c:110
xine_array_t * xine_array_new(size_t initial_size)
Definition: array.c:50
uint32_t max_elems
Definition: list.c:46
static void yuv411_to_yv12_c(const uint8_t *restrict y_src, int y_src_pitch, uint8_t *restrict y_dest, int y_dest_pitch, const uint8_t *restrict u_src, int u_src_pitch, uint8_t *restrict u_dest, int u_dest_pitch, const uint8_t *restrict v_src, int v_src_pitch, uint8_t *restrict v_dest, int v_dest_pitch, int width, int height)
Definition: color.c:597
@ rgb_rgb565le
Definition: color.c:1763
unsigned char * u
Definition: xineutils.h:394
#define pxor_r2r(regs, regd)
Definition: mmx.h:577
#define movq_m2r(var, reg)
Definition: mmx.h:411
void * xine_list_prev_value(xine_list_t *list, xine_list_iterator_t *ite)
Definition: list.c:222
NULL
Definition: xine_plugin.c:78
int u_g_table[256]
Definition: color.c:85
char **__environ __attribute__((weak, alias("fake__environ")))
uint32_t xine_mm_accel(void)
Definition: cpu_accel.c:390
static void _x_freep(void *ptr)
Definition: xineutils.h:263
rgb_fmt_t
Definition: color.c:1761
void(* yv12_to_yuy2)(const unsigned char *y_src, int y_src_pitch, const unsigned char *u_src, int u_src_pitch, const unsigned char *v_src, int v_src_pitch, unsigned char *yuy2_map, int yuy2_pitch, int width, int height, int progressive)
Definition: color.c:104
int fmt
Definition: color.c:1758
unsigned int width
Definition: gfontrle.c:4
void _x_nv12_to_yv12(const uint8_t *restrict y_src, int y_src_pitch, const uint8_t *restrict uv_src, int uv_src_pitch, uint8_t *restrict y_dst, int y_dst_pitch, uint8_t *restrict u_dst, int u_dst_pitch, uint8_t *restrict v_dst, int v_dst_pitch, int width, int height)
Definition: copy.c:66
int uv_br_table[256]
Definition: color.c:82
xine_list_elem_t elems[1]
Definition: list.c:48
static void hscale_chroma_line(uint8_t *restrict dst, const uint8_t *restrict src, int src_width)
Definition: color.c:434
unsigned int xine_list_empty(xine_list_t *list)
Definition: list.c:150
#define C_YUYV_YUV420()
Definition: color.c:1528
#define CENTERSAMPLE
Definition: w32codec.c:234
static int filter(const char *in, const char *filter, char **out)
Definition: sdpplin.c:45
xine_list_iterator_t xine_list_prev(xine_list_t *list, xine_list_iterator_t ite)
Definition: list.c:215
xine_list_iterator_t xine_list_next(xine_list_t *list, xine_list_iterator_t ite)
Definition: list.c:190
@ rgb_bgr
Definition: color.c:1762
dlist_t used
Definition: list.c:52
int y_g_table[256]
Definition: color.c:79
#define DLIST_ADD_HEAD(n, l)
Definition: xineutils.h:96
size_t chunk_size
Definition: array.c:35
void(* yuv411_to_yv12)(const unsigned char *y_src, int y_src_pitch, unsigned char *y_dest, int y_dest_pitch, const unsigned char *u_src, int u_src_pitch, unsigned char *u_dest, int u_dest_pitch, const unsigned char *v_src, int v_src_pitch, unsigned char *v_dest, int v_dest_pitch, int width, int height)
Definition: color.c:99
Definition: xineutils.h:79
#define GET_U(v)
Definition: color.c:2059
void yuy2_to_yuy2(const unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch, int width, int height)
Definition: copy.c:59
void * xine_list_get_value(xine_list_t *list, xine_list_iterator_t ite)
Definition: list.c:240
static void yuy2_to_yv12_c(const uint8_t *restrict yuy2_map, int yuy2_pitch, uint8_t *restrict y_dst, int y_dst_pitch, uint8_t *restrict u_dst, int u_dst_pitch, uint8_t *restrict v_dst, int v_dst_pitch, int width, int height)
Definition: color.c:1535
#define emms()
Definition: mmx.h:732
@ rgb_bgra_clut
Definition: color.c:1764
uint64_t t0[256]
Definition: color.c:1754
@ rgb_pal1
Definition: color.c:1765
@ rgb_pal8
Definition: color.c:1765
xine_list_iterator_t xine_list_back(xine_list_t *list)
Definition: list.c:158
int v_g_table[256]
Definition: color.c:87
#define DLIST_INSERT(n, h)
Definition: xineutils.h:116
#define movq_r2m(reg, var)
Definition: mmx.h:412
xine_list_iterator_t xine_list_front(xine_list_t *list)
Definition: list.c:154
static void _copy_plane(uint8_t *restrict dst, const uint8_t *restrict src, int dst_pitch, int src_pitch, int width, int height)
Definition: copy.c:30
#define xine_freep_aligned(xinefreepptr)
Definition: xineutils.h:294
void init_yuv_planes(yuv_planes_t *yuv_planes, int width, int height)
Definition: color.c:122
#define DLIST_IS_EMPTY(l)
Definition: xineutils.h:86
unsigned int height
Definition: gfontrle.c:5
#define MM_ACCEL_X86_SSE2
Definition: xineutils.h:168
struct dnode_st * prev
Definition: xineutils.h:65
size_t size
Definition: array.c:36
enable disable number of frames of telecine pattern sync required before mode change make frames evenly spaced for film mode(24 fps)" ) PARAM_ITEM( POST_PARAM_TYPE_BOOL
@ rgb_rgb565be
Definition: color.c:1763
void init_yuv_conversion(void)
Definition: color.c:1686
@ rgb_bgra
Definition: color.c:1762
#define DLIST_REMOVE(n)
Definition: xineutils.h:88
rgb2yuy2_t * rgb2yuy2_alloc(int color_matrix, const char *format)
Definition: color.c:1768
@ rgb_rgb
Definition: color.c:1762
dlist_t free
Definition: list.c:53
Definition: xineutils.h:391
dnode_t *volatile head
Definition: xineutils.h:80
struct dnode_st * next
Definition: xineutils.h:65
static void yuv444_to_yuy2_c(const yuv_planes_t *yuv_planes, unsigned char *yuy2_map, int pitch)
Definition: color.c:163
unsigned char * y
Definition: xineutils.h:393
#define MAX_CHUNK_SIZE
Definition: list.c:31
@ rgb_pal4
Definition: color.c:1765
#define GET_V(v)
Definition: color.c:2060
#define movq_r2r(regs, regd)
Definition: mmx.h:413
static void yv12_to_yuy2_c(const uint8_t *restrict y_src, int y_src_pitch, const uint8_t *restrict u_src, int u_src_pitch, const uint8_t *restrict v_src, int v_src_pitch, uint8_t *restrict yuy2_map, int yuy2_pitch, int width, int height, int progressive)
Definition: color.c:677
@ rgb_rgb555le
Definition: color.c:1763
void xine_list_push_front(xine_list_t *list, void *value)
Definition: list.c:176
#define DLIST_INIT(l)
Definition: xineutils.h:126
#define punpckhbw_r2r(regs, regd)
Definition: mmx.h:712
static void vscale_chroma_line(uint8_t *restrict dst, int pitch, const uint8_t *restrict src1, const uint8_t *restrict src2, int width)
Definition: color.c:467
void xine_list_remove(xine_list_t *list, xine_list_iterator_t position)
Definition: list.c:246
dnode_t node
Definition: list.c:38
void xine_array_insert(xine_array_t *array, unsigned int position, void *value)
Definition: array.c:91
#define psrlq_m2r(var, reg)
Definition: mmx.h:634
unsigned char * v
Definition: xineutils.h:395
int y_b_table[256]
Definition: color.c:80
@ rgb_rgb555be
Definition: color.c:1763
void rgb2yv12_slice(rgb2yuy2_t *rgb2yuy2, const uint8_t *src, int src_stride, uint8_t *y_dst, int y_pitch, uint8_t *u_dst, int u_pitch, uint8_t *v_dst, int v_pitch, int width, int height)
Definition: color.c:2231
xine_list_iterator_t xine_list_insert(xine_list_t *list, xine_list_iterator_t position, void *value)
Definition: list.c:256
void(* yuv9_to_yv12)(const unsigned char *y_src, int y_src_pitch, unsigned char *y_dest, int y_dest_pitch, const unsigned char *u_src, int u_src_pitch, unsigned char *u_dest, int u_dest_pitch, const unsigned char *v_src, int v_src_pitch, unsigned char *v_dest, int v_dest_pitch, int width, int height)
Definition: color.c:94
uint32_t p[272]
Definition: color.c:1757
unsigned int row_width
Definition: xineutils.h:396
void xine_free_aligned(void *ptr)
Definition: utils.c:882
void rgb2yuy2_free(rgb2yuy2_t *rgb2yuy2)
Definition: color.c:1943
@ rgb_argb
Definition: color.c:1762
#define MM_ACCEL_X86_MMXEXT
Definition: xineutils.h:166
void ** chunk
Definition: array.c:34
int v_r_table[256]
Definition: color.c:90
void * xine_malloc_aligned(size_t size)
Definition: utils.c:869
#define C_YUV420_YUYV_PROGRESSIVE(p_y1, p_y2, p_u, p_ut, p_ub, p_v, p_vt, p_vb, p_line1, p_line2)
Definition: color.c:656
_xine_list_chunk_t first_chunk
Definition: list.c:56
void xine_array_clear(xine_array_t *array)
Definition: array.c:81