Opened 11 years ago
Closed 10 years ago
#4134 closed defect (fixed)
wmalossless: fix 24bit support
| Reported by: | ami_stuff | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avcodec |
| Version: | git-master | Keywords: | wmalossless bounty |
| Cc: | dfratiani@hotmail.com | Blocked By: | |
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description
attached sample decodes, but doesn't sound correctly
http://www.datafilehost.com/d/8ab253b2
C:\>ffmpeg -i wma9_24bit.wma out.wav
ffmpeg version 2.4.git-293fee4 Copyright (c) 2000-2014 the FFmpeg developers
built on Nov 22 2014 23:45:26 with gcc 4.6.2 (GCC)
configuration: --disable-pthreads --enable-gpl --disable-ffprobe
libavutil 54. 15.100 / 54. 15.100
libavcodec 56. 13.100 / 56. 13.100
libavformat 56. 15.100 / 56. 15.100
libavdevice 56. 3.100 / 56. 3.100
libavfilter 5. 2.103 / 5. 2.103
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
[wmalossless @ 01ea4380] Warning: not compiled with thread support, using thread
emulation
Input #0, asf, from 'wma9_24bit.wma':
Metadata:
WMFSDKNeeded : 0.0.0.0000
DeviceConformanceTemplate: N1
WM/WMADRCPeakReference: 32767
WM/WMADRCPeakTarget: 32767
WM/WMADRCAverageReference: 11722
WM/WMADRCAverageTarget: 11722
WMFSDKVersion : 11.0.5721.5275
IsVBR : 1
Duration: 00:00:30.01, start: 0.000000, bitrate: 1735 kb/s
Stream #0:0(pol): Audio: wmalossless (c[1][0][0] / 0x0163), 48000 Hz, stereo
, s32p (24 bit), 1152 kb/s
[pcm_s16le @ 01e70100] Warning: not compiled with thread support, using thread e
mulation
[wmalossless @ 01ea52e0] Warning: not compiled with thread support, using thread
emulation
Output #0, wav, to 'out.wav':
Metadata:
WMFSDKNeeded : 0.0.0.0000
DeviceConformanceTemplate: N1
WM/WMADRCPeakReference: 32767
WM/WMADRCPeakTarget: 32767
WM/WMADRCAverageReference: 11722
WM/WMADRCAverageTarget: 11722
WMFSDKVersion : 11.0.5721.5275
IsVBR : 1
ISFT : Lavf56.15.100
Stream #0:0(pol): Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo
, s16 (24 bit), 1536 kb/s
Metadata:
encoder : Lavc56.13.100 pcm_s16le
Stream mapping:
Stream #0:0 -> #0:0 (wmalossless (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
[wmalossless @ 01ea52e0] CDLMS of order 8 is not implemented. Update your FFmpeg
version to the newest one from Git. If the problem still occurs, it means that
your file has a feature which has not been implemented.
[wmalossless @ 01ea52e0] If you want to help, upload a sample of this file to ft
p://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmp
eg-devel@ffmpeg.org)
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 30656, curre
nt: 18384; changing to 30656. This may result in incorrect timestamps in the out
put file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 30656, curre
nt: 22464; changing to 30656. This may result in incorrect timestamps in the out
put file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 30656, curre
nt: 24512; changing to 30656. This may result in incorrect timestamps in the out
put file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 30656, curre
nt: 26568; changing to 30656. This may result in incorrect timestamps in the out
put file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 30656, curre
nt: 28640; changing to 30656. This may result in incorrect timestamps in the out
put file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 32720, curre
nt: 32688; changing to 32720. This may result in incorrect timestamps in the out
put file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 106448, curr
ent: 106416; changing to 106448. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 122864, curr
ent: 122832; changing to 122864. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 151520, curr
ent: 151488; changing to 151520. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 194528, curr
ent: 194496; changing to 194528. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 200672, curr
ent: 200640; changing to 200672. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 206816, curr
ent: 206784; changing to 206816. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 212960, curr
ent: 212928; changing to 212960. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 219104, curr
ent: 219072; changing to 219104. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 229328, curr
ent: 229296; changing to 229328. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 235472, curr
ent: 235440; changing to 235472. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 303056, curr
ent: 303024; changing to 303056. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 309200, curr
ent: 309168; changing to 309200. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 358352, curr
ent: 358320; changing to 358352. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 374768, curr
ent: 374736; changing to 374768. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 415712, curr
ent: 415680; changing to 415712. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 421856, curr
ent: 421824; changing to 421856. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 442352, curr
ent: 442320; changing to 442352. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 458720, curr
ent: 458688; changing to 458720. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 516080, curr
ent: 516048; changing to 516080. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 544736, curr
ent: 544704; changing to 544736. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 606176, curr
ent: 606144; changing to 606176. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 634832, curr
ent: 634800; changing to 634832. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 645104, curr
ent: 645072; changing to 645104. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 655328, curr
ent: 655296; changing to 655328. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 667616, curr
ent: 667584; changing to 667616. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 692192, curr
ent: 692160; changing to 692192. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 702416, curr
ent: 702384; changing to 702416. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 712688, curr
ent: 712656; changing to 712688. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 741344, curr
ent: 741312; changing to 741344. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 757712, curr
ent: 757680; changing to 757712. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 774128, curr
ent: 774096; changing to 774128. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 813008, curr
ent: 812976; changing to 813008. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 825296, curr
ent: 825264; changing to 825296. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 835568, curr
ent: 835536; changing to 835568. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 851936, curr
ent: 851904; changing to 851936. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 874448, curr
ent: 874416; changing to 874448. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 880592, curr
ent: 880560; changing to 880592. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 921584, curr
ent: 921552; changing to 921584. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 931808, curr
ent: 931776; changing to 931808. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 937952, curr
ent: 937920; changing to 937952. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 980960, curr
ent: 980928; changing to 980960. This may result in incorrect timestamps in the
output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1021904, cur
rent: 1021872; changing to 1021904. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1038320, cur
rent: 1038288; changing to 1038320. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1064912, cur
rent: 1064880; changing to 1064912. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1083344, cur
rent: 1083312; changing to 1083344. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1118192, cur
rent: 1118160; changing to 1118192. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1128416, cur
rent: 1128384; changing to 1128416. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1189856, cur
rent: 1189824; changing to 1189856. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1206224, cur
rent: 1206192; changing to 1206224. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1224656, cur
rent: 1224624; changing to 1224656. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1241072, cur
rent: 1241040; changing to 1241072. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1261520, cur
rent: 1261488; changing to 1261520. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1279952, cur
rent: 1279920; changing to 1279952. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1314800, cur
rent: 1314768; changing to 1314800. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1325024, cur
rent: 1324992; changing to 1325024. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1335248, cur
rent: 1335216; changing to 1335248. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1353680, cur
rent: 1353648; changing to 1353680. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1363952, cur
rent: 1363920; changing to 1363952. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1380320, cur
rent: 1380288; changing to 1380320. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1390544, cur
rent: 1390512; changing to 1390544. This may result in incorrect timestamps in t
he output file.
[wav @ 01ea56e0] Non-monotonous DTS in output stream 0:0; previous: 1425392, cur
rent: 1425360; changing to 1425392. This may result in incorrect timestamps in t
he output file.
size= 5616kB time=00:00:29.99 bitrate=1533.9kbits/s
video:0kB audio:5616kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead: 0.001356%
Attachments (19)
Change History (68)
comment:1 by , 11 years ago
| Component: | undetermined → avcodec |
|---|---|
| Keywords: | wmalossless added |
| Reproduced by developer: | set |
| Status: | new → open |
| Version: | unspecified → git-master |
comment:2 by , 11 years ago
| Cc: | added |
|---|
comment:3 by , 11 years ago
comment:4 by , 11 years ago
Any progress on this?
FFmpeg is so close to supporting my entire audio library now.
Thanks!
comment:5 by , 10 years ago
Still very interested in seeing this come to fruition.
Has there been any development on this?
comment:6 by , 10 years ago
comment:7 by , 10 years ago
| Keywords: | bounty added |
|---|
comment:8 by , 10 years ago
Who ever fixes this can collect on both of these bounties:
https://www.bountysource.com/issues/6557774-wmalossless-fix-24bit-support
https://www.bountysource.com/issues/1414845-wmalossless-support-24bit-depth
However, the bounty should be dependent on this issue being fixed as well:
https://trac.ffmpeg.org/ticket/4714
comment:9 by , 10 years ago
Just checking in on this.
So many projects use FFmpeg, this would solve a major hurdle for me.
comment:10 by , 10 years ago
Still an issue:
ffmpeg -i "01 - Ambitionz Az A Ridah.wma" C:\temp\test.wav
ffmpeg version N-78559-g2e8ad2d Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
ble-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --
enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-lib
x265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-d
ecklink --enable-zlib
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.103 / 57. 24.103
libavformat 57. 25.100 / 57. 25.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 32.100 / 6. 32.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
[wmalossless @ 00000000004ab980] Decoding audio at 24 bit-depth
Input #0, asf, from '01 - Ambitionz Az A Ridah.wma':
Metadata:
DeviceConformanceTemplate: N2
WM/WMADRCPeakReference: 32767
WM/WMADRCPeakTarget: 32767
WM/WMADRCAverageReference: 12675
WM/WMADRCAverageTarget: 12675
genre : Hip-Hop
WMFSDKVersion : 11.0.6002.18049
WMFSDKNeeded : 0.0.0.0000
album : All Eyez On Me (Disc 1)
track : 1
WM/Track : 0
WM/Year : 1996
IsVBR : 1
MediaFoundationVersion: 2.112
title : Ambitionz Az A Ridah
artist : 2Pac
Duration: 00:04:38.39, start: 0.000000, bitrate: 2739 kb/s
Stream #0:0: Audio: wmalossless (c[1][0][0] / 0x0163), 96000 Hz, stereo, s32
p (24 bit), 1152 kb/s
[wmalossless @ 00000000004ae500] Decoding audio at 24 bit-depth
Output #0, wav, to 'C:\temp\test.wav':
Metadata:
DeviceConformanceTemplate: N2
WM/WMADRCPeakReference: 32767
WM/WMADRCPeakTarget: 32767
WM/WMADRCAverageReference: 12675
WM/WMADRCAverageTarget: 12675
IGNR : Hip-Hop
WMFSDKVersion : 11.0.6002.18049
WMFSDKNeeded : 0.0.0.0000
IPRD : All Eyez On Me (Disc 1)
IPRT : 1
WM/Track : 0
WM/Year : 1996
IsVBR : 1
MediaFoundationVersion: 2.112
INAM : Ambitionz Az A Ridah
IART : 2Pac
ISFT : Lavf57.25.100
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 96000 Hz, stereo, s16
(24 bit), 3072 kb/s
Metadata:
encoder : Lavc57.24.103 pcm_s16le
Stream mapping:
Stream #0:0 -> #0:0 (wmalossless (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
[wmalossless @ 00000000004ae500] CDLMS of order 8 is not implemented. Update you
r FFmpeg version to the newest one from Git. If the problem still occurs, it mea
ns that your file has a feature which has not been implemented.
[wmalossless @ 00000000004ae500] If you want to help, upload a sample of this fi
le to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing lis
t. (ffmpeg-devel@ffmpeg.org)
[wav @ 00000000004ae9a0] Non-monotonous DTS in output stream 0:0; previous: 1229
44, current: 122880; changing to 122944. This may result in incorrect timestamps
in the output file.
[wav @ 00000000004ae9a0] Non-monotonous DTS in output stream 0:0; previous: 2621
44, current: 262080; changing to 262144. This may result in incorrect timestamps
in the output file.
[wav @ 00000000004ae9a0] Non-monotonous DTS in output stream 0:0; previous: 2662
4032, current: 26623968; changing to 26624032. This may result in incorrect time
stamps in the output file.
[wav @ 00000000004ae9a0] Non-monotonous DTS in output stream 0:0; previous: 2671
4176, current: 26714112; changing to 26714176. This may result in incorrect time
stamps in the output file.
size= 104384kB time=00:04:38.44 bitrate=3071.1kbits/s speed=23.4x
video:0kB audio:104384kB subtitle:0kB other streams:0kB global headers:0kB muxin
g overhead: 0.000191%
follow-ups: 12 34 comment:11 by , 10 years ago
http://www.mediafire.com/listen/n08r66dkgc1tul4/9_2lossless_sample.wma
After 12 seconds of play in ffplay.exe noises appear.
MPC-HC with WMAudio Decoder DMO plays normally.
foobar2000 also plays normally.
File encoded from mp3 in foobar2000+WMAEncode.exe (https://hydrogenaud.io/index.php/topic,90519.0.html)
I chose the 16-bit, but encoder made a 24-bit. I think this is due to the fact that the original file was a strong clipping.
comment:12 by , 10 years ago
Replying to v0lt:
http://www.mediafire.com/listen/n08r66dkgc1tul4/9_2lossless_sample.wma
After 12 seconds of play in ffplay.exe noises appear.
It looks like ffmpeg's wmalossless decoder (24bit 44khz mode) has problems with high amplitudes:
org.wma - file encoded from org.wav
org_0_99.wma - file encoded from org_0_99.wav
ffmpeg -i org.wav -af "volume=0.99" org_0_99.wav
What's also interesting: org.wma size vs org_0_99.wma size.
comment:14 by , 10 years ago
Replying to richardpl:
Any known decoder that decodes this?
It decodes correctly with original MS codec. I don't think that there is any other open source implementation.
comment:17 by , 10 years ago
Here is the last version of Windows Media Encoder:
https://www.djxmmx.net/ffmpeg/4134/
Two EXEs for installation.
Alternatively, I copied the installation directory from the 64-bit version so you can examine the DLLs or EXEs it installs.
M$ discontinued the Windows Media Encoder so that's why I linked to it from a private server.
follow-up: 19 comment:18 by , 10 years ago
Can I get wma lossless files with fully 24bit samples, not just padded samples? Original first link is not more useful.
comment:19 by , 10 years ago
Replying to richardpl:
Can I get wma lossless files with fully 24bit samples, not just padded samples? Original first link is not more useful.
I converted this file:
http://download.linnrecords.com/test/flac/test192.aspx
http://www.linnrecords.com/linn-downloads-testfiles.aspx
to wmalossless
comment:20 by , 10 years ago
Lossless samples also available here:
https://www.djxmmx.net/ffmpeg/4134/
Converted with M$ encoder from DVD Audio source.
comment:21 by , 10 years ago
Can I get decoded output too, in 24bit pcm?
The thing ami_stuff posted is resampled thus useless to compare bit exactness.
comment:23 by , 10 years ago
What you used to decode those?
FFmpeg decoder with my patch decodes same thing as wmal2pcm and 09 sample have noise at end but your decoded output doesnt.
comment:24 by , 10 years ago
Creative Audio Converter (From The Creative MediaSource software pack [Creative Labs]).
comment:27 by , 10 years ago
For comparion sake, I converted the 09 track to WAV and FLAC using the Microsoft WMALL decoder.
https://files.1f0.de/samples/09.wav
https://files.1f0.de/samples/09.flac
ffmpeg -i 09.wav -c:a pcm_s24le -f md5 -
MD5=813e55dda1fe422e0fdb28b5a74cdf7d
comment:28 by , 10 years ago
stereo files seems to decode correctly with patch from ffmpeg-devel, but multichannel files not.
follow-up: 35 comment:34 by , 10 years ago
Replying to v0lt:
http://www.mediafire.com/listen/n08r66dkgc1tul4/9_2lossless_sample.wma
After 12 seconds of play in ffplay.exe noises appear.
MPC-HC with WMAudio Decoder DMO plays normally.
foobar2000 also plays normally.
File encoded from mp3 in foobar2000+WMAEncode.exe (https://hydrogenaud.io/index.php/topic,90519.0.html)
I chose the 16-bit, but encoder made a 24-bit. I think this is due to the fact that the original file was a strong clipping.
so the only problem seems to be with this file which output is not bitexact (noise around 77s,210s...)
by , 10 years ago
by , 10 years ago
by , 10 years ago
by , 10 years ago
by , 10 years ago
by , 10 years ago
by , 10 years ago
by , 10 years ago
by , 10 years ago
by , 10 years ago
follow-up: 36 comment:35 by , 10 years ago
Replying to ami_stuff:
Replying to v0lt:
http://www.mediafire.com/listen/n08r66dkgc1tul4/9_2lossless_sample.wma
After 12 seconds of play in ffplay.exe noises appear.
MPC-HC with WMAudio Decoder DMO plays normally.
foobar2000 also plays normally.
File encoded from mp3 in foobar2000+WMAEncode.exe (https://hydrogenaud.io/index.php/topic,90519.0.html)
I chose the 16-bit, but encoder made a 24-bit. I think this is due to the fact that the original file was a strong clipping.
so the only problem seems to be with this file which output is not bitexact (noise around 77s,210s...)
I was able to reproduce this with my own sample, see attached files.
g_v6.wma decodes ok, but g_v7+.wma not
ffmpeg -i g.wav -af volume [6/7/8/9/10] g_v[6/7/8/9/10].wav
by , 10 years ago
| Attachment: | 16bit_g_v9.wma added |
|---|
by , 10 years ago
| Attachment: | 16bit_g_v10.wma added |
|---|
by , 10 years ago
| Attachment: | 16bit_g_v15.wma added |
|---|
by , 10 years ago
comment:36 by , 10 years ago
Replying to ami_stuff:
Replying to ami_stuff:
Replying to v0lt:
http://www.mediafire.com/listen/n08r66dkgc1tul4/9_2lossless_sample.wma
After 12 seconds of play in ffplay.exe noises appear.
MPC-HC with WMAudio Decoder DMO plays normally.
foobar2000 also plays normally.
File encoded from mp3 in foobar2000+WMAEncode.exe (https://hydrogenaud.io/index.php/topic,90519.0.html)
I chose the 16-bit, but encoder made a 24-bit. I think this is due to the fact that the original file was a strong clipping.
so the only problem seems to be with this file which output is not bitexact (noise around 77s,210s...)
I was able to reproduce this with my own sample, see attached files.
g_v6.wma decodes ok, but g_v7+.wma not
ffmpeg -i g.wav -af volume [6/7/8/9/10] g_v[6/7/8/9/10].wav
and this can be actually bug in the common code, not so 24-bit related (see attached 16-bit files)
comment:37 by , 10 years ago
The following sample produces static noise at around the 2:32+ mark when converted with FFmpeg:
Original WMA: https://www.djxmmx.net/ffmpeg/4134/05%20-%20Alive.wma
Converted WAV: https://www.djxmmx.net/ffmpeg/4134/05%20-%20Alive.wav
ffmpeg -i "Z:\Audio\Audio Library\Daft Punk\Musique Vol.1 1993-2005\05 - Alive.wma" -acodec pcm_s24le "C:\Temp\05 - Alive.wav"
ffmpeg version N-79690-g78baa45 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
libavutil 55. 23.100 / 55. 23.100
libavcodec 57. 38.100 / 57. 38.100
libavformat 57. 34.103 / 57. 34.103
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 44.100 / 6. 44.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
[wmalossless @ 0000000000a6c3e0] Decoding audio at 24 bit-depth
Input #0, asf, from 'Z:\Audio\Audio Library\Daft Punk\Musique Vol.1 1993-2005\05 - Alive.wma':
Metadata:
DeviceConformanceTemplate: N2
WM/WMADRCPeakReference: 32767
WM/WMADRCPeakTarget: 32767
WM/WMADRCAverageReference: 11042
WM/WMADRCAverageTarget: 11042
genre : Electronic
WMFSDKVersion : 11.0.5721.5251
WMFSDKNeeded : 0.0.0.0000
album : Musique Vol.1 1993-2005
track : 5
WM/Track : 4
WM/Year : 2006
IsVBR : 1
MediaFoundationVersion: 2.112
title : Alive
artist : Daft Punk
Duration: 00:05:16.25, start: 0.000000, bitrate: 2973 kb/s
Stream #0:0: Audio: wmalossless (c[1][0][0] / 0x0163), 96000 Hz, stereo, s32p (24 bit), 1152 kb/s
[wmalossless @ 0000000000a367e0] Decoding audio at 24 bit-depth
[wav @ 0000000000a37c80] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Output #0, wav, to 'C:\Temp\05 - Alive.wav':
Metadata:
DeviceConformanceTemplate: N2
WM/WMADRCPeakReference: 32767
WM/WMADRCPeakTarget: 32767
WM/WMADRCAverageReference: 11042
WM/WMADRCAverageTarget: 11042
IGNR : Electronic
WMFSDKVersion : 11.0.5721.5251
WMFSDKNeeded : 0.0.0.0000
IPRD : Musique Vol.1 1993-2005
IPRT : 5
WM/Track : 4
WM/Year : 2006
IsVBR : 1
MediaFoundationVersion: 2.112
INAM : Alive
IART : Daft Punk
ISFT : Lavf57.34.103
Stream #0:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 96000 Hz, stereo, s32 (24 bit), 4608 kb/s
Metadata:
encoder : Lavc57.38.100 pcm_s24le
Stream mapping:
Stream #0:0 -> #0:0 (wmalossless (native) -> pcm_s24le (native))
Press [q] to stop, [?] for help
[wmalossless @ 0000000000a367e0] CDLMS of order 8 is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[wmalossless @ 0000000000a367e0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[wav @ 0000000000a37c80] Non-monotonous DTS in output stream 0:0; previous: 29773888, current: 29773824; changing to 29773888. This may result in incorrect timestamps in the output file.
[wav @ 0000000000a37c80] Non-monotonous DTS in output stream 0:0; previous: 29949952, current: 29949888; changing to 29949952. This may result in incorrect timestamps in the output file.
[wav @ 0000000000a37c80] Non-monotonous DTS in output stream 0:0; previous: 30015520, current: 30015456; changing to 30015520. This may result in incorrect timestamps in the output file.
[wav @ 0000000000a37c80] Non-monotonous DTS in output stream 0:0; previous: 30035968, current: 30035904; changing to 30035968. This may result in incorrect timestamps in the output file.
[wav @ 0000000000a37c80] Non-monotonous DTS in output stream 0:0; previous: 30081088, current: 30081024; changing to 30081088. This may result in incorrect timestamps in the output file.
[wav @ 0000000000a37c80] Non-monotonous DTS in output stream 0:0; previous: 30113824, current: 30113760; changing to 30113824. This may result in incorrect timestamps in the output file.
size= 177892kB time=00:05:16.37 bitrate=4606.2kbits/s speed=20.4x
video:0kB audio:177892kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000108%
follow-up: 39 comment:38 by , 10 years ago
It would be very nice if you guys could isolate that audio which is causing problems and encode only it, so its length is very short. This would speedup debugging tremendously.
by , 10 years ago
| Attachment: | g2_16bit.wav added |
|---|
by , 10 years ago
| Attachment: | g2_16bit.wma added |
|---|
by , 10 years ago
| Attachment: | g2_24bit.wma added |
|---|
comment:39 by , 10 years ago
Replying to richardpl:
It would be very nice if you guys could isolate that audio which is causing problems and encode only it, so its length is very short. This would speedup debugging tremendously.
Attached.
comment:41 by , 10 years ago
This was unrelated bug that I just fixed. So still need that sample(s).
comment:42 by , 10 years ago
Actually the only remaining issue AFAIK is not bitexactness of "09 - Walk On By.wma" with latest reference decoder.
Our decoder decodes same output as WMAL2PCM.exe program.
I think noises in 24bit decoding are finally fixed.
follow-up: 44 comment:43 by , 10 years ago
There seems to be one difference in the output of 2ch 24bit 96khz mode compared to the original codec - file is amplified a lot:
comment:44 by , 10 years ago
Replying to ami_stuff:
There seems to be one difference in the output of 2ch 24bit 96khz mode compared to the original codec - file is amplified a lot:
If you happen to know how to isolate this with ffmpeg
ffmpeg -i t96.wav -ss xx -t xx out.wav
then I can encode only this fragment of the audio.
comment:45 by , 10 years ago
and here are 2 differences (2 data blocks are different in the output pcm compared to the output from original codec):
by , 10 years ago
by , 10 years ago
comment:46 by , 10 years ago
I extracted problematic part in hex editor and encoded it to wma lossless - see attached files.
comment:49 by , 10 years ago
| Resolution: | → fixed |
|---|---|
| Status: | open → closed |
All files are bitexact here with 532e9370835d8afb7d20a86b652585b44ada627b
wmall_input_24bit_96000_5ch.wma is truncated.



Here are some more samples (2ch 96khz, 5ch 48khz, 5ch 96khz):
http://www.datafilehost.com/d/59c3524f