@molotino, mi piace affrontare questo argomento! la tua esperienza non puo' che accrescere la mia conoscenza. Ecco alcune mie considerazioni.
Il player interno utilizzato da xbmc è
ffmpeg, ossia il software su cui si basano le librerie
ffdshow, il cui sviluppo sembra avere qualche difficoltà a differenza di ffmpeg che ha uno sviluppo molto attivo (leggasi ampio supporto per i svariati codec) ed ha recentemente aggiunto il supporto ufficiale al multithread.
Con XBMC, ed anche credo con altri software quali appunto Mediaportal, si ha la capacità di decidere, a seconda le possibilità offerte dalla piattaforma su cui gira il software, di chi deve effettuare la decodifica del filmato tra la GPU e la CPU.
Con un esempio, XBMC installato su macchina linux con scheda grafica nvidia permette di scegliere se effettuare la decodifica di un filmato via software (CPU) appunto con ffmpeg oppure via hardware (GPU) grazie al supporto di ffmpeg alle lbrerie
vdpau di nvidia. A seconda la scelta si hanno a disposizione un set di istruzioni atti ad effettuare il post processing di un filmato.
In entrambi i casi XMBC mette a disposizione come render video la possibilità di selezionare gli
Advanced shaders GLSL. Abilitare la voce "video post processing" (anche per rispondere a DMD) significa abilitare una serie di filtri interni ad xbmc, presenti nei file di configurazione di xbmc (directory di installazione>system>shaders), consultabili anche in
XBMC Main Repository>system/shaders , che non potranno mai essere diversi come qualità rispetto agli shaders di ffdshow in quanto questo è il codice su cui hanno creato le librerie ffdshow! (al limite si puo' discutere sulla bontà della scelta dei parametri dei programmatori e magari intervenire manualmente per cambiare qualche valore).
Inoltre abilitando le librerie VDPAU s hanno in aggiunta altri parametri propri delle librerie vdpau: riduzione rumore, nitidezza, correzione colore ed ultimo ma s
econdo me fondamentale la possibilità di utilizzare un
algortimo di deinterlacciamento del tipo motion detection/compensation, chiamato spaziale/temporale, che risulta essere il miglior algoritmo di deinterlacciamento (se non sbaglio neanche ffmpeg possiede un algoritmo del genere). Ad esempio un segnale dal dvb-t guardato con XBMC sembra essere un segnale progressivo rispetto al dvb-t del TV!!
L'Utilizzo delle librerie ffdshow implica l'utilizzo della CPU per la decodifica e non trascuriamo il fatto che XBMC puo' essere configurato per utilizzare un player esterno piuttosto che quello interno, quindi si ha la libertà di scegliere qualunque software di riproduzione video che più ci aggrada.