for higher quality resampling

Signed-off-by: Muhammad Faiz <mfc...@gmail.com>
---
 doc/resampler.texi           |   5 +-
 libswresample/options.c      |   4 +-
 tests/fate/libswresample.mak | 189 ++++++++++++++++++++++++++++++++++++++++---
 tests/ref/acodec/s302m       |   6 +-
 tests/ref/lavf/dv_fmt        |   8 +-
 tests/ref/lavf/gxf           |   8 +-
 tests/ref/lavf/mxf           |  12 +--
 7 files changed, 201 insertions(+), 31 deletions(-)

diff --git a/doc/resampler.texi b/doc/resampler.texi
index d72677c..5ed3f43 100644
--- a/doc/resampler.texi
+++ b/doc/resampler.texi
@@ -132,12 +132,13 @@ For swr only, set resampling phase shift, default value 
is 10, and must be in
 the interval [0,30].
 
 @item linear_interp
-Use linear interpolation if set to 1, default value is 0.
+Use linear interpolation when enabled (the default). Disable it if you want
+to preserve speed instead of quality when exact_rational fails.
 
 @item exact_rational
 For swr only, when enabled, try to use exact phase_count based on input and
 output sample rate. However, if it is larger than @code{1 << phase_shift},
-the phase_count will be @code{1 << phase_shift} as fallback. Default is 
disabled.
+the phase_count will be @code{1 << phase_shift} as fallback. Default is 
enabled.
 
 @item cutoff
 Set cutoff frequency (swr: 6dB point; soxr: 0dB point) ratio; must be a float
diff --git a/libswresample/options.c b/libswresample/options.c
index 4abf5e0..00d4f7c 100644
--- a/libswresample/options.c
+++ b/libswresample/options.c
@@ -84,8 +84,8 @@ static const AVOption options[]={
 
 {"filter_size"          , "set swr resampling filter size", 
OFFSET(filter_size)  , AV_OPT_TYPE_INT  , {.i64=32                    }, 0      
, INT_MAX   , PARAM },
 {"phase_shift"          , "set swr resampling phase shift", 
OFFSET(phase_shift)  , AV_OPT_TYPE_INT  , {.i64=10                    }, 0      
, 24        , PARAM },
-{"linear_interp"        , "enable linear interpolation" , 
OFFSET(linear_interp)  , AV_OPT_TYPE_BOOL , {.i64=0                     }, 0    
  , 1         , PARAM },
-{"exact_rational"       , "enable exact rational"       , 
OFFSET(exact_rational) , AV_OPT_TYPE_BOOL , {.i64=0                     }, 0    
  , 1         , PARAM },
+{"linear_interp"        , "enable linear interpolation" , 
OFFSET(linear_interp)  , AV_OPT_TYPE_BOOL , {.i64=1                     }, 0    
  , 1         , PARAM },
+{"exact_rational"       , "enable exact rational"       , 
OFFSET(exact_rational) , AV_OPT_TYPE_BOOL , {.i64=1                     }, 0    
  , 1         , PARAM },
 {"cutoff"               , "set cutoff frequency ratio"  , OFFSET(cutoff)       
  , AV_OPT_TYPE_DOUBLE,{.dbl=0.                    }, 0      , 1         , 
PARAM },
 
 /* duplicate option in order to work with avconv */
diff --git a/tests/fate/libswresample.mak b/tests/fate/libswresample.mak
index 78dbde7..13d7dba 100644
--- a/tests/fate/libswresample.mak
+++ b/tests/fate/libswresample.mak
@@ -11,10 +11,11 @@ SAMPLERATES_LITE = 8000 44100 48000
 
 SAMPLERATES_NN = 8000 44100
 
+#note that the default is ARESAMPLE_EXACT_LIN
 define ARESAMPLE
 FATE_SWR_RESAMPLE += fate-swr-resample-$(3)-$(1)-$(2)
 fate-swr-resample-$(3)-$(1)-$(2): tests/data/asynth-$(1)-1.wav
-fate-swr-resample-$(3)-$(1)-$(2): CMD = ffmpeg -i 
$(TARGET_PATH)/tests/data/asynth-$(1)-1.wav -af 
atrim=end_sample=10240,aresample=$(2):internal_sample_fmt=$(3),aformat=$(3),aresample=$(1):internal_sample_fmt=$(3)
 -f wav -acodec pcm_s16le -
+fate-swr-resample-$(3)-$(1)-$(2): CMD = ffmpeg -i 
$(TARGET_PATH)/tests/data/asynth-$(1)-1.wav -af 
atrim=end_sample=10240,aresample=$(2):internal_sample_fmt=$(3):exact_rational=0:linear_interp=0,aformat=$(3),aresample=$(1):internal_sample_fmt=$(3):exact_rational=0:linear_interp=0
 -f wav -acodec pcm_s16le -
 
 fate-swr-resample-$(3)-$(1)-$(2): CMP = stddev
 fate-swr-resample-$(3)-$(1)-$(2): CMP_UNIT = $(5)
@@ -270,7 +271,7 @@ fate-swr-resample-s32p-96000-8000: SIZE_TOLERANCE = 1152000 
- 20496
 define ARESAMPLE_LIN
 FATE_SWR_RESAMPLE += fate-swr-resample_lin-$(3)-$(1)-$(2)
 fate-swr-resample_lin-$(3)-$(1)-$(2): tests/data/asynth-$(1)-1.wav
-fate-swr-resample_lin-$(3)-$(1)-$(2): CMD = ffmpeg -i 
$(TARGET_PATH)/tests/data/asynth-$(1)-1.wav -af 
atrim=end_sample=10240,aresample=$(2):linear_interp=1:internal_sample_fmt=$(3),aformat=$(3),aresample=$(1):linear_interp=1:internal_sample_fmt=$(3)
 -f wav -acodec pcm_s16le -
+fate-swr-resample_lin-$(3)-$(1)-$(2): CMD = ffmpeg -i 
$(TARGET_PATH)/tests/data/asynth-$(1)-1.wav -af 
atrim=end_sample=10240,aresample=$(2):linear_interp=1:exact_rational=0:internal_sample_fmt=$(3),aformat=$(3),aresample=$(1):linear_interp=1:exact_rational=0:internal_sample_fmt=$(3)
 -f wav -acodec pcm_s16le -
 
 fate-swr-resample_lin-$(3)-$(1)-$(2): CMP = stddev
 fate-swr-resample_lin-$(3)-$(1)-$(2): CMP_UNIT = $(5)
@@ -335,7 +336,7 @@ fate-swr-resample_lin-dblp-48000-44100: SIZE_TOLERANCE = 
576000 - 20480
 define ARESAMPLE_NN
 FATE_SWR_RESAMPLE += fate-swr-resample_nn-$(3)-$(1)-$(2)
 fate-swr-resample_nn-$(3)-$(1)-$(2): tests/data/asynth-$(1)-1.wav
-fate-swr-resample_nn-$(3)-$(1)-$(2): CMD = ffmpeg -i 
$(TARGET_PATH)/tests/data/asynth-$(1)-1.wav -af 
atrim=end_sample=10240,aresample=$(2):filter_size=1:phase_shift=0:internal_sample_fmt=$(3),aformat=$(3),aresample=$(1):internal_sample_fmt=$(3)
 -f wav -acodec pcm_s16le -
+fate-swr-resample_nn-$(3)-$(1)-$(2): CMD = ffmpeg -i 
$(TARGET_PATH)/tests/data/asynth-$(1)-1.wav -af 
atrim=end_sample=10240,aresample=$(2):filter_size=1:phase_shift=0:linear_interp=0:internal_sample_fmt=$(3),aformat=$(3),aresample=$(1):linear_interp=0:exact_rational=0:internal_sample_fmt=$(3)
 -f wav -acodec pcm_s16le -
 
 fate-swr-resample_nn-$(3)-$(1)-$(2): CMP = stddev
 fate-swr-resample_nn-$(3)-$(1)-$(2): CMP_UNIT = $(5)
@@ -358,7 +359,7 @@ fate-swr-resample_nn-s16p-8000-44100: SIZE_TOLERANCE = 
96000 - 20480
 define ARESAMPLE_ASYNC
 FATE_SWR_RESAMPLE += fate-swr-resample_async-$(3)-$(1)-$(2)
 fate-swr-resample_async-$(3)-$(1)-$(2): tests/data/asynth-$(1)-1.wav
-fate-swr-resample_async-$(3)-$(1)-$(2): CMD = ffmpeg -i 
$(TARGET_PATH)/tests/data/asynth-$(1)-1.wav -af 
atrim=end_sample=10240,asetpts=PTS+random\(0\)*200-100,aresample=$(2):async=50:min_hard_comp=0.100000:first_pts=0:internal_sample_fmt=$(3),aformat=$(3),aresample=$(1):internal_sample_fmt=$(3)
 -f wav -acodec pcm_s16le -
+fate-swr-resample_async-$(3)-$(1)-$(2): CMD = ffmpeg -i 
$(TARGET_PATH)/tests/data/asynth-$(1)-1.wav -af 
atrim=end_sample=10240,asetpts=PTS+random\(0\)*200-100,aresample=$(2):async=50:min_hard_comp=0.100000:first_pts=0:linear_interp=0:exact_rational=0:internal_sample_fmt=$(3),aformat=$(3),aresample=$(1):linear_interp=0:exact_rational=0:internal_sample_fmt=$(3)
 -f wav -acodec pcm_s16le -
 
 fate-swr-resample_async-$(3)-$(1)-$(2): CMP = stddev
 fate-swr-resample_async-$(3)-$(1)-$(2): CMP_UNIT = $(5)
@@ -381,7 +382,7 @@ fate-swr-resample_async-s16p-8000-44100: SIZE_TOLERANCE = 
96000 - 20344
 define ARESAMPLE_EXACT
 FATE_SWR_RESAMPLE += fate-swr-resample_exact-$(3)-$(1)-$(2)
 fate-swr-resample_exact-$(3)-$(1)-$(2): tests/data/asynth-$(1)-1.wav
-fate-swr-resample_exact-$(3)-$(1)-$(2): CMD = ffmpeg -i 
$(TARGET_PATH)/tests/data/asynth-$(1)-1.wav -af 
atrim=end_sample=10240,aresample=$(2):internal_sample_fmt=$(3):exact_rational=on,aformat=$(3),aresample=$(1):internal_sample_fmt=$(3):exact_rational=on
 -f wav -acodec pcm_s16le -
+fate-swr-resample_exact-$(3)-$(1)-$(2): CMD = ffmpeg -i 
$(TARGET_PATH)/tests/data/asynth-$(1)-1.wav -af 
atrim=end_sample=10240,aresample=$(2):internal_sample_fmt=$(3):exact_rational=on:linear_interp=0,aformat=$(3),aresample=$(1):internal_sample_fmt=$(3):exact_rational=on:linear_interp=0
 -f wav -acodec pcm_s16le -
 
 fate-swr-resample_exact-$(3)-$(1)-$(2): CMP = stddev
 fate-swr-resample_exact-$(3)-$(1)-$(2): CMP_UNIT = $(5)
@@ -632,7 +633,7 @@ fate-swr-resample_exact-s32p-96000-8000: SIZE_TOLERANCE = 
1152000 - 20496
 define ARESAMPLE_EXACT_ASYNC
 FATE_SWR_RESAMPLE += fate-swr-resample_exact_async-$(3)-$(1)-$(2)
 fate-swr-resample_exact_async-$(3)-$(1)-$(2): tests/data/asynth-$(1)-1.wav
-fate-swr-resample_exact_async-$(3)-$(1)-$(2): CMD = ffmpeg -i 
$(TARGET_PATH)/tests/data/asynth-$(1)-1.wav -af 
atrim=end_sample=10240,asetpts=PTS+random\(0\)*200-100,aresample=$(2):async=50:min_hard_comp=0.100000:first_pts=0:internal_sample_fmt=$(3):exact_rational=on,aformat=$(3),aresample=$(1):internal_sample_fmt=$(3):exact_rational=on
 -f wav -acodec pcm_s16le -
+fate-swr-resample_exact_async-$(3)-$(1)-$(2): CMD = ffmpeg -i 
$(TARGET_PATH)/tests/data/asynth-$(1)-1.wav -af 
atrim=end_sample=10240,asetpts=PTS+random\(0\)*200-100,aresample=$(2):async=50:min_hard_comp=0.100000:first_pts=0:internal_sample_fmt=$(3):exact_rational=on:linear_interp=0,aformat=$(3),aresample=$(1):internal_sample_fmt=$(3):exact_rational=on:linear_interp=0
 -f wav -acodec pcm_s16le -
 
 fate-swr-resample_exact_async-$(3)-$(1)-$(2): CMP = stddev
 fate-swr-resample_exact_async-$(3)-$(1)-$(2): CMP_UNIT = $(5)
@@ -795,6 +796,174 @@ fate-swr-resample_exact_lin-s32p-8000-44100: 
SIZE_TOLERANCE = 96000 - 20480
 fate-swr-resample_exact_lin-s32p-8000-48000: CMP_TARGET = 14.50
 fate-swr-resample_exact_lin-s32p-8000-48000: SIZE_TOLERANCE = 96000 - 20480
 
+fate-swr-resample_exact_lin-dblp-2626-44100: CMP_TARGET = 1352.60
+fate-swr-resample_exact_lin-dblp-2626-44100: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-dblp-2626-48000: CMP_TARGET = 1352.62
+fate-swr-resample_exact_lin-dblp-2626-48000: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-dblp-2626-8000: CMP_TARGET = 1352.49
+fate-swr-resample_exact_lin-dblp-2626-8000: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-dblp-2626-96000: CMP_TARGET = 1352.62
+fate-swr-resample_exact_lin-dblp-2626-96000: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-dblp-44100-2626: CMP_TARGET = 185.49
+fate-swr-resample_exact_lin-dblp-44100-2626: SIZE_TOLERANCE = 529200 - 20490
+
+fate-swr-resample_exact_lin-dblp-44100-96000: CMP_TARGET = 11.45
+fate-swr-resample_exact_lin-dblp-44100-96000: SIZE_TOLERANCE = 529200 - 20482
+
+fate-swr-resample_exact_lin-dblp-48000-2626: CMP_TARGET = 456.50
+fate-swr-resample_exact_lin-dblp-48000-2626: SIZE_TOLERANCE = 576000 - 20510
+
+fate-swr-resample_exact_lin-dblp-48000-96000: CMP_TARGET = 0.47
+fate-swr-resample_exact_lin-dblp-48000-96000: SIZE_TOLERANCE = 576000 - 20480
+
+fate-swr-resample_exact_lin-dblp-8000-2626: CMP_TARGET = 2503.28
+fate-swr-resample_exact_lin-dblp-8000-2626: SIZE_TOLERANCE = 96000 - 20480
+
+fate-swr-resample_exact_lin-dblp-8000-96000: CMP_TARGET = 13.62
+fate-swr-resample_exact_lin-dblp-8000-96000: SIZE_TOLERANCE = 96000 - 20480
+
+fate-swr-resample_exact_lin-dblp-96000-2626: CMP_TARGET = 675.02
+fate-swr-resample_exact_lin-dblp-96000-2626: SIZE_TOLERANCE = 1152000 - 20474
+
+fate-swr-resample_exact_lin-dblp-96000-44100: CMP_TARGET = 1.23
+fate-swr-resample_exact_lin-dblp-96000-44100: SIZE_TOLERANCE = 1152000 - 20480
+
+fate-swr-resample_exact_lin-dblp-96000-48000: CMP_TARGET = 0.99
+fate-swr-resample_exact_lin-dblp-96000-48000: SIZE_TOLERANCE = 1152000 - 20480
+
+fate-swr-resample_exact_lin-dblp-96000-8000: CMP_TARGET = 58.52
+fate-swr-resample_exact_lin-dblp-96000-8000: SIZE_TOLERANCE = 1152000 - 20496
+
+fate-swr-resample_exact_lin-fltp-2626-44100: CMP_TARGET = 1352.60
+fate-swr-resample_exact_lin-fltp-2626-44100: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-fltp-2626-48000: CMP_TARGET = 1352.62
+fate-swr-resample_exact_lin-fltp-2626-48000: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-fltp-2626-8000: CMP_TARGET = 1352.49
+fate-swr-resample_exact_lin-fltp-2626-8000: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-fltp-2626-96000: CMP_TARGET = 1352.62
+fate-swr-resample_exact_lin-fltp-2626-96000: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-fltp-44100-2626: CMP_TARGET = 185.49
+fate-swr-resample_exact_lin-fltp-44100-2626: SIZE_TOLERANCE = 529200 - 20490
+
+fate-swr-resample_exact_lin-fltp-44100-96000: CMP_TARGET = 11.45
+fate-swr-resample_exact_lin-fltp-44100-96000: SIZE_TOLERANCE = 529200 - 20482
+
+fate-swr-resample_exact_lin-fltp-48000-2626: CMP_TARGET = 456.50
+fate-swr-resample_exact_lin-fltp-48000-2626: SIZE_TOLERANCE = 576000 - 20510
+
+fate-swr-resample_exact_lin-fltp-48000-96000: CMP_TARGET = 0.47
+fate-swr-resample_exact_lin-fltp-48000-96000: SIZE_TOLERANCE = 576000 - 20480
+
+fate-swr-resample_exact_lin-fltp-8000-2626: CMP_TARGET = 2503.28
+fate-swr-resample_exact_lin-fltp-8000-2626: SIZE_TOLERANCE = 96000 - 20480
+
+fate-swr-resample_exact_lin-fltp-8000-96000: CMP_TARGET = 13.62
+fate-swr-resample_exact_lin-fltp-8000-96000: SIZE_TOLERANCE = 96000 - 20480
+
+fate-swr-resample_exact_lin-fltp-96000-2626: CMP_TARGET = 675.02
+fate-swr-resample_exact_lin-fltp-96000-2626: SIZE_TOLERANCE = 1152000 - 20474
+
+fate-swr-resample_exact_lin-fltp-96000-44100: CMP_TARGET = 1.23
+fate-swr-resample_exact_lin-fltp-96000-44100: SIZE_TOLERANCE = 1152000 - 20480
+
+fate-swr-resample_exact_lin-fltp-96000-48000: CMP_TARGET = 0.99
+fate-swr-resample_exact_lin-fltp-96000-48000: SIZE_TOLERANCE = 1152000 - 20480
+
+fate-swr-resample_exact_lin-fltp-96000-8000: CMP_TARGET = 58.52
+fate-swr-resample_exact_lin-fltp-96000-8000: SIZE_TOLERANCE = 1152000 - 20496
+
+fate-swr-resample_exact_lin-s16p-2626-44100: CMP_TARGET = 1392.93
+fate-swr-resample_exact_lin-s16p-2626-44100: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-s16p-2626-48000: CMP_TARGET = 1392.97
+fate-swr-resample_exact_lin-s16p-2626-48000: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-s16p-2626-8000: CMP_TARGET = 1393.28
+fate-swr-resample_exact_lin-s16p-2626-8000: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-s16p-2626-96000: CMP_TARGET = 1393.04
+fate-swr-resample_exact_lin-s16p-2626-96000: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-s16p-44100-2626: CMP_TARGET = 185.51
+fate-swr-resample_exact_lin-s16p-44100-2626: SIZE_TOLERANCE = 529200 - 20490
+
+fate-swr-resample_exact_lin-s16p-44100-96000: CMP_TARGET = 11.46
+fate-swr-resample_exact_lin-s16p-44100-96000: SIZE_TOLERANCE = 529200 - 20482
+
+fate-swr-resample_exact_lin-s16p-48000-2626: CMP_TARGET = 456.56
+fate-swr-resample_exact_lin-s16p-48000-2626: SIZE_TOLERANCE = 576000 - 20510
+
+fate-swr-resample_exact_lin-s16p-48000-96000: CMP_TARGET = 0.73
+fate-swr-resample_exact_lin-s16p-48000-96000: SIZE_TOLERANCE = 576000 - 20480
+
+fate-swr-resample_exact_lin-s16p-8000-2626: CMP_TARGET = 2503.28
+fate-swr-resample_exact_lin-s16p-8000-2626: SIZE_TOLERANCE = 96000 - 20480
+
+fate-swr-resample_exact_lin-s16p-8000-96000: CMP_TARGET = 13.65
+fate-swr-resample_exact_lin-s16p-8000-96000: SIZE_TOLERANCE = 96000 - 20480
+
+fate-swr-resample_exact_lin-s16p-96000-2626: CMP_TARGET = 675.07
+fate-swr-resample_exact_lin-s16p-96000-2626: SIZE_TOLERANCE = 1152000 - 20474
+
+fate-swr-resample_exact_lin-s16p-96000-44100: CMP_TARGET = 1.44
+fate-swr-resample_exact_lin-s16p-96000-44100: SIZE_TOLERANCE = 1152000 - 20480
+
+fate-swr-resample_exact_lin-s16p-96000-48000: CMP_TARGET = 1.12
+fate-swr-resample_exact_lin-s16p-96000-48000: SIZE_TOLERANCE = 1152000 - 20480
+
+fate-swr-resample_exact_lin-s16p-96000-8000: CMP_TARGET = 58.56
+fate-swr-resample_exact_lin-s16p-96000-8000: SIZE_TOLERANCE = 1152000 - 20496
+
+fate-swr-resample_exact_lin-s32p-2626-44100: CMP_TARGET = 1392.94
+fate-swr-resample_exact_lin-s32p-2626-44100: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-s32p-2626-48000: CMP_TARGET = 1392.97
+fate-swr-resample_exact_lin-s32p-2626-48000: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-s32p-2626-8000: CMP_TARGET = 1393.28
+fate-swr-resample_exact_lin-s32p-2626-8000: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-s32p-2626-96000: CMP_TARGET = 1392.97
+fate-swr-resample_exact_lin-s32p-2626-96000: SIZE_TOLERANCE = 31512 - 20480
+
+fate-swr-resample_exact_lin-s32p-44100-2626: CMP_TARGET = 185.49
+fate-swr-resample_exact_lin-s32p-44100-2626: SIZE_TOLERANCE = 529200 - 20490
+
+fate-swr-resample_exact_lin-s32p-44100-96000: CMP_TARGET = 11.45
+fate-swr-resample_exact_lin-s32p-44100-96000: SIZE_TOLERANCE = 529200 - 20482
+
+fate-swr-resample_exact_lin-s32p-48000-2626: CMP_TARGET = 456.50
+fate-swr-resample_exact_lin-s32p-48000-2626: SIZE_TOLERANCE = 576000 - 20510
+
+fate-swr-resample_exact_lin-s32p-48000-96000: CMP_TARGET = 0.47
+fate-swr-resample_exact_lin-s32p-48000-96000: SIZE_TOLERANCE = 576000 - 20480
+
+fate-swr-resample_exact_lin-s32p-8000-2626: CMP_TARGET = 2503.28
+fate-swr-resample_exact_lin-s32p-8000-2626: SIZE_TOLERANCE = 96000 - 20480
+
+fate-swr-resample_exact_lin-s32p-8000-96000: CMP_TARGET = 13.62
+fate-swr-resample_exact_lin-s32p-8000-96000: SIZE_TOLERANCE = 96000 - 20480
+
+fate-swr-resample_exact_lin-s32p-96000-2626: CMP_TARGET = 675.02
+fate-swr-resample_exact_lin-s32p-96000-2626: SIZE_TOLERANCE = 1152000 - 20474
+
+fate-swr-resample_exact_lin-s32p-96000-44100: CMP_TARGET = 1.23
+fate-swr-resample_exact_lin-s32p-96000-44100: SIZE_TOLERANCE = 1152000 - 20480
+
+fate-swr-resample_exact_lin-s32p-96000-48000: CMP_TARGET = 0.99
+fate-swr-resample_exact_lin-s32p-96000-48000: SIZE_TOLERANCE = 1152000 - 20480
+
+fate-swr-resample_exact_lin-s32p-96000-8000: CMP_TARGET = 58.52
+fate-swr-resample_exact_lin-s32p-96000-8000: SIZE_TOLERANCE = 1152000 - 20496
+
 define ARESAMPLE_EXACT_LIN_ASYNC
 FATE_SWR_RESAMPLE += fate-swr-resample_exact_lin_async-$(3)-$(1)-$(2)
 fate-swr-resample_exact_lin_async-$(3)-$(1)-$(2): tests/data/asynth-$(1)-1.wav
@@ -903,10 +1072,10 @@ $(call 
CROSS_TEST,$(SAMPLERATES_LITE),ARESAMPLE_EXACT_ASYNC,s32p,s32le,s16)
 $(call CROSS_TEST,$(SAMPLERATES_LITE),ARESAMPLE_EXACT_ASYNC,fltp,f32le,s16)
 $(call CROSS_TEST,$(SAMPLERATES_LITE),ARESAMPLE_EXACT_ASYNC,dblp,f64le,s16)
 
-$(call CROSS_TEST,$(SAMPLERATES_LITE),ARESAMPLE_EXACT_LIN,s16p,s16le,s16)
-$(call CROSS_TEST,$(SAMPLERATES_LITE),ARESAMPLE_EXACT_LIN,s32p,s32le,s16)
-$(call CROSS_TEST,$(SAMPLERATES_LITE),ARESAMPLE_EXACT_LIN,fltp,f32le,s16)
-$(call CROSS_TEST,$(SAMPLERATES_LITE),ARESAMPLE_EXACT_LIN,dblp,f64le,s16)
+$(call CROSS_TEST,$(SAMPLERATES),ARESAMPLE_EXACT_LIN,s16p,s16le,s16)
+$(call CROSS_TEST,$(SAMPLERATES),ARESAMPLE_EXACT_LIN,s32p,s32le,s16)
+$(call CROSS_TEST,$(SAMPLERATES),ARESAMPLE_EXACT_LIN,fltp,f32le,s16)
+$(call CROSS_TEST,$(SAMPLERATES),ARESAMPLE_EXACT_LIN,dblp,f64le,s16)
 
 $(call CROSS_TEST,$(SAMPLERATES_LITE),ARESAMPLE_EXACT_LIN_ASYNC,s16p,s16le,s16)
 $(call CROSS_TEST,$(SAMPLERATES_LITE),ARESAMPLE_EXACT_LIN_ASYNC,s32p,s32le,s16)
diff --git a/tests/ref/acodec/s302m b/tests/ref/acodec/s302m
index 7e41abb..63e39ed 100644
--- a/tests/ref/acodec/s302m
+++ b/tests/ref/acodec/s302m
@@ -1,4 +1,4 @@
-a69563c4c5db97d1b313c2fd7a193dd4 *tests/data/fate/acodec-s302m.mpegts
+165d022ab86306d069797acff0c1e295 *tests/data/fate/acodec-s302m.mpegts
 1589164 tests/data/fate/acodec-s302m.mpegts
-2c033ed1d9029ed03e08c1d01dcefd99 *tests/data/fate/acodec-s302m.out.wav
-stddev:  986.98 PSNR: 36.44 MAXDIFF:18642 bytes:  1058400/  1056708
+31f25a0020fd9017de9c3c608316854b *tests/data/fate/acodec-s302m.out.wav
+stddev:  986.94 PSNR: 36.44 MAXDIFF:18571 bytes:  1058400/  1056708
diff --git a/tests/ref/lavf/dv_fmt b/tests/ref/lavf/dv_fmt
index c8e4b11..dac43b6 100644
--- a/tests/ref/lavf/dv_fmt
+++ b/tests/ref/lavf/dv_fmt
@@ -1,9 +1,9 @@
-3bcb02ee889b8b2da19cae79d0f1c27d *./tests/data/lavf/lavf.dv
+5a622e1ae4fd16bec59cd514380d7882 *./tests/data/lavf/lavf.dv
 3600000 ./tests/data/lavf/lavf.dv
-./tests/data/lavf/lavf.dv CRC=0x5a36cc70
-f827583ae54e590d753c37709738fd54 *./tests/data/lavf/lavf.dv
+./tests/data/lavf/lavf.dv CRC=0x0a6edbd8
+155e8fd4ea1196edd56ae9ff09edcf85 *./tests/data/lavf/lavf.dv
 3480000 ./tests/data/lavf/lavf.dv
-./tests/data/lavf/lavf.dv CRC=0x8f8074be
+./tests/data/lavf/lavf.dv CRC=0x3e5583fa
 87d3b20f656235671383a7eaa2f66330 *./tests/data/lavf/lavf.dv
 3600000 ./tests/data/lavf/lavf.dv
 ./tests/data/lavf/lavf.dv CRC=0xf3e6873c
diff --git a/tests/ref/lavf/gxf b/tests/ref/lavf/gxf
index 9b9831b..4dd463c 100644
--- a/tests/ref/lavf/gxf
+++ b/tests/ref/lavf/gxf
@@ -1,9 +1,9 @@
-1b384e20293a84b274739c147e2b290a *./tests/data/lavf/lavf.gxf
+6ef34e8bedf699cd1601022c4a0a4910 *./tests/data/lavf/lavf.gxf
 795876 ./tests/data/lavf/lavf.gxf
-./tests/data/lavf/lavf.gxf CRC=0x55b3ec1d
-411f109b5867e5cb81bc876d3cc5702b *./tests/data/lavf/lavf.gxf
+./tests/data/lavf/lavf.gxf CRC=0x1dbfef76
+7780c428dde2c93a9ff04794f7168440 *./tests/data/lavf/lavf.gxf
 794656 ./tests/data/lavf/lavf.gxf
-./tests/data/lavf/lavf.gxf CRC=0x0d7e90ea
+./tests/data/lavf/lavf.gxf CRC=0xdcd39443
 0638c4d073ac224608baaba16732b68f *./tests/data/lavf/lavf.gxf
 795876 ./tests/data/lavf/lavf.gxf
 ./tests/data/lavf/lavf.gxf CRC=0x5ade0285
diff --git a/tests/ref/lavf/mxf b/tests/ref/lavf/mxf
index aea9c02..48fe95a 100644
--- a/tests/ref/lavf/mxf
+++ b/tests/ref/lavf/mxf
@@ -1,9 +1,9 @@
-2fd59c174dfb213d35e86dea63c0fb13 *./tests/data/lavf/lavf.mxf
+eaac3125ac1a61fe5f968c7af83fa71e *./tests/data/lavf/lavf.mxf
 525369 ./tests/data/lavf/lavf.mxf
-./tests/data/lavf/lavf.mxf CRC=0x9fd3f752
-edb3b610c301362d7b4c12f06f8d2782 *./tests/data/lavf/lavf.mxf
+./tests/data/lavf/lavf.mxf CRC=0x8dddfaab
+1562530330b13e9e70f522fe20265632 *./tests/data/lavf/lavf.mxf
 560697 ./tests/data/lavf/lavf.mxf
-./tests/data/lavf/lavf.mxf CRC=0xc51717ef
-a6ba421f38ee5ec46e181225c632fee4 *./tests/data/lavf/lavf.mxf
+./tests/data/lavf/lavf.mxf CRC=0xf21b1b48
+e07858715997313ae66a1cdd6fde5f66 *./tests/data/lavf/lavf.mxf
 525369 ./tests/data/lavf/lavf.mxf
-./tests/data/lavf/lavf.mxf CRC=0x9fd3f752
+./tests/data/lavf/lavf.mxf CRC=0x8dddfaab
-- 
2.9.3

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to