• 1
  • 7
  • 8
  • 9(current)
  • 10
  • 11
  • 13
Release TrueHD passthrough - New MAT Packer implementation (merged in master and Omega)
(2024-05-24, 23:17)MrMagic Wrote: You're saying that the new packer code is not planned to be backported to Omega, but all three APKs in the OP are called MAT packer and have Omega in the name. Or do you mean that there is both old and new MAT packer code?
Just because there's an Omega build with MAT packer doesn't mean it will get an official release.
Reply
I thought I'd give the new Shield TV build a test but I'm now getting repeatable dropouts on the 1917 test file when it previously didn't.

https://paste.kodi.tv/evilakujir.kodi

1917.excerpt
Reply
Quote:2024-05-25 08:40:51.986 T:2764     info <general>: Loading skin file: VideoFullScreen.xml, load type: KEEP_IN_MEMORY
2024-05-25 08:40:51.998 T:2820    debug <general>: ### Kodi Check Previous Episode 0.4.7 - onAVStarted
2024-05-25 08:40:51.999 T:2820    debug <general>: ### Kodi Check Previous Episode 0.4.7 - KODI JSON RPC command: Get active players [{"jsonrpc": "2.0", "id": 1, "method": "Player.GetActivePlayers"}]
2024-05-25 08:40:52.050 T:2820    debug <general>: ### Kodi Check Previous Episode 0.4.7 - KODI JSON RPC result: {"id":1,"jsonrpc":"2.0","result":[{"playerid":1,"playertype":"internal","type":"video"}]}
2024-05-25 08:40:52.050 T:2820    debug <general>: ### Kodi Check Previous Episode 0.4.7 - Player running with ID: 1
2024-05-25 08:40:52.050 T:2820    debug <general>: ### Kodi Check Previous Episode 0.4.7 - KODI JSON RPC command: Get playing item [{"jsonrpc": "2.0", "id": 1, "method": "Player.GetItem", "params": {"playerid": 1}}]
2024-05-25 08:40:52.066 T:2820    debug <general>: ### Kodi Check Previous Episode 0.4.7 - KODI JSON RPC result: {"id":1,"jsonrpc":"2.0","result":{"item":{"label":"1917.Excerpt.mkv","type":"unknown"}}}
2024-05-25 08:40:52.068 T:2817    debug <general>: script.copacetic.helper --> Window property: Clear, 10000, clearlogo_cropped
2024-05-25 08:40:52.068 T:2817    debug <general>: script.copacetic.helper --> Window property: Clear, 10000, clearlogo_cropped-id
2024-05-25 08:40:52.069 T:2817    debug <general>: script.copacetic.helper --> Window property: Clear, 10000, clearlogo_cropped-height
2024-05-25 08:40:52.069 T:2817    debug <general>: script.copacetic.helper --> Window property: Clear, 10000, clearlogo-alt_cropped
2024-05-25 08:40:52.069 T:2817    debug <general>: script.copacetic.helper --> Window property: Clear, 10000, clearlogo-alt_cropped-id
2024-05-25 08:40:52.069 T:2817    debug <general>: script.copacetic.helper --> Window property: Clear, 10000, clearlogo-alt_cropped-height
2024-05-25 08:40:52.069 T:2817    debug <general>: script.copacetic.helper --> Window property: Clear, 10000, clearlogo-billboard_cropped
2024-05-25 08:40:52.069 T:2817    debug <general>: script.copacetic.helper --> Window property: Clear, 10000, clearlogo-billboard_cropped-id
2024-05-25 08:40:52.069 T:2817    debug <general>: script.copacetic.helper --> Window property: Clear, 10000, clearlogo-billboard_cropped-height
2024-05-25 08:40:52.070 T:2817    debug <general>: script.copacetic.helper --> Window property: Set, 10000, Return_Label, 1917 Excerpt.mkv
2024-05-25 08:40:52.070 T:2817    debug <general>: JSONRPC: Value does not lay between minimum and maximum in type movieid
2024-05-25 08:40:52.094 T:2817    error <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                                    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                   Error Type: <class 'KeyError'>
                                                   Error Contents: 'result'
                                                   Traceback (most recent call last):
                                                     File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.copacetic.helper/resources/lib/service/player.py", line 38, in onAVStarted
                                                       if query['result'].get('moviedetails', None):
                                                          ~~~~~^^^^^^^^^^
                                                   KeyError: 'result'
                                                   -->End of Python script error report<--

Could you fix this before, please? As it is tied to OnAVStarted? Same file works fine with "nightly Omega" right? I see another EOF in there, which points to a network read issue?
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
Also this:
Quote:                                                   <advancedsettings>
                                                     <!--audio>
                                                           <maxpassthroughoffsyncduration>50</maxpassthroughoffsyncduration>
                                                       </audio>
                                                       <video>
                                                           <latency>
                                                               <delay>-75</delay>
                                                           </latency>
                                                       </video-->
                                                     <video>

is most likely not how you wanted to "comment" it.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
Removed Copacetic helper and cleaned up my AS.xml.

Here's the file on Omega (no dropouts):

https://paste.kodi.tv/uqosibeseq.kodi

And on the Omega build in the first post (dropouts):

https://paste.kodi.tv/ucotocihav.kodi

Omega nightly (dropouts):

https://paste.kodi.tv/nexesuvire.kodi
Reply
Seems is due the source: the way it is cut or because is too short sample.

No dropouts here testing with this other sample (includes the same scene but is 5 minutes fragment instead of only 21s):

https://mega.nz/file/i35DGIjD#eLWjV2nSbW...xAxMYNwb1E
Reply
(2024-05-25, 11:38)jogal Wrote: Seems is due the source: the way it is cut or because is too short sample.
I did wonder if that was the case, thanks.

EDIT: All good with that sample.
Reply
Why did Omega have no dropouts though? In Hitcher testing?
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
Answer to myself: the auto learning is 30s. So nothing was adjusted in plain omega.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
Suddenly I had an idea that could mean a game changer...  Smile

Basically it moves things around which has allowed to greatly simplify the TrueHD code.

master/v22 test builds:

ARM64:
https://mirrors.kodi.tv/test-builds/andr...64-v8a.apk

ARM:
https://mirrors.kodi.tv/test-builds/andr...bi-v7a.apk

Windows x64:
https://mirrors.kodi.tv/test-builds/wind...rk-x64.exe


Improves TrueHD stability and performance... a/v sync error is reduced!

Before
Image

After
Image


Please test with maxpassthroughoffsyncduration 50 ms to have all same reference and comparable data.
Reply
First quality testing with Cars and Avatar: works as advertized.
From a separation of concerns POV, meaning kodi architecture, it does the right thing by removing this very specific, highly cpu demanding loop like building up of the samples where it belongs into the codec.

Hopefully RAW still works ;-).

<offtopic>
Small hint: I am running on a Firetv 4K 3rd Edition. This has a very weak single threading performance. The PlayerDebug OSD makes nearly 30% difference in CPU usage - if you are on a very weak SOC with weak single core CPU performance - open it only from time to time ... feels like back in 2016 with the old celerons ;-). </offtopic>
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
Updated first post with Omega variants of "mat-rework" branch
Reply
(2024-05-26, 16:53)jogal Wrote: Please test with maxpassthroughoffsyncduration 50 ms to have all same reference and comparable data.
Does this need to be set for general usage as well?

(2024-05-26, 19:25)jogal Wrote: Updated first post with Omega variants of "mat-rework" branch
Just to confirm this kodi-20240526-0d8d6962-mat-packer-Omega-arm64-v8a.apk has the new rework even though it's still called 'mat-packer'?
Reply
(2024-05-26, 19:49)Hitcher Wrote: Just to confirm this kodi-20240526-0d8d6962-mat-packer-Omega-arm64-v8a.apk has the new rework even though it's still called 'mat-packer'?

Yes, what it contains is here: https://github.com/thexai/xbmc/commits/m...ker-Omega/
 
(2024-05-26, 19:49)Hitcher Wrote: Does this need to be set for general usage as well?

Yes, is good for all. Also is planned remove self-learning in v22 and the default value it will probably be 50 ms (it can continue to be adjusted in advancedsettings)
Reply
Thanks.
Reply
  • 1
  • 7
  • 8
  • 9(current)
  • 10
  • 11
  • 13

Logout Mark Read Team Forum Stats Members Help
TrueHD passthrough - New MAT Packer implementation (merged in master and Omega)0