[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