resample: add initial padding explicitly
[ffmpeg.git] / libavresample / resample_template.c
index a7cb6ae..661dd0d 100644 (file)
@@ -54,7 +54,7 @@
 #define DBL_TO_FELEM(d, v) d = av_clip_int16(lrint(v * (1 << 15)))
 #endif
 
-static void SET_TYPE(resample_nearest)(void *dst0, int dst_index, const void *src0, int index)
+static void SET_TYPE(resample_nearest)(void *dst0, int dst_index, const void *src0, unsigned int index)
 {
     FELEM *dst = dst0;
     const FELEM *src = src0;
@@ -63,21 +63,17 @@ static void SET_TYPE(resample_nearest)(void *dst0, int dst_index, const void *sr
 
 static void SET_TYPE(resample_one)(ResampleContext *c,
                                    void *dst0, int dst_index, const void *src0,
-                                   int src_size, int index, int frac)
+                                   unsigned int index, int frac)
 {
     FELEM *dst = dst0;
     const FELEM *src = src0;
     int i;
-    int sample_index = index >> c->phase_shift;
+    unsigned int sample_index = index >> c->phase_shift;
     FELEM2 val = 0;
     FELEM *filter = ((FELEM *)c->filter_bank) +
                     c->filter_length * (index & c->phase_mask);
 
-    if (sample_index < 0) {
-        for (i = 0; i < c->filter_length; i++)
-            val += src[FFABS(sample_index + i) % src_size] *
-                   (FELEM2)filter[i];
-    } else if (c->linear) {
+    if (c->linear) {
         FELEM2 v2 = 0;
         for (i = 0; i < c->filter_length; i++) {
             val += src[sample_index + i] * (FELEM2)filter[i];