#7370 closed defect (invalid)
Encoding and subsequent decoding with AptX (or AptX HD) results in incorrect sample rate of output file
Reported by: | Serge Smirnoff | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | aptx |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Encoding and subsequent decoding with AptX (or AptX HD) results in incorrect sample rate of output file.
Input file: sine1k.wav - 44100 Hz (16 bit), sinusoidal signal 1000 Hz
Decoded file: sine1k-aptx.wav is labeled as 48000 Hz (16 bit) but in fact it is 44100 Hz (16 bit) which can be verified by spectral analysis, it shows 1088 Hz signal instead of 1000 Hz.
How to reproduce:
ffmpeg -loglevel verbose -i sine1k.wav -acodec aptx sine1k.aptx ffmpeg -loglevel verbose -i sine1k.aptx sine1k-aptx.wav ffmpeg version 4.0.2
Attachments (1)
Change History (8)
by , 6 years ago
Attachment: | sine1k.wav added |
---|
comment:1 by , 6 years ago
ffmpeg -loglevel verbose -i sine1k.wav -acodec aptx sine1k.aptx D:\Projects\SoundExpert\research\_encoders+\Lossy\ffmpeg\FileProcess>ffmpeg -log level verbose -i sine1k.wav -acodec aptx sine1k.aptx ffmpeg version 4.0.2 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7.3.1 (GCC) 20180722 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --e nable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libblur ay --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable- libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enab le-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-li bvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --en able-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable- libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enabl e-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enabl e-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enab le-dxva2 --enable-avisynth libavutil 56. 14.100 / 56. 14.100 libavcodec 58. 18.100 / 58. 18.100 libavformat 58. 12.100 / 58. 12.100 libavdevice 58. 3.100 / 58. 3.100 libavfilter 7. 16.100 / 7. 16.100 libswscale 5. 1.100 / 5. 1.100 libswresample 3. 1.100 / 3. 1.100 libpostproc 55. 1.100 / 55. 1.100 [wav @ 0000000000109b80] 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 'sine1k.wav': Duration: 00:00:01.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) -> aptx (native)) Press [q] to stop, [?] for help [graph_0_in_0_0 @ 000000000012b540] tb:1/44100 samplefmt:s16 samplerate:44100 ch layout:0x3 [format_out_0_0 @ 000000000012c040] auto-inserting filter 'auto_resampler_0' bet ween the filter 'Parsed_anull_0' and the filter 'format_out_0_0' [auto_resampler_0 @ 000000000012c4c0] ch:2 chl:stereo fmt:s16 r:44100Hz -> ch:2 chl:stereo fmt:s32p r:44100Hz Output #0, aptx, to 'sine1k.aptx': Metadata: encoder : Lavf58.12.100 Stream #0:0: Audio: aptx, 44100 Hz, stereo, s32p, 128 kb/s Metadata: encoder : Lavc58.18.100 aptx No more output streams to write to, finishing. size= 43kB time=00:00:01.02 bitrate= 345.3kbits/s speed=4.68x video:0kB audio:43kB subtitle:0kB other streams:0kB global headers:0kB muxing ov erhead: 0.000000% Input file #0 (sine1k.wav): Input stream #0:0 (audio): 44 packets read (176400 bytes); 44 frames decoded ( 44100 samples); Total: 44 packets (176400 bytes) demuxed Output file #0 (sine1k.aptx): Output stream #0:0 (audio): 44 frames encoded (44100 samples); 44 packets muxe d (44100 bytes); Total: 44 packets (44100 bytes) muxed
comment:2 by , 6 years ago
ffmpeg -loglevel verbose -i sine1k.aptx sine1k-aptx.wav D:\Projects\SoundExpert\research\_encoders+\Lossy\ffmpeg\FileProcess>ffmpeg -log level verbose -i sine1k.aptx sine1k-aptx.wav ffmpeg version 4.0.2 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7.3.1 (GCC) 20180722 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --e nable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libblur ay --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable- libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enab le-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-li bvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --en able-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable- libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enabl e-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enabl e-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enab le-dxva2 --enable-avisynth libavutil 56. 14.100 / 56. 14.100 libavcodec 58. 18.100 / 58. 18.100 libavformat 58. 12.100 / 58. 12.100 libavdevice 58. 3.100 / 58. 3.100 libavfilter 7. 16.100 / 7. 16.100 libswscale 5. 1.100 / 5. 1.100 libswresample 3. 1.100 / 3. 1.100 libpostproc 55. 1.100 / 55. 1.100 Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, aptx, from 'sine1k.aptx': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Audio: aptx, 48000 Hz, stereo, s32p Stream mapping: Stream #0:0 -> #0:0 (aptx (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help [graph_0_in_0_0 @ 000000000016ec00] tb:1/48000 samplefmt:s32p samplerate:48000 c hlayout:0x3 [format_out_0_0 @ 0000000000171700] auto-inserting filter 'auto_resampler_0' bet ween the filter 'Parsed_anull_0' and the filter 'format_out_0_0' [auto_resampler_0 @ 0000000000171b80] ch:2 chl:stereo fmt:s32p r:48000Hz -> ch:2 chl:stereo fmt:s16 r:48000Hz Output #0, wav, to 'sine1k-aptx.wav': Metadata: ISFT : Lavf58.12.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16 , 1536 kb/s Metadata: encoder : Lavc58.18.100 pcm_s16le No more output streams to write to, finishing. size= 172kB time=00:00:00.91 bitrate=1536.7kbits/s speed=9.82x video:0kB audio:172kB subtitle:0kB other streams:0kB global headers:0kB muxing o verhead: 0.044218% Input file #0 (sine1k.aptx): Input stream #0:0 (audio): 44 packets read (44100 bytes); 44 frames decoded (4 4100 samples); Total: 44 packets (44100 bytes) demuxed Output file #0 (sine1k-aptx.wav): Output stream #0:0 (audio): 44 frames encoded (44100 samples); 44 packets muxe d (176400 bytes); Total: 44 packets (176400 bytes) muxed
comment:3 by , 6 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
aptX format can not store sample rate of input. There is nothing to fix.
comment:4 by , 6 years ago
ffmpeg --help encoder=aptx Encoder aptx [aptX (Audio Processing Technology for Bluetooth)]: General capabilities: small Threading capabilities: none Supported sample rates: 8000 16000 24000 32000 44100 48000 Supported sample formats: s32p Supported channel layouts: stereo
comment:6 by , 6 years ago
Keywords: | aptx_hd removed |
---|
comment:7 by , 6 years ago
Yes, decoding with '-sample_rate 44100' outputs the same audio file but correctly labeled as 44100
ffmpeg -loglevel verbose -sample_rate 44100 -i sine1k.aptx sine1k44-aptx.wav
Note:
See TracTickets
for help on using tickets.
44100 Hz (16 bit), sinusoidal signal 1000 Hz