Creation of audio index file needs some optimalization because file size can be extremely large.
It looks like that every 1 minute of TrueHD audio adds extra 10 MiB to index file. With typical 100+ minute movie index file will be over 1 GiB! Parsing that big ass file on single core is just super ineficient.
are changing. Furthermore values PTS and DTS are increasing in predictable manner.
Code:
<LSMASHWorksIndexVersion=0.0.2.0>
<LibavReaderIndexFile=15>
<FileSize=526166830>
<FileHash=0x7b6795d7>
<LibavReaderIndex=0x00000180,1,truehd>
<ActiveVideoStreamIndex>-0000000001</ActiveVideoStreamIndex>
<ActiveAudioStreamIndex>+0000000000</ActiveAudioStreamIndex>
Index=0,Type=1,Codec=86060,TimeBase=1/90000,POS=0,PTS=0,DTS=0,EDI=0
Channels=8:0x63f,Rate=48000,Format=s32,BPS=24,Length=40
Index=0,Type=1,Codec=86060,TimeBase=1/90000,POS=576,PTS=75,DTS=75,EDI=0
Channels=8:0x63f,Rate=48000,Format=s32,BPS=24,Length=40
Index=0,Type=1,Codec=86060,TimeBase=1/90000,POS=740,PTS=150,DTS=150,EDI=0
Channels=8:0x63f,Rate=48000,Format=s32,BPS=24,Length=40
Index=0,Type=1,Codec=86060,TimeBase=1/90000,POS=902,PTS=225,DTS=225,EDI=0
Channels=8:0x63f,Rate=48000,Format=s32,BPS=24,Length=40
Index=0,Type=1,Codec=86060,TimeBase=1/90000,POS=1050,PTS=300,DTS=300,EDI=0
Channels=8:0x63f,Rate=48000,Format=s32,BPS=24,Length=40
Index=0,Type=1,Codec=86060,TimeBase=1/90000,POS=1194,PTS=375,DTS=375,EDI=0
Channels=8:0x63f,Rate=48000,Format=s32,BPS=24,Length=40
Index=0,Type=1,Codec=86060,TimeBase=1/90000,POS=1340,PTS=450,DTS=450,EDI=0
Channels=8:0x63f,Rate=48000,Format=s32,BPS=24,Length=40
Index=0,Type=1,Codec=86060,TimeBase=1/90000,POS=1476,PTS=525,DTS=525,EDI=0
Channels=8:0x63f,Rate=48000,Format=s32,BPS=24,Length=40
Index=0,Type=1,Codec=86060,TimeBase=1/90000,POS=1624,PTS=600,DTS=600,EDI=0
Channels=8:0x63f,Rate=48000,Format=s32,BPS=24,Length=40
Index=0,Type=1,Codec=86060,TimeBase=1/90000,POS=1762,PTS=675,DTS=675,EDI=0
Channels=8:0x63f,Rate=48000,Format=s32,BPS=24,Length=40
Index=0,Type=1,Codec=86060,TimeBase=1/90000,POS=1912,PTS=750,DTS=750,EDI=0
Channels=8:0x63f,Rate=48000,Format=s32,BPS=24,Length=40
Index=0,Type=1,Codec=86060,TimeBase=1/90000,POS=2058,PTS=825,DTS=825,EDI=0
Channels=8:0x63f,Rate=48000,Format=s32,BPS=24,Length=40
Index=0,Type=1,Codec=86060,TimeBase=1/90000,POS=2196,PTS=900,DTS=900,EDI=0
Channels=8:0x63f,Rate=48000,Format=s32,BPS=24,Length=40
Index=0,Type=1,Codec=86060,TimeBase=1/90000,POS=2346,PTS=975,DTS=975,EDI=0
Channels=8:0x63f,Rate=48000,Format=s32,BPS=24,Length=40
Index=0,Type=1,Codec=86060,TimeBase=1/90000,POS=2490,PTS=1050,DTS=1050,EDI=0
Channels=8:0x63f,Rate=48000,Format=s32,BPS=24,Length=40