[FFmpeg-trac] #10067(undetermined:new): FFmpeg nightly creates weird w64 output

FFmpeg trac at avcodec.org
Thu Nov 24 04:40:11 EET 2022


#10067: FFmpeg nightly creates weird w64 output
-------------------------------------+-------------------------------------
             Reporter:  pcroland     |                     Type:  defect
               Status:  new          |                 Priority:  important
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:  wav, w64,    |               Blocked By:
  pcm                                |
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 I develop a tool that uses FFmpeg: https://github.com/pcroland/deew
 It creates w64 temp files for the Dolby Encoding Engine.
 Some users reported that it doesn't work with new versions of ffmpeg.
 I used a .wav extension for these files because DEE only works with that
 for some reason. I had to change that to w64 because new version of FFmpeg
 doesn't even start to write the output with .wav:
 {{{
 ❯ ffmpeg-master -y -drc_scale 0 -i orig.w64 -map 0:a:0 -c pcm_s16le
 -filter_complex
 "[a:0]pan=7.1|c0=c0|c1=c1|c2=c2|c3=c3|c4=c6|c5=c7|c6=c4|c7=c5" -rf64
 always test-master.wav
 ffmpeg version N-109185-g14c6093528-20221123 Copyright (c) 2000-2022 the
 FFmpeg developers
   built with gcc 12.2.0 (crosstool-NG 1.25.0.90_cf9beb1)
   configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static
 --pkg-config=pkg-config --cross-prefix=x86_64-ffbuild-linux-gnu-
 --arch=x86_64 --target-os=linux --enable-gpl --enable-version3 --disable-
 debug --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype
 --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig
 --enable-libvorbis --enable-opencl --enable-libpulse --enable-libvmaf
 --enable-libxcb --enable-xlib --enable-amf --enable-libaom --enable-
 libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d
 --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-
 llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libass
 --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus
 --enable-mbedtls --enable-librist --enable-libssh --enable-libtheora
 --enable-libvpx --enable-libwebp --enable-lv2 --disable-libmfx --enable-
 libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-
 amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt
 --enable-librav1e --enable-librubberband --disable-schannel --enable-sdl2
 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame
 --enable-libuavs3d --enable-libdrm --enable-vaapi --enable-libvidstab
 --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-libx264
 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg
 --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags=
 --extra-ldflags=-pthread --extra-ldexeflags=-pie --extra-libs='-ldl
 -lgomp' --extra-version=20221123
   libavutil      57. 43.100 / 57. 43.100
   libavcodec     59. 54.100 / 59. 54.100
   libavformat    59. 34.102 / 59. 34.102
   libavdevice    59.  8.101 / 59.  8.101
   libavfilter     8. 50.101 /  8. 50.101
   libswscale      6.  8.112 /  6.  8.112
   libswresample   4.  9.100 /  4.  9.100
   libpostproc    56.  7.100 / 56.  7.100
 [w64 @ 0x7fffde2bc740] Estimating duration from bitrate, this may be
 inaccurate
 Input #0, w64, from 'orig.w64':
   Duration: 00:00:30.00, bitrate: 6144 kb/s
   Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 7.1,
 s16, 6144 kb/s
 Codec AVOption drc_scale (percentage of dynamic range compression to
 apply) specified for input file #0 (orig.w64) has not been used for any
 stream. The most likely reason is either wrong type (e.g. a video option
 with no video streams) or that it is a private option of some decoder
 which was not actually used for any stream.
 Stream mapping:
   Stream #0:0 (pcm_s16le) -> pan:default (graph 0)
   pan:default (graph 0) -> Stream #0:0 (pcm_s16le)
   Stream #0:0 -> #0:1 (pcm_s16le (native) -> pcm_s16le (native))
 Press [q] to stop, [?] for help
 [Parsed_pan_0 @ 0x7fffde3093c0] Pure channel mapping detected: 0 1 2 3 6 7
 4 5
 [wav @ 0x7fffde305100] WAVE files have exactly one stream
 Could not write header for output file #0 (incorrect codec parameters ?):
 Invalid argument
 Error initializing output stream 0:1 --
 Conversion failed!
 }}}

 When I change the extension from .wav to .w64 it writes an output, but
 it's twice the length and size, VLC can't play it and it's really choppy
 in mpv.

 Here are some sample files:
 orig.w64: https://envs.sh/QJx.w64
 test.wav: https://envs.sh/QJ-.wav
 test-master.w64: https://envs.sh/QoD.w64

 test.wav was created with:
 {{{
 ❯ ffmpeg -y -drc_scale 0 -i orig.w64 -map 0:a:0 -c pcm_s16le
 -filter_complex
 "[a:0]pan=7.1|c0=c0|c1=c1|c2=c2|c3=c3|c4=c6|c5=c7|c6=c4|c7=c5" -rf64
 always test.wav

 ❯ ffmpeg -version
 ffmpeg version 5.1.1-static https://johnvansickle.com/ffmpeg/  Copyright
 (c) 2000-2022 the FFmpeg developers
 built with gcc 8 (Debian 8.3.0-6)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-
 debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio
 --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp
 --enable-libgme --enable-gray --enable-libaom --enable-libfribidi
 --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame
 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
 --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt
 --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab
 --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264
 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid
 --enable-libzvbi --enable-libzimg
 libavutil      57. 28.100 / 57. 28.100
 libavcodec     59. 37.100 / 59. 37.100
 libavformat    59. 27.100 / 59. 27.100
 libavdevice    59.  7.100 / 59.  7.100
 libavfilter     8. 44.100 /  8. 44.100
 libswscale      6.  7.100 /  6.  7.100
 libswresample   4.  7.100 /  4.  7.100
 libpostproc    56.  6.100 / 56.  6.100
 }}}

 test-master.w64 was created with:
 {{{
 ❯ ffmpeg-master -y -drc_scale 0 -i orig.w64 -map 0:a:0 -c pcm_s16le
 -filter_complex
 "[a:0]pan=7.1|c0=c0|c1=c1|c2=c2|c3=c3|c4=c6|c5=c7|c6=c4|c7=c5" -rf64
 always test-master.w64

 ❯ ffmpeg-master -version
 ffmpeg version N-109185-g14c6093528-20221123 Copyright (c) 2000-2022 the
 FFmpeg developers
 built with gcc 12.2.0 (crosstool-NG 1.25.0.90_cf9beb1)
 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-
 config=pkg-config --cross-prefix=x86_64-ffbuild-linux-gnu- --arch=x86_64
 --target-os=linux --enable-gpl --enable-version3 --disable-debug --enable-
 iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-
 libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-
 libvorbis --enable-opencl --enable-libpulse --enable-libvmaf --enable-
 libxcb --enable-xlib --enable-amf --enable-libaom --enable-libaribb24
 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2
 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r
 --enable-libgme --enable-libkvazaar --enable-libass --enable-libbluray
 --enable-libjxl --enable-libmp3lame --enable-libopus --enable-mbedtls
 --enable-librist --enable-libssh --enable-libtheora --enable-libvpx
 --enable-libwebp --enable-lv2 --disable-libmfx --enable-libvpl --enable-
 openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-
 libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e
 --enable-librubberband --disable-schannel --enable-sdl2 --enable-libsoxr
 --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d
 --enable-libdrm --enable-vaapi --enable-libvidstab --enable-vulkan
 --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265
 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi
 --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-
 ldflags=-pthread --extra-ldexeflags=-pie --extra-libs='-ldl -lgomp'
 --extra-version=20221123
 libavutil      57. 43.100 / 57. 43.100
 libavcodec     59. 54.100 / 59. 54.100
 libavformat    59. 34.102 / 59. 34.102
 libavdevice    59.  8.101 / 59.  8.101
 libavfilter     8. 50.101 /  8. 50.101
 libswscale      6.  8.112 /  6.  8.112
 libswresample   4.  9.100 /  4.  9.100
 libpostproc    56.  7.100 / 56.  7.100
 }}}
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/10067>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list