diff options
author | wm4 <wm4@nowhere> | 2015-03-06 21:51:18 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-03-06 21:51:18 +0100 |
commit | ddbecd09b0cbada107b52b9dab575ba89affef79 (patch) | |
tree | 890d2a5b16dad3f56b11febb472fe1fe3c7fe6b0 /audio | |
parent | c30d5f79b5a94adc9796a9751b0cab2b6c3b9e3d (diff) | |
download | mpv-ddbecd09b0cbada107b52b9dab575ba89affef79.tar.bz2 mpv-ddbecd09b0cbada107b52b9dab575ba89affef79.tar.xz |
af_scaletempo: minor simplification
Diffstat (limited to 'audio')
-rw-r--r-- | audio/filter/af_scaletempo.c | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/audio/filter/af_scaletempo.c b/audio/filter/af_scaletempo.c index 8702819372..a4f055bee9 100644 --- a/audio/filter/af_scaletempo.c +++ b/audio/filter/af_scaletempo.c @@ -76,9 +76,9 @@ typedef struct af_scaletempo_s float ms_stride; float percent_overlap; float ms_search; +#define SCALE_TEMPO 1 +#define SCALE_PITCH 2 int speed_opt; - short speed_tempo; - short speed_pitch; } af_scaletempo_t; static int fill_queue(struct af_instance *af, struct mp_audio *data, int offset) @@ -282,7 +282,7 @@ static void update_speed(struct af_instance *af, float speed) s->speed = speed; - double factor = s->speed_pitch ? 1.0 / s->speed : s->speed; + double factor = (s->speed_opt & SCALE_PITCH) ? 1.0 / s->speed : s->speed; s->scale = factor * s->scale_nominal; s->frames_stride_scaled = s->scale * s->frames_stride; @@ -434,11 +434,11 @@ static int control(struct af_instance *af, int cmd, void *arg) } case AF_CONTROL_SET_PLAYBACK_SPEED: { double speed = *(double *)arg; - if (s->speed_tempo) { - if (s->speed_pitch) + if (s->speed_opt & SCALE_TEMPO) { + if (s->speed_opt & SCALE_PITCH) break; update_speed(af, speed); - } else if (s->speed_pitch) { + } else if (s->speed_opt & SCALE_PITCH) { update_speed(af, speed); break; // do not signal OK } @@ -464,21 +464,12 @@ static void uninit(struct af_instance *af) free(s->table_window); } -#define SCALE_TEMPO 1 -#define SCALE_PITCH 2 - // Allocate memory and set function pointers static int af_open(struct af_instance *af) { - af_scaletempo_t *s = af->priv; - af->control = control; af->uninit = uninit; af->filter_frame = filter; - - s->speed_tempo = !!(s->speed_opt & SCALE_TEMPO); - s->speed_pitch = !!(s->speed_opt & SCALE_PITCH); - return AF_OK; } |