Opened 10 years ago

Closed 9 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)

g_v6.wma (581.1 KB ) - added by ami_stuff 9 years ago.
g_v7.wma (607.3 KB ) - added by ami_stuff 9 years ago.
g_v8.wma (568.0 KB ) - added by ami_stuff 9 years ago.
g_v9.wma (633.5 KB ) - added by ami_stuff 9 years ago.
g_v10.wma (620.4 KB ) - added by ami_stuff 9 years ago.
g_v6.wav (637.5 KB ) - added by ami_stuff 9 years ago.
g_v7.wav (637.5 KB ) - added by ami_stuff 9 years ago.
g_v8.wav (637.5 KB ) - added by ami_stuff 9 years ago.
g_v9.wav (637.5 KB ) - added by ami_stuff 9 years ago.
g_v10.wav (637.5 KB ) - added by ami_stuff 9 years ago.
16bit_g_v9.wma (463.3 KB ) - added by ami_stuff 9 years ago.
16bit_g_v10.wma (450.2 KB ) - added by ami_stuff 9 years ago.
16bit_g_v15.wma (489.4 KB ) - added by ami_stuff 9 years ago.
g_v15.wav (637.5 KB ) - added by ami_stuff 9 years ago.
g2_16bit.wav (39.8 KB ) - added by ami_stuff 9 years ago.
g2_16bit.wma (57.4 KB ) - added by ami_stuff 9 years ago.
g2_24bit.wma (70.5 KB ) - added by ami_stuff 9 years ago.
96k.wav (106.8 KB ) - added by ami_stuff 9 years ago.
96k.wma (113.3 KB ) - added by ami_stuff 9 years ago.

Change History (68)

comment:1 by Carl Eugen Hoyos, 10 years ago

Component: undeterminedavcodec
Keywords: wmalossless added
Reproduced by developer: set
Status: newopen
Version: unspecifiedgit-master

comment:2 by Dennis, 10 years ago

Cc: dfratiani@hotmail.com added

comment:3 by ami_stuff, 10 years ago

Here are some more samples (2ch 96khz, 5ch 48khz, 5ch 96khz):

http://www.datafilehost.com/d/59c3524f

comment:4 by Dennis, 10 years ago

Any progress on this?
FFmpeg is so close to supporting my entire audio library now.
Thanks!

comment:5 by Dennis, 10 years ago

Still very interested in seeing this come to fruition.
Has there been any development on this?

comment:7 by llogan, 9 years ago

Keywords: bounty added

comment:8 by Dennis, 9 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 Dennis, 9 years ago

Just checking in on this.
So many projects use FFmpeg, this would solve a major hurdle for me.

comment:10 by Dennis, 9 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%

comment:11 by v0lt, 9 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.

in reply to:  11 comment:12 by ami_stuff, 9 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.

https://www.datafilehost.com/d/491d926a

comment:13 by Elon Musk, 9 years ago

Any known decoder that decodes this?

Last edited 9 years ago by Elon Musk (previous) (diff)

in reply to:  13 comment:14 by ami_stuff, 9 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:15 by Elon Musk, 9 years ago

I know that already, looking for executable/dll.

comment:17 by Dennis, 9 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.

comment:18 by Elon Musk, 9 years ago

Can I get wma lossless files with fully 24bit samples, not just padded samples? Original first link is not more useful.

in reply to:  18 comment:19 by ami_stuff, 9 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

https://www.datafilehost.com/d/3564cbb8

Last edited 9 years ago by ami_stuff (previous) (diff)

comment:20 by Dennis, 9 years ago

Lossless samples also available here:
https://www.djxmmx.net/ffmpeg/4134/

Converted with M$ encoder from DVD Audio source.

comment:21 by Elon Musk, 9 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:22 by Dennis, 9 years ago

Sure, check the WAV files I just put in there.

comment:23 by Elon Musk, 9 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 Dennis, 9 years ago

Creative Audio Converter (From The Creative MediaSource software pack [Creative Labs]).

comment:25 by Elon Musk, 9 years ago

Have a link from where to download it?

comment:26 by Dennis, 9 years ago

Sure...
I put it in that folder for you.

comment:27 by Hendrik, 9 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

Last edited 9 years ago by Hendrik (previous) (diff)

comment:28 by ami_stuff, 9 years ago

stereo files seems to decode correctly with patch from ffmpeg-devel, but multichannel files not.

Last edited 9 years ago by ami_stuff (previous) (diff)

comment:29 by Elon Musk, 9 years ago

Then please upload multichannel files (with source ones too).

comment:31 by Elon Musk, 9 years ago

Doesn't same happens with 16bit files?

comment:32 by ami_stuff, 9 years ago

for 16bit there is only one encoding mode (44khz, 2 channels)

comment:33 by Dennis, 9 years ago

Right, WMA Lossless will only do multichannel at 24-bit.

in reply to:  11 ; comment:34 by ami_stuff, 9 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...)

Last edited 9 years ago by ami_stuff (previous) (diff)

by ami_stuff, 9 years ago

Attachment: g_v6.wma added

by ami_stuff, 9 years ago

Attachment: g_v7.wma added

by ami_stuff, 9 years ago

Attachment: g_v8.wma added

by ami_stuff, 9 years ago

Attachment: g_v9.wma added

by ami_stuff, 9 years ago

Attachment: g_v10.wma added

by ami_stuff, 9 years ago

Attachment: g_v6.wav added

by ami_stuff, 9 years ago

Attachment: g_v7.wav added

by ami_stuff, 9 years ago

Attachment: g_v8.wav added

by ami_stuff, 9 years ago

Attachment: g_v9.wav added

by ami_stuff, 9 years ago

Attachment: g_v10.wav added

in reply to:  34 ; comment:35 by ami_stuff, 9 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 ami_stuff, 9 years ago

Attachment: 16bit_g_v9.wma added

by ami_stuff, 9 years ago

Attachment: 16bit_g_v10.wma added

by ami_stuff, 9 years ago

Attachment: 16bit_g_v15.wma added

by ami_stuff, 9 years ago

Attachment: g_v15.wav added

in reply to:  35 comment:36 by ami_stuff, 9 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 Dennis, 9 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%

comment:38 by Elon Musk, 9 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 ami_stuff, 9 years ago

Attachment: g2_16bit.wav added

by ami_stuff, 9 years ago

Attachment: g2_16bit.wma added

by ami_stuff, 9 years ago

Attachment: g2_24bit.wma added

in reply to:  38 comment:39 by ami_stuff, 9 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:40 by Elon Musk, 9 years ago

Funny, looks like 16bit decoding is buggy too.

comment:41 by Elon Musk, 9 years ago

This was unrelated bug that I just fixed. So still need that sample(s).

comment:42 by Elon Musk, 9 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.

comment:43 by ami_stuff, 9 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:

https://www.datafilehost.com/d/a8ad691b

in reply to:  43 comment:44 by ami_stuff, 9 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:

https://www.datafilehost.com/d/a8ad691b

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 ami_stuff, 9 years ago

and here are 2 differences (2 data blocks are different in the output pcm compared to the output from original codec):

https://www.datafilehost.com/d/fef47cda

by ami_stuff, 9 years ago

Attachment: 96k.wav added

by ami_stuff, 9 years ago

Attachment: 96k.wma added

comment:46 by ami_stuff, 9 years ago

I extracted problematic part in hex editor and encoded it to wma lossless - see attached files.

comment:47 by Elon Musk, 9 years ago

The noise issues should be finally fixed in latest master. (I hope)

comment:48 by ami_stuff, 9 years ago

"close->fixed" AFAICT

comment:49 by Carl Eugen Hoyos, 9 years ago

Resolution: fixed
Status: openclosed

All files are bitexact here with 532e9370835d8afb7d20a86b652585b44ada627b
wmall_input_24bit_96000_5ch.wma is truncated.

Note: See TracTickets for help on using tickets.