Go to the documentation of this file.
19 # error "Never use <window.h> directly; include <dsp.h> instead"
Definition: xine_internal.h:80
#define _x_post_dec_usage(port)
Definition: post.h:406
#define MUL_INIT
Definition: volnorm.c:57
xine_t * xine
Definition: xine_internal.h:126
int num_frames
Definition: audio_out.h:150
static void method2_float(post_plugin_volnorm_t *this, audio_buffer_t *buf)
Definition: volnorm.c:313
int cut_off_freq
Definition: upmix.c:78
int method
Definition: volnorm.c:95
#define START_PARAM_DESCR(param_t)
Definition: post.h:431
static post_plugin_t * stretch_open_plugin(post_class_t *class_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target)
Definition: stretch.c:600
Definition: xine_internal.h:123
void hamming(int n, _ftype_t *w)
void(* unregister_scr)(metronom_clock_t *self, scr_plugin_t *scr)
Definition: metronom.h:262
#define XINE_FINE_SPEED_NORMAL
Definition: xine.h:372
#define XINE_MALLOC
Definition: attributes.h:139
PARAM_ITEM(POST_PARAM_TYPE_BOOL, preserve_pitch, PARAM_ITEM(NULL, PARAM_ITEM(0, 1, PARAM_ITEM(0, "Preserve pitch")
Definition: stretch.c:199
PARAM_ITEM(POST_PARAM_TYPE_INT, channel, NULL, -1, 5, 0, "Select channel to upmix (duplicate) to stereo") typedef struct post_plugin_upmix_mono_s post_plugin_upmix_mono_t
int channels
Definition: upmix_mono.c:63
Definition: metronom.h:309
void triang(int n, float *w)
Definition: window.c:50
post_audio_port_t * _x_post_intercept_audio_port(post_plugin_t *post, xine_audio_port_t *original, post_in_t **input, post_out_t **output)
Definition: post.c:993
void hanning(int n, _ftype_t *w)
void flattop(int n, float *w)
Definition: window.c:129
scr_plugin_t scr
Definition: stretch.c:51
static int set_parameters(xine_post_t *this_gen, const void *param_gen)
Definition: upmix.c:104
#define IIR(in, w, q, out)
Definition: upmix.c:67
void(* close)(xine_audio_port_t *self, xine_stream_t *stream)
Definition: audio_out.h:205
static char * get_help(void)
Definition: upmix.c:129
Definition: upmix_mono.c:44
#define LOG_MODULE
Definition: upmix_mono.c:33
void kaiser(int n, float *w, float b)
Definition: window.c:192
struct stretch_parameters_s stretch_parameters_t
void xine_list_push_back(xine_list_t *list, void *value)
Definition: list.c:162
post_plugin_t post
Definition: upmix_mono.c:60
float w[2][4]
Definition: upmix.c:60
metronom_clock_t * clock
Definition: xine_internal.h:97
#define AUDIO_FRAGMENT
Definition: stretch.c:38
double * stretch_factor
Definition: stretch.c:57
struct upmix_mono_parameters_s upmix_mono_parameters_t
static int stretchscr_get_priority(scr_plugin_t *scr)
Definition: stretch.c:65
static int set_parameters(xine_post_t *this_gen, const void *param_gen)
Definition: stretch.c:235
xine_audio_port_t new_port
Definition: post.h:302
static void upmix_mono_dispose(post_plugin_t *this_gen)
Definition: upmix_mono.c:272
void _x_extra_info_merge(extra_info_t *dst, extra_info_t *src)
Definition: xine.c:122
#define NSAMPLES
Definition: volnorm.c:48
static void upmix_port_put_buffer(xine_audio_port_t *port_gen, audio_buffer_t *buf, xine_stream_t *stream)
Definition: upmix.c:283
void * stretch_init_plugin(xine_t *xine, const void *data)
Definition: stretch.c:655
#define MUL_MAX
Definition: volnorm.c:59
static void stretchscr_start(scr_plugin_t *scr, int64_t start_vpts)
Definition: stretch.c:121
int mem_size
Definition: audio_out.h:149
Definition: audio_out.h:144
void hanning(int n, float *w)
Definition: window.c:71
int(* register_scr)(metronom_clock_t *self, scr_plugin_t *scr)
Definition: metronom.h:261
static char * get_help(void)
Definition: volnorm.c:140
#define _x_post_inc_usage(port)
Definition: post.h:399
struct upmix_parameters_s upmix_parameters_t
#define AO_CAP_MODE_STEREO
Definition: audio_out.h:283
int method
Definition: volnorm.c:78
float k
Definition: upmix.c:63
void triang(int n, _ftype_t *w)
float q[2][2]
Definition: upmix.c:61
Definition: upmix_mono.c:59
float lastavg
Definition: volnorm.c:98
Definition: video_out.h:176
struct post_plugin_upmix_s post_plugin_upmix_t
Definition: upmix.c:42
#define AO_CAP_MODE_5_1CHANNEL
Definition: audio_out.h:297
static stretchscr_t * stretchscr_init(double *stretch_factor)
Definition: stretch.c:161
#define POST_PARAM_TYPE_BOOL
Definition: xine.h:904
static void stretchscr_adjust(scr_plugin_t *scr, int64_t vpts)
Definition: stretch.c:107
xine_stream_t * stream
Definition: post.h:309
int16_t * mem
Definition: audio_out.h:148
static int set_parameters(xine_post_t *this_gen, const void *param_gen)
Definition: volnorm.c:111
uint32_t first_access_unit
Definition: audio_out.h:154
static int upmix_mono_port_open(xine_audio_port_t *port_gen, xine_stream_t *stream, uint32_t bits, uint32_t rate, int mode)
Definition: upmix_mono.c:113
int _x_ao_mode2channels(int mode)
Definition: audio_out.c:1082
int szxform(const float *a, const float *b, float Q, float fc, float fs, float *k, float *coef)
Definition: filter.c:417
#define RESAMPLE_MAX_CHANNELS
Definition: resample.h:31
static void upmix_mono_port_put_buffer(xine_audio_port_t *port_gen, audio_buffer_t *buf, xine_stream_t *stream)
Definition: upmix_mono.c:151
#define MID_FLOAT
Definition: volnorm.c:62
struct timeval cur_time
Definition: stretch.c:53
xine_audio_port_t * original_port
Definition: post.h:305
static char * get_help(void)
Definition: upmix_mono.c:101
#define AO_CAP_FLOAT32
Definition: audio_out.h:314
int xine_speed
Definition: stretch.c:55
metronom_t * metronom
Definition: xine_internal.h:129
static post_plugin_t * volnorm_open_plugin(post_class_t *class_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target)
Definition: volnorm.c:394
static void stretch_dispose(post_plugin_t *this_gen)
Definition: stretch.c:590
NULL
Definition: xine_plugin.c:78
void blackman(int n, float *w)
Definition: window.c:109
#define Q
Definition: upmix.c:45
static void upmix_dispose(post_plugin_t *this_gen)
Definition: upmix.c:354
struct post_plugin_stretch_s post_plugin_stretch_t
Definition: stretch.c:188
extra_info_t * extra_info
Definition: audio_out.h:157
static int upmix_frames_2to51_any_to_float(uint8_t *dst8, uint8_t *src8, int num_frames, int step_channel_in, af_sub_t *sub)
Definition: upmix.c:204
#define XINE_VERBOSITY_LOG
Definition: xine.h:425
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
static void method2_int16(post_plugin_volnorm_t *this, audio_buffer_t *buf)
Definition: volnorm.c:263
static void _x_freep(void *ptr)
Definition: xineutils.h:263
static void stretch_process_fragment(post_audio_port_t *port, xine_stream_t *stream, extra_info_t *extra_info)
Definition: stretch.c:323
double speed_factor
Definition: stretch.c:56
int64_t cur_pts
Definition: stretch.c:54
static xine_post_api_descr_t * get_param_descr(void)
Definition: upmix_mono.c:97
#define POST_PARAM_TYPE_DOUBLE
Definition: xine.h:900
#define _(String)
Definition: vcdplayer.h:39
pthread_mutex_t lock
Definition: upmix_mono.c:68
int preserve_pitch
Definition: stretch.c:191
static void stretchscr_exit(scr_plugin_t *scr)
Definition: stretch.c:154
post_plugin_t *(* open_plugin)(post_class_t *this_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target)
Definition: post.h:50
static int volnorm_port_open(xine_audio_port_t *port_gen, xine_stream_t *stream, uint32_t bits, uint32_t rate, int mode)
Definition: volnorm.c:158
pthread_mutex_t lock
Definition: stretch.c:59
#define SMOOTH_LASTAVG
Definition: volnorm.c:71
int params_changed
Definition: upmix_mono.c:66
#define _ftype_t
Definition: dsp.h:17
#define clamp(a, min, max)
Definition: volnorm.c:73
static void method1_float(post_plugin_volnorm_t *this, audio_buffer_t *buf)
Definition: volnorm.c:226
static post_plugin_t * upmix_mono_open_plugin(post_class_t *class_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target)
Definition: upmix_mono.c:281
int idx
Definition: volnorm.c:100
#define CLIP_INT16(s)
Definition: stretch.c:40
int64_t(* get_current_time)(metronom_clock_t *self)
Definition: metronom.h:239
#define ngettext(Singular, Plural, IsPlural)
Definition: xineintl.h:44
static void volnorm_port_close(xine_audio_port_t *port_gen, xine_stream_t *stream)
Definition: volnorm.c:175
#define PARAM_ITEM(param_type, var, enumv, min, max, readonly, descr)
Definition: post.h:439
void * volnorm_init_plugin(xine_t *xine, const void *data)
Definition: volnorm.c:448
static void stretchscr_set_pivot(stretchscr_t *this)
Definition: stretch.c:71
#define avg(predictor, i)
Definition: motion_comp.c:97
int(* open)(xine_audio_port_t *, xine_stream_t *stream, uint32_t bits, uint32_t rate, int mode)
Definition: audio_out.h:187
#define MID_S16
Definition: volnorm.c:61
static xine_post_api_descr_t * get_param_descr(void)
Definition: upmix.c:125
uint32_t rate
Definition: post.h:318
audio_buffer_t *(* get_buffer)(xine_audio_port_t *)
Definition: audio_out.h:193
static int get_parameters(xine_post_t *this_gen, void *param_gen)
Definition: stretch.c:246
int64_t vpts
Definition: audio_out.h:152
static int stretchscr_set_speed(scr_plugin_t *scr, int speed)
Definition: stretch.c:92
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
static void volnorm_dispose(post_plugin_t *this_gen)
Definition: volnorm.c:383
static post_plugin_t * upmix_open_plugin(post_class_t *class_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target)
Definition: upmix.c:365
ao_format_t format
Definition: audio_out.h:161
#define SMOOTH_MUL
Definition: volnorm.c:70
void * upmix_mono_init_plugin(xine_t *xine, const void *data)
Definition: upmix_mono.c:333
static xine_post_api_descr_t * get_param_descr(void)
Definition: stretch.c:257
void boxcar(int n, _ftype_t *w)
static void method1_int16(post_plugin_volnorm_t *this, audio_buffer_t *buf)
Definition: volnorm.c:184
#define BIZ_EPSILON
Definition: window.c:146
static int get_parameters(xine_post_t *this_gen, void *param_gen)
Definition: upmix.c:114
static int get_parameters(xine_post_t *this_gen, void *param_gen)
Definition: volnorm.c:123
const char * name
Definition: xine.h:724
static xine_post_api_descr_t * get_param_descr(void)
Definition: volnorm.c:135
#define END_PARAM_DESCR(name)
Definition: post.h:443
static void stretch_port_close(xine_audio_port_t *port_gen, xine_stream_t *stream)
Definition: stretch.c:302
static int set_parameters(xine_post_t *this_gen, const void *param_gen)
Definition: upmix_mono.c:75
uint32_t mode
Definition: post.h:319
Definition: audio_out.h:172
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
static float besselizero(float x)
Definition: window.c:148
float mul
Definition: volnorm.c:96
void hamming(int n, float *w)
Definition: window.c:90
#define MIN_SAMPLE_SIZE
Definition: volnorm.c:53
#define SIL_S16
Definition: volnorm.c:66
int _x_post_dispose(post_plugin_t *this)
Definition: post.c:1044
void _x_post_init(post_plugin_t *post, int num_audio_inputs, int num_video_inputs)
Definition: post.c:292
int xine_monotonic_clock(struct timeval *tv, struct timezone *tz)
Definition: utils.c:727
post_plugin_t post
Definition: volnorm.c:89
#define MUL_MIN
Definition: volnorm.c:58
static void volnorm_port_put_buffer(xine_audio_port_t *port_gen, audio_buffer_t *buf, xine_stream_t *stream)
Definition: volnorm.c:360
struct volnorm_parameters_s volnorm_parameters_t
void blackman(int n, _ftype_t *w)
void boxcar(int n, float *w)
Definition: window.c:30
float avg
Definition: volnorm.c:102
void(* put_buffer)(xine_audio_port_t *, audio_buffer_t *buf, xine_stream_t *stream)
Definition: audio_out.h:200
float fc
Definition: upmix.c:62
void kaiser(int n, _ftype_t *w, _ftype_t b)
static int stretch_port_open(xine_audio_port_t *port_gen, xine_stream_t *stream, uint32_t bits, uint32_t rate, int mode)
Definition: stretch.c:273
static void stretch_port_put_buffer(xine_audio_port_t *port_gen, audio_buffer_t *buf, xine_stream_t *stream)
Definition: stretch.c:480
int len
Definition: volnorm.c:103
void(* set_audio_rate)(metronom_t *self, int64_t pts_per_smpls)
Definition: metronom.h:79
void flattop(int n, _ftype_t *w)
static int upmix_port_open(xine_audio_port_t *port_gen, xine_stream_t *stream, uint32_t bits, uint32_t rate, int mode)
Definition: upmix.c:145
#define XINE_SPEED_PAUSE
Definition: xine.h:364
uint32_t(* get_capabilities)(xine_audio_port_t *)
Definition: audio_out.h:173
static int get_parameters(xine_post_t *this_gen, void *param_gen)
Definition: upmix_mono.c:86
int(* set_parameters)(xine_post_t *self, const void *params)
Definition: xine.h:877
uint32_t frame_header_count
Definition: audio_out.h:153
post_plugin_t * post
Definition: post.h:326
#define INT32_MAX
Definition: goomsl_lex.c:68
int channel
Definition: upmix_mono.c:45
#define SIL_FLOAT
Definition: volnorm.c:67
void * upmix_init_plugin(xine_t *xine, const void *data)
Definition: upmix.c:418
uint32_t bits
Definition: post.h:317
pthread_mutex_t lock
Definition: volnorm.c:92
upmix_mono_parameters_t params
Definition: upmix_mono.c:65
#define XINE_POST_DATA_PARAMETERS
Definition: xine.h:851
static int input(void)
Definition: goomsl_lex.c:1495
double factor
Definition: stretch.c:192
static const biquad_t s_param[2]
Definition: upmix.c:54
#define xprintf(xine, verbose,...)
Definition: xineutils.h:664
static char * get_help(void)
Definition: stretch.c:261
PARAM_ITEM(POST_PARAM_TYPE_INT, cut_off_freq, NULL, 0, 500, 0, "cut_off_freq")
Definition: upmix.c:85
#define N_(String)
Definition: xineintl.h:47
static void _x_post_rewire(post_plugin_t *post)
Definition: post.h:373
static int64_t stretchscr_get_current(scr_plugin_t *scr)
Definition: stretch.c:134
#define POST_PARAM_TYPE_INT
Definition: xine.h:899
Definition: stretch.c:190