Hi,
I am fine with your roadmap Peter.
Just a few remarks regarding the current state:
* It seems that a consensus has recently being reached : Using the VDIC enables for such a good quality that it is worthy to rely on it rather than exploring the backup with bobbing ,right ?
* The performance is good enough for any SD stream
* The performance is enough or not depending on the HD streams.
We have identified several improvements :
- The improvement with custom splitting which is in fact the same as the one brought by the quick and dirty patch I shared in
https://github.com/xbmc/xbmc/pull/5805#i...t-65339619 post. It structurally ensures that the IPU IC block will use 16 pixel per burst and not 8 pixel per burst.
- Increasing the VPU priority on AXI bus also definitively helps
- The VPU@352Mhz helps (what are the effective drawbacks has to be analyzed further. To me it is at least safe in the sense that there is no risk to damage hw)
The benchmarks with mmdc_prof show that the bus bandwidth remains a key to the current issue.
So looking for low level configuration (ie in kernel) that can help can be useful for sure.
Unfortunately, the 16 pixel limitation is definitive : It is not a generic limitation of IDMAC but it is an IC channels limitation.
They can structurally only serve 8/16 pixel per burst : The keyword to search in imx6 RM to get it is : BURST_16
Maybe digging the IDMAC_LOCK feature or other qos related settings can be useful
We have just ping Jon who could have very valuable hints regarding this status
I also have a long term mitigation plan that should enable to have perfect behavior for any HD stream. My first attempt to explain it was not successful because there was a misunderstanding : I had not explained properly it was a long term exploration and not an immediate fix. Also, some objections which were not really related to this path were submitted adding noise to the exchanges. So I am currently writing a proof of concept based on smallint's testapp so that we can confirm (or not) the idea is worthy to explore and we can have constructive exchanges based on this basics...
At last, regarding the black screen, I don't know neither for sure. I suspect IPU is fragile when its output is reconfigured or a race in kernel. Do you have a way to reproduce quickly the issue (because it is my main issue to investigate : It happens very rarely in my env)
Regards
Stéphan