diff mbox

[FFmpeg-devel] swresample/swresample: do not reset tsf on swr_alloc_set_opts

Message ID 20170309235527.3622-1-mfcc64@gmail.com
State Superseded
Headers show

Commit Message

Muhammad Faiz March 9, 2017, 11:55 p.m. UTC
so tsf option in aresample will have effect

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
---
 libswresample/swresample.c | 3 ---
 1 file changed, 3 deletions(-)

Comments

Michael Niedermayer March 11, 2017, 1:41 p.m. UTC | #1
On Fri, Mar 10, 2017 at 06:55:27AM +0700, Muhammad Faiz wrote:
> so tsf option in aresample will have effect
> 
> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>

breaks fate

TEST    swr-resample-s32p-96000-44100
stddev:    1.54 PSNR: 92.56 MAXDIFF:  116 bytes:  1152000/    20480
stddev: |1.54 - 1.44| >= 0.1
Test swr-resample-s32p-96000-44100 failed. Look at tests/data/fate/swr-resample-s32p-96000-44100.err for details.



[...]
Muhammad Faiz March 11, 2017, 5 p.m. UTC | #2
On Sat, Mar 11, 2017 at 8:41 PM, Michael Niedermayer
<michael@niedermayer.cc> wrote:
> On Fri, Mar 10, 2017 at 06:55:27AM +0700, Muhammad Faiz wrote:
>> so tsf option in aresample will have effect
>>
>> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
>
> breaks fate
>
> TEST    swr-resample-s32p-96000-44100
> stddev:    1.54 PSNR: 92.56 MAXDIFF:  116 bytes:  1152000/    20480
> stddev: |1.54 - 1.44| >= 0.1
> Test swr-resample-s32p-96000-44100 failed. Look at tests/data/fate/swr-resample-s32p-96000-44100.err for details.

The cause probably is that previously it used fltp internally.
I check it using this
./ffmpeg -loglevel debug -i tests/data/asynth-44100-1.wav -af
"aresample=48000:internal_sample_fmt=s32p,aformat=s32p,aresample=44100:internal_sample_fmt=s32p"
-f wav -acodec pcm_s16le -y /dev/null

before patch:
[Parsed_aresample_0 @ 0x296f5e0] [SWR @ 0x296fb80] Using fltp
internally between filters
[Parsed_aresample_0 @ 0x296f5e0] ch:1 chl:mono fmt:s16 r:44100Hz ->
ch:1 chl:mono fmt:s32p r:48000Hz
[Parsed_aresample_2 @ 0x2984f60] [SWR @ 0x2985960] Using fltp
internally between filters
[Parsed_aresample_2 @ 0x2984f60] ch:1 chl:mono fmt:s32p r:48000Hz ->
ch:1 chl:mono fmt:s16 r:44100Hz

after patch:
[Parsed_aresample_0 @ 0x3ccf5e0] [SWR @ 0x3ccfb80] Using s32p
internally between filters
[Parsed_aresample_0 @ 0x3ccf5e0] ch:1 chl:mono fmt:s16 r:44100Hz ->
ch:1 chl:mono fmt:s32p r:48000Hz
[Parsed_aresample_2 @ 0x3ce4f60] [SWR @ 0x3ce5960] Using s32p
internally between filters
[Parsed_aresample_2 @ 0x3ce4f60] ch:1 chl:mono fmt:s32p r:48000Hz ->
ch:1 chl:mono fmt:s16 r:44100Hz


I will post updated patch that modify fate

Thanks
diff mbox

Patch

diff --git a/libswresample/swresample.c b/libswresample/swresample.c
index dea6139..f2e6600 100644
--- a/libswresample/swresample.c
+++ b/libswresample/swresample.c
@@ -84,9 +84,6 @@  struct SwrContext *swr_alloc_set_opts(struct SwrContext *s,
     if (av_opt_set_int(s, "isr", in_sample_rate,  0) < 0)
         goto fail;
 
-    if (av_opt_set_int(s, "tsf", AV_SAMPLE_FMT_NONE,   0) < 0)
-        goto fail;
-
     if (av_opt_set_int(s, "ich", av_get_channel_layout_nb_channels(s-> user_in_ch_layout), 0) < 0)
         goto fail;