Changeset 5269:b914e5b61703 in roaraudio for include


Ignore:
Timestamp:
11/17/11 00:32:28 (12 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

start of a response curve filter

Location:
include/libroardsp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • include/libroardsp/filter.h

    r4953 r5269  
    3939#include "libroardsp.h" 
    4040 
    41 #define ROARDSP_FILTER_NONE           0 
    42 #define ROARDSP_FILTER_AMP            1 
    43 #define ROARDSP_FILTER_LOWP           2 
    44 #define ROARDSP_FILTER_HIGHP          3 
    45 #define ROARDSP_FILTER_MODULATE       4 
    46 #define ROARDSP_FILTER_QUANTIFY       5 
    47 #define ROARDSP_FILTER_CLIP           6 
    48 #define ROARDSP_FILTER_ADD            7 
    49 #define ROARDSP_FILTER_DOWNMIX        8 
    50 #define ROARDSP_FILTER_DCBLOCK        9 
    51 #define ROARDSP_FILTER_SWAP          10 
    52 #define ROARDSP_FILTER_SPEEX_PREP    11 
    53 #define ROARDSP_FILTER_AGC           12 
     41                                        /* implemented? */ 
     42#define ROARDSP_FILTER_NONE            0 
     43#define ROARDSP_FILTER_AMP             1 /* yes */ 
     44#define ROARDSP_FILTER_LOWP            2 /* yes */ 
     45#define ROARDSP_FILTER_HIGHP           3 /* yes */ 
     46#define ROARDSP_FILTER_MODULATE        4 
     47#define ROARDSP_FILTER_QUANTIFY        5 /* yes */ 
     48#define ROARDSP_FILTER_CLIP            6 /* yes */ 
     49#define ROARDSP_FILTER_ADD             7 /* yes */ 
     50#define ROARDSP_FILTER_DOWNMIX         8 /* yes */ 
     51#define ROARDSP_FILTER_DCBLOCK         9 
     52#define ROARDSP_FILTER_SWAP           10 /* yes */ 
     53#define ROARDSP_FILTER_SPEEX_PREP     11 /* yes */ 
     54#define ROARDSP_FILTER_AGC            12 
     55#define ROARDSP_FILTER_NOISEGATE      13 
     56#define ROARDSP_FILTER_RESPONSE_CURVE 14 
    5457 
    5558// filter CTLs: 
     
    120123 
    121124// funcs: 
    122 int    roardsp_filter_str2id(char * str); 
    123 char * roardsp_filter_id2str(int id); 
     125int          roardsp_filter_str2id(const char * str); 
     126const char * roardsp_filter_id2str(const int id); 
    124127int    roardsp_filter_new   (struct roardsp_filter ** filter, struct roar_stream * stream, int id); 
    125128#define roardsp_filter_free(x) roardsp_filter_uninit((x)) 
  • include/libroardsp/filters.h

    r5181 r5269  
    6868 ROARDSP_CLIP_MODE_ZERO  = 1, 
    6969 ROARDSP_CLIP_MODE_WARP  = 2, 
    70  ROARDSP_CLIP_MODE_NOISE  = 3, 
     70 ROARDSP_CLIP_MODE_NOISE = 3 
    7171}; 
    7272 
     
    9494}; 
    9595 
     96enum roardsp_responsecurve_mode { 
     97 ROARDSP_RESPONSECURVE_MODE_PASS = 0, /* pass:           o = i                   */ 
     98 ROARDSP_RESPONSECURVE_MODE_LIN  = 1, /* linear:         o = -(1-i)^(N+1) + 1    */ 
     99 ROARDSP_RESPONSECURVE_MODE_ILIN = 2, /* inverse linear: o = i**(N+1)            */ 
     100 ROARDSP_RESPONSECURVE_MODE_SIN  = 3, /* sin:            o = sin(pi/2 * i)^N     */ 
     101 ROARDSP_RESPONSECURVE_MODE_ISIN = 4, /* inverse sin:    o = 1-sin((1-i)*pi/2)^N */ 
     102 ROARDSP_RESPONSECURVE_MODE_COS  = 5, /* cos:            o = 0.5-cos(i*pi)/2     */ 
     103 ROARDSP_RESPONSECURVE_MODE_ICOS = 6, /* inverse cos:    o = 2*i-0.5+cos(i*pi)/2 */ 
     104}; 
     105 
     106struct roardsp_responsecurve { 
     107 enum roardsp_responsecurve_mode mode_pos, mode_neg; 
     108 int32_t N; 
     109}; 
    96110 
    97111// filter: 
     
    176190#endif 
    177191 
     192int roardsp_responsecurve_init  (struct roardsp_filter * filter, struct roar_stream * stream, int id); 
     193int roardsp_responsecurve_uninit(struct roardsp_filter * filter); 
     194int roardsp_responsecurve_calc32(struct roardsp_filter * filter, void * data, size_t samples); 
     195int roardsp_responsecurve_calc16(struct roardsp_filter * filter, void * data, size_t samples); 
     196int roardsp_responsecurve_calc8 (struct roardsp_filter * filter, void * data, size_t samples); 
     197int roardsp_responsecurve_ctl   (struct roardsp_filter * filter, int cmd, void * data); 
     198int roardsp_responsecurve_reset (struct roardsp_filter * filter, int what); 
    178199 
    179200#endif 
Note: See TracChangeset for help on using the changeset viewer.