Opened 6 years ago

Closed 6 years ago

#6790 closed defect (fixed)

Pan filter outputs silence when used without channel layout

Reported by: t.rapp Owned by:
Priority: normal Component: avfilter
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: yes

Description

When using the pan filter with output channel-count only and unknown channel layout (like "1C") the filter output is silence in case the channel mixing instruction is not detected as "pure".

How to reproduce using some "asynth" file generated from a FATE run:

% ./ffmpeg -i tests/data/asynth-44100-2.wav -f wav -filter:a "pan=1C|c0=c0+c1" -y ../temp/ffmpeg-pan-test01.wav -loglevel repeat+verbose
ffmpeg version N-88290-gb629686 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 20160609
  configuration: --enable-gpl --disable-network --enable-libsoxr --enable-libtwolame --enable-libmp3lame --enable-libvorbis --enable-libfreetype --enable-static --disable-shared --progs-suffix=-dbg --enable-debug --disable-optimizations --prefix=/usr/local
  libavutil      56.  0.100 / 56.  0.100
  libavcodec     58.  1.100 / 58.  1.100
  libavformat    58.  0.102 / 58.  0.102
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  0.101 /  7.  0.101
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.100 /  3.  0.100
  libpostproc    55.  0.100 / 55.  0.100
[wav @ 0x42cb400] parser not found for codec pcm_s16le, packets or times may be invalid.
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, wav, from 'tests/data/asynth-44100-2.wav':
  Duration: 00:00:06.00, bitrate: 1411 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
[graph_0_in_0_0 @ 0x431b700] tb:1/44100 samplefmt:s16 samplerate:44100 chlayout:0x3
[Parsed_pan_0 @ 0x43134a0] o0 = 1 i0 + 1 i1
Output #0, wav, to '../temp/ffmpeg-pan-test01.wav':
  Metadata:
    ISFT            : Lavf58.0.102
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 1 channels, s16, 705 kb/s
    Metadata:
      encoder         : Lavc58.1.100 pcm_s16le
No more output streams to write to, finishing.
size=     517kB time=00:00:06.00 bitrate= 705.7kbits/s speed= 849x
video:0kB audio:517kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.014739%
Input file #0 (tests/data/asynth-44100-2.wav):
  Input stream #0:0 (audio): 259 packets read (1058400 bytes); 259 frames decoded (264600 samples);
  Total: 259 packets (1058400 bytes) demuxed
Output file #0 (../temp/ffmpeg-pan-test01.wav):
  Output stream #0:0 (audio): 259 frames encoded (264600 samples); 259 packets muxed (529200 bytes);
  Total: 259 packets (529200 bytes) muxed

Change History (4)

comment:1 by Cigaes, 6 years ago

Reproduced by developer: set
Status: newopen

comment:2 by t.rapp, 6 years ago

Similar problem occurs when output channel layout is defined but input channel layout is undefined:

% ./ffmpeg -guess_layout_max 0 -i tests/data/asynth-44100-2.wav -f wav -filter:a "pan=mono|c0=c0+c1" -y ../temp/ffmpeg-pan-test02.wav -loglevel repeat+verbose)

In this case the pan filter also outputs silence instead of actual data.

Last edited 6 years ago by t.rapp (previous) (diff)

comment:3 by t.rapp, 6 years ago

Should be fixed in master by commit 6325bd3717348615adafb52e4da2fd01a3007d0a.

comment:4 by t.rapp, 6 years ago

Analyzed by developer: set
Resolution: fixed
Status: openclosed
Note: See TracTickets for help on using tickets.