xine-lib 1.2.11
Data Structures | Macros | Typedefs | Functions | Variables
upmix.c File Reference
#include <stdio.h>
#include <pthread.h>
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/post.h>
#include "dsp.h"
#include "audio_filters.h"

Data Structures

struct  biquad_t
 
struct  af_sub_s
 
struct  upmix_parameters_s
 

Macros

#define Q   1.0
 
#define IIR(in, w, q, out)
 

Typedefs

typedef struct post_plugin_upmix_s post_plugin_upmix_t
 
typedef struct af_sub_s af_sub_t
 
typedef struct upmix_parameters_s upmix_parameters_t
 

Functions

 PARAM_ITEM (POST_PARAM_TYPE_INT, cut_off_freq, NULL, 0, 500, 0, "cut_off_freq")
 
static int set_parameters (xine_post_t *this_gen, const void *param_gen)
 
static int get_parameters (xine_post_t *this_gen, void *param_gen)
 
static xine_post_api_descr_tget_param_descr (void)
 
static char * get_help (void)
 
static int upmix_port_open (xine_audio_port_t *port_gen, xine_stream_t *stream, uint32_t bits, uint32_t rate, int mode)
 
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)
 
static void upmix_port_put_buffer (xine_audio_port_t *port_gen, audio_buffer_t *buf, xine_stream_t *stream)
 
static void upmix_dispose (post_plugin_t *this_gen)
 
static post_plugin_tupmix_open_plugin (post_class_t *class_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target)
 
void * upmix_init_plugin (xine_t *xine, const void *data)
 

Variables

static const biquad_t s_param [2]
 

Macro Definition Documentation

◆ IIR

#define IIR (   in,
  w,
  q,
  out 
)
Value:
{ \
float h0 = (q)[0]; \
float h1 = (q)[1]; \
float hn = (in) - h0 * (w)[0] - h1 * (w)[1]; \
out = hn + h0 * (w)[2] + h1 * (w)[3]; \
(q)[1] = h0; \
(q)[0] = hn; \
}

◆ Q

#define Q   1.0

Typedef Documentation

◆ af_sub_t

typedef struct af_sub_s af_sub_t

◆ post_plugin_upmix_t

typedef struct post_plugin_upmix_s post_plugin_upmix_t

◆ upmix_parameters_t

Function Documentation

◆ get_help()

static char * get_help ( void  )
static

References _.

Referenced by upmix_open_plugin().

◆ get_param_descr()

static xine_post_api_descr_t * get_param_descr ( void  )
static

Referenced by upmix_open_plugin().

◆ get_parameters()

static int get_parameters ( xine_post_t this_gen,
void *  param_gen 
)
static

Referenced by upmix_open_plugin().

◆ PARAM_ITEM()

PARAM_ITEM ( POST_PARAM_TYPE_INT  ,
cut_off_freq  ,
NULL  ,
,
500  ,
,
"cut_off_freq"   
)

◆ set_parameters()

static int set_parameters ( xine_post_t this_gen,
const void *  param_gen 
)
static

Referenced by upmix_open_plugin().

◆ upmix_dispose()

static void upmix_dispose ( post_plugin_t this_gen)
static

References _x_freep(), and _x_post_dispose().

Referenced by upmix_open_plugin().

◆ upmix_frames_2to51_any_to_float()

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 
)
static

◆ upmix_init_plugin()

void * upmix_init_plugin ( xine_t xine,
const void *  data 
)

◆ upmix_open_plugin()

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 
)
static

◆ upmix_port_open()

static int upmix_port_open ( xine_audio_port_t port_gen,
xine_stream_t stream,
uint32_t  bits,
uint32_t  rate,
int  mode 
)
static

◆ upmix_port_put_buffer()

static void upmix_port_put_buffer ( xine_audio_port_t port_gen,
audio_buffer_t buf,
xine_stream_t stream 
)
static

Variable Documentation

◆ s_param

const biquad_t s_param[2]
static
Initial value:
= {{{1.0,0.0,0.0},{1.0,0.765367,1.0}},
{{1.0,0.0,0.0},{1.0,1.847759,1.0}}}

Referenced by upmix_port_open(), and upmix_port_put_buffer().