17#define ZOH_MAGIC_MARKER MAKE_MAGIC ('s', 'r', 'c', 'z', 'o', 'h')
25 float last_value [1] ;
34 double src_ratio, input_index, rem ;
37 if (
data->input_frames <= 0)
64 while (input_index < 1.0 && priv->out_gen < priv->
out_count)
78 input_index += 1.0 / src_ratio ;
97 input_index += 1.0 / src_ratio ;
131 return "ZOH Interpolator" ;
140 return "Zero order hold interpolator, very fast, poor quality." ;
_ACRTIMP double __cdecl fabs(double)
_ACRTIMP __msvcrt_long __cdecl lrint(double)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
static UINT UINT * out_count
static int is_bad_src_ratio(double ratio)
@ SRC_ERR_BAD_INTERNAL_STATE
static double fmod_one(double x)
#define SRC_MIN_RATIO_DIFF
const char * zoh_get_description(int src_enum)
static int zoh_vari_process(SRC_PRIVATE *psrc, SRC_DATA *data)
const char * zoh_get_name(int src_enum)
static void zoh_reset(SRC_PRIVATE *psrc)
int zoh_set_converter(SRC_PRIVATE *psrc, int src_enum)
int(* const_process)(struct SRC_PRIVATE_tag *psrc, SRC_DATA *data)
int(* vari_process)(struct SRC_PRIVATE_tag *psrc, SRC_DATA *data)
void(* reset)(struct SRC_PRIVATE_tag *psrc)
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList