xine-lib  1.2.10
bswap.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2000-2018 the xine project
3  *
4  * This file is part of xine, a free video player.
5  *
6  * xine is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * xine 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
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
19  */
20 
21 #ifndef __BSWAP_H__
22 #define __BSWAP_H__
23 
24 #if defined(HAVE_CONFIG_H) && !defined(__XINE_LIB_CONFIG_H__)
25 # error config.h not included
26 #endif
27 
28 #define always_inline inline
29 
30 #include "ffmpeg_bswap.h"
31 
32 /* These are the Aligned variants */
33 #define _X_ABE_16(x) (be2me_16(*(const uint16_t*)(x)))
34 #define _X_ABE_32(x) (be2me_32(*(const uint32_t*)(x)))
35 #define _X_ABE_64(x) (be2me_64(*(const uint64_t*)(x)))
36 #define _X_ALE_16(x) (le2me_16(*(const uint16_t*)(x)))
37 #define _X_ALE_32(x) (le2me_32(*(const uint32_t*)(x)))
38 #define _X_ALE_64(x) (le2me_64(*(const uint64_t*)(x)))
39 
40 #define _X_BE_16(x) (((uint16_t)(((const uint8_t*)(x))[0]) << 8) | \
41  ((uint16_t)((const uint8_t*)(x))[1]))
42 #define _X_BE_24(x) (((uint32_t)(((const uint8_t*)(x))[0]) << 16) | \
43  ((uint32_t)(((const uint8_t*)(x))[1]) << 8) | \
44  ((uint32_t)(((const uint8_t*)(x))[2])))
45 #define _X_BE_32(x) (((uint32_t)(((const uint8_t*)(x))[0]) << 24) | \
46  ((uint32_t)(((const uint8_t*)(x))[1]) << 16) | \
47  ((uint32_t)(((const uint8_t*)(x))[2]) << 8) | \
48  ((uint32_t)((const uint8_t*)(x))[3]))
49 #define _X_BE_64(x) (((uint64_t)(((const uint8_t*)(x))[0]) << 56) | \
50  ((uint64_t)(((const uint8_t*)(x))[1]) << 48) | \
51  ((uint64_t)(((const uint8_t*)(x))[2]) << 40) | \
52  ((uint64_t)(((const uint8_t*)(x))[3]) << 32) | \
53  ((uint64_t)(((const uint8_t*)(x))[4]) << 24) | \
54  ((uint64_t)(((const uint8_t*)(x))[5]) << 16) | \
55  ((uint64_t)(((const uint8_t*)(x))[6]) << 8) | \
56  ((uint64_t)((const uint8_t*)(x))[7]))
57 
58 #define _X_LE_16(x) (((uint16_t)(((const uint8_t*)(x))[1]) << 8) | \
59  ((uint16_t)((const uint8_t*)(x))[0]))
60 #define _X_LE_24(x) (((uint32_t)(((const uint8_t*)(x))[2]) << 16) | \
61  ((uint32_t)(((const uint8_t*)(x))[1]) << 8) | \
62  ((uint32_t)(((const uint8_t*)(x))[0])))
63 #define _X_LE_32(x) (((uint32_t)(((const uint8_t*)(x))[3]) << 24) | \
64  ((uint32_t)(((const uint8_t*)(x))[2]) << 16) | \
65  ((uint32_t)(((const uint8_t*)(x))[1]) << 8) | \
66  ((uint32_t)((const uint8_t*)(x))[0]))
67 #define _X_LE_64(x) (((uint64_t)(((const uint8_t*)(x))[7]) << 56) | \
68  ((uint64_t)(((const uint8_t*)(x))[6]) << 48) | \
69  ((uint64_t)(((const uint8_t*)(x))[5]) << 40) | \
70  ((uint64_t)(((const uint8_t*)(x))[4]) << 32) | \
71  ((uint64_t)(((const uint8_t*)(x))[3]) << 24) | \
72  ((uint64_t)(((const uint8_t*)(x))[2]) << 16) | \
73  ((uint64_t)(((const uint8_t*)(x))[1]) << 8) | \
74  ((uint64_t)((const uint8_t*)(x))[0]))
75 
76 /* Tested with gcc 4.4 */
77 #if defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ > 3)) || defined(__clang__)
78 # undef _X_BE_24
79 # undef _X_BE_32
80 # undef _X_BE_64
81 # undef _X_LE_24
82 # undef _X_LE_32
83 # undef _X_LE_64
84 # ifdef WORDS_BIGENDIAN
85 # define _X_LE_24(x) ({ int32_t tempi; __builtin_memcpy (&tempi, (x), 3); (uint32_t)(__builtin_bswap32 (tempi)) & 0xffffff; })
86 # define _X_LE_32(x) ({ int32_t tempi; __builtin_memcpy (&tempi, (x), 4); (uint32_t)(__builtin_bswap32 (tempi)); })
87 # define _X_LE_64(x) ({ int64_t tempi; __builtin_memcpy (&tempi, (x), 8); (uint64_t)(__builtin_bswap64 (tempi)); })
88 # define _X_BE_24(x) ({ uint32_t tempi; __builtin_memcpy (&tempi, (x), 3); tempi >> 8; })
89 # define _X_BE_32(x) ({ uint32_t tempi; __builtin_memcpy (&tempi, (x), 4); tempi; })
90 # define _X_BE_64(x) ({ uint64_t tempi; __builtin_memcpy (&tempi, (x), 8); tempi; })
91 # else
92 # define _X_BE_24(x) ({ int32_t tempi; __builtin_memcpy (&tempi, (x), 3); (uint32_t)(__builtin_bswap32 (tempi)) >> 8; })
93 # define _X_BE_32(x) ({ int32_t tempi; __builtin_memcpy (&tempi, (x), 4); (uint32_t)(__builtin_bswap32 (tempi)); })
94 # define _X_BE_64(x) ({ int64_t tempi; __builtin_memcpy (&tempi, (x), 8); (uint64_t)(__builtin_bswap64 (tempi)); })
95 # define _X_LE_24(x) ({ uint32_t tempi; __builtin_memcpy (&tempi, (x), 3); tempi & 0xffffff; })
96 # define _X_LE_32(x) ({ uint32_t tempi; __builtin_memcpy (&tempi, (x), 4); tempi; })
97 # define _X_LE_64(x) ({ uint64_t tempi; __builtin_memcpy (&tempi, (x), 8); tempi; })
98 # endif
99 # if defined(ARCH_X86)
100  /* These machines have true (u)int16_t. */
101 # undef _X_BE_16
102 # undef _X_LE_16
103 # define _X_BE_16(x) ({ \
104  uint16_t tempi; \
105  __builtin_memcpy (&tempi, (x), 2); \
106  __asm__ __volatile__ ( \
107  "rolw\t$8, %0" \
108  : "=r" (tempi) \
109  : "0" (tempi) \
110  : "cc" \
111  ); \
112  tempi; })
113 # define _X_LE_16(x) ({ uint16_t tempi; __builtin_memcpy (&tempi, (x), 2); tempi; })
114 # endif
115 #endif
116 
117 #ifdef WORDS_BIGENDIAN
118 #define _X_ME_16(x) _X_BE_16(x)
119 #define _X_ME_32(x) _X_BE_32(x)
120 #define _X_ME_64(x) _X_BE_64(x)
121 #define _X_AME_16(x) _X_ABE_16(x)
122 #define _X_AME_32(x) _X_ABE_32(x)
123 #define _X_AME_64(x) _X_ABE_64(x)
124 #else
125 #define _X_ME_16(x) _X_LE_16(x)
126 #define _X_ME_32(x) _X_LE_32(x)
127 #define _X_ME_64(x) _X_LE_64(x)
128 #define _X_AME_16(x) _X_ALE_16(x)
129 #define _X_AME_32(x) _X_ALE_32(x)
130 #define _X_AME_64(x) _X_ALE_64(x)
131 #endif
132 
133 #define BE_FOURCC( ch0, ch1, ch2, ch3 ) \
134  ( (uint32_t)(unsigned char)(ch3) | \
135  ( (uint32_t)(unsigned char)(ch2) << 8 ) | \
136  ( (uint32_t)(unsigned char)(ch1) << 16 ) | \
137  ( (uint32_t)(unsigned char)(ch0) << 24 ) )
138 
139 #define LE_FOURCC( ch0, ch1, ch2, ch3 ) \
140  ( (uint32_t)(unsigned char)(ch0) | \
141  ( (uint32_t)(unsigned char)(ch1) << 8 ) | \
142  ( (uint32_t)(unsigned char)(ch2) << 16 ) | \
143  ( (uint32_t)(unsigned char)(ch3) << 24 ) )
144 
145 #ifdef WORDS_BIGENDIAN
146 #define ME_FOURCC BE_FOURCC
147 #else
148 #define ME_FOURCC LE_FOURCC
149 #endif
150 
151 #endif
xine_s
Definition: xine_internal.h:80
broadcaster_data_write
static void broadcaster_data_write(broadcaster_t *this, const void *buf, int len)
Definition: broadcaster.c:173
ao_flush
static void ao_flush(xine_audio_port_t *this_gen)
Definition: audio_out.c:2693
aos_t
Definition: audio_out.c:201
vo_overlay_s::color
uint32_t color[256]
Definition: video_out.h:492
audio_decoder_loop
static void * audio_decoder_loop(void *stream_gen)
Definition: audio_decoder.c:46
aos_t::clock
metronom_clock_t * clock
Definition: audio_out.c:225
aos_t::audio_loop_running
uint32_t audio_loop_running
Definition: audio_out.c:211
xine_stream_private_st::first_frame_flag
uint32_t first_frame_flag
Definition: xine_private.h:511
AO_MAX_GAP
#define AO_MAX_GAP
Definition: audio_out.h:351
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
audio_buffer_s::num_frames
int num_frames
Definition: audio_out.h:150
XINE_STREAM_INFO_AUDIO_HANDLED
#define XINE_STREAM_INFO_AUDIO_HANDLED
Definition: xine.h:1021
aos_t::output_frame_excess
double output_frame_excess
Definition: audio_out.c:254
xine_stream_private_st::header_count_audio
int header_count_audio
Definition: xine_private.h:516
ao_format_s::mode
int mode
Definition: audio_out.h:137
aos_t::ptoffs
int ptoffs
Definition: audio_out.c:279
xine_mallocz_aligned
void * xine_mallocz_aligned(size_t size)
Definition: utils.c:856
xine_stream_private_st::emergency_brake
uint32_t emergency_brake
Definition: xine_private.h:439
ao_streams_unregister
static int ao_streams_unregister(aos_t *this, xine_stream_private_t *s)
Definition: audio_out.c:427
BLEND_BYTE
#define BLEND_BYTE(dst, src, o)
Definition: alphablend.c:47
xine_stream_s
Definition: xine_internal.h:123
ao_fill_gap
static void ao_fill_gap(aos_t *this, int64_t pts_len)
Definition: audio_out.c:951
ao_out_fifo_signal
static void ao_out_fifo_signal(aos_t *this)
Definition: audio_out.c:629
DISC_STREAMSEEK
#define DISC_STREAMSEEK
Definition: metronom.h:68
metronom_clock_s
Definition: metronom.h:199
XINE_FINE_SPEED_NORMAL
#define XINE_FINE_SPEED_NORMAL
Definition: xine.h:372
AUDIO_BUF_SIZE
#define AUDIO_BUF_SIZE
Definition: audio_out.c:96
AO_CAP_MODE_4_1CHANNEL
#define AO_CAP_MODE_4_1CHANNEL
Definition: audio_out.h:293
BUF_CONTROL_RESET_TRACK_MAP
#define BUF_CONTROL_RESET_TRACK_MAP
Definition: buffer.h:80
broadcaster_s::stream
xine_stream_t * stream
Definition: broadcaster.c:83
AO_CTRL_FLUSH_BUFFERS
#define AO_CTRL_FLUSH_BUFFERS
Definition: audio_out.h:348
AO_CAP_NO_UNPAUSE
#define AO_CAP_NO_UNPAUSE
Definition: audio_out.h:315
ao_driver_s::get_capabilities
uint32_t(* get_capabilities)(ao_driver_t *)
Definition: audio_out.h:52
xine_free_audio_frame
void xine_free_audio_frame(xine_audio_port_t *this_gen, xine_audio_frame_t *frame)
Definition: audio_out.c:2040
ao_streams_close
static void ao_streams_close(aos_t *this)
Definition: audio_out.c:390
aos_t::driver_lock
pthread_mutex_t driver_lock
Definition: audio_out.c:209
_x_blend_rgb24
void _x_blend_rgb24(uint8_t *img, vo_overlay_t *img_overl, int img_width, int img_height, int dst_width, int dst_height, alphablend_t *extra_data)
Definition: alphablend.c:727
xine_list_new
xine_list_t * xine_list_new(void)
Definition: list.c:72
aos_t::discard_buffers
int discard_buffers
Definition: audio_out.c:280
xineutils.h
broadcaster_s::connections
xine_list_t * connections
Definition: broadcaster.c:86
video_put_cb
static void video_put_cb(fifo_buffer_t *fifo, buf_element_t *buf, void *this_gen)
Definition: broadcaster.c:295
ao_close
static void ao_close(xine_audio_port_t *this_gen, xine_stream_t *stream)
Definition: audio_out.c:2286
audio_decoder_s::discontinuity
void(* discontinuity)(audio_decoder_t *this_gen)
Definition: audio_decoder.h:91
blend_yuv_exact
static void blend_yuv_exact(uint8_t *dst_cr, uint8_t *dst_cb, int src_width, uint8_t *(*blend_yuv_data)[3][2])
Definition: alphablend.c:1064
audio_decoder_s::reset
void(* reset)(audio_decoder_t *this_gen)
Definition: audio_decoder.h:85
xine_stream_private_st::video_decoder_plugin
video_decoder_t * video_decoder_plugin
Definition: xine_private.h:452
_x_audio_out_resample_6channel
void _x_audio_out_resample_6channel(int16_t *last_sample, int16_t *input_samples, uint32_t in_samples, int16_t *output_samples, uint32_t out_samples)
Definition: resample.c:242
metronom_s::handle_audio_discontinuity
void(* handle_audio_discontinuity)(metronom_t *self, int type, int64_t disc_off)
Definition: metronom.h:147
resample_sync_t::valid
int valid
Definition: audio_out.c:145
BUF_FLAG_HEADER
#define BUF_FLAG_HEADER
Definition: buffer.h:375
aos_t::av_sync_method_conf
int av_sync_method_conf
Definition: audio_out.c:244
xine_socket_cloexec
int xine_socket_cloexec(int domain, int type, int protocol)
Definition: utils.c:837
AO_CAP_MODE_A52
#define AO_CAP_MODE_A52
Definition: audio_out.h:278
sIIRCoefficients::alpha
int alpha
Definition: audio_out.c:161
blend_yuy2_grow_extra_data
static uint8_t *(* blend_yuy2_grow_extra_data(alphablend_t *extra_data, int osd_width))[3]
Definition: alphablend.c:1564
ao_streams_register
static void ao_streams_register(aos_t *this, xine_stream_private_t *s)
Definition: audio_out.c:402
xine_profiler_start_count
void xine_profiler_start_count(int id)
Definition: monitor.c:88
clut_s::cb
uint8_t cb
Definition: alphablend.h:45
BUF_NUM_DEC_INFO
#define BUF_NUM_DEC_INFO
Definition: buffer.h:334
AO_CAP_MODE_4CHANNEL
#define AO_CAP_MODE_4CHANNEL
Definition: audio_out.h:285
aos_t::out_fifo
audio_fifo_t out_fifo
Definition: audio_out.c:260
xine_stream_private_st::audio_decoder_streamtype
int audio_decoder_streamtype
Definition: xine_private.h:459
alphablend_t::buffer
void * buffer
Definition: alphablend.h:31
AO_CAP_MIXER_VOL
#define AO_CAP_MIXER_VOL
Definition: audio_out.h:308
xine_list_push_back
void xine_list_push_back(xine_list_t *list, void *value)
Definition: list.c:162
aos_t::driver_action_cond
pthread_cond_t driver_action_cond
Definition: audio_out.c:223
fifo_buffer_s::fifo_size
int fifo_size
Definition: buffer.h:585
xine_list_delete
void xine_list_delete(xine_list_t *list)
Definition: list.c:108
RESAMPLE_REDUCE_GAP_THRESHOLD
#define RESAMPLE_REDUCE_GAP_THRESHOLD
Definition: audio_out.c:135
audio_fifo_s::empty
pthread_cond_t empty
Definition: audio_out.c:194
xine_fast_memcpy
void *(* xine_fast_memcpy)(void *to, const void *from, size_t len)
Definition: memcpy.c:60
aos_t::num_anon_streams
int num_anon_streams
Definition: audio_out.c:230
NUM_AUDIO_BUFFERS
#define NUM_AUDIO_BUFFERS
Definition: audio_out.c:95
xine_event_t
Definition: xine.h:1923
xine_get_next_audio_frame
int xine_get_next_audio_frame(xine_audio_port_t *this_gen, xine_audio_frame_t *frame)
Definition: audio_out.c:1964
aos_t::ei_read
int ei_read
Definition: audio_out.c:327
_x_alphablend_init
void _x_alphablend_init(alphablend_t *extra_data, xine_t *xine)
Definition: alphablend.c:2161
aos_t::output
ao_format_t output
Definition: audio_out.c:252
RESAMPLE_SYNC_WINDOW
#define RESAMPLE_SYNC_WINDOW
Definition: audio_out.c:133
xine_rwlock_init_default
#define xine_rwlock_init_default(l)
Definition: xine_private.h:224
aos_t::ei_write
int ei_write
Definition: audio_out.c:326
alphablend_t
Definition: alphablend.h:30
_x_fifo_buffer_new
fifo_buffer_t * _x_fifo_buffer_new(int num_buffers, uint32_t buf_size)
Allocate and initialise new (empty) FIFO buffers.
Definition: buffer.c:873
swap_frame_buffers
static audio_buffer_t * swap_frame_buffers(aos_t *this)
Definition: audio_out.c:1073
xine_s::clock
metronom_clock_t * clock
Definition: xine_internal.h:97
ao_fifo_close
static void ao_fifo_close(audio_fifo_t *fifo)
Definition: audio_out.c:540
buf_element_s::decoder_info
uint32_t decoder_info[5]
Definition: buffer.h:353
DEMUX_OK
#define DEMUX_OK
Definition: demux.h:33
aos_t::driver_action_lock
pthread_mutex_t driver_action_lock
Definition: audio_out.c:222
xine_stream_private_st::first_frame_lock
pthread_mutex_t first_frame_lock
Definition: xine_private.h:504
xine_ticket_s
Definition: tickets.h:53
LOG_RESAMPLE_SYNC
#define LOG_RESAMPLE_SYNC
Definition: audio_out.c:84
aos_t::resend_max
int resend_max
Definition: audio_out.c:315
aos_t::force_rate
uint32_t force_rate
Definition: audio_out.c:257
vo_overlay_s::hili_color
uint32_t hili_color[256]
Definition: video_out.h:501
_x_extra_info_merge
void _x_extra_info_merge(extra_info_t *dst, extra_info_t *src)
Definition: xine.c:122
xine_stream_private_st::s
xine_stream_t s
Definition: xine_private.h:432
SYNC_GAP_RATE_LOG2
#define SYNC_GAP_RATE_LOG2
Definition: audio_out.c:122
aos_t::do_compress
uint32_t do_compress
Definition: audio_out.c:214
config_values_s::register_enum
int(* register_enum)(config_values_t *self, 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.h:135
ao_driver_s::set_property
int(* set_property)(ao_driver_t *, int property, int value)
Definition: audio_out.h:113
BUF_CONTROL_HEADERS_DONE
#define BUF_CONTROL_HEADERS_DONE
Definition: buffer.h:78
ao_status
static int ao_status(xine_audio_port_t *this_gen, xine_stream_t *stream, uint32_t *bits, uint32_t *rate, int *mode)
Definition: audio_out.c:2703
XINE_STREAM_INFO_IGNORE_AUDIO
#define XINE_STREAM_INFO_IGNORE_AUDIO
Definition: xine.h:1026
aos_t::do_equ
uint32_t do_equ
Definition: audio_out.c:217
xx44_paletteIndex
static int xx44_paletteIndex(xx44_palette_t *p, int color, uint32_t clut)
Definition: alphablend.c:1973
ME_FOURCC
#define ME_FOURCC
Definition: bswap.h:148
EQ_BANDS
#define EQ_BANDS
Definition: audio_out.c:152
xine_list_next_value
void * xine_list_next_value(xine_list_t *list, xine_list_iterator_t *ite)
Definition: list.c:197
audio_buffer_s::mem_size
int mem_size
Definition: audio_out.h:149
audio_buffer_s
Definition: audio_out.h:144
ao_exit
static void ao_exit(xine_audio_port_t *this_gen)
Definition: audio_out.c:2364
AO_PROP_EQ_30HZ
#define AO_PROP_EQ_30HZ
Definition: audio_out.h:325
aos_t::grab_only
uint32_t grab_only
Definition: audio_out.c:212
aos_t::out_pts_per_kframe
uint32_t out_pts_per_kframe
Definition: audio_out.c:240
audio_fifo_s::num_waiters
int num_waiters
Definition: audio_out.c:198
xine_stream_private_st::first_frame_reached
pthread_cond_t first_frame_reached
Definition: xine_private.h:505
xine_rwlock_t
#define xine_rwlock_t
Definition: xine_private.h:223
ao_fifo_pop_int
static audio_buffer_t * ao_fifo_pop_int(audio_fifo_t *fifo)
Definition: audio_out.c:616
xine_profiler_allocate_slot
int xine_profiler_allocate_slot(const char *label)
Definition: monitor.c:51
xx44_palette_t::lookup_cache
int lookup_cache[256 *2]
Definition: alphablend.h:60
xine_stream_private_st::stream_info
int stream_info[XINE_STREAM_INFO_MAX]
Definition: xine_private.h:496
INT_TO_SCALED
#define INT_TO_SCALED(i)
Definition: alphablend.c:108
fifo_buffer_s::buffer_pool_alloc
buf_element_t *(* buffer_pool_alloc)(fifo_buffer_t *self)
Definition: buffer.h:617
ao_update_ptoffs
static void ao_update_ptoffs(void *this_gen, xine_cfg_entry_t *entry)
Definition: audio_out.c:2752
AO_CAP_MODE_STEREO
#define AO_CAP_MODE_STEREO
Definition: audio_out.h:283
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
AO_PROP_DRIVER_DELAY
#define AO_PROP_DRIVER_DELAY
Definition: audio_out.h:341
sock_data_write
static int sock_data_write(xine_t *xine, int socket, const void *buf_gen, int len)
Definition: broadcaster.c:126
_x_dispose_xx44_palette
void _x_dispose_xx44_palette(xx44_palette_t *p)
Definition: alphablend.c:1936
aos_t::amp_mute
uint32_t amp_mute
Definition: audio_out.c:216
DISC_STREAMSTART
#define DISC_STREAMSTART
Definition: metronom.h:65
audio_decoder_s::decode_data
void(* decode_data)(audio_decoder_t *this_gen, buf_element_t *buf)
Definition: audio_decoder.h:79
_x_message
int _x_message(xine_stream_t *stream, int type,...)
Definition: xine_interface.c:1000
_x_blend_xx44
void _x_blend_xx44(uint8_t *dst_img, vo_overlay_t *img_overl, int dst_width, int dst_height, int dst_pitch, alphablend_t *extra_data, xx44_palette_t *palette, int ia44)
Definition: alphablend.c:2008
extra_info_s::vpts
int64_t vpts
Definition: buffer.h:327
AO_CAP_MODE_MONO
#define AO_CAP_MODE_MONO
Definition: audio_out.h:281
vo_overlay_s::hili_bottom
int hili_bottom
Definition: video_out.h:498
blend_yuy2_exact
static void blend_yuy2_exact(uint8_t *dst_cr, uint8_t *dst_cb, int src_width, uint8_t *(*blend_yuy2_data)[3])
Definition: alphablend.c:1481
AO_PROP_BUFS_TOTAL
#define AO_PROP_BUFS_TOTAL
Definition: audio_out.h:339
AO_CAP_MODE_5_1CHANNEL
#define AO_CAP_MODE_5_1CHANNEL
Definition: audio_out.h:297
lprintf
#define lprintf(...)
Definition: xineutils.h:620
AO_PROP_NUM_STREAMS
#define AO_PROP_NUM_STREAMS
Definition: audio_out.h:337
vo_overlay_s::hili_top
int hili_top
Definition: video_out.h:497
_x_alphablend_free
void _x_alphablend_free(alphablend_t *extra_data)
Definition: alphablend.c:2180
config_values_s::register_num
int(* register_num)(config_values_t *self, 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.h:145
xine_stream_private_st::side_streams
struct xine_stream_private_st * side_streams[4]
Definition: xine_private.h:489
alphablend_t::disable_exact_blending
int disable_exact_blending
Definition: alphablend.h:34
_x_audio_out_resample_stereotomono
void _x_audio_out_resample_stereotomono(int16_t *input_samples, int16_t *output_samples, uint32_t frames)
Definition: resample.c:351
audio_out.h
vo_overlay_s
Definition: video_out.h:472
AO_PROP_COMPRESSOR
#define AO_PROP_COMPRESSOR
Definition: audio_out.h:321
xine_stream_s::audio_out
xine_audio_port_t *volatile audio_out
Definition: xine_internal.h:141
AO_CTRL_PLAY_RESUME
#define AO_CTRL_PLAY_RESUME
Definition: audio_out.h:347
buf_element_s::next
buf_element_t * next
Definition: buffer.h:338
METRONOM_ADJ_VPTS_OFFSET
#define METRONOM_ADJ_VPTS_OFFSET
Definition: metronom.h:173
vo_overlay_s::hili_trans
uint8_t hili_trans[256]
Definition: video_out.h:502
alphablend_t::offset_y
int offset_y
Definition: alphablend.h:36
_x_blend_yuy2
void _x_blend_yuy2(uint8_t *dst_img, vo_overlay_t *img_overl, int dst_width, int dst_height, int dst_pitch, alphablend_t *extra_data)
Definition: alphablend.c:1602
sIIRCoefficients::beta
int beta
Definition: audio_out.c:160
audio_buffer_s::mem
int16_t * mem
Definition: audio_out.h:148
SYNC_BUF_INTERVAL
#define SYNC_BUF_INTERVAL
Definition: audio_out.c:121
_x_free_audio_decoder
void _x_free_audio_decoder(xine_stream_t *stream, audio_decoder_t *ad)
Definition: load_plugins.c:2793
_x_init_xx44_palette
void _x_init_xx44_palette(xx44_palette_t *p, unsigned num_entries)
Definition: alphablend.c:1931
AO_PROP_CLOCK_SPEED
#define AO_PROP_CLOCK_SPEED
Definition: audio_out.h:338
AO_PROP_MIXER_VOL
#define AO_PROP_MIXER_VOL
Definition: audio_out.h:318
xine_stream_s::audio_channel_auto
int audio_channel_auto
Definition: xine_internal.h:160
aos_t::resample_sync_factor
double resample_sync_factor
Definition: audio_out.c:246
resample_sync_t::last_factor
double last_factor
Definition: audio_out.c:140
aos_t::resend_wrap
int resend_wrap
Definition: audio_out.c:314
XINE_STREAM_INFO_AUDIO_SAMPLERATE
#define XINE_STREAM_INFO_AUDIO_SAMPLERATE
Definition: xine.h:1018
xine_usec_sleep
void xine_usec_sleep(unsigned usec)
Definition: utils.c:546
broadcaster_s::lock
pthread_mutex_t lock
Definition: broadcaster.c:89
BUF_CONTROL_NOP
#define BUF_CONTROL_NOP
Definition: buffer.h:73
_x_free_audio_driver
void _x_free_audio_driver(xine_t *xine, ao_driver_t **pdriver)
Definition: load_plugins.c:2532
SCALED_TO_INT
#define SCALED_TO_INT(sc)
Definition: alphablend.c:109
XINE_META_INFO_AUDIOCODEC
#define XINE_META_INFO_AUDIOCODEC
Definition: xine.h:1069
ao_put_buffer
static void ao_put_buffer(xine_audio_port_t *this_gen, audio_buffer_t *buf, xine_stream_t *stream)
Definition: audio_out.c:2230
_x_ao_mode2channels
int _x_ao_mode2channels(int mode)
Definition: audio_out.c:1082
_x_blend_rgb32
void _x_blend_rgb32(uint8_t *img, vo_overlay_t *img_overl, int img_width, int img_height, int dst_width, int dst_height, alphablend_t *extra_data)
Definition: alphablend.c:899
DISC_ABSOLUTE
#define DISC_ABSOLUTE
Definition: metronom.h:67
_x_get_audio_channel
int _x_get_audio_channel(xine_stream_t *s)
Definition: audio_decoder.c:603
RESAMPLE_MAX_CHANNELS
#define RESAMPLE_MAX_CHANNELS
Definition: resample.h:31
video_out.h
aos_t::num_null_streams
int num_null_streams
Definition: audio_out.c:229
audio_fifo_s::num_buffers
int num_buffers
Definition: audio_out.c:196
resample_sync_t::last_avg_gap
int64_t last_avg_gap
Definition: audio_out.c:144
ao_format_s::rate
uint32_t rate
Definition: audio_out.h:136
OVL_PALETTE_SIZE
#define OVL_PALETTE_SIZE
Definition: video_out.h:280
user_data
static void user_data(vdpau_mpeg4_decoder_t *this_gen, uint8_t *buffer, int len)
Definition: vdpau_mpeg4.c:695
llprintf
#define llprintf(cat,...)
Definition: xineutils.h:642
aos_t::streams_lock
pthread_mutex_t streams_lock
Definition: audio_out.c:234
ao_out_fifo_manual_flush
static void ao_out_fifo_manual_flush(aos_t *this)
Definition: audio_out.c:847
buf_element_s::pts
int64_t pts
Definition: buffer.h:345
BUFTYPE_BASE
#define BUFTYPE_BASE(type)
clut_s::y
uint8_t y
Definition: alphablend.h:47
_x_ao_new_port
xine_audio_port_t * _x_ao_new_port(xine_t *xine, ao_driver_t *driver, int grab_only)
Initialise the audio_out sync routines.
Definition: audio_out.c:2764
EQ_REAL
#define EQ_REAL(x)
Definition: audio_out.c:157
aos_t::compression_factor_max
double compression_factor_max
Definition: audio_out.c:290
demux_plugin_s::get_status
int(* get_status)(demux_plugin_t *this_gen)
Definition: demux.h:149
xx44_palette_t::max_used
unsigned max_used
Definition: alphablend.h:57
aos_t::step_mutex
pthread_mutex_t step_mutex
Definition: audio_out.c:284
xine_stream_s::metronom
metronom_t * metronom
Definition: xine_internal.h:129
aos_t::resend_write
int resend_write
Definition: audio_out.c:313
ao_get_property
static int ao_get_property(xine_audio_port_t *this_gen, int property)
Definition: audio_out.c:2457
vo_overlay_s::hili_right
int hili_right
Definition: video_out.h:500
ao_free_fifo_append
static void ao_free_fifo_append(aos_t *this, audio_buffer_t *buf)
Definition: audio_out.c:603
AO_PROP_PCM_VOL
#define AO_PROP_PCM_VOL
Definition: audio_out.h:319
broadcaster_s::running
int running
Definition: broadcaster.c:91
XINE_STREAM_INFO_AUDIO_BITRATE
#define XINE_STREAM_INFO_AUDIO_BITRATE
Definition: xine.h:1019
BUF_CONTROL_BASE
#define BUF_CONTROL_BASE
Definition: buffer.h:68
NULL
NULL
Definition: xine_plugin.c:78
AO_PROP_EQ_500HZ
#define AO_PROP_EQ_500HZ
Definition: audio_out.h:329
xine_stream_private_st::current_extra_info
extra_info_t * current_extra_info
Definition: xine_private.h:541
ao_driver_unlock
static void ao_driver_unlock(aos_t *this)
Definition: audio_out.c:352
xine_event_send
void xine_event_send(xine_stream_t *s, const xine_event_t *event)
Definition: events.c:194
audio_buffer_s::extra_info
extra_info_t * extra_info
Definition: audio_out.h:157
BLEND_COLOR
#define BLEND_COLOR(dst, src, mask, o)
Definition: alphablend.c:45
XINE_VERBOSITY_LOG
#define XINE_VERBOSITY_LOG
Definition: xine.h:425
resample_sync_t::last_vpts
uint64_t last_vpts
Definition: audio_out.c:143
_x_assert
#define _x_assert(exp)
Definition: xineutils.h:550
fifo_buffer_s::unregister_put_cb
void(* unregister_put_cb)(fifo_buffer_t *fifo, void(*cb)(fifo_buffer_t *fifo, buf_element_t *buf, void *))
Definition: buffer.h:635
_x_audio_out_resample_mono
void _x_audio_out_resample_mono(int16_t *last_sample, int16_t *input_samples, uint32_t in_samples, int16_t *output_samples, uint32_t out_samples)
Definition: resample.c:32
ao_change_settings
static int ao_change_settings(aos_t *this, xine_stream_t *stream, uint32_t bits, uint32_t rate, int mode)
Definition: audio_out.c:2094
fifo_buffer_s
Definition: buffer.h:581
mem_blend16
static void mem_blend16(uint16_t *mem, uint16_t clr, uint8_t o, int len)
Definition: alphablend.c:58
_x_freep
static void _x_freep(void *ptr)
Definition: xineutils.h:263
BUF_CONTROL_DISCONTINUITY
#define BUF_CONTROL_DISCONTINUITY
Definition: buffer.h:72
EQ_CHANNELS
#define EQ_CHANNELS
Definition: audio_out.c:153
XINE_PARAM_VO_SINGLE_STEP
#define XINE_PARAM_VO_SINGLE_STEP
Definition: xine.h:394
saturate
#define saturate(v)
Definition: alphablend.c:2187
aos_t::in_channels
uint32_t in_channels
Definition: audio_out.c:239
aos_t::resample_sync_info
resample_sync_t resample_sync_info
Definition: audio_out.c:245
blend_yuv_grow_extra_data
static uint8_t *(* blend_yuv_grow_extra_data(alphablend_t *extra_data, int osd_width))[3]
Definition: alphablend.c:1114
memblend_xx44
static void memblend_xx44(uint8_t *mem, uint8_t val, register size_t size, uint8_t mask)
Definition: alphablend.c:1995
aos_t::zero_space
int16_t * zero_space
Definition: audio_out.c:277
INT8_MIN
#define INT8_MIN
Definition: goomsl_lex.c:53
_x_abort
#define _x_abort()
Definition: xine_mpeg2new_decoder.c:50
INT16_MIN
#define INT16_MIN
Definition: goomsl_lex.c:56
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
AO_PROP_DISCARD_BUFFERS
#define AO_PROP_DISCARD_BUFFERS
Definition: audio_out.h:322
xine_rwlock_rdlock
#define xine_rwlock_rdlock(l)
Definition: xine_private.h:225
aos_t::resend_frame_size
int resend_frame_size
Definition: audio_out.c:312
AO_PROP_BUFS_IN_FIFO
#define AO_PROP_BUFS_IN_FIFO
Definition: audio_out.h:323
_x_stream_info_set
void _x_stream_info_set(xine_stream_t *s, int info, int value)
Definition: info_helper.c:79
_x_set_socket_close_on_exec
int _x_set_socket_close_on_exec(int s)
Definition: utils.c:805
aos_t::resend_rate
uint32_t resend_rate
Definition: audio_out.c:309
xx44_palette_t::cluts
uint32_t cluts[32]
Definition: alphablend.h:58
_BUFSIZ
#define _BUFSIZ
Definition: broadcaster.c:80
send_buf
static void send_buf(broadcaster_t *this, const char *from, buf_element_t *buf)
Definition: broadcaster.c:264
ao_open
static int ao_open(xine_audio_port_t *this_gen, xine_stream_t *s, uint32_t bits, uint32_t rate, int mode)
Definition: audio_out.c:2157
_
#define _(String)
Definition: vcdplayer.h:39
iir_cf
static const sIIRCoefficients iir_cf[]
Definition: audio_out.c:165
xine_profiler_stop_count
void xine_profiler_stop_count(int id)
Definition: monitor.c:96
aos_t::wake_now
int wake_now
Definition: audio_out.c:267
config_values_s
Definition: configfile.h:83
_x_close_broadcaster
void _x_close_broadcaster(broadcaster_t *this_gen)
Definition: broadcaster.c:381
_x_audio_decoder_shutdown
void _x_audio_decoder_shutdown(xine_stream_t *s)
Definition: audio_decoder.c:578
buf_element_s::disc_off
int64_t disc_off
Definition: buffer.h:346
audio_fifo_s::mutex
pthread_mutex_t mutex
Definition: audio_out.c:192
vo_overlay_s::rle
rle_elem_t * rle
Definition: video_out.h:474
metronom.h
rle_elem_s::len
uint16_t len
Definition: video_out.h:459
AO_CAP_8BITS
#define AO_CAP_8BITS
Definition: audio_out.h:311
xine_stream_private_st::audio_decoder_extra_info
extra_info_t * audio_decoder_extra_info
Definition: xine_private.h:462
aos_t::dropped
int dropped
Definition: audio_out.c:282
xine_stream_private_st::header_count_video
int header_count_video
Definition: xine_private.h:517
vo_overlay_s::num_rle
int num_rle
Definition: video_out.h:476
xine_stream_s::video_fifo
fifo_buffer_t * video_fifo
Definition: xine_internal.h:138
aos_t::out_channels
uint32_t out_channels
Definition: audio_out.c:242
audio_fifo_s::add
audio_buffer_t ** add
Definition: audio_out.c:190
XINE_FORMAT_PRINTF
static int XINE_FORMAT_PRINTF(3, 4)
Definition: broadcaster.c:153
xine_private_t
Definition: xine_private.h:400
XX44_PALETTE_SIZE
#define XX44_PALETTE_SIZE
Definition: alphablend.h:53
RESEND_BUF_SIZE
#define RESEND_BUF_SIZE
Definition: audio_out.c:305
metronom_s::got_audio_samples
int64_t(* got_audio_samples)(metronom_t *self, int64_t pts, int nsamples)
Definition: metronom.h:108
ao_eq_update
static void ao_eq_update(aos_t *this)
Definition: audio_out.c:1207
AO_PROP_EQ_125HZ
#define AO_PROP_EQ_125HZ
Definition: audio_out.h:327
ao_loop
static void * ao_loop(void *this_gen)
Definition: audio_out.c:1590
aos_t::driver_open
uint32_t driver_open
Definition: audio_out.c:218
config_values_s::register_range
int(* register_range)(config_values_t *self, 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.h:125
AO_CAP_MODE_5CHANNEL
#define AO_CAP_MODE_5CHANNEL
Definition: audio_out.h:295
aos_t::free_fifo
audio_fifo_t free_fifo
Definition: audio_out.c:259
xine_stream_private_st::video_seek_count
int video_seek_count
Definition: xine_private.h:543
xine_private.h
Declaration of internal, private functions for xine-lib.
aos_t::slow_fast_audio
int slow_fast_audio
Definition: audio_out.c:273
XINE_LOG_MSG
#define XINE_LOG_MSG
Definition: xine_internal.h:64
resample_sync_t::window
int window
Definition: audio_out.c:141
INT16_MAX
#define INT16_MAX
Definition: goomsl_lex.c:65
XINE_STREAM_INFO_AUDIO_BITS
#define XINE_STREAM_INFO_AUDIO_BITS
Definition: xine.h:1017
AO_PROP_PTS_IN_FIFO
#define AO_PROP_PTS_IN_FIFO
Definition: audio_out.h:342
xine_list_s
Definition: list.c:51
aos_t::seek_count3
int seek_count3
Definition: audio_out.c:321
aos_t::resend_speed
uint32_t resend_speed
Definition: audio_out.c:308
resample_sync_t::reduce_gap
int reduce_gap
Definition: audio_out.c:142
_x_meta_info_set_utf8
void _x_meta_info_set_utf8(xine_stream_t *s, int info, const char *str)
Definition: info_helper.c:341
colorToPalette
static void colorToPalette(const uint32_t *icolor, unsigned char *palette_p, unsigned num_xvmc_components, const char *xvmc_components)
Definition: alphablend.c:1941
ao_update_resample_factor
static int ao_update_resample_factor(aos_t *this)
Definition: audio_out.c:2051
xine_audio_port_s::get_property
int(* get_property)(xine_audio_port_t *, int property)
Definition: audio_out.h:179
buf_element_s
Definition: buffer.h:337
ao_update_slow_fast
static void ao_update_slow_fast(void *this_gen, xine_cfg_entry_t *entry)
Definition: audio_out.c:2758
ao_free_fifo_get
static audio_buffer_t * ao_free_fifo_get(aos_t *this)
Definition: audio_out.c:786
_x_buf_audio_name
const char * _x_buf_audio_name(uint32_t buf_type)
Returns audio codec name given the buffer type.
Definition: buffer_types.c:594
aos_t::resample_sync_method
int resample_sync_method
Definition: audio_out.c:248
aos_t::compression_factor
double compression_factor
Definition: audio_out.c:289
audio_fifo_s
Definition: audio_out.c:188
aos_t::resend_mode
int resend_mode
Definition: audio_out.c:311
_x_init_broadcaster
broadcaster_t * _x_init_broadcaster(xine_stream_t *stream, int port)
Definition: broadcaster.c:313
aos_t::resend_vpts
int64_t resend_vpts
Definition: audio_out.c:307
audio_buffer_s::vpts
int64_t vpts
Definition: audio_out.h:152
_x_audio_out_resample_stereo
void _x_audio_out_resample_stereo(int16_t *last_sample, int16_t *input_samples, uint32_t in_samples, int16_t *output_samples, uint32_t out_samples)
Definition: resample.c:70
XINE_VERBOSITY_DEBUG
#define XINE_VERBOSITY_DEBUG
Definition: xine.h:426
vo_overlay_s::width
int width
Definition: video_out.h:479
ao_resend_store
static void ao_resend_store(aos_t *this, audio_buffer_t *buf)
Definition: audio_out.c:925
buffer.h
ao_set_property
static int ao_set_property(xine_audio_port_t *this_gen, int property, int value)
Definition: audio_out.c:2535
AO_CAP_PCM_VOL
#define AO_CAP_PCM_VOL
Definition: audio_out.h:309
aos_t::pts_in_out_fifo
uint32_t pts_in_out_fifo
Definition: audio_out.c:261
metronom_clock_s::register_speed_change_callback
void(* register_speed_change_callback)(metronom_clock_t *self, xine_speed_change_cb_t *callback, void *user_data)
Definition: metronom.h:287
xine_rwlock_unlock
#define xine_rwlock_unlock(l)
Definition: xine_private.h:231
_x_get_audio_decoder
audio_decoder_t * _x_get_audio_decoder(xine_stream_t *stream, uint8_t stream_type)
Definition: load_plugins.c:2730
ao_out_fifo_get
static audio_buffer_t * ao_out_fifo_get(aos_t *this, audio_buffer_t *buf)
Definition: audio_out.c:637
_x_audio_out_resample_monotostereo
void _x_audio_out_resample_monotostereo(int16_t *input_samples, int16_t *output_samples, uint32_t frames)
Definition: resample.c:339
ensure_buffer_size
static void ensure_buffer_size(audio_buffer_t *buf, int bytes_per_frame, int frames)
Definition: audio_out.c:1061
_x_ao_channels2mode
int _x_ao_channels2mode(int channels)
Definition: audio_out.c:1098
audio_put_cb
static void audio_put_cb(fifo_buffer_t *fifo, buf_element_t *buf, void *this_gen)
Definition: broadcaster.c:304
resample_sync_t
Definition: audio_out.c:139
BUFTYPE_SUB
#define BUFTYPE_SUB(type)
xine_nbc_event
void xine_nbc_event(xine_stream_private_t *stream, uint32_t type)
Definition: net_buf_ctrl.c:352
xine_stream_private_st::audio_thread_created
uint32_t audio_thread_created
Definition: xine_private.h:437
audio_buffer_s::format
ao_format_t format
Definition: audio_out.h:161
_x_dummy_fifo_buffer_new
fifo_buffer_t * _x_dummy_fifo_buffer_new(int num_buffers, uint32_t buf_size)
Allocate and initialise new dummy FIFO buffers.
Definition: buffer.c:965
AUDIO_TRACK_MAP_MAX
#define AUDIO_TRACK_MAP_MAX
BUF_CONTROL_END
#define BUF_CONTROL_END
Definition: buffer.h:70
AUDIO_TRACK_MAP_END
#define AUDIO_TRACK_MAP_END
xine_stream_private_st::audio_type
uint32_t audio_type
Definition: xine_private.h:464
aos_t::done_stepping
pthread_cond_t done_stepping
Definition: audio_out.c:285
_x_get_broadcaster_port
int _x_get_broadcaster_port(broadcaster_t *this_gen)
Definition: broadcaster.c:412
AUDIO_TRACK_MAP_MASK
#define AUDIO_TRACK_MAP_MASK
mem_blend8
static void mem_blend8(uint8_t *mem, uint8_t val, uint8_t o, size_t sz)
Definition: alphablend.c:49
broadcaster_s
Definition: broadcaster.c:82
_x_audio_decoder_init
int _x_audio_decoder_init(xine_stream_t *s)
Definition: audio_decoder.c:499
aos_t::resend_bits
uint32_t resend_bits
Definition: audio_out.c:310
RESAMPLE_MAX_GAP_DIFF
#define RESAMPLE_MAX_GAP_DIFF
Definition: audio_out.c:134
broadcaster_s::port
int port
Definition: broadcaster.c:84
xine_freep_aligned
#define xine_freep_aligned(xinefreepptr)
Definition: xineutils.h:294
ffmpeg_bswap.h
PTR_IN_RANGE
#define PTR_IN_RANGE(_ptr, _start, _size)
Definition: xine_private.h:393
AO_PROP_CLOSE_DEVICE
#define AO_PROP_CLOSE_DEVICE
Definition: audio_out.h:335
audio_filter_equalize
static void audio_filter_equalize(aos_t *this, int16_t *data, int num_frames)
Definition: audio_out.c:1260
resample_sync_t::recent_gap
int64_t recent_gap[8]
Definition: audio_out.c:144
AO_PROP_EQ_2000HZ
#define AO_PROP_EQ_2000HZ
Definition: audio_out.h:331
xine_stream_private_st::audio_decoder_plugin
audio_decoder_t * audio_decoder_plugin
Definition: xine_private.h:461
xine_cfg_entry_s
Definition: xine.h:1632
prepare_samples
static audio_buffer_t * prepare_samples(aos_t *this, audio_buffer_t *buf)
Definition: audio_out.c:1302
xine_cfg_entry_s::num_value
int num_value
Definition: xine.h:1653
xine_stream_private_st::audio_track_map_entries
int audio_track_map_entries
Definition: xine_private.h:457
vo_overlay_s::hili_left
int hili_left
Definition: video_out.h:499
ao_driver_s
Definition: audio_out.h:43
vo_overlay_s::trans
uint8_t trans[256]
Definition: video_out.h:493
ao_driver_s::get_property
int(* get_property)(ao_driver_t *, int property)
Definition: audio_out.h:111
DISC_RELATIVE
#define DISC_RELATIVE
Definition: metronom.h:66
aos_t::seek_count1
int seek_count1
Definition: audio_out.c:268
aos_t::xine
xine_private_t * xine
Definition: audio_out.c:226
ao_force_unref_all
static void ao_force_unref_all(aos_t *this, int lock)
Definition: audio_out.c:499
broadcaster_s::manager_thread
pthread_t manager_thread
Definition: broadcaster.c:88
xine_audio_port_s
Definition: audio_out.h:172
mode
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
aos_t::resample_conf
int resample_conf
Definition: audio_out.c:256
xine_stream_private_st::current_extra_info_lock
pthread_mutex_t current_extra_info_lock
Definition: xine_private.h:542
abs
#define abs(x)
Definition: xine_ogg_demuxer.c:349
BUF_CONTROL_AUDIO_CHANNEL
#define BUF_CONTROL_AUDIO_CHANNEL
Definition: buffer.h:74
_x_clear_xx44_palette
void _x_clear_xx44_palette(xx44_palette_t *p)
Definition: alphablend.c:1916
AO_PROP_EQ_4000HZ
#define AO_PROP_EQ_4000HZ
Definition: audio_out.h:332
buf_element_s::free_buffer
void(* free_buffer)(buf_element_t *buf)
Definition: buffer.h:357
sIIRCoefficients
Definition: audio_out.c:159
xine_stream_private_st::audio_thread
pthread_t audio_thread
Definition: xine_private.h:460
aos_t::num_driver_actions
int num_driver_actions
Definition: audio_out.c:220
audio_fifo_s::first
audio_buffer_t * first
Definition: audio_out.c:189
aos_t::driver_caps
int driver_caps
Definition: audio_out.c:306
aos_t::streams_size
int streams_size
Definition: audio_out.c:232
_x_blend_yuv
void _x_blend_yuv(uint8_t *dst_base[3], vo_overlay_t *img_overl, int dst_width, int dst_height, int dst_pitches[3], alphablend_t *extra_data)
Definition: alphablend.c:1155
ao_update_av_sync_method
static void ao_update_av_sync_method(void *this_gen, xine_cfg_entry_t *entry)
Definition: audio_out.c:2731
audio_filter_compress
static void audio_filter_compress(aos_t *this, int16_t *mem, int num_frames)
Definition: audio_out.c:1113
now
static int now(void)
Definition: xine_goom.c:382
ao_out_fifo_reref_append
static void ao_out_fifo_reref_append(aos_t *this, audio_buffer_t *buf, int is_first)
Definition: audio_out.c:553
buf_element_s::decoder_info_ptr
void * decoder_info_ptr[5]
Definition: buffer.h:355
EI_RING_SIZE
#define EI_RING_SIZE
Definition: audio_out.c:325
xine_refs_sub
static int xine_refs_sub(xine_refs_t *refs, int n)
Definition: xine_private.h:134
resample.h
_x_stream_info_get
uint32_t _x_stream_info_get(xine_stream_t *s, int info)
Definition: info_helper.c:100
BUF_CONTROL_START
#define BUF_CONTROL_START
Definition: buffer.h:69
INT8_MAX
#define INT8_MAX
Definition: goomsl_lex.c:62
ao_driver_lock
static void ao_driver_lock(aos_t *this)
Definition: audio_out.c:333
xx44_palette_t::size
unsigned size
Definition: alphablend.h:56
ao_get_capabilities
static uint32_t ao_get_capabilities(xine_audio_port_t *this_gen)
Definition: audio_out.c:2438
BUF_AUDIO_BASE
#define BUF_AUDIO_BASE
Definition: buffer.h:206
audio_filter_amp
static void audio_filter_amp(aos_t *this, void *buf, int num_frames)
Definition: audio_out.c:1156
AO_PROP_EQ_16000HZ
#define AO_PROP_EQ_16000HZ
Definition: audio_out.h:334
fifo_buffer_s::register_put_cb
void(* register_put_cb)(fifo_buffer_t *fifo, void(*cb)(fifo_buffer_t *fifo, buf_element_t *buf, void *), void *cb_data)
Definition: buffer.h:632
bswap.h
BUF_CONTROL_NEWPTS
#define BUF_CONTROL_NEWPTS
Definition: buffer.h:76
buf_element_s::content
unsigned char * content
Definition: buffer.h:341
vo_overlay_s::x
int x
Definition: video_out.h:477
SCHED_OTHER
#define SCHED_OTHER
Definition: video_decoder.c:48
aos_t::ao
xine_audio_port_t ao
Definition: audio_out.c:203
XINE_ANON_STREAM
#define XINE_ANON_STREAM
Definition: xine_internal.h:173
aos_t::audio_step
uint32_t audio_step
Definition: audio_out.c:238
xine_private_t::port_ticket
xine_ticket_t * port_ticket
Definition: xine_private.h:403
AO_CTRL_PLAY_PAUSE
#define AO_CTRL_PLAY_PAUSE
Definition: audio_out.h:346
resample_rate_adjust
static int resample_rate_adjust(aos_t *this, int64_t gap, audio_buffer_t *buf)
Definition: audio_out.c:1457
rle_img_advance_line
static rle_elem_t * rle_img_advance_line(rle_elem_t *rle, rle_elem_t *rle_limit, int w)
Definition: alphablend.c:113
XINE_STREAM_INFO_AUDIO_CHANNELS
#define XINE_STREAM_INFO_AUDIO_CHANNELS
Definition: xine.h:1016
aos_t::audio_thread
pthread_t audio_thread
Definition: audio_out.c:236
STREAMS_DEFAULT_SIZE
#define STREAMS_DEFAULT_SIZE
Definition: audio_out.c:228
ao_out_fifo_loop_flush
static void ao_out_fifo_loop_flush(aos_t *this)
Definition: audio_out.c:867
extra_info_s
Structure to pass information from input or demuxer plugins to output frames (past decoder).
Definition: buffer.h:317
xine_stream_s::audio_fifo
fifo_buffer_t * audio_fifo
Definition: xine_internal.h:144
XINE_EVENT_UI_CHANNELS_CHANGED
#define XINE_EVENT_UI_CHANNELS_CHANGED
Definition: xine.h:1815
sock_check_opened
static int sock_check_opened(int socket)
Definition: broadcaster.c:97
xine_rwlock_wrlock
#define xine_rwlock_wrlock(l)
Definition: xine_private.h:228
xine_stream_private_st::finished_count_audio
int finished_count_audio
Definition: xine_private.h:518
fifo_buffer_s::dispose
void(* dispose)(fifo_buffer_t *fifo)
Definition: buffer.h:608
_x_free_buf_elements
void _x_free_buf_elements(buf_element_t *head)
Free chained list of buffer elements.
Definition: buffer.c:974
ao_driver_s::get_gap_tolerance
int(* get_gap_tolerance)(ao_driver_t *self_gen)
Definition: audio_out.h:79
xine_internal.h
_x_audio_out_resample_4channel
void _x_audio_out_resample_4channel(int16_t *last_sample, int16_t *input_samples, uint32_t in_samples, int16_t *output_samples, uint32_t out_samples)
Definition: resample.c:115
AO_PROP_BUFS_FREE
#define AO_PROP_BUFS_FREE
Definition: audio_out.h:340
aos_t::dreqs_wait
int dreqs_wait
Definition: audio_out.c:208
metronom_clock_s::speed
int speed
Definition: metronom.h:284
ao_resend_fill
static void ao_resend_fill(aos_t *this, int64_t pts_len, int64_t end_time)
Definition: audio_out.c:997
manager_loop
static void * manager_loop(void *this_gen)
Definition: broadcaster.c:214
ao_streams_open
static void ao_streams_open(aos_t *this)
Definition: audio_out.c:378
aos_t::driver
ao_driver_t * driver
Definition: audio_out.c:206
metronom_s::set_audio_rate
void(* set_audio_rate)(metronom_t *self, int64_t pts_per_smpls)
Definition: metronom.h:79
_x_xx44_to_xvmc_palette
void _x_xx44_to_xvmc_palette(const xx44_palette_t *p, unsigned char *xvmc_palette, unsigned first_xx44_entry, unsigned num_xx44_entries, unsigned num_xvmc_components, const char *xvmc_components)
Definition: alphablend.c:1958
aos_t::num_streams
int num_streams
Definition: audio_out.c:231
XINE_STREAM_INFO_AUDIO_MODE
#define XINE_STREAM_INFO_AUDIO_MODE
Definition: xine.h:1031
buf_element_s::decoder_flags
uint32_t decoder_flags
Definition: buffer.h:350
config.h
ao_control
static int ao_control(xine_audio_port_t *this_gen, int cmd,...)
Definition: audio_out.c:2671
AO_PROP_EQ_8000HZ
#define AO_PROP_EQ_8000HZ
Definition: audio_out.h:333
ao_unref_obsolete
static void ao_unref_obsolete(aos_t *this)
Definition: audio_out.c:457
sIIRCoefficients::gamma
int gamma
Definition: audio_out.c:162
_x_audio_out_resample_8to16
void _x_audio_out_resample_8to16(int8_t *input_samples, int16_t *output_samples, uint32_t samples)
Definition: resample.c:315
ao_resend_init
static void ao_resend_init(aos_t *this)
Definition: audio_out.c:887
xine_stream_private_st::info_lock
pthread_mutex_t info_lock
Definition: xine_private.h:495
xine_event_t::type
int type
Definition: xine.h:1929
SYNC_TIME_INTERVAL
#define SYNC_TIME_INTERVAL
Definition: audio_out.c:120
BUF_FLAG_GAPLESS_SW
#define BUF_FLAG_GAPLESS_SW
Definition: buffer.h:408
xine_stream_private_st::keep_ao_driver_open
uint32_t keep_ao_driver_open
Definition: xine_private.h:444
BUF_FLAG_SEEK
#define BUF_FLAG_SEEK
Definition: buffer.h:392
AO_PROP_EQ_250HZ
#define AO_PROP_EQ_250HZ
Definition: audio_out.h:328
xine_stream_private_st::refs
xine_refs_t refs
Definition: xine_private.h:556
AO_CAP_NOCAP
#define AO_CAP_NOCAP
Definition: audio_out.h:277
BUF_CONTROL_RESET_DECODER
#define BUF_CONTROL_RESET_DECODER
Definition: buffer.h:77
XINE_SPEED_PAUSE
#define XINE_SPEED_PAUSE
Definition: xine.h:364
BUF_AUDIO_UNKNOWN
#define BUF_AUDIO_UNKNOWN
Definition: buffer.h:207
xine_list_remove
void xine_list_remove(xine_list_t *list, xine_list_iterator_t position)
Definition: list.c:246
aos_t::dreqs_all
int dreqs_all
Definition: audio_out.c:207
xx44_palette_t
Definition: alphablend.h:55
buf_element_s::type
uint32_t type
Definition: buffer.h:362
rle_elem_s::color
uint16_t color
Definition: video_out.h:460
ao_format_s::bits
uint32_t bits
Definition: audio_out.h:135
_x_clut_yuv2rgb
void _x_clut_yuv2rgb(uint32_t *clut, int num_items, int color_matrix)
Definition: alphablend.c:2189
xine_stream_private_st::counter_lock
pthread_mutex_t counter_lock
Definition: xine_private.h:514
resample_sync_t::window_duration
uint64_t window_duration
Definition: audio_out.c:143
aos_t::frame_rate_factor
double frame_rate_factor
Definition: audio_out.c:253
aos_t::do_amp
uint32_t do_amp
Definition: audio_out.c:215
aos_t::step
int step
Definition: audio_out.c:283
xine_rwlock_destroy
#define xine_rwlock_destroy(l)
Definition: xine_private.h:232
ao_ticket_revoked
static void ao_ticket_revoked(void *user_data, int flags)
Definition: audio_out.c:778
audio_fifo_s::not_empty
pthread_cond_t not_empty
Definition: audio_out.c:193
vo_overlay_s::y
int y
Definition: video_out.h:478
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
aos_t::use_wake_time
int use_wake_time
Definition: audio_out.c:266
mem_blend24
static void mem_blend24(uint8_t *mem, uint8_t r, uint8_t g, uint8_t b, uint8_t o, int len)
Definition: alphablend.c:69
aos_t::resend_buf
uint8_t * resend_buf
Definition: audio_out.c:316
sat16
#define sat16(v)
Definition: audio_out.c:1258
clut_s
Definition: alphablend.h:44
_x_extra_info_reset
void _x_extra_info_reset(extra_info_t *extra_info)
Definition: xine.c:118
alphablend_t::offset_x
int offset_x
Definition: alphablend.h:36
ao_get_buffer
static audio_buffer_t * ao_get_buffer(xine_audio_port_t *this_gen)
Definition: audio_out.c:2217
AO_PROP_AMP_MUTE
#define AO_PROP_AMP_MUTE
Definition: audio_out.h:336
mem_blend32
static void mem_blend32(uint8_t *mem, const uint8_t *src, uint8_t o, int len)
Definition: alphablend.c:82
XINE_VERBOSITY_NONE
#define XINE_VERBOSITY_NONE
Definition: xine.h:424
broadcaster_s::msock
int msock
Definition: broadcaster.c:85
alphablend_disable_exact_osd_alpha_blending_changed
static void alphablend_disable_exact_osd_alpha_blending_changed(void *user_data, xine_cfg_entry_t *entry)
Definition: alphablend.c:2154
audio_buffer_s::stream
xine_stream_t * stream
Definition: audio_out.h:159
XINE_NBC_EVENT_AUDIO_DRY
#define XINE_NBC_EVENT_AUDIO_DRY
Definition: xine_private.h:575
_x_audio_out_resample_16to8
void _x_audio_out_resample_16to8(int16_t *input_samples, int8_t *output_samples, uint32_t samples)
Definition: resample.c:327
aos_t::gap_tolerance
int gap_tolerance
Definition: audio_out.c:250
FP_FRBITS
#define FP_FRBITS
Definition: audio_out.c:155
input
static int input(void)
Definition: goomsl_lex.c:1495
aos_t::out_frames_per_kpts
uint32_t out_frames_per_kpts
Definition: audio_out.c:241
xine_stream_private_st::audio_channel_user
int audio_channel_user
Definition: xine_private.h:469
ao_driver_s::close
void(* close)(ao_driver_t *)
Definition: audio_out.h:95
audio_buffer_s::next
audio_buffer_t * next
Definition: audio_out.h:146
_x_meta_info_get
const char * _x_meta_info_get(xine_stream_t *s, int info)
Definition: info_helper.c:414
alphablend_t::buffer_size
unsigned int buffer_size
Definition: alphablend.h:32
aos_t::amp_factor
double amp_factor
Definition: audio_out.c:291
QLEN
#define QLEN
Definition: broadcaster.c:79
_x_blend_rgb16
void _x_blend_rgb16(uint8_t *img, vo_overlay_t *img_overl, int img_width, int img_height, int dst_width, int dst_height, alphablend_t *extra_data)
Definition: alphablend.c:560
ao_fifo_open
static void ao_fifo_open(audio_fifo_t *fifo)
Definition: audio_out.c:527
xine_stream_private_st::early_finish_event
uint32_t early_finish_event
Definition: xine_private.h:442
aos_t::current_speed_lock
pthread_mutex_t current_speed_lock
Definition: audio_out.c:271
alphablend.h
xine_free_aligned
void xine_free_aligned(void *ptr)
Definition: utils.c:882
xine_stream_private_st::counter_changed
pthread_cond_t counter_changed
Definition: xine_private.h:515
audio_fifo_s::num_buffers_max
int num_buffers_max
Definition: audio_out.c:197
ao_format_s
Definition: audio_out.h:134
BUF_CONTROL_QUIT
#define BUF_CONTROL_QUIT
Definition: buffer.h:71
aos_t::last_gap
int last_gap
Definition: audio_out.c:300
aos_t::do_resample
uint32_t do_resample
Definition: audio_out.c:213
AO_PROP_EQ_1000HZ
#define AO_PROP_EQ_1000HZ
Definition: audio_out.h:330
aos_t::seek_count2
int seek_count2
Definition: audio_out.c:320
aos_t::current_speed
uint32_t current_speed
Definition: audio_out.c:272
AO_CAP_MODE_AC5
#define AO_CAP_MODE_AC5
Definition: audio_out.h:279
XINE_MSG_AUDIO_OUT_UNAVAILABLE
#define XINE_MSG_AUDIO_OUT_UNAVAILABLE
Definition: xine.h:2202
xine_stream_private_st::video_thread_created
uint32_t video_thread_created
Definition: xine_private.h:436
AO_PROP_AMP
#define AO_PROP_AMP
Definition: audio_out.h:324
bits
#define bits
xprintf
#define xprintf(xine, verbose,...)
Definition: xineutils.h:664
fifo_buffer_s::tget
buf_element_t *(* tget)(fifo_buffer_t *fifo, xine_ticket_t *ticket)
Definition: buffer.h:669
AO_PROP_EQ_60HZ
#define AO_PROP_EQ_60HZ
Definition: audio_out.h:326
_x_load_audio_output_plugin
ao_driver_t * _x_load_audio_output_plugin(xine_t *this, const char *id)
Definition: load_plugins.c:2442
xine_stream_private_st
Definition: xine_private.h:431
ao_flush_driver
static void ao_flush_driver(aos_t *this)
Definition: audio_out.c:356
aos_t::last_sgap
int last_sgap
Definition: audio_out.c:301
xine_list_elem_s
Definition: list.c:37
rle_elem_s
Definition: video_out.h:458
aos_t::last_audio_vpts
int64_t last_audio_vpts
Definition: audio_out.c:270
extra_info_s::invalid
int invalid
Definition: buffer.h:329
vo_overlay_s::height
int height
Definition: video_out.h:480
xine_gettime
static int xine_gettime(struct timespec *ts)
Definition: xine_private.h:238
clut_s::cr
uint8_t cr
Definition: alphablend.h:46
extra_info_s::seek_count
int seek_count
Definition: buffer.h:326
config_values_s::register_bool
int(* register_bool)(config_values_t *self, 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.h:154
aos_t::base_samp
uint8_t * base_samp
Definition: audio_out.c:318
ao_speed_change_cb
static void ao_speed_change_cb(void *this_gen, int new_speed)
Definition: audio_out.c:2319