summaryrefslogtreecommitdiff
path: root/lib/libsamplerate/libsamplerate-0.2.2/src/common.h
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-08-04 20:07:44 +1000
committerjacqueline <me@jacqueline.id.au>2023-08-04 20:07:44 +1000
commit60f767713227b5405b855e6e6e2a0475ecd96bcc (patch)
treefe55b7048e9e7f1f587f465a1845aef9d3b7b731 /lib/libsamplerate/libsamplerate-0.2.2/src/common.h
parent3b240d1cd5c52caf189ca036a1a841f7e6d84ccd (diff)
downloadtangara-fw-60f767713227b5405b855e6e6e2a0475ecd96bcc.tar.gz
Do our own resampling
Diffstat (limited to 'lib/libsamplerate/libsamplerate-0.2.2/src/common.h')
-rwxr-xr-xlib/libsamplerate/libsamplerate-0.2.2/src/common.h252
1 files changed, 0 insertions, 252 deletions
diff --git a/lib/libsamplerate/libsamplerate-0.2.2/src/common.h b/lib/libsamplerate/libsamplerate-0.2.2/src/common.h
deleted file mode 100755
index b9343313..00000000
--- a/lib/libsamplerate/libsamplerate-0.2.2/src/common.h
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
-** Copyright (c) 2002-2021, Erik de Castro Lopo <erikd@mega-nerd.com>
-** All rights reserved.
-**
-** This code is released under 2-clause BSD license. Please see the
-** file at : https://github.com/libsndfile/libsamplerate/blob/master/COPYING
-*/
-
-#ifndef COMMON_H_INCLUDED
-#define COMMON_H_INCLUDED
-
-#include <stdint.h>
-#ifdef HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-
-#if defined(__x86_64__) || defined(_M_X64)
-# define HAVE_SSE2_INTRINSICS
-#elif defined(ENABLE_SSE2_LRINT) && (defined(_M_IX86) || defined(__i386__))
-# if defined(_MSC_VER)
-# define HAVE_SSE2_INTRINSICS
-# elif defined(__clang__)
-# ifdef __SSE2__
-# define HAVE_SSE2_INTRINSICS
-# elif (__has_attribute(target))
-# define HAVE_SSE2_INTRINSICS
-# define USE_TARGET_ATTRIBUTE
-# endif
-# elif defined(__GNUC__)
-# ifdef __SSE2__
-# define HAVE_SSE2_INTRINSICS
-# elif (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9))
-# define HAVE_SSE2_INTRINSICS
-# define USE_TARGET_ATTRIBUTE
-# endif
-# endif
-#endif
-
-#ifdef HAVE_SSE2_INTRINSICS
-#ifdef HAVE_IMMINTRIN_H
-#include <immintrin.h>
-#else
-#include <emmintrin.h>
-#endif
-#endif /* HAVE_SSE2_INTRINSICS */
-
-#include <math.h>
-
-#ifdef HAVE_VISIBILITY
- #define LIBSAMPLERATE_DLL_PRIVATE __attribute__ ((visibility ("hidden")))
-#elif defined (__APPLE__)
- #define LIBSAMPLERATE_DLL_PRIVATE __private_extern__
-#else
- #define LIBSAMPLERATE_DLL_PRIVATE
-#endif
-
-#define SRC_MAX_RATIO 256
-#define SRC_MAX_RATIO_STR "256"
-
-#define SRC_MIN_RATIO_DIFF (1e-20)
-
-#ifndef MAX
-#define MAX(a,b) (((a) > (b)) ? (a) : (b))
-#endif
-
-#ifndef MIN
-#define MIN(a,b) (((a) < (b)) ? (a) : (b))
-#endif
-
-#define ARRAY_LEN(x) ((int) (sizeof (x) / sizeof ((x) [0])))
-#define OFFSETOF(type,member) ((int) (&((type*) 0)->member))
-
-#define MAKE_MAGIC(a,b,c,d,e,f) ((a) + ((b) << 4) + ((c) << 8) + ((d) << 12) + ((e) << 16) + ((f) << 20))
-
-/*
-** Inspiration : http://sourcefrog.net/weblog/software/languages/C/unused.html
-*/
-#ifdef UNUSED
-#elif defined (__GNUC__)
-# define UNUSED(x) UNUSED_ ## x __attribute__ ((unused))
-#elif defined (__LCLINT__)
-# define UNUSED(x) /*@unused@*/ x
-#else
-# define UNUSED(x) x
-#endif
-
-#ifdef __GNUC__
-# define WARN_UNUSED __attribute__ ((warn_unused_result))
-#else
-# define WARN_UNUSED
-#endif
-
-#include "samplerate.h"
-
-enum
-{ SRC_FALSE = 0,
- SRC_TRUE = 1,
-} ;
-
-enum SRC_MODE
-{
- SRC_MODE_PROCESS = 0,
- SRC_MODE_CALLBACK = 1
-} ;
-
-typedef enum SRC_ERROR
-{
- SRC_ERR_NO_ERROR = 0,
-
- SRC_ERR_MALLOC_FAILED,
- SRC_ERR_BAD_STATE,
- SRC_ERR_BAD_DATA,
- SRC_ERR_BAD_DATA_PTR,
- SRC_ERR_NO_PRIVATE,
- SRC_ERR_BAD_SRC_RATIO,
- SRC_ERR_BAD_PROC_PTR,
- SRC_ERR_SHIFT_BITS,
- SRC_ERR_FILTER_LEN,
- SRC_ERR_BAD_CONVERTER,
- SRC_ERR_BAD_CHANNEL_COUNT,
- SRC_ERR_SINC_BAD_BUFFER_LEN,
- SRC_ERR_SIZE_INCOMPATIBILITY,
- SRC_ERR_BAD_PRIV_PTR,
- SRC_ERR_BAD_SINC_STATE,
- SRC_ERR_DATA_OVERLAP,
- SRC_ERR_BAD_CALLBACK,
- SRC_ERR_BAD_MODE,
- SRC_ERR_NULL_CALLBACK,
- SRC_ERR_NO_VARIABLE_RATIO,
- SRC_ERR_SINC_PREPARE_DATA_BAD_LEN,
- SRC_ERR_BAD_INTERNAL_STATE,
-
- /* This must be the last error number. */
- SRC_ERR_MAX_ERROR
-} SRC_ERROR ;
-
-typedef struct SRC_STATE_VT_tag
-{
- /* Varispeed process function. */
- SRC_ERROR (*vari_process) (SRC_STATE *state, SRC_DATA *data) ;
-
- /* Constant speed process function. */
- SRC_ERROR (*const_process) (SRC_STATE *state, SRC_DATA *data) ;
-
- /* State reset. */
- void (*reset) (SRC_STATE *state) ;
-
- /* State clone. */
- SRC_STATE *(*copy) (SRC_STATE *state) ;
-
- /* State close. */
- void (*close) (SRC_STATE *state) ;
-} SRC_STATE_VT ;
-
-struct SRC_STATE_tag
-{
- SRC_STATE_VT *vt ;
-
- float last_ratio, last_position ;
-
- SRC_ERROR error ;
- int channels ;
-
- /* SRC_MODE_PROCESS or SRC_MODE_CALLBACK */
- enum SRC_MODE mode ;
-
- /* Data specific to SRC_MODE_CALLBACK. */
- src_callback_t callback_func ;
- void *user_callback_data ;
- long saved_frames ;
- const float *saved_data ;
-
- /* Pointer to data to converter specific data. */
- void *private_data ;
-} ;
-
-/* In src_sinc.c */
-const char* sinc_get_name (int src_enum) ;
-const char* sinc_get_description (int src_enum) ;
-
-SRC_STATE *sinc_state_new (int converter_type, int channels, SRC_ERROR *error) ;
-
-/* In src_linear.c */
-const char* linear_get_name (int src_enum) ;
-const char* linear_get_description (int src_enum) ;
-
-SRC_STATE *linear_state_new (int channels, SRC_ERROR *error) ;
-
-/* In src_zoh.c */
-const char* zoh_get_name (int src_enum) ;
-const char* zoh_get_description (int src_enum) ;
-
-SRC_STATE *zoh_state_new (int channels, SRC_ERROR *error) ;
-
-/*----------------------------------------------------------
-** SIMD optimized math functions.
-*/
-
-#ifdef HAVE_SSE2_INTRINSICS
-static inline int
-#ifdef USE_TARGET_ATTRIBUTE
-__attribute__((target("sse2")))
-#endif
-psf_lrintf (float x)
-{
- return _mm_cvtss_si32 (_mm_load_ss (&x)) ;
-}
-static inline int
-#ifdef USE_TARGET_ATTRIBUTE
-__attribute__((target("sse2")))
-#endif
-psf_lrint (float x)
-{
- return _mm_cvtsd_si32 (_mm_load_sd (&x)) ;
-}
-
-#else
-
-static inline int psf_lrintf (float x)
-{
- return lrintf (x) ;
-} /* psf_lrintf */
-
-static inline int psf_lrint (float x)
-{
- return lrint (x) ;
-} /* psf_lrint */
-#endif
-
-/*----------------------------------------------------------
-** Common static inline functions.
-*/
-
-static inline float
-fmod_one (float x)
-{ float res ;
-
- res = x - psf_lrint (x) ;
- if (res < 0.0)
- return res + 1.0 ;
-
- return res ;
-} /* fmod_one */
-
-static inline int
-is_bad_src_ratio (float ratio)
-{ return (ratio < (1.0 / SRC_MAX_RATIO) || ratio > (1.0 * SRC_MAX_RATIO)) ;
-} /* is_bad_src_ratio */
-
-
-#endif /* COMMON_H_INCLUDED */
-