From patchwork Fri Nov 25 10:17:07 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Muhammad Faiz X-Patchwork-Id: 1562 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.90.1 with SMTP id o1csp263545vsb; Fri, 25 Nov 2016 02:17:19 -0800 (PST) X-Received: by 10.194.43.73 with SMTP id u9mr6540275wjl.109.1480069038984; Fri, 25 Nov 2016 02:17:18 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 80si12927798wmy.107.2016.11.25.02.17.18; Fri, 25 Nov 2016 02:17:18 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CC520689C9D; Fri, 25 Nov 2016 12:17:11 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk0-f173.google.com (mail-qk0-f173.google.com [209.85.220.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5D20A689B74 for ; Fri, 25 Nov 2016 12:17:05 +0200 (EET) Received: by mail-qk0-f173.google.com with SMTP id q130so73627608qke.1 for ; Fri, 25 Nov 2016 02:17:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=1qJaDofarKEmeUn0G0xzs/5RUUnciLhxzcumRHqepDc=; b=NEeC3E60wXA7fk6tfYgJFR6t3UO3+XBNSDBrsvrQzOTk8yydRqH9D92vCWWrjd8/VC dDNU8JFaY5q+NBLXTTKEvGgx4kR7A4xDQlKRqlQmcTJrS19mUDRO9VAnvvUPDXQKY3Qi 5yv9MkPTI3dajNdUTTOQ1d4izMRYP9J0S2LKVtGQZ83PBkfNDgB2+dKjnLUEQJWLsHQo gAw1TQGZqaPPheQ8zR2OvktG4iuWGLefxYWBNPQXEMpyuI5CTrduGgB1VhvYryT9FGyv KEMkmSrnO/pJZ8PFcF6VO2PslpikwMM9QWQ4sDF3rPvjZyvUly1av59FMGfBJo4cf7Md G+Iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=1qJaDofarKEmeUn0G0xzs/5RUUnciLhxzcumRHqepDc=; b=ejXgQGsuakTjp/iF/gxjXaPR9WrbG60IbOUOd73FmKrXW4alUAF1snxFe6XxD2vn/G ttCExk0+MeXdLggLfVkPt6egnZDVMI/UyWW0jpYp2u91eXPp3N9wqElBi1UffdqJRprW HP0KADT+QE1ohNUqBlc1Im/zZqoTgA5c8KgOjDLu7bm+aQX3htXYGOo1BZJq9lgS7y+c XQyk+exUcc3zQ42aPOkpI+2hl8TsBC4m0lp/+nBPf+j9AHA5LWq2e9Z5/sFOlFAj5Jc7 iIyihjwURagOYb87jV1gWzmUkXxJPtDUTKQb2vRVqtMQDhCNcdnRnU3CWNyrOvxIMp8t litg== X-Gm-Message-State: AKaTC00k92xxiHUmmL6nhh+1KWeYMQIHyhkDND6J+h1nM13URQo4Vy6h4K5QPWEPLwgeYwHUTUI56sfDJkH7uA== X-Received: by 10.55.11.130 with SMTP id 124mr5885243qkl.112.1480069028513; Fri, 25 Nov 2016 02:17:08 -0800 (PST) MIME-Version: 1.0 Received: by 10.237.36.249 with HTTP; Fri, 25 Nov 2016 02:17:07 -0800 (PST) From: Muhammad Faiz Date: Fri, 25 Nov 2016 17:17:07 +0700 Message-ID: To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 2/2] swresample: enable exact_rational and linear_interp by default X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" have problem with git send-email, so I attach the patch From 4b77fcc028b080ccf7887f6b3fb5830960acf8c1 Mon Sep 17 00:00:00 2001 From: Muhammad Faiz Date: Fri, 25 Nov 2016 16:48:22 +0700 Subject: [PATCH 2/2] swresample: enable exact_rational and linear_interp by default exact_rational gives better quality without sacrifice speed. linear_interp gives better quality with slower speed. when both are enabled, resampler will automatically disable linear_interp when it is not required (from commit 06f94149c6) there are two conditions that makes resampler cannot disable linear_interp: first, when exact_rational requires phase_count larger than 1 << phase_shit. in this case, exact_rational is silently ignored. second, when soft compensation happens. in this case, resampler modify c->dst_incr that may be indivisible by c->src_incr. at that both cases, the quality is preserved but speed is slower. modify resampler fate command line option, also add more sample rates for the default. also modify fate refs that depend on swresample. Signed-off-by: Muhammad Faiz --- doc/resampler.texi | 4 +- libswresample/options.c | 4 +- libswresample/version.h | 2 +- tests/fate/libswresample.mak | 191 ++++++++++++++++++++++++++++++++++++++++--- tests/ref/acodec/s302m | 6 +- tests/ref/lavf/dv_fmt | 8 +- tests/ref/lavf/gxf | 8 +- tests/ref/lavf/mxf | 12 +-- 8 files changed, 203 insertions(+), 32 deletions(-) diff --git a/doc/resampler.texi b/doc/resampler.texi index d72677c..23530f8 100644 --- a/doc/resampler.texi +++ b/doc/resampler.texi @@ -132,12 +132,12 @@ 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 if set to 1 (the default). @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/libswresample/version.h b/libswresample/version.h index 37d44dd..3a5c771 100644 --- a/libswresample/version.h +++ b/libswresample/version.h @@ -30,7 +30,7 @@ #define LIBSWRESAMPLE_VERSION_MAJOR 2 #define LIBSWRESAMPLE_VERSION_MINOR 4 -#define LIBSWRESAMPLE_VERSION_MICRO 100 +#define LIBSWRESAMPLE_VERSION_MICRO 101 #define LIBSWRESAMPLE_VERSION_INT AV_VERSION_INT(LIBSWRESAMPLE_VERSION_MAJOR, \ LIBSWRESAMPLE_VERSION_MINOR, \ diff --git a/tests/fate/libswresample.mak b/tests/fate/libswresample.mak index cc50693..b875767 100644 --- a/tests/fate/libswresample.mak +++ b/tests/fate/libswresample.mak @@ -11,10 +11,12 @@ SAMPLERATES_LITE = 8000 44100 48000 SAMPLERATES_NN = 8000 44100 +#note that without EXACT suffix means exact_rational=off, without LIN suffix means linear_interp=off +#now this ARESAMPLE is not default behavior, the default is exact_rational=on:linear_interp=on 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=off:linear_interp=off,aformat=$(3),aresample=$(1):internal_sample_fmt=$(3):exact_rational=off:linear_interp=off -f wav -acodec pcm_s16le - fate-swr-resample-$(3)-$(1)-$(2): CMP = stddev fate-swr-resample-$(3)-$(1)-$(2): CMP_UNIT = $(5) @@ -270,7 +272,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 +337,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:exact_rational=0:internal_sample_fmt=$(3),aformat=$(3),aresample=$(1):exact_rational=0:linear_interp=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 +360,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:exact_rational=0:linear_interp=0:internal_sample_fmt=$(3),aformat=$(3),aresample=$(1):exact_rational=0:linear_interp=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 +383,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=off,aformat=$(3),aresample=$(1):internal_sample_fmt=$(3):exact_rational=on:linear_interp=off -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 +634,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=off,aformat=$(3),aresample=$(1):internal_sample_fmt=$(3):exact_rational=on:linear_interp=off -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) @@ -712,6 +714,7 @@ fate-swr-resample_exact_async-s32p-8000-44100: SIZE_TOLERANCE = 96000 - 20344 fate-swr-resample_exact_async-s32p-8000-48000: CMP_TARGET = 11326.82 fate-swr-resample_exact_async-s32p-8000-48000: SIZE_TOLERANCE = 96000 - 20344 +#the default define ARESAMPLE_EXACT_LIN FATE_SWR_RESAMPLE += fate-swr-resample_exact_lin-$(3)-$(1)-$(2) fate-swr-resample_exact_lin-$(3)-$(1)-$(2): tests/data/asynth-$(1)-1.wav @@ -723,78 +726,246 @@ fate-swr-resample_exact_lin-$(3)-$(1)-$(2): FUZZ = 0.1 fate-swr-resample_exact_lin-$(3)-$(1)-$(2): REF = tests/data/asynth-$(1)-1.wav endef +fate-swr-resample_exact_lin-dblp-2626-44100: CMP_TARGET = 1352.61 +fate-swr-resample_exact_lin-dblp-2626-44100: SIZE_TOLERANCE = 31512 - 20480 + +fate-swr-resample_exact_lin-dblp-2626-48000: CMP_TARGET = 1352.61 +fate-swr-resample_exact_lin-dblp-2626-48000: SIZE_TOLERANCE = 31512 - 20480 + +fate-swr-resample_exact_lin-dblp-2626-8000: CMP_TARGET = 1353.00 +fate-swr-resample_exact_lin-dblp-2626-8000: SIZE_TOLERANCE = 31512 - 20482 + +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-48000: CMP_TARGET = 9.65 fate-swr-resample_exact_lin-dblp-44100-48000: SIZE_TOLERANCE = 529200 - 20482 fate-swr-resample_exact_lin-dblp-44100-8000: CMP_TARGET = 75.38 fate-swr-resample_exact_lin-dblp-44100-8000: SIZE_TOLERANCE = 529200 - 20486 +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-44100: CMP_TARGET = 0.26 fate-swr-resample_exact_lin-dblp-48000-44100: SIZE_TOLERANCE = 576000 - 20480 fate-swr-resample_exact_lin-dblp-48000-8000: CMP_TARGET = 62.36 fate-swr-resample_exact_lin-dblp-48000-8000: SIZE_TOLERANCE = 576000 - 20484 +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 = 2505.98 +fate-swr-resample_exact_lin-dblp-8000-2626: SIZE_TOLERANCE = 96000 - 20486 + fate-swr-resample_exact_lin-dblp-8000-44100: CMP_TARGET = 14.59 fate-swr-resample_exact_lin-dblp-8000-44100: SIZE_TOLERANCE = 96000 - 20480 fate-swr-resample_exact_lin-dblp-8000-48000: CMP_TARGET = 14.50 fate-swr-resample_exact_lin-dblp-8000-48000: 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.03 +fate-swr-resample_exact_lin-dblp-96000-2626: SIZE_TOLERANCE = 1152000 - 20474 + +fate-swr-resample_exact_lin-dblp-96000-44100: CMP_TARGET = 1.26 +fate-swr-resample_exact_lin-dblp-96000-44100: SIZE_TOLERANCE = 1152000 - 20480 + +fate-swr-resample_exact_lin-dblp-96000-48000: CMP_TARGET = 1.00 +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.61 +fate-swr-resample_exact_lin-fltp-2626-44100: SIZE_TOLERANCE = 31512 - 20480 + +fate-swr-resample_exact_lin-fltp-2626-48000: CMP_TARGET = 1352.61 +fate-swr-resample_exact_lin-fltp-2626-48000: SIZE_TOLERANCE = 31512 - 20480 + +fate-swr-resample_exact_lin-fltp-2626-8000: CMP_TARGET = 1353.00 +fate-swr-resample_exact_lin-fltp-2626-8000: SIZE_TOLERANCE = 31512 - 20482 + +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-48000: CMP_TARGET = 9.65 fate-swr-resample_exact_lin-fltp-44100-48000: SIZE_TOLERANCE = 529200 - 20482 fate-swr-resample_exact_lin-fltp-44100-8000: CMP_TARGET = 75.38 fate-swr-resample_exact_lin-fltp-44100-8000: SIZE_TOLERANCE = 529200 - 20486 +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-44100: CMP_TARGET = 0.26 fate-swr-resample_exact_lin-fltp-48000-44100: SIZE_TOLERANCE = 576000 - 20480 fate-swr-resample_exact_lin-fltp-48000-8000: CMP_TARGET = 62.36 fate-swr-resample_exact_lin-fltp-48000-8000: SIZE_TOLERANCE = 576000 - 20484 +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 = 2505.98 +fate-swr-resample_exact_lin-fltp-8000-2626: SIZE_TOLERANCE = 96000 - 20486 + fate-swr-resample_exact_lin-fltp-8000-44100: CMP_TARGET = 14.59 fate-swr-resample_exact_lin-fltp-8000-44100: SIZE_TOLERANCE = 96000 - 20480 fate-swr-resample_exact_lin-fltp-8000-48000: CMP_TARGET = 14.50 fate-swr-resample_exact_lin-fltp-8000-48000: 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.03 +fate-swr-resample_exact_lin-fltp-96000-2626: SIZE_TOLERANCE = 1152000 - 20474 + +fate-swr-resample_exact_lin-fltp-96000-44100: CMP_TARGET = 1.26 +fate-swr-resample_exact_lin-fltp-96000-44100: SIZE_TOLERANCE = 1152000 - 20480 + +fate-swr-resample_exact_lin-fltp-96000-48000: CMP_TARGET = 1.00 +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.97 +fate-swr-resample_exact_lin-s16p-2626-44100: SIZE_TOLERANCE = 31512 - 20480 + +fate-swr-resample_exact_lin-s16p-2626-48000: CMP_TARGET = 1392.96 +fate-swr-resample_exact_lin-s16p-2626-48000: SIZE_TOLERANCE = 31512 - 20480 + +fate-swr-resample_exact_lin-s16p-2626-8000: CMP_TARGET = 1393.82 +fate-swr-resample_exact_lin-s16p-2626-8000: SIZE_TOLERANCE = 31512 - 20482 + +fate-swr-resample_exact_lin-s16p-2626-96000: CMP_TARGET = 1393.06 +fate-swr-resample_exact_lin-s16p-2626-96000: SIZE_TOLERANCE = 31512 - 20480 + +fate-swr-resample_exact_lin-s16p-44100-2626: CMP_TARGET = 185.52 +fate-swr-resample_exact_lin-s16p-44100-2626: SIZE_TOLERANCE = 529200 - 20490 + fate-swr-resample_exact_lin-s16p-44100-48000: CMP_TARGET = 9.67 fate-swr-resample_exact_lin-s16p-44100-48000: SIZE_TOLERANCE = 529200 - 20482 fate-swr-resample_exact_lin-s16p-44100-8000: CMP_TARGET = 75.43 fate-swr-resample_exact_lin-s16p-44100-8000: SIZE_TOLERANCE = 529200 - 20486 +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-44100: CMP_TARGET = 0.72 fate-swr-resample_exact_lin-s16p-48000-44100: SIZE_TOLERANCE = 576000 - 20480 fate-swr-resample_exact_lin-s16p-48000-8000: CMP_TARGET = 62.39 fate-swr-resample_exact_lin-s16p-48000-8000: SIZE_TOLERANCE = 576000 - 20484 +fate-swr-resample_exact_lin-s16p-48000-96000: CMP_TARGET = 0.50 +fate-swr-resample_exact_lin-s16p-48000-96000: SIZE_TOLERANCE = 576000 - 20480 + +fate-swr-resample_exact_lin-s16p-8000-2626: CMP_TARGET = 2505.97 +fate-swr-resample_exact_lin-s16p-8000-2626: SIZE_TOLERANCE = 96000 - 20486 + fate-swr-resample_exact_lin-s16p-8000-44100: CMP_TARGET = 14.63 fate-swr-resample_exact_lin-s16p-8000-44100: SIZE_TOLERANCE = 96000 - 20480 fate-swr-resample_exact_lin-s16p-8000-48000: CMP_TARGET = 14.54 fate-swr-resample_exact_lin-s16p-8000-48000: 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.10 +fate-swr-resample_exact_lin-s16p-96000-2626: SIZE_TOLERANCE = 1152000 - 20474 + +fate-swr-resample_exact_lin-s16p-96000-44100: CMP_TARGET = 1.45 +fate-swr-resample_exact_lin-s16p-96000-44100: SIZE_TOLERANCE = 1152000 - 20480 + +fate-swr-resample_exact_lin-s16p-96000-48000: CMP_TARGET = 1.03 +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.96 +fate-swr-resample_exact_lin-s32p-2626-44100: SIZE_TOLERANCE = 31512 - 20480 + +fate-swr-resample_exact_lin-s32p-2626-48000: CMP_TARGET = 1392.96 +fate-swr-resample_exact_lin-s32p-2626-48000: SIZE_TOLERANCE = 31512 - 20480 + +fate-swr-resample_exact_lin-s32p-2626-8000: CMP_TARGET = 1393.81 +fate-swr-resample_exact_lin-s32p-2626-8000: SIZE_TOLERANCE = 31512 - 20482 + +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-48000: CMP_TARGET = 9.65 fate-swr-resample_exact_lin-s32p-44100-48000: SIZE_TOLERANCE = 529200 - 20482 fate-swr-resample_exact_lin-s32p-44100-8000: CMP_TARGET = 75.38 fate-swr-resample_exact_lin-s32p-44100-8000: SIZE_TOLERANCE = 529200 - 20486 +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-44100: CMP_TARGET = 0.26 fate-swr-resample_exact_lin-s32p-48000-44100: SIZE_TOLERANCE = 576000 - 20480 fate-swr-resample_exact_lin-s32p-48000-8000: CMP_TARGET = 62.36 fate-swr-resample_exact_lin-s32p-48000-8000: SIZE_TOLERANCE = 576000 - 20484 +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 = 2505.98 +fate-swr-resample_exact_lin-s32p-8000-2626: SIZE_TOLERANCE = 96000 - 20486 + fate-swr-resample_exact_lin-s32p-8000-44100: CMP_TARGET = 14.59 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-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.03 +fate-swr-resample_exact_lin-s32p-96000-2626: SIZE_TOLERANCE = 1152000 - 20474 + +fate-swr-resample_exact_lin-s32p-96000-44100: CMP_TARGET = 1.26 +fate-swr-resample_exact_lin-s32p-96000-44100: SIZE_TOLERANCE = 1152000 - 20480 + +fate-swr-resample_exact_lin-s32p-96000-48000: CMP_TARGET = 1.00 +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 +1074,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 5eca9e3..2da15af 100644 --- a/tests/ref/acodec/s302m +++ b/tests/ref/acodec/s302m @@ -1,4 +1,4 @@ -f6908214498489799b50e332ac42ebf3 *tests/data/fate/acodec-s302m.mpegts +8402fe08dde64e332e8246c97a93a846 *tests/data/fate/acodec-s302m.mpegts 1589164 tests/data/fate/acodec-s302m.mpegts -f9b6528eee1aea04640ee83400c78689 *tests/data/fate/acodec-s302m.out.wav -stddev: 986.97 PSNR: 36.44 MAXDIFF:18642 bytes: 1058400/ 1056708 +5dee513a03686d7527a85b845e3d374c *tests/data/fate/acodec-s302m.out.wav +stddev: 986.93 PSNR: 36.44 MAXDIFF:18571 bytes: 1058400/ 1056708 diff --git a/tests/ref/lavf/dv_fmt b/tests/ref/lavf/dv_fmt index b152c84..6edf03c 100644 --- a/tests/ref/lavf/dv_fmt +++ b/tests/ref/lavf/dv_fmt @@ -1,9 +1,9 @@ -11be3e5caa2892236b3475c3f7807b76 *./tests/data/lavf/lavf.dv +2f443a06a1aada36a5ea5e6dd610491c *./tests/data/lavf/lavf.dv 3600000 ./tests/data/lavf/lavf.dv -./tests/data/lavf/lavf.dv CRC=0x0b2cd3ec -e9949bc767924e1e7d28856029fee024 *./tests/data/lavf/lavf.dv +./tests/data/lavf/lavf.dv CRC=0x38c7d454 +bd1559345544052daf229884ccd7040a *./tests/data/lavf/lavf.dv 3480000 ./tests/data/lavf/lavf.dv -./tests/data/lavf/lavf.dv CRC=0xfab17c4a +./tests/data/lavf/lavf.dv CRC=0x74f07c7e 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 d356f20..c98fc2b 100644 --- a/tests/ref/lavf/gxf +++ b/tests/ref/lavf/gxf @@ -1,9 +1,9 @@ -7993da95d8bfe04832e27892c163e562 *./tests/data/lavf/lavf.gxf +35251f30f64437df01fa7bb1d4e720b2 *./tests/data/lavf/lavf.gxf 795876 ./tests/data/lavf/lavf.gxf -./tests/data/lavf/lavf.gxf CRC=0xda7cebbc -9e873074b5c3ef1d80d233a38e7de156 *./tests/data/lavf/lavf.gxf +./tests/data/lavf/lavf.gxf CRC=0x44acf1d7 +404e44c67a9414835ea880fbc9a4b4bb *./tests/data/lavf/lavf.gxf 794656 ./tests/data/lavf/lavf.gxf -./tests/data/lavf/lavf.gxf CRC=0x7f0c9089 +./tests/data/lavf/lavf.gxf CRC=0x9bae96a4 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 e1c0c79..8b9516d 100644 --- a/tests/ref/lavf/mxf +++ b/tests/ref/lavf/mxf @@ -1,9 +1,9 @@ -f9b570c7b4fbbc2b71f2236b32e7cbb6 *./tests/data/lavf/lavf.mxf +db3830320071450c44c9b037fe55983c *./tests/data/lavf/lavf.mxf 525369 ./tests/data/lavf/lavf.mxf -./tests/data/lavf/lavf.mxf CRC=0xdbfff6f1 -8f6a9a6b409f0f5a0bf003f8dea26314 *./tests/data/lavf/lavf.mxf +./tests/data/lavf/lavf.mxf CRC=0x129dfd0c +b89cc1bb39932ecf37c3f41d37a19dd8 *./tests/data/lavf/lavf.mxf 560697 ./tests/data/lavf/lavf.mxf -./tests/data/lavf/lavf.mxf CRC=0x11a6178e -10ac0f158fc0af356439b818de7601e3 *./tests/data/lavf/lavf.mxf +./tests/data/lavf/lavf.mxf CRC=0xc39a1da9 +90378bafb9e45ea144d752876eb3f7a3 *./tests/data/lavf/lavf.mxf 525369 ./tests/data/lavf/lavf.mxf -./tests/data/lavf/lavf.mxf CRC=0xdbfff6f1 +./tests/data/lavf/lavf.mxf CRC=0x129dfd0c -- 2.5.0