ittiam-systems / libmpegh

MPEG-H 3D Audio Low Complexity Profile Decoder. Encoder: https://github.com/ittiam-systems/libmpeghe
http://www.ittiam.com/
BSD 3-Clause Clear License
86 stars 19 forks source link

Regression (?) for 360RA level 3 #55

Closed sclsj closed 1 month ago

sclsj commented 1 year ago

(Newest release) (No output for indefinite time)

./ia_mpeghd_testbench -ifile:/Users/jin/Music/deemix\ Music/YOASOBI\ -\ THE\ BOOK\ 2/03\ -\ Romance.mp4 -cicp:2 -ofile:romance.wav
-ifile:/Users/jin/Music/deemix Music/YOASOBI - THE BOOK 2/03 - Romance.mp4 -ofile:romance.wav 
                       ITTIAM SYSTEMS PVT LTD, BANGALORE
                             http:\\www.ittiam.com
                     IA_MPEG_H_3D_AUD_DEC_MSVC $Rev: 1.2 $

sample:

Analysis of sampling ia_mpeghd_testbench (pid 85768) every 1 millisecond
Process:         ia_mpeghd_testbench [85768]
Path:            /Users/USER/Downloads/*/ia_mpeghd_testbench
Load Address:    0x104b78000
Identifier:      ia_mpeghd_testbench
Version:         0
Code Type:       ARM64
Platform:        macOS
Parent Process:  fish [84372]

Date/Time:       2023-06-09 20:26:53.890 +0800
Launch Time:     2023-06-09 20:18:01.763 +0800
OS Version:      macOS 12.3 (21E230)
Report Version:  7
Analysis Tool:   /usr/bin/sample

Physical footprint:         33.0M
Physical footprint (peak):  33.0M
----

Call graph:
    8283 Thread_73253616   DispatchQueue_1: com.apple.main-thread  (serial)
      8283 start  (in dyld) + 516  [0x10506d088]
        8283 main  (in ia_mpeghd_testbench) + 4528  [0x104b7ece8]
          8166 impeghd_main_process  (in ia_mpeghd_testbench) + 1248  [0x104b7cfc0]
          + 8163 impeghd_main_process  (in ia_mpeghd_testbench) + 968,956,...  [0x104b7cea8,0x104b7ce9c,...]
          + 2 ia_mpegh_dec_init  (in ia_mpeghd_testbench) + 28  [0x104ba38e4]
          + ! 2 ia_mpegh_dec_init  (in ia_mpeghd_testbench) + 2504,4168  [0x104ba4290,0x104ba4910]
          + 1 impeghd_main_process  (in ia_mpeghd_testbench) + 1248  [0x104b7cfc0]
          +   1 ia_mpegh_dec_init  (in ia_mpeghd_testbench) + 20  [0x104ba38dc]
          117 impeghd_main_process  (in ia_mpeghd_testbench) + 1116  [0x104b7cf3c]
            111 impeghd_mp4_fw_read  (in ia_mpeghd_testbench) + 696  [0x104b7f9fc]
            ! 111 _platform_memmove  (in libsystem_platform.dylib) + 372,396,...  [0x1a1fb5264,0x1a1fb527c,...]
            2 impeghd_mp4_fw_read  (in ia_mpeghd_testbench) + 212  [0x104b7f818]
            ! 2 impeghd_mp4_fw_read  (in ia_mpeghd_testbench) + 536,632  [0x104b7f95c,0x104b7f9bc]
            2 impeghd_mp4_fw_read  (in ia_mpeghd_testbench) + 440  [0x104b7f8fc]
            ! 2 impeghd_mp4_get_audio  (in ia_mpeghd_testbench) + 92  [0x104b8b9f8]
            !   2 impeghd_mp4_read_media_sample  (in ia_mpeghd_testbench) + 524  [0x104b8e2f0]
            !     2 impeghd_mp4_fseek  (in ia_mpeghd_testbench) + 88  [0x104b7f0a8]
            !       1 fseek  (in libsystem_c.dylib) + 76  [0x1a1e755ec]
            !       : 1 flockfile  (in libsystem_c.dylib) + 0  [0x1a1e6f43c]
            !       1 fseek  (in libsystem_c.dylib) + 96  [0x1a1e75600]
            !         1 _fseeko  (in libsystem_c.dylib) + 720  [0x1a1e924dc]
            !           1 __srefill1  (in libsystem_c.dylib) + 36  [0x1a1e6b5a0]
            !             1 _sread  (in libsystem_c.dylib) + 32  [0x1a1e6b60c]
            !               1 __sread  (in libsystem_c.dylib) + 24  [0x1a1e90708]
            !                 1 __read_nocancel  (in libsystem_kernel.dylib) + 8  [0x1a1f62a0c]
            1 impeghd_main_process  (in ia_mpeghd_testbench) + 1116  [0x104b7cf3c]
            ! 1 impeghd_mp4_fw_read  (in ia_mpeghd_testbench) + 200  [0x104b7f80c]
            1 impeghd_mp4_fw_read  (in ia_mpeghd_testbench) + 640  [0x104b7f9c4]
              1 __memcpy_chk  (in libsystem_c.dylib) + 0  [0x1a1e642a8]

Total number in stack (recursive counted multiple, when >=5):

Sort by top of stack, same collapsed (when >= 5):
        impeghd_main_process  (in ia_mpeghd_testbench)        8163
        _platform_memmove  (in libsystem_platform.dylib)        111

Binary Images:
       0x104b78000 -        0x104ccbffb +ia_mpeghd_testbench (0) <2AC18EE3-A89B-36E2-B501-8301E66ECD5C> /Users/*/Downloads/*/ia_mpeghd_testbench
       0x105068000 -        0x1050c5113  dyld (955) <FBB89662-E6F2-3434-B542-F75185AC5E74> /usr/lib/dyld
       0x1a1cc5000 -        0x1a1cc6ffe  libsystem_blocks.dylib (79.1) <DF7F3CF2-FF71-3E86-AA3A-46465B8B8DEC> /usr/lib/system/libsystem_blocks.dylib
       0x1a1cc7000 -        0x1a1d08ff3  libxpc.dylib (2236.100.61) <4C6EB90B-BD32-3CAD-9F25-C9F234775EFB> /usr/lib/system/libxpc.dylib
       0x1a1d09000 -        0x1a1d22ffe  libsystem_trace.dylib (1375.100.9) <AAD0C6C8-F622-3FAC-AF4F-A2A021F9AE17> /usr/lib/system/libsystem_trace.dylib
       0x1a1d23000 -        0x1a1daafcf  libcorecrypto.dylib (1218.100.47) <29B2F7FD-0F6D-3F41-B569-FB4AE94F4D6B> /usr/lib/system/libcorecrypto.dylib
       0x1a1dab000 -        0x1a1dd5ffb  libsystem_malloc.dylib (374.100.5) <3A021C33-DD59-37F7-9A86-5CEED68FF9BA> /usr/lib/system/libsystem_malloc.dylib
       0x1a1dd6000 -        0x1a1e1cff7  libdispatch.dylib (1325.100.36) <DC048E3B-E023-3D17-AFE5-4FF3DC625608> /usr/lib/system/libdispatch.dylib
       0x1a1e1d000 -        0x1a1e5affe  libobjc.A.dylib (841.13) <4B5AB8FB-60E0-3992-BA0E-A073A3FA86A7> /usr/lib/libobjc.A.dylib
       0x1a1e5b000 -        0x1a1e5dfff  libsystem_featureflags.dylib (56) <8BCCBE77-3AEB-3BDA-A6B6-4D1D0B7FFBCF> /usr/lib/system/libsystem_featureflags.dylib
       0x1a1e5e000 -        0x1a1edffff  libsystem_c.dylib (1507.100.9) <FD566A15-42D8-314A-A99A-B59237DDF5BC> /usr/lib/system/libsystem_c.dylib
       0x1a1ee0000 -        0x1a1f46ff3  libc++.1.dylib (1300.23) <06BC1EC0-9992-398E-A85B-2973EB1FDBA2> /usr/lib/libc++.1.dylib
       0x1a1f47000 -        0x1a1f5effb  libc++abi.dylib (1300.23) <E0FC64A3-790D-34B3-A092-432A0E6B1C82> /usr/lib/libc++abi.dylib
       0x1a1f5f000 -        0x1a1f96feb  libsystem_kernel.dylib (8020.101.4) <1D7B3B8E-75A1-34EA-AA52-9F7C23155C55> /usr/lib/system/libsystem_kernel.dylib
       0x1a1f97000 -        0x1a1fa3ff3  libsystem_pthread.dylib (486.100.11) <CEE8BC77-6923-34D9-89A3-6F8F7279605E> /usr/lib/system/libsystem_pthread.dylib
       0x1a1fa4000 -        0x1a1fb0fff  libdyld.dylib (955) <D9C3F911-6697-3B95-A4F6-4FB979F04A6E> /usr/lib/system/libdyld.dylib
       0x1a1fb1000 -        0x1a1fb8ffb  libsystem_platform.dylib (273.100.5) <84FA5DD0-806C-310E-B047-479924CD688C> /usr/lib/system/libsystem_platform.dylib
       0x1a1fb9000 -        0x1a1fe5ff3  libsystem_info.dylib (554) <2CE857CF-271D-3196-9087-0875C4D153BD> /usr/lib/system/libsystem_info.dylib
       0x1a46cc000 -        0x1a46d6ff3  libsystem_darwin.dylib (1507.100.9) <D07777F4-2044-30E7-82FB-8F239F71A802> /usr/lib/system/libsystem_darwin.dylib
       0x1a4b25000 -        0x1a4b34fff  libsystem_notify.dylib (301) <5FF2DA89-8A88-34BB-AA68-BA9C5D24E639> /usr/lib/system/libsystem_notify.dylib
       0x1a709b000 -        0x1a70b2ffb  libsystem_networkextension.dylib (1471.100.24) <8D842641-0F27-34B1-AEFC-C95B178E5433> /usr/lib/system/libsystem_networkextension.dylib
       0x1a710c000 -        0x1a7123ff7  libsystem_asl.dylib (392.100.2) <6B2F4A2F-2C36-3D5D-87F0-9B6BBAE5560C> /usr/lib/system/libsystem_asl.dylib
       0x1a8864000 -        0x1a886cfff  libsystem_symptoms.dylib (1617.101.2) <753D2289-1662-3922-8A94-FAC9DED81CD5> /usr/lib/system/libsystem_symptoms.dylib
       0x1aa855000 -        0x1aa873fff  libsystem_containermanager.dylib (383.100.23) <ECF472AD-D73F-3C98-B186-2AD4EE20F4D5> /usr/lib/system/libsystem_containermanager.dylib
       0x1ab5f9000 -        0x1ab5fdfff  libsystem_configuration.dylib (1163.100.19.0.2) <F241F139-76C4-38FC-A44C-5D695A58592D> /usr/lib/system/libsystem_configuration.dylib
       0x1ab5fe000 -        0x1ab602fff  libsystem_sandbox.dylib (1657.101.2) <9180A377-715B-3790-81DB-AB51A9F0C3C0> /usr/lib/system/libsystem_sandbox.dylib
       0x1ac16b000 -        0x1ac16dfff  libquarantine.dylib (133.100.3) <49C11AB5-FD65-39BE-A1C7-AD885809511E> /usr/lib/system/libquarantine.dylib
       0x1ac7d8000 -        0x1ac7ddfff  libsystem_coreservices.dylib (133) <92325446-C184-3BDF-B839-CFC2A7C558EC> /usr/lib/system/libsystem_coreservices.dylib
       0x1aca3e000 -        0x1aca74ffb  libsystem_m.dylib (3204.80.2) <E02AEB06-0AB6-3743-BF8C-02CEFA571365> /usr/lib/system/libsystem_m.dylib
       0x1aca76000 -        0x1aca7eff3  libmacho.dylib (994) <A96A86CA-C4C0-3013-BB2E-5F7572B18A00> /usr/lib/system/libmacho.dylib
       0x1aca9b000 -        0x1acaa7ffb  libcommonCrypto.dylib (60191.100.1) <5AAADB40-420D-326A-AC38-CFE1D81DA1E5> /usr/lib/system/libcommonCrypto.dylib
       0x1acaa8000 -        0x1acab2fff  libunwind.dylib (202.2) <687985E7-0BD0-3898-9FCA-F8BCAAE282AE> /usr/lib/system/libunwind.dylib
       0x1acab3000 -        0x1acabaffb  liboah.dylib (254.16) <41FFA258-B820-37DB-9D7B-2EE4AEFEBF2A> /usr/lib/liboah.dylib
       0x1acabb000 -        0x1acac3ff7  libcopyfile.dylib (180.100.3) <97564E56-1B3C-3C9A-B653-AE99C54231AC> /usr/lib/system/libcopyfile.dylib
       0x1acac4000 -        0x1acac7ffb  libcompiler_rt.dylib (103.1) <7E374D5C-9785-3D65-88D2-98B92AD24C78> /usr/lib/system/libcompiler_rt.dylib
       0x1acac8000 -        0x1acaccfff  libsystem_collections.dylib (1507.100.9) <B7FB982C-29CC-383B-9C25-60D660BB1433> /usr/lib/system/libsystem_collections.dylib
       0x1acacd000 -        0x1acacfffb  libsystem_secinit.dylib (107.100.5) <A61664A2-D010-3674-95D9-1D06571F9F5A> /usr/lib/system/libsystem_secinit.dylib
       0x1acad0000 -        0x1acad2fff  libremovefile.dylib (60) <4880993D-A23B-3DCE-942A-4201CE7E5461> /usr/lib/system/libremovefile.dylib
       0x1acad3000 -        0x1acad3fff  libkeymgr.dylib (31) <7B91E34D-FEF4-3CAB-ABA5-B2CBCD2BCDC0> /usr/lib/system/libkeymgr.dylib
       0x1acad4000 -        0x1acadcfff  libsystem_dnssd.dylib (1557.101.2) <BCF907AB-64F2-3E2C-A203-9FCA6584C584> /usr/lib/system/libsystem_dnssd.dylib
       0x1acadd000 -        0x1acae2ff7  libcache.dylib (85) <E5029B58-FF22-3EC8-9708-A97E2C90C310> /usr/lib/system/libcache.dylib
       0x1acae3000 -        0x1acae4fff  libSystem.B.dylib (1311.100.3) <DEE4A1ED-F9DF-3515-BE62-166170214E4C> /usr/lib/libSystem.B.dylib
       0x1b2e21000 -        0x1b2e21fff  libsystem_product_info_filter.dylib (10) <21E3CB05-5B01-3BAA-8F17-84E8181778C0> /usr/lib/system/libsystem_product_info_filter.dylib
sclsj commented 1 year ago

An old git clone from start of 2023:

ia_mpeghd_testbench -ifile:/Users/jin/Music/deemix\ Music/YOASOBI\ -\ THE\ BOOK\ 2/03\ -\ Romance.mp4 -cicp:2 -ofile:romance.wav
-ifile:/Users/jin/Music/deemix Music/YOASOBI - THE BOOK 2/03 - Romance.mp4 -ofile:romance.wav 
                       ITTIAM SYSTEMS PVT LTD, BANGALORE
                             http:\\www.ittiam.com
                     IA_MPEG_H_3D_AUD_DEC_MSVC $Rev: 1.2 $

Decoder Initialization complete
Frames Processed : [ 7805] 
sclsj commented 1 year ago

mediainfo:

mediainfo /Users/jin/Music/deemix\ Music/YOASOBI\ -\ THE\ BOOK\ 2/03\ -\ Romance.mp4
General
Complete name                            : /Users/jin/Music/deemix Music/YOASOBI - THE BOOK 2/03 - Romance.mp4
Format                                   : MPEG-4
Format profile                           : Base Media / Version 2
Codec ID                                 : mp42 (mp42/isom)
File size                                : 31.8 MiB
Duration                                 : 2 min 46 s
Overall bit rate                         : 1 604 kb/s
Encoded date                             : UTC 2021-11-16 09:03:02
Tagged date                              : UTC 2021-11-16 09:03:02

Audio
ID                                       : 1
Format                                   : MPEG-H 3D Audio
Format profile                           : LC@L4
Codec ID                                 : mha1
Duration                                 : 2 min 46 s
Source duration                          : 2 min 46 s
Bit rate                                 : 1 600 kb/s
Channel(s)                               : 24 channels (22.2)
Channel layout                           : Lw Rw C LFE Lb Rb L R Cb LFE2 Lss Rss Tfl Tfr Tfc Tc Tbl Tbr Tsl Tsr Tbc Bfc Bfl Bfr
Sampling rate                            : 48.0 kHz
Frame rate                               : 46.875 FPS (1024 SPF)
Stream size                              : 31.7 MiB (100%)
Source stream size                       : 31.7 MiB (100%)
Encoded date                             : UTC 2021-11-16 09:03:02
Tagged date                              : UTC 2021-11-16 09:03:02
Signal group #1                          : 13 objects
 Type                                    : Object
 Number of objects                       : 13 objects
Codec configuration box                  : mhaC
SakethSathuvalli commented 1 year ago

Format profile : LC@L4

The logs shared says that the profile level is 4. The latest gitHub version does not have support for Level 4 files. We are currently working on adding support for this profile. The old version might also be able to decode it only with some workaround.

sclsj commented 1 year ago

Thank you! I completely forgot I performed the workaround in issue #1 in the old code. I tried applying that to the current code and still got the same behavior (it's on a different line but the neighboring logic seems to be the same). I believe some other addition to make the program conform to the standard fixes the "bug" that makes the workaround possible. I will wait for the support for Level 4 and close the issue then if that's OK with you.

SakethSathuvalli commented 4 months ago

@sclsj Can You once try with the latest version of the decoder?

SakethSathuvalli commented 1 month ago

Closing due to no activity for long time.