xine-lib  1.2.10
ffmpeg_bswap.h
Go to the documentation of this file.
1 /*
2  * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
3  *
4  * This file is part of FFmpeg.
5  *
6  * FFmpeg is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * FFmpeg is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with FFmpeg; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19  */
20 
26 #ifndef __FFMPEG_BSWAP_H__
27 #define __FFMPEG_BSWAP_H__
28 
29 #ifdef HAVE_BYTESWAP_H
30 #include <byteswap.h>
31 #else
32 
33 #if defined(ARCH_X86_X32) || defined(ARCH_X86_64)
34 # define LEGACY_REGS "=Q"
35 #else
36 # define LEGACY_REGS "=q"
37 #endif
38 
39 #if defined(ARCH_X86)
40 static always_inline uint16_t bswap_16(uint16_t x)
41 {
42  __asm("rorw $8, %0" :
43  LEGACY_REGS (x) :
44  "0" (x));
45  return x;
46 }
47 
48 static always_inline uint32_t bswap_32(uint32_t x)
49 {
50 #if __CPU__ != 386
51  __asm("bswap %0":
52  "=r" (x) :
53 #else
54  __asm("xchgb %b0,%h0\n"
55  " rorl $16,%0\n"
56  " xchgb %b0,%h0":
57  LEGACY_REGS (x) :
58 #endif
59  "0" (x));
60  return x;
61 }
62 
63 static inline uint64_t bswap_64(uint64_t x)
64 {
65 #if defined(ARCH_X86_X32) || defined(ARCH_X86_64)
66  __asm("bswap %0":
67  "=r" (x) :
68  "0" (x));
69  return x;
70 #else
71  union {
72  uint64_t ll;
73  struct {
74  uint32_t l,h;
75  } l;
76  } r;
77  r.l.l = bswap_32 (x);
78  r.l.h = bswap_32 (x>>32);
79  return r.ll;
80 #endif
81 }
82 
83 #elif defined(ARCH_SH4)
84 
85 static always_inline uint16_t bswap_16(uint16_t x) {
86  __asm__("swap.b %0,%0":"=r"(x):"0"(x));
87  return x;
88 }
89 
90 static always_inline uint32_t bswap_32(uint32_t x) {
91  __asm__(
92  "swap.b %0,%0\n"
93  "swap.w %0,%0\n"
94  "swap.b %0,%0\n"
95  :"=r"(x):"0"(x));
96  return x;
97 }
98 
99 static inline uint64_t bswap_64(uint64_t x)
100 {
101  union {
102  uint64_t ll;
103  struct {
104  uint32_t l,h;
105  } l;
106  } r;
107  r.l.l = bswap_32 (x);
108  r.l.h = bswap_32 (x>>32);
109  return r.ll;
110 }
111 #else
112 
113 static always_inline uint16_t bswap_16(uint16_t x){
114  return (x>>8) | (x<<8);
115 }
116 
117 #ifdef ARCH_ARM
118 static always_inline uint32_t bswap_32(uint32_t x){
119  uint32_t t;
120  __asm__ (
121  "eor %1, %0, %0, ror #16 \n\t"
122  "bic %1, %1, #0xFF0000 \n\t"
123  "mov %0, %0, ror #8 \n\t"
124  "eor %0, %0, %1, lsr #8 \n\t"
125  : "+r"(x), "+r"(t));
126  return x;
127 }
128 #else
129 static always_inline uint32_t bswap_32(uint32_t x){
130  x= ((x<<8)&0xFF00FF00) | ((x>>8)&0x00FF00FF);
131  return (x>>16) | (x<<16);
132 }
133 #endif
134 
135 static inline uint64_t bswap_64(uint64_t x)
136 {
137 #if 0
138  x= ((x<< 8)&0xFF00FF00FF00FF00ULL) | ((x>> 8)&0x00FF00FF00FF00FFULL);
139  x= ((x<<16)&0xFFFF0000FFFF0000ULL) | ((x>>16)&0x0000FFFF0000FFFFULL);
140  return (x>>32) | (x<<32);
141 #else
142  union {
143  uint64_t ll;
144  uint32_t l[2];
145  } w, r;
146  w.ll = x;
147  r.l[0] = bswap_32 (w.l[1]);
148  r.l[1] = bswap_32 (w.l[0]);
149  return r.ll;
150 #endif
151 }
152 #endif /* !ARCH_X86 */
153 
154 #endif /* !HAVE_BYTESWAP_H */
155 
156 // be2me ... BigEndian to MachineEndian
157 // le2me ... LittleEndian to MachineEndian
158 
159 #ifdef WORDS_BIGENDIAN
160 #define be2me_16(x) (x)
161 #define be2me_32(x) (x)
162 #define be2me_64(x) (x)
163 #define le2me_16(x) bswap_16(x)
164 #define le2me_32(x) bswap_32(x)
165 #define le2me_64(x) bswap_64(x)
166 #else
167 #define be2me_16(x) bswap_16(x)
168 #define be2me_32(x) bswap_32(x)
169 #define be2me_64(x) bswap_64(x)
170 #define le2me_16(x) (x)
171 #define le2me_32(x) (x)
172 #define le2me_64(x) (x)
173 #endif
174 
175 #endif /* __BSWAP_H__ */
xine_event_private_t
Definition: events.c:38
xine_s
Definition: xine_internal.h:80
config_get_serialized_entry
static char * config_get_serialized_entry(config_values_t *this, const char *key)
Definition: configfile.c:1804
config_update_num
static void config_update_num(config_values_t *this, const char *key, int value)
Definition: configfile.c:1223
xine_stream_private_st::first_frame_flag
uint32_t first_frame_flag
Definition: xine_private.h:511
buf_element_s::size
int32_t size
Definition: buffer.h:343
xine_stream_s::xine
xine_t * xine
Definition: xine_internal.h:126
xine_stream_private_st::finished_count_video
int finished_count_video
Definition: xine_private.h:519
xine_stream_private_st::finished_naturally
uint32_t finished_naturally
Definition: xine_private.h:445
audio_buffer_s::num_frames
int num_frames
Definition: audio_out.h:150
xine_stream_private_st::header_count_audio
int header_count_audio
Definition: xine_private.h:516
_cfg_any_rem
static int _cfg_any_rem(cfg_entry_t *entry, xine_config_cb_t callback, void *data, size_t data_size)
Definition: configfile.c:228
cfg_entry_s::callback
xine_config_cb_t callback
Definition: configfile.h:79
xine_stream_private_st::emergency_brake
uint32_t emergency_brake
Definition: xine_private.h:439
str_array_dup
static char ** str_array_dup(const char **from, uint32_t *n)
Definition: configfile.c:769
xine_stream_s
Definition: xine_internal.h:123
xine_event_queue_s::new_event
pthread_cond_t new_event
Definition: xine_internal.h:110
xine_stream_private_st::start_buffers_sent
uint32_t start_buffers_sent
Definition: xine_private.h:521
_x_config_unregister_cb_class_p
void _x_config_unregister_cb_class_p(config_values_t *this, xine_config_cb_t callback)
Definition: configfile.c:1758
xine_stream_private_st::id_flag
uint32_t id_flag
Definition: xine_private.h:491
xine_ticket_s::acquire
void(* acquire)(xine_ticket_t *self, int irrevocable)
Definition: tickets.h:66
config_values_s::lookup_entry
cfg_entry_t *(* lookup_entry)(config_values_t *self, const char *key)
lookup config entries
Definition: configfile.h:182
BUF_FLAG_FRAME_END
#define BUF_FLAG_FRAME_END
Definition: buffer.h:371
xine_event_queue_private_s::e
xine_event_private_t e
Definition: events.c:51
xine_mrl_reference_data_ext_t
Definition: xine.h:2064
put_string
static void put_string(uint8_t **dest, const char *value, uint32_t value_len)
Definition: configfile.c:1798
xine_list_new
xine_list_t * xine_list_new(void)
Definition: list.c:72
xineutils.h
fifo_buffer_s::buffer_pool_size_alloc
buf_element_t *(* buffer_pool_size_alloc)(fifo_buffer_t *self, size_t size)
Definition: buffer.h:658
config_insert
static cfg_entry_t * config_insert(config_values_t *this, const char *key, int exp_level)
Definition: configfile.c:580
DEMUX_OPTIONAL_DATA_STOP
#define DEMUX_OPTIONAL_DATA_STOP
Definition: demux.h:241
MAX_REUSE_DATA
#define MAX_REUSE_DATA
Definition: events.c:34
_cfg_cb_clear_report
static int _cfg_cb_clear_report(xine_t *xine, cfg_entry_t *entry)
Definition: configfile.c:97
xine_stream_private_st::gapless_switch
uint32_t gapless_switch
Definition: xine_private.h:443
_x_demux_send_data
void _x_demux_send_data(fifo_buffer_t *fifo, uint8_t *data, int size, int64_t pts, uint32_t type, uint32_t decoder_flags, int input_normpos, int input_time, int total_time, uint32_t frame_number)
Definition: demux.c:807
XINE_STATUS_QUIT
#define XINE_STATUS_QUIT
Definition: xine.h:951
key
char key[16]
Definition: xine_speex_decoder.c:94
xine_mrl_reference_data_t
Definition: xine.h:2059
BUF_FLAG_FRAME_START
#define BUF_FLAG_FRAME_START
Definition: buffer.h:370
config_register_enum
static int config_register_enum(config_values_t *this, const char *key, int def_value, char **values, const char *description, const char *help, int exp_level, xine_config_cb_t changed_cb, void *cb_data)
Definition: configfile.c:1140
_x_read_abort
off_t _x_read_abort(xine_stream_t *stream, int fd, char *buf, off_t todo)
Definition: demux.c:706
xine_cfg_entry_s::str_value
char * str_value
Definition: xine.h:1646
XINE_EVENT_MRL_REFERENCE
#define XINE_EVENT_MRL_REFERENCE
Definition: xine.h:1822
get_string
#define get_string(s)
xine_event_queue_private_s::revents
struct xine_event_queue_private_s::@64 revents[8]
xine_list_push_back
void xine_list_push_back(xine_list_t *list, void *value)
Definition: list.c:162
MAX_REUSE_EVENTS
#define MAX_REUSE_EVENTS
Definition: events.c:33
xine_list_delete
void xine_list_delete(xine_list_t *list)
Definition: list.c:108
xine_fast_memcpy
void *(* xine_fast_memcpy)(void *to, const void *from, size_t len)
Definition: memcpy.c:60
xine_event_t
Definition: xine.h:1923
_x_handle_stream_end
void _x_handle_stream_end(xine_stream_t *s, int non_user)
Definition: xine.c:93
xine_event_queue_s::listener_thread
pthread_t * listener_thread
Definition: xine_internal.h:113
extra_info_s::input_time
int input_time
Definition: buffer.h:322
extra_info_s::total_time
int total_time
Definition: buffer.h:330
DEMUX_OK
#define DEMUX_OK
Definition: demux.h:33
xine_list_find
xine_list_iterator_t xine_list_find(xine_list_t *list, void *value)
Definition: list.c:275
xine_stream_private_st::first_frame_lock
pthread_mutex_t first_frame_lock
Definition: xine_private.h:504
config_register_serialized_entry
static char * config_register_serialized_entry(config_values_t *this, const char *value)
Definition: configfile.c:1908
_x_config_change_opt
int _x_config_change_opt(config_values_t *config, const char *opt)
interpret stream_setup part of mrls for config value changes
Definition: configfile.c:2087
xine_cfg_entry_s::description
const char * description
Definition: xine.h:1667
config_register_range
static int config_register_range(config_values_t *this, const char *key, int def_value, int min, int max, const char *description, const char *help, int exp_level, xine_config_cb_t changed_cb, void *cb_data)
Definition: configfile.c:1063
_cfg_cb_relay_t::used
uint32_t used
Definition: configfile.c:64
xine_event_t::stream
xine_stream_t * stream
Definition: xine.h:1924
_x_demux_stop_thread
int _x_demux_stop_thread(xine_stream_t *s)
Definition: demux.c:577
xine_stream_private_st::s
xine_stream_t s
Definition: xine_private.h:432
_x_demux_control_start
void _x_demux_control_start(xine_stream_t *s)
Definition: demux.c:256
XINE_EVENT_PROGRESS
#define XINE_EVENT_PROGRESS
Definition: xine.h:1821
xine_event_new_queue
xine_event_queue_t * xine_event_new_queue(xine_stream_t *s)
Definition: events.c:330
BUF_CONTROL_HEADERS_DONE
#define BUF_CONTROL_HEADERS_DONE
Definition: buffer.h:78
_x_demux_control_end
void _x_demux_control_end(xine_stream_t *s, uint32_t flags)
Definition: demux.c:295
xine_list_clear
void xine_list_clear(xine_list_t *list)
Definition: list.c:103
xine_list_next_value
void * xine_list_next_value(xine_list_t *list, xine_list_iterator_t *ite)
Definition: list.c:197
config_lookup_entry_safe
static cfg_entry_t * config_lookup_entry_safe(config_values_t *this, const char *key)
Definition: configfile.c:851
audio_buffer_s
Definition: audio_out.h:144
config_parse_enum
static int config_parse_enum(const char *str, const char **values)
Definition: configfile.c:1115
_cfg_cb_clear
static int _cfg_cb_clear(cfg_entry_t *entry)
Definition: configfile.c:79
BUF_FLAG_END_STREAM
#define BUF_FLAG_END_STREAM
Definition: buffer.h:386
xine_stream_private_st::first_frame_reached
pthread_cond_t first_frame_reached
Definition: xine_private.h:505
cfg_entry_s::str_value
char * str_value
Definition: configfile.h:60
xine_strsep
#define xine_strsep(STRINGP, DELIM)
Definition: xineutils.h:347
xine_event_queue_private_s::data
uint8_t data[256]
Definition: events.c:52
XINE_CONFIG_TYPE_STRING
#define XINE_CONFIG_TYPE_STRING
Definition: xine.h:1617
XINE_PATH_MAX
#define XINE_PATH_MAX
Definition: compat.h:47
_cfg_cb_add
static void _cfg_cb_add(cfg_entry_t *entry, xine_config_cb_t callback, void *data)
Definition: configfile.c:242
always_inline
#define always_inline
Definition: bswap.h:28
cfg_entry_s::str_default
char * str_default
Definition: configfile.h:61
VO_PROP_DISCARD_FRAMES
#define VO_PROP_DISCARD_FRAMES
Definition: video_out.h:260
xine_audio_port_s::set_property
int(* set_property)(xine_audio_port_t *, int property, int value)
Definition: audio_out.h:180
xine_event_queue_private_s::num_alloc
int num_alloc
Definition: events.c:48
config_section_enum
static int config_section_enum(const char *sect)
Definition: configfile.c:460
config_translate_key
static const char * config_translate_key(const char *key, char **tmp)
Definition: configfile.c:723
xine_stream_s::master
xine_stream_t * master
Definition: xine_internal.h:150
config_make_sort_key
static void config_make_sort_key(char *dest, const char *key, int exp_level)
Definition: configfile.c:492
fifo_buffer_s::buffer_pool_alloc
buf_element_t *(* buffer_pool_alloc)(fifo_buffer_t *self)
Definition: buffer.h:617
xine_refs_add
static int xine_refs_add(xine_refs_t *refs, int n)
Definition: xine_private.h:125
fifo_buffer_s::put
void(* put)(fifo_buffer_t *fifo, buf_element_t *buf)
Definition: buffer.h:596
xine_event_get
xine_event_t * xine_event_get(xine_event_queue_t *queue)
Definition: events.c:56
xine_cfg_entry_s::help
const char * help
Definition: xine.h:1668
xine_event_t::tv
struct timeval tv
Definition: xine.h:1932
xine_stream_private_st::demux_action_pending
uint32_t demux_action_pending
Definition: xine_private.h:535
_x_demux_read_send_data
int _x_demux_read_send_data(fifo_buffer_t *fifo, input_plugin_t *input, int size, int64_t pts, uint32_t type, uint32_t decoder_flags, off_t input_normpos, int input_time, int total_time, uint32_t frame_number)
Definition: demux.c:853
demux_plugin_s::seek
int(* seek)(demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing)
Definition: demux.h:124
lprintf
#define lprintf(...)
Definition: xineutils.h:620
cfg_entry_s::key
char * key
Definition: configfile.h:50
XINE_CONFIG_TYPE_BOOL
#define XINE_CONFIG_TYPE_BOOL
Definition: xine.h:1620
xine_stream_private_st::side_streams
struct xine_stream_private_st * side_streams[4]
Definition: xine_private.h:489
xine_stream_s::audio_out
xine_audio_port_t *volatile audio_out
Definition: xine_internal.h:141
extra_info_s::input_normpos
int input_normpos
Definition: buffer.h:319
xine_event_queue_unref_unlock
static int xine_event_queue_unref_unlock(xine_event_queue_private_t *queue)
Definition: events.c:156
xine_config_cb_t
void(* xine_config_cb_t)(void *user_data, xine_cfg_entry_t *entry)
Definition: xine.h:1630
xine_video_port_s::get_overlay_manager
video_overlay_manager_t *(* get_overlay_manager)(xine_video_port_t *self)
Definition: video_out.h:208
xine_list_size
unsigned int xine_list_size(xine_list_t *list)
Definition: list.c:146
xine_cfg_entry_s::callback_data
void * callback_data
Definition: xine.h:1677
BUF_CONTROL_NOP
#define BUF_CONTROL_NOP
Definition: buffer.h:73
xine_base64_decode
size_t xine_base64_decode(const char *from, uint8_t *to)
Definition: utils.c:943
listener_loop
static void * listener_loop(void *queue_gen)
Definition: events.c:474
MAX_SORT_KEY
#define MAX_SORT_KEY
Definition: configfile.c:491
_cfg_cb_info_t
Definition: configfile.c:57
xine_cfg_entry_s::range_min
int range_min
Definition: xine.h:1657
xine_cfg_entry_s::num_default
int num_default
Definition: xine.h:1654
user_data
static void user_data(vdpau_mpeg4_decoder_t *this_gen, uint8_t *buffer, int len)
Definition: vdpau_mpeg4.c:695
buf_element_s::pts
int64_t pts
Definition: buffer.h:345
xine_stream_private_st::num_demuxers_running
int num_demuxers_running
Definition: xine_private.h:522
xine_stream_private_st::demux_max_seek_bufs
uint32_t demux_max_seek_bufs
Definition: xine_private.h:539
fifo_buffer_s::clear
void(* clear)(fifo_buffer_t *fifo)
Definition: buffer.h:600
config_lookup_entry
static cfg_entry_t * config_lookup_entry(config_values_t *this, const char *key)
Definition: configfile.c:840
demux_plugin_s::get_status
int(* get_status)(demux_plugin_t *this_gen)
Definition: demux.h:149
INPUT_OPTIONAL_DATA_SIZED_PREVIEW
#define INPUT_OPTIONAL_DATA_SIZED_PREVIEW
Definition: input_plugin.h:379
XINE_EVENT_QUIT
#define XINE_EVENT_QUIT
Definition: xine.h:1820
xine_list_prev_value
void * xine_list_prev_value(xine_list_t *list, xine_list_iterator_t *ite)
Definition: list.c:222
NULL
NULL
Definition: xine_plugin.c:78
cfg_entry_s::num_value
int num_value
Definition: configfile.h:64
xine_event_send
void xine_event_send(xine_stream_t *s, const xine_event_t *event)
Definition: events.c:194
xine_small_memcpy
#define xine_small_memcpy(xsm_to, xsm_from, xsm_len)
Definition: xineutils.h:201
XINE_STATUS_STOP
#define XINE_STATUS_STOP
Definition: xine.h:949
xine_event_dispose_queue
void xine_event_dispose_queue(xine_event_queue_t *queue)
Definition: events.c:379
_cfg_cb_info_t::callback
xine_config_cb_t callback
Definition: configfile.c:58
_x_action_lower
void _x_action_lower(xine_stream_t *s)
Definition: demux.c:788
XINE_VERBOSITY_LOG
#define XINE_VERBOSITY_LOG
Definition: xine.h:425
_x_assert
#define _x_assert(exp)
Definition: xineutils.h:550
xine_event_queue_private_s::free_events
xine_list_t * free_events
Definition: events.c:45
xine_int32_2str
static void xine_int32_2str(char **s, int32_t v)
Definition: xine_private.h:343
fifo_buffer_s
Definition: buffer.h:581
cfg_entry_s::description
char * description
Definition: configfile.h:75
xine_event_listener_cb_t
void(* xine_event_listener_cb_t)(void *user_data, const xine_event_t *event)
Definition: xine.h:2246
xine_event_private_t::e
xine_event_t e
Definition: events.c:39
_x_freep
static void _x_freep(void *ptr)
Definition: xineutils.h:263
xine_stream_private_st::demux_pair_mutex
pthread_mutex_t demux_pair_mutex
Definition: xine_private.h:534
XINE_CONFIG_TYPE_RANGE
#define XINE_CONFIG_TYPE_RANGE
Definition: xine.h:1616
cfg_entry_s::exp_level
int exp_level
Definition: configfile.h:54
XINE_CONFIG_TYPE_ENUM
#define XINE_CONFIG_TYPE_ENUM
Definition: xine.h:1618
INPUT_OPTIONAL_DATA_PREVIEW
#define INPUT_OPTIONAL_DATA_PREVIEW
Definition: input_plugin.h:368
_x_config_init
config_values_t * _x_config_init(void)
allocate and init a new xine config object
Definition: configfile.c:2037
INPUT_CAP_SEEKABLE
#define INPUT_CAP_SEEKABLE
Definition: input_plugin.h:250
_x_demux_read_header
int _x_demux_read_header(input_plugin_t *input, void *buffer, off_t size)
Definition: demux.c:618
cfg_entry_s::config
config_values_t * config
Definition: configfile.h:48
_x_demux_start_thread
int _x_demux_start_thread(xine_stream_t *s)
Definition: demux.c:543
xine_s::config
config_values_t * config
Definition: xine_internal.h:82
xine_stream_private_st::demux_plugin
demux_plugin_t * demux_plugin
Definition: xine_private.h:448
bswap_32
static always_inline uint32_t bswap_32(uint32_t x)
Definition: ffmpeg_bswap.h:129
AO_PROP_DISCARD_BUFFERS
#define AO_PROP_DISCARD_BUFFERS
Definition: audio_out.h:322
xine_event_wait_locked
static xine_event_t * xine_event_wait_locked(xine_event_queue_t *queue)
Definition: events.c:96
bswap_16
static always_inline uint16_t bswap_16(uint16_t x)
Definition: ffmpeg_bswap.h:113
config_unregister_callbacks
static int config_unregister_callbacks(config_values_t *this, const char *key, xine_config_cb_t changed_cb, void *cb_data, size_t cb_data_size)
Definition: configfile.c:1724
xine_event_t::data
void * data
Definition: xine.h:1926
config_register_num
static int config_register_num(config_values_t *this, const char *key, int def_value, const char *description, const char *help, int exp_level, xine_config_cb_t changed_cb, void *cb_data)
Definition: configfile.c:997
_
#define _(String)
Definition: vcdplayer.h:39
config_dispose
static void config_dispose(config_values_t *this)
Definition: configfile.c:1672
xine_event_queue_s::lock
pthread_mutex_t lock
Definition: xine_internal.h:109
xine_stream_private_st::demux_action_lock
pthread_mutex_t demux_action_lock
Definition: xine_private.h:531
input_plugin_s
Definition: input_plugin.h:90
_X_LE_32
#define _X_LE_32(x)
Definition: bswap.h:63
config_values_s
Definition: configfile.h:83
buf_element_s::disc_off
int64_t disc_off
Definition: buffer.h:346
cfg_entry_s::range_max
int range_max
Definition: configfile.h:69
cfg_entry_s::enum_values
char ** enum_values
Definition: configfile.h:72
xine_list_empty
unsigned int xine_list_empty(xine_list_t *list)
Definition: list.c:150
xine_stream_private_st::event_queues
xine_list_t * event_queues
Definition: xine_private.h:525
xine_stream_private_st::header_count_video
int header_count_video
Definition: xine_private.h:517
xine_progress_data_t::description
const char * description
Definition: xine.h:2010
video_overlay_manager_s::flush_events
void(* flush_events)(video_overlay_manager_t *this_gen)
Definition: video_out.h:529
xine_event_queue_s
Definition: xine_internal.h:107
xine_stream_s::video_fifo
fifo_buffer_t * video_fifo
Definition: xine_internal.h:138
config_update_string
static void config_update_string(config_values_t *this, const char *key, const char *value)
Definition: configfile.c:1315
xine_private_t
Definition: xine_private.h:400
str_array_free
static void str_array_free(char **a)
Definition: configfile.c:824
_cfg_cb_relay_t
Definition: configfile.c:62
XINE_CONFIG_TYPE_NUM
#define XINE_CONFIG_TYPE_NUM
Definition: xine.h:1619
xine_config_entry_translation_t::old_name
const char * old_name
Definition: xine.h:1779
xine_event_create_listener_thread
int xine_event_create_listener_thread(xine_event_queue_t *queue, xine_event_listener_cb_t callback, void *user_data)
Definition: events.c:509
xine_private.h
Declaration of internal, private functions for xine-lib.
XINE_DISABLE_DEPRECATION_WARNINGS
#define XINE_DISABLE_DEPRECATION_WARNINGS
Definition: xine_private.h:53
INPUT_CAP_SIZED_PREVIEW
#define INPUT_CAP_SIZED_PREVIEW
Definition: input_plugin.h:341
XINE_LOG_MSG
#define XINE_LOG_MSG
Definition: xine_internal.h:64
xine_list_s
Definition: list.c:51
CONFIG_FILE_VERSION
#define CONFIG_FILE_VERSION
Definition: configfile.h:34
cfg_entry_s::range_min
int range_min
Definition: configfile.h:68
config_register_filename
static char * config_register_filename(config_values_t *this, const char *key, const char *def_value, int req_type, const char *description, const char *help, int exp_level, xine_config_cb_t changed_cb, void *cb_data)
Definition: configfile.c:963
buf_element_s
Definition: buffer.h:337
xine_audio_port_s::get_buffer
audio_buffer_t *(* get_buffer)(xine_audio_port_t *)
Definition: audio_out.h:193
cfg_entry_s::next
cfg_entry_t * next
Definition: configfile.h:47
XINE_VERBOSITY_DEBUG
#define XINE_VERBOSITY_DEBUG
Definition: xine.h:426
xine_stream_s::video_out
xine_video_port_t *volatile video_out
Definition: xine_internal.h:135
xine_cfg_entry_s::enum_values
char ** enum_values
Definition: xine.h:1661
buffer.h
DEMUX_FINISHED
#define DEMUX_FINISHED
Definition: demux.h:34
INPUT_CAP_PREVIEW
#define INPUT_CAP_PREVIEW
Definition: input_plugin.h:287
_x_demux_check_extension
int _x_demux_check_extension(const char *mrl, const char *extensions)
Definition: demux.c:664
xine_stream_private_st::demux_thread_running
uint32_t demux_thread_running
Definition: xine_private.h:537
config_values_s::xine
xine_t * xine
Definition: configfile.h:255
config_update_string_e
static void config_update_string_e(cfg_entry_t *entry, const char *value)
Definition: configfile.c:1244
config_register_bool
static int config_register_bool(config_values_t *this, const char *key, int def_value, const char *description, const char *help, int exp_level, xine_config_cb_t changed_cb, void *cb_data)
Definition: configfile.c:1030
xine_stream_private_st::demux_thread_created
uint32_t demux_thread_created
Definition: xine_private.h:536
XINE_ENABLE_DEPRECATION_WARNINGS
#define XINE_ENABLE_DEPRECATION_WARNINGS
Definition: xine_private.h:54
xine_stream_private_st::audio_thread_created
uint32_t audio_thread_created
Definition: xine_private.h:437
BUF_CONTROL_END
#define BUF_CONTROL_END
Definition: buffer.h:70
xine_stream_private_st::demux_lock
pthread_mutex_t demux_lock
Definition: xine_private.h:530
DEMUX_CAP_STOP
#define DEMUX_CAP_STOP
Definition: demux.h:223
xine_event_queue_private_s::num_skip
int num_skip
Definition: events.c:49
xine_event_next
xine_event_t * xine_event_next(xine_event_queue_t *queue, xine_event_t *prev_event)
Definition: events.c:72
XINE_MAX_INT32_STR
#define XINE_MAX_INT32_STR
Definition: xine_private.h:342
_cfg_cb_relay_t::items
_cfg_cb_info_t items[1]
Definition: configfile.c:65
config_array
static cfg_entry_t ** config_array(config_values_t *this, cfg_entry_t **tab, int *n)
Definition: configfile.c:553
PTR_IN_RANGE
#define PTR_IN_RANGE(_ptr, _start, _size)
Definition: xine_private.h:393
_cfg_cb_d_rem
static int _cfg_cb_d_rem(cfg_entry_t *entry, xine_config_cb_t callback, void *data, size_t data_size)
Definition: configfile.c:118
video_overlay_manager_s
Definition: video_out.h:518
config_values_s::config_lock
pthread_mutex_t config_lock
Definition: configfile.h:235
xine_event_queue_private_s
Definition: events.c:43
cfg_entry_s::type
int type
Definition: configfile.h:51
extra_info_s::frame_number
uint32_t frame_number
Definition: buffer.h:324
xine_cfg_entry_s
Definition: xine.h:1632
xine_cfg_entry_s::num_value
int num_value
Definition: xine.h:1653
xine_cfg_entry_s::unknown_value
char * unknown_value
Definition: xine.h:1643
xine_cfg_entry_s::str_default
char * str_default
Definition: xine.h:1647
config_reset_value
static void config_reset_value(cfg_entry_t *entry)
Definition: configfile.c:858
_x_config_unregister_cb_class_d
void _x_config_unregister_cb_class_d(config_values_t *this, void *callback_data)
Definition: configfile.c:1748
xine_event_queue_private_s::refs
int refs
Definition: events.c:46
_x_demux_send_mrl_reference
void _x_demux_send_mrl_reference(xine_stream_t *stream, int alternative, const char *mrl, const char *title, int start_time, int duration)
Definition: demux.c:901
xine_event_queue_s::events_processed
pthread_cond_t events_processed
Definition: xine_internal.h:111
xine_event_queue_s::callback_running
int callback_running
Definition: xine_internal.h:116
config_register_string
static char * config_register_string(config_values_t *this, const char *key, const char *def_value, const char *description, const char *help, int exp_level, xine_config_cb_t changed_cb, void *cb_data)
Definition: configfile.c:930
XINE_CONFIG_SECURITY
#define XINE_CONFIG_SECURITY
Definition: configfile.h:40
demux_loop
static void * demux_loop(void *stream_gen)
Definition: demux.c:341
config_register_key
static cfg_entry_t * config_register_key(config_values_t *this, const char *key, int exp_level, xine_config_cb_t changed_cb, void *cb_data, const char *description, const char *help)
Definition: configfile.c:888
buf_element_s::free_buffer
void(* free_buffer)(buf_element_t *buf)
Definition: buffer.h:357
xine_progress_data_t::percent
int percent
Definition: xine.h:2011
demux.h
XINE_EVENT_NBC_STATS
#define XINE_EVENT_NBC_STATS
Definition: xine.h:1828
xine_config_entry_translation_t
Definition: xine.h:1778
now
static int now(void)
Definition: xine_goom.c:382
put_int
static void put_int(uint8_t **dest, int value)
Definition: configfile.c:1782
XINE_EVENT_MRL_REFERENCE_EXT
#define XINE_EVENT_MRL_REFERENCE_EXT
Definition: xine.h:1826
xine_event_queue_s::user_data
void * user_data
Definition: xine_internal.h:114
xine_refs_sub
static int xine_refs_sub(xine_refs_t *refs, int n)
Definition: xine_private.h:134
BUF_CONTROL_START
#define BUF_CONTROL_START
Definition: buffer.h:69
xine_stream_private_st::demux_thread
pthread_t demux_thread
Definition: xine_private.h:529
xine_cfg_entry_s::range_max
int range_max
Definition: xine.h:1658
config_xlate_old
static const char * config_xlate_old(const char *s)
Definition: configfile.c:286
xine_str2int32
static int32_t xine_str2int32(const char **s)
Definition: xine_private.h:250
xine_stream_private_st::frontend_lock
pthread_mutex_t frontend_lock
Definition: xine_private.h:482
xine_get_status
int xine_get_status(xine_stream_t *s)
Definition: xine.c:2817
bswap.h
BUF_CONTROL_NEWPTS
#define BUF_CONTROL_NEWPTS
Definition: buffer.h:76
buf_element_s::content
unsigned char * content
Definition: buffer.h:341
LEGACY_REGS
#define LEGACY_REGS
Definition: ffmpeg_bswap.h:36
xine_private_t::port_ticket
xine_ticket_t * port_ticket
Definition: xine_private.h:403
config_unset_new_entry_callback
static void config_unset_new_entry_callback(config_values_t *this)
Definition: configfile.c:1775
_x_demux_control_newpts
void _x_demux_control_newpts(xine_stream_t *s, int64_t pts, uint32_t flags)
Definition: demux.c:126
xine_audio_port_s::put_buffer
void(* put_buffer)(xine_audio_port_t *, audio_buffer_t *buf, xine_stream_t *stream)
Definition: audio_out.h:200
_x_action_pending
int _x_action_pending(xine_stream_t *s)
Definition: demux.c:760
xine_video_port_s::flush
void(* flush)(xine_video_port_t *self)
Definition: video_out.h:211
_cfg_cb_relay_t::size
uint32_t size
Definition: configfile.c:63
_x_demux_control_nop
void _x_demux_control_nop(xine_stream_t *s, uint32_t flags)
Definition: demux.c:318
xine_stream_s::audio_fifo
fifo_buffer_t * audio_fifo
Definition: xine_internal.h:144
xine_cfg_entry_s::callback
xine_config_cb_t callback
Definition: xine.h:1676
config_unregister_cb
static void config_unregister_cb(config_values_t *this, const char *key)
Definition: configfile.c:1707
xine_cfg_entry_s::key
const char * key
Definition: xine.h:1633
xine_stream_private_st::finished_count_audio
int finished_count_audio
Definition: xine_private.h:518
_x_demux_control_headers_done
void _x_demux_control_headers_done(xine_stream_t *s)
Definition: demux.c:184
XCS_BUF_SIZE
#define XCS_BUF_SIZE
config_update_num_e
static void config_update_num_e(cfg_entry_t *entry, int value)
Definition: configfile.c:1184
xine_internal.h
cfg_entry_s::num_default
int num_default
Definition: configfile.h:65
xine_video_port_s::set_property
int(* set_property)(xine_video_port_t *self, int property, int value)
Definition: video_out.h:221
buf_element_s::decoder_flags
uint32_t decoder_flags
Definition: buffer.h:350
cfg_entry_s::unknown_value
char * unknown_value
Definition: configfile.h:57
config.h
xine_config_entry_translation_t::new_name
const char * new_name
Definition: xine.h:1779
xine_stream_private_st::event_queues_lock
pthread_mutex_t event_queues_lock
Definition: xine_private.h:526
xine_cfg_entry_s::type
int type
Definition: xine.h:1635
_x_flush_events_queues
void _x_flush_events_queues(xine_stream_t *s)
Definition: events.c:544
xine_uint32_2str
static void xine_uint32_2str(char **s, uint32_t v)
Definition: xine_private.h:361
xine_event_t::type
int type
Definition: xine.h:1929
BUF_FLAG_GAPLESS_SW
#define BUF_FLAG_GAPLESS_SW
Definition: buffer.h:408
cfg_entry_s::help
char * help
Definition: configfile.h:76
BUF_FLAG_SEEK
#define BUF_FLAG_SEEK
Definition: buffer.h:392
config_shallow_copy
static void config_shallow_copy(xine_cfg_entry_t *dest, const cfg_entry_t *src)
Definition: configfile.c:870
config_xlate_internal
static const char * config_xlate_internal(const char *key, const xine_config_entry_translation_t *trans)
Definition: configfile.c:714
XINE_CONFIG_TYPE_UNKNOWN
#define XINE_CONFIG_TYPE_UNKNOWN
Definition: xine.h:1615
xine_stream_private_st::refs
xine_refs_t refs
Definition: xine_private.h:556
_x_action_raise
void _x_action_raise(xine_stream_t *s)
Definition: demux.c:780
BUF_CONTROL_RESET_DECODER
#define BUF_CONTROL_RESET_DECODER
Definition: buffer.h:77
xine_event_queue_s::stream
xine_stream_t * stream
Definition: xine_internal.h:112
xine_list_remove
void xine_list_remove(xine_list_t *list, xine_list_iterator_t position)
Definition: list.c:246
buf_element_s::max_size
int32_t max_size
Definition: buffer.h:344
_cfg_d_rem
static int _cfg_d_rem(cfg_entry_t *entry, void *data, size_t data_size)
Definition: configfile.c:191
buf_element_s::type
uint32_t type
Definition: buffer.h:362
cfg_entry_s
Definition: configfile.h:46
config_entry_translation_user
static const xine_config_entry_translation_t * config_entry_translation_user
Definition: configfile.c:55
xine_audio_port_s::flush
void(* flush)(xine_audio_port_t *)
Definition: audio_out.h:220
xine_stream_private_st::counter_lock
pthread_mutex_t counter_lock
Definition: xine_private.h:514
_x_demux_seek
int _x_demux_seek(xine_stream_t *s, off_t start_pos, int start_time, int playing)
Definition: demux.c:948
xine_stream_private_st::demux_resume
pthread_cond_t demux_resume
Definition: xine_private.h:532
config_set_new_entry_callback
static void config_set_new_entry_callback(config_values_t *this, xine_config_cb_t new_entry_cb, void *cbdata)
Definition: configfile.c:1768
FIND_ONLY
#define FIND_ONLY
Definition: configfile.c:579
xine_event_t::data_length
int data_length
Definition: xine.h:1927
xine_log
void xine_log(xine_t *this_gen, int buf, const char *format,...)
Definition: xine.c:3340
_cfg_cb_info_t::data
void * data
Definition: configfile.c:59
xine_ticket_s::release
void(* release)(xine_ticket_t *self, int irrevocable)
Definition: tickets.h:69
xine_event_wait
xine_event_t * xine_event_wait(xine_event_queue_t *queue)
Definition: events.c:145
xine_cfg_entry_s::exp_level
int exp_level
Definition: xine.h:1638
configfile.h
XINE_VERBOSITY_NONE
#define XINE_VERBOSITY_NONE
Definition: xine.h:424
audio_buffer_s::stream
xine_stream_t * stream
Definition: audio_out.h:159
input
static int input(void)
Definition: goomsl_lex.c:1495
MAX_PREVIEW_SIZE
#define MAX_PREVIEW_SIZE
Definition: input_plugin.h:388
xine_config_save
void xine_config_save(xine_t *xine, const char *filename)
Definition: configfile.c:1451
bswap_64
static uint64_t bswap_64(uint64_t x)
Definition: ffmpeg_bswap.h:135
xine_config_set_translation_user
void xine_config_set_translation_user(const xine_config_entry_translation_t *xlate)
Definition: configfile.c:1331
xine_event_free
void xine_event_free(xine_event_t *event)
Definition: events.c:175
xine_event_queue_s::events
xine_list_t * events
Definition: xine_internal.h:108
xine_progress_data_t
Definition: xine.h:2009
_x_demux_flush_engine
void _x_demux_flush_engine(xine_stream_t *s)
Definition: demux.c:61
buf_element_s::extra_info
extra_info_t * extra_info
Definition: buffer.h:348
xine_event_queue_s::callback
xine_event_listener_cb_t callback
Definition: xine_internal.h:115
xine_event_queue_private_s::q
xine_event_queue_t q
Definition: events.c:44
xine_base64_encode
size_t xine_base64_encode(uint8_t *from, char *to, size_t size)
Definition: utils.c:918
config_lookup_entry_int
static cfg_entry_t * config_lookup_entry_int(config_values_t *this, const char *key)
Definition: configfile.c:749
_cfg_cb_rem
static int _cfg_cb_rem(cfg_entry_t *entry, xine_config_cb_t callback)
Definition: configfile.c:155
cfg_entry_s::callback_data
void * callback_data
Definition: configfile.h:80
xine_stream_private_st::counter_changed
pthread_cond_t counter_changed
Definition: xine_private.h:515
_x_asprintf
char * _x_asprintf(const char *format,...)
Definition: utils.c:783
_cfg_relay
static void _cfg_relay(void *data, xine_cfg_entry_t *e)
Definition: configfile.c:68
xine_stream_private_st::video_thread_created
uint32_t video_thread_created
Definition: xine_private.h:436
xine_event_private_t::queue
xine_event_queue_private_t * queue
Definition: events.c:40
xine_config_load
void xine_config_load(xine_t *xine, const char *filename)
Definition: configfile.c:1339
xprintf
#define xprintf(xine, verbose,...)
Definition: xineutils.h:664
xine_event_queue_private_s::num_all
int num_all
Definition: events.c:47
xine_stream_private_st
Definition: xine_private.h:431
demux_unstick_ao_loop
static int demux_unstick_ao_loop(xine_stream_t *s)
Definition: demux.c:164
xine_list_elem_s
Definition: list.c:37
xine_gettime
static int xine_gettime(struct timespec *ts)
Definition: xine_private.h:238