On 9/4/20, fabrice nicol <[email protected]> wrote: > I've recently been integrating the ffmpeg encoder into the DVD-Audio > creating software dvda-author (https://dvd-audio.sourceforge.io), > command-line options --encode and --mlp-files > > 1. The good news is that multichannel ffmpeg-encoded MLP audio overall > plays back fine on a DVD-Audio player (using ffmpeg MLP encoder in its > current git master branch). > > 2. The bad news is that for 16-bit audio, for 6 channels 96 kHz only, > the audio playback is audible, not hissing, but quite out of sync, with > echo effects. > > 3. Hints at issues > > Using 6/16/96 MLP files generated by a proprietary tool from the same > wav files, the corresponding DVD-Audio discs play fine. > > I made diffs of 6/16/96 MLP files and what comes out is that proprietary > tools use 2 streams for multichannel, whilst the ffmpeg MLP encoder does > seem to use just one. This strategy seems to fail for 6/16/96. > > In the two bytes after sync major tags (0xF8726FBB): a 6/16/96 > proprietary-encoded mlp file will be encoded 0x00 11, which means the > bit depth and sample rate are likewise encoded for two streams, whilst > ffmpeg-encoded mlp files at corresponding offsets will be encoded 0F1F, > which looks like the second stream bit depth and sample rate are not set. > > 4. Related issues > > The compression rate of proprietary tools is massively higher when using > channels with high audio redundancy. I built limit cases, in which the > original PCM multichannel is just one channel identically replicated to > the other channels. Below is a table of corresponding compression > outcomes. The extra compression offered by the proprietary tool is > massive for multichannel, noticeable for stereo 48 kHz and negligible in > other cases. > > channels/bit depth/sample rate kHz ffmpeg (B) [a] > proprietary (B) [b] > Extra compression = [(b-a)/a] > 1_16_176 3037274 3041922 0 % > 1_16_192 3237328 3241950 0 % > 1_16_88 1619992 1622424 0 % > 1_16_96 1757208 1759616 0 % > 2_16_176 3073990 3078694 0 % > 2_16_192 3276318 3280994 0 % > 2_16_48 1019046 753728 -26 % > 2_24_48 1019046 753728 -26 % > 2_24_88 1659590 1588338 -4 % > 2_24_96 1799546 1684128 -6 % > 3_16_44_Lf_Rf_S 1852486 611528 -67 % > 3_16_48_Lf_Rf_C 2618092 765854 -71 % > 3_16_88_Lf_Rf_C 4579130 848546 -81 % > 3_16_96_Lf_Rf_C 4965218 883742 -82 % > 3_24_44_Lf_Rf_S 2415790 1168382 -52 % > 3_24_48_Lf_Rf_S 2618092 1614514 -38 % > 3_24_88_Lf_Rf_S 4578426 1596642 -65 % > 3_24_96_Lf_Rf_S 4962790 1692648 -66 % > 4_16_44_Lf_Rf_Ls_Rs 2431314 618832 -75 % > 4_16_48_Lf_Rf_Ls_Rs 3436386 774834 -77 % > 4_16_88_Lf_Rf_Ls_Rs 6054248 857118 -86 % > 4_16_96_Lf_Rf_C_LFE 6564428 893794 -86 % > 4_24_44_Lf_Rf_Ls_Rs 3171060 1168038 -63 % > 4_24_48_Lf_Rf_Ls_Rs 3436386 1671526 -51 % > 4_24_88_Lf_Rf_Ls_Rs 6053300 1604566 -73 % > 4_24_96_Lf_Rf_Ls_Rs 6560980 1701338 -74 % > 5_16_44_Lf_Rf_LFE_Ls_Rs 3043118 626716 -79 % > 5_16_48_Lf_Rf_C_Ls_Rs 4259698 785564 -82 % > 5_16_88_Lf_Rf_LFE_Ls_Rs 7572646 866594 -89 % > 5_16_96_Lf_Rf_LFE_Ls_Rs 8210736 903800 -89 % > 5_24_44_Lf_Rf_Ls_Rs_LFE 3969708 1180472 -70 % > 5_24_48_Lf_Rf_Ls_Rs_LFE 4301712 1712056 -60 % > 5_24_88_Lf_Rf_Ls_Rs_LFE 7571414 1612840 -79 % > 5_24_96_Lf_Rf_LFE_Ls_Rs 8206676 1710184 -79 % > 6_16_44_Lf_Rf_C_LFE_Ls_Rs 3592854 633664 -82 % > 6_16_48_Lf_Rf_C_LFE_Ls_Rs 5078744 796240 -84 % > 6_16_88_Lf_Rf_C_LFE_Ls_Rs 9011680 876884 -90 % > 6_16_96_Lf_Rf_C_LFE_Ls_Rs 9770740 914614 -91 % > 6_24_44_Lf_Rf_C_LFE_Ls_Rs 4686942 1196392 -74 % > 6_24_48_Lf_Rf_C_LFE_Ls_Rs 5078744 795452 -84 % > 6_24_88_Lf_Rf_C_LFE_Ls_Rs 9010250 1621502 -82 % > 6_24_96_Lf_Rf_C_LFE_Ls_Rs 9765734 1720278 -82 % > > My question is: is this caused by the fact that the ffmpeg MLP encoder > only uses one substream? >
Yea, most likely. > Fabrice Nicol > > > > _______________________________________________ > ffmpeg-devel mailing list > [email protected] > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > [email protected] with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
