Re: [FFmpeg-user] MLP decoder: decodes 24-bit MLP files into 16-bit MLP wav

2019-07-03 Thread Moritz Barsnick
On Wed, Jul 03, 2019 at 10:17:57 +0200, fabrice nicol wrote:
> The MLP decoder does not seem to work for 24-bit MLP. It converts such
> files into 16-bit WAV, whatever the sample rate.

Actually, you could think so. But the decoder is fine. On the other
hand, the wav output format defaults to 16 bits.

>    `ffmpeg -i /mnt/cdrom/AUDIO_TS/ATS_01_3.AOB ~/a.wav`
[...]
> Stream mapping:
>    Stream #0:0 -> #0:0 (mlp (native) -> pcm_s16le (native))
[...]
>      Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 96000 Hz, 5.1, 
> s16, 9216 kb/s

Just add "-c:a pcm_s24le" as an output option. Then you get the full
sample depth.

> sox --i  a.wav

Tested and confirmed with sox here as well. ;-)

Hope this helps,
Moritz
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-user] MLP decoder: decodes 24-bit MLP files into 16-bit MLP wav

2019-07-03 Thread fabrice nicol
The MLP decoder does not seem to work for 24-bit MLP. It converts such 
files into 16-bit WAV, whatever the sample rate.


Example from a (non-encrypted) commercial disc: check the telling chunk:

"  Stream #0:0[0xa1]: Audio: mlp, 96000 Hz, 5.1, s32 (24 bit)
Stream mapping:
  Stream #0:0 -> #0:0 (mlp (native) -> pcm_s16le (native))"

Complete output:

  `ffmpeg -i /mnt/cdrom/AUDIO_TS/ATS_01_3.AOB ~/a.wav`

ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9.1.0 (Gentoo 9.1.0 p1.0)
  configuration: --prefix=/usr --libdir=/usr/lib64 
--shlibdir=/usr/lib64 --docdir=/usr/share/doc/ffmpeg-4.1.3/html 
--mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc 
--cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar 
--optflags='-O2 -pipe -march=core-avx2' --enable-static 
--enable-avfilter --enable-avresample --disable-stripping 
--disable-optimizations --disable-libcelt --disable-indev=v4l2 
--disable-outdev=v4l2 --disable-indev=oss --disable-indev=jack 
--disable-outdev=oss --enable-bzlib --disable-runtime-cpudetect 
--disable-debug --disable-gcrypt --disable-gnutls --disable-gmp 
--enable-gpl --enable-hardcoded-tables --enable-iconv --disable-libtls 
--disable-libxml2 --disable-lzma --enable-network --disable-opencl 
--disable-openssl --enable-postproc --disable-libsmbclient 
--enable-ffplay --enable-sdl2 --disable-vaapi --enable-vdpau 
--enable-xlib --enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes 
--enable-zlib --disable-libcdio --disable-libiec61883 
--disable-libdc1394 --disable-libcaca --disable-openal --enable-opengl 
--disable-libv4l2 --enable-libpulse --disable-libdrm --disable-libjack 
--disable-libopencore-amrwb --disable-libopencore-amrnb 
--disable-libcodec2 --disable-libfdk-aac --disable-libopenjpeg 
--disable-libbluray --disable-libgme --disable-libgsm --disable-mmal 
--disable-libmodplug --disable-libopus --disable-libilbc 
--disable-librtmp --disable-libssh --disable-libspeex --disable-libsrt 
--enable-librsvg --disable-ffnvcodec --enable-libvorbis --disable-libvpx 
--disable-libzvbi --disable-appkit --disable-libbs2b 
--disable-chromaprint --disable-libflite --disable-frei0r 
--disable-libfribidi --disable-fontconfig --disable-ladspa 
--disable-libass --disable-lv2 --enable-libfreetype 
--disable-librubberband --disable-libzmq --disable-libzimg 
--disable-libsoxr --enable-pthreads --disable-libvo-amrwbenc 
--enable-libmp3lame --disable-libkvazaar --disable-libaom 
--disable-libopenh264 --disable-libsnappy --disable-libtheora 
--disable-libtwolame --disable-libwavpack --disable-libwebp 
--enable-libx264 --disable-libx265 --enable-libxvid --disable-armv5te 
--disable-armv6 --disable-armv6t2 --disable-neon --disable-vfp 
--disable-vfpv3 --disable-armv8 --disable-mipsdsp --disable-mipsdspr2 
--disable-mipsfpu --disable-altivec --disable-amd3dnow 
--disable-amd3dnowext --disable-aesni --disable-avx --disable-avx2 
--disable-fma3 --disable-fma4 --disable-sse3 --disable-ssse3 
--disable-sse4 --disable-sse42 --disable-xop --cpu=core-avx2 
--disable-doc --disable-htmlpages --enable-manpages

  libavutil  56. 22.100 / 56. 22.100
  libavcodec 58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter 7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale  5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input #0, mpeg, from '/mnt/cdrom/AUDIO_TS/ATS_01_3.AOB':
  Duration: 26:29:22.18, start: 143.151067, bitrate: 47 kb/s
    Stream #0:0[0xa1]: Audio: mlp, 96000 Hz, 5.1, s32 (24 bit)
Stream mapping:
  Stream #0:0 -> #0:0 (mlp (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, wav, to '/home/fab2/a.wav':
  Metadata:
    ISFT    : Lavf58.20.100
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 96000 Hz, 
5.1, s16, 9216 kb/s

    Metadata:
  encoder : Lavc58.35.100 pcm_s16le
(...)

The output is 16-bit depth as indicated in the console messages. Using 
SoX to corroborate:


sox --i  a.wav

Input File : 'a.wav'
Channels   : 6
Sample Rate    : 96000
Precision  : 16-bit
Duration   : 00:14:14.05 = 81988800 samples ~ 64053.8 CDDA sectors
File Size  : 984M
Bit Rate   : 9.22M
Sample Encoding: 16-bit Signed Integer PCM

My platform is Gentoo Linux amd64.

Is this an undocumented limitation of the MLP decoder or is there 
something I did wrong?






___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".