Ik heb sinds enige tijd een nieuw systeem (specs zie verder) met een PCIe Asus ATI Radeon X800Pro 256MB grafische kaart. Ik ben daar erg tevreden over, maar enkele dagen geleden kwam ik tot de vaststelling dat er een gek probleem is met de weergave van films (Media Player Classic - MPC). En dan bedoel ik wel alle films, van MPEG1 naar XviD tot DVD. Al die films hebben last van een soort grijswaas. Zwart is niet echt diepzwart maar eerder donkergrijs. En ja, ik weet wel dat mijn TFT-scherm niet echt zwart kan weergeven, maar mijn eigen zwarte desktopachtergrond is BEDUIDEND donkerder dan het zwart in m'n films. Alle films zien er dus wat fletser uit dan ze in het echt zijn, en zeker in een donkere kamer met een TFT die sowieso al niet echt schitterend zwart weergeeft is dit ronduit vervelend.
Wanneer ik de films op m'n oud systeem bekijk, dan is het zwart wel mooi diepzwart zoals m'n background color - zelfs wanneer ik m'n nieuwe TFT-scherm gebruik. Het ligt dus al zeker niet aan de films, noch aan het scherm.
Na kort experimenteren schijnt het probleem niet voor te komen wanneer ik films weergeef via de klassieke overlay mode. In de WMR7 en WMR9 mode waarbij DirectDraw/DirectX wordt gebruikt bestaat het probleem steeds. Waarom dan niet gewoon de overlay gebruiken? Omdat ik dan geen ondertitels kan weergeven via Media Player Classic (en Vobsub / ffdshow ondertitels vind ik lelijk). Ik heb geëxperimenteerd met verscheidene codecs (ffdshow, XviD, MPC DVD decoder, CyberLinkDVD decoder,...), maar dat had geen enkele invloed op het probleem. in de gewenste WMR mode was het beeld altijd grijzig.
Wel ben ik er dankzij ffdshow achter gekomen wat de kern van het probleem is. Het heeft te maken met de colorspaces die gebruikt worden in de films, zoals YV12, YUY2,... Wanneer ik in een decoder die dit toelaat (zoals ffdshow) de ondersteuning voor al deze formaten uitschakel en enkel RGB ondersteuning laat staan, dan is de weergave wel correct!
Een zoektocht op Internet leerde me dat de oorzaak te zoeken is in de kleurdiepte die deze formaten bieden. Computers werken klassiek met RGB colorspaces die waardes toelaten van 0 - 255. Andere colorspaces zoals YUV gebruiken slechts 0 - 235, waardoor een deel van het dynamisch bereik van een computerscherm niet benut wordt. Maar normaal gezien zouden de drivers van de beeldkaart dit moeten converteren naar de RGB colorspace en hierbij het dynamisch bereik corrigeren. Misschien leg ik het wat verkeerd uit, maar daar komt het alleszins op neer.
Waarom dan niet gewoon al die YUV colorspaces uitschakelen in de codecs, dan is het probleem toch weg? Neen, sommige codecs die ik nodig heb ondersteunen deze functie niet, en het stomme is dat dit helemaal niet nodig zou moeten zijn. Op mijn oude systeem staan alle YUV colorspaces ook gewoon aan en is er geen enkel probleem.
Dus gingen we verder op onderzoek.
Mijn oude PC gebruikt een Nvidia FX5900 en geeft zowel met YUV colorspaces aan als uit de films correct weer. Helaas is dat een AGP kaart, dus die kon ik niet even overplanten in m'n huidig systeem - noch andersom. Maar ik kon een PCIe Nvidia 6200 lenen van een kennis. Die kaart in mijn nieuwe bak, Nvidia drivers erop en wonder boven wonder... Nu speelden alle films wel correct. Het ligt dus ook al zeker niet aan Media Player Classic of de gebruikte codecs.
Ohla dacht ik, een probleem met mijn kaart? Nu heeft een kennis van me een X850 welke nagenoeg identiek is aan mijn kaart en die mocht ik ook eens proberen. Ik verwachtte eerlijk gezegd dat dit goed zou gaan, maar vreemd genoeg had deze kaart net hetzelfde probleem als de mijne. Dus een defect aan mijn kaart was het al zeker niet. Sterker, nader onderzoek bij die kennis thuis met zijn kaart terug in zijn systeem maakte duidelijk dat hij het probleem ook heeft!
even tussendoor vermelden dat ik steeds vanaf een verse windows zonder grafische kaart drivers vertrok dankzij Ghost - er kon dus geen driverconflict ontstaan tussen verschillende versies
Een ATI probleem dus? Ik gebruikte momenteel de nieuwste Catalyst drivers, maar ik heb de testen herhaald met 5.5 en de nieuwste Omega drivers. Geen verschil, de ATI kaarten bleven grijzig. In een opwelling probeerde ik eens een film af te spelen op de ATI X800 VOOR ik de grafische kaart driver installeerde. En ja hoor, nu waren de kleuren wel goed. Het zwart was nu wel mooi zwart!
Met andere woorden, het probleem zit 'em in de ATI drivers die om een of andere reden de YUV "vertaling" niet (goed) doen. Opties om dit gedrag te beïnvloeden heb ik in geen enkele ATI driver gevonden.
Maar ik vind het nogal gek dat ik hier niet meer probleemverhalen over heb gevonden. Ik kan toch niet de eerste zijn met dit probleem? Zeker gezien het feit dat ik het makkelijk kon reproduceren op 2 compleet verschillende systemen. Zijn er nog ATI-gebruikers met dit probleem? Het is erg duidelijk zichtbaar wanneer je bijvoorbeeld de generiek van een film (of nog beter de zwarte copyright notice schermen op DVDs) speelt in een venster terwijl je je bureaublad achtergrondkleur op zwart (0 0 0) instelt. Beiden moeten identiek zijn, maar bij mij is de film dus beduidend grijzer. Je kunt hier het beste Media Player Classic voor gebruiken omdat je hier in de opties zelf kunt kiezen welke render mode je gebruikt (WMR 7/9 renderless moet je nemen).
Zijn er misschien mensen die zelfs een oplossing weten?
Specs:
CPU: AMD Athlon64 3200+
Mobo: Asus A8N-SLI Deluxe
Graka: Asus ATI Radeon X800Pro 256MB
OS: Windows XP Professional met alle laatste updates. Vers geïnstalleerd enkele dagen terug en met Ghost backups zorg ik ervoor dat ik steeds met een clean systeem kan experimenteren.
Drivers:
- Laatste nForce chipset drivers (geen drivers geïnstalleerd voor IDE en hardware firewall omdat dit algemeen afgeraden wordt)
Wanneer ik de films op m'n oud systeem bekijk, dan is het zwart wel mooi diepzwart zoals m'n background color - zelfs wanneer ik m'n nieuwe TFT-scherm gebruik. Het ligt dus al zeker niet aan de films, noch aan het scherm.
Na kort experimenteren schijnt het probleem niet voor te komen wanneer ik films weergeef via de klassieke overlay mode. In de WMR7 en WMR9 mode waarbij DirectDraw/DirectX wordt gebruikt bestaat het probleem steeds. Waarom dan niet gewoon de overlay gebruiken? Omdat ik dan geen ondertitels kan weergeven via Media Player Classic (en Vobsub / ffdshow ondertitels vind ik lelijk). Ik heb geëxperimenteerd met verscheidene codecs (ffdshow, XviD, MPC DVD decoder, CyberLinkDVD decoder,...), maar dat had geen enkele invloed op het probleem. in de gewenste WMR mode was het beeld altijd grijzig.
Wel ben ik er dankzij ffdshow achter gekomen wat de kern van het probleem is. Het heeft te maken met de colorspaces die gebruikt worden in de films, zoals YV12, YUY2,... Wanneer ik in een decoder die dit toelaat (zoals ffdshow) de ondersteuning voor al deze formaten uitschakel en enkel RGB ondersteuning laat staan, dan is de weergave wel correct!
Een zoektocht op Internet leerde me dat de oorzaak te zoeken is in de kleurdiepte die deze formaten bieden. Computers werken klassiek met RGB colorspaces die waardes toelaten van 0 - 255. Andere colorspaces zoals YUV gebruiken slechts 0 - 235, waardoor een deel van het dynamisch bereik van een computerscherm niet benut wordt. Maar normaal gezien zouden de drivers van de beeldkaart dit moeten converteren naar de RGB colorspace en hierbij het dynamisch bereik corrigeren. Misschien leg ik het wat verkeerd uit, maar daar komt het alleszins op neer.
Waarom dan niet gewoon al die YUV colorspaces uitschakelen in de codecs, dan is het probleem toch weg? Neen, sommige codecs die ik nodig heb ondersteunen deze functie niet, en het stomme is dat dit helemaal niet nodig zou moeten zijn. Op mijn oude systeem staan alle YUV colorspaces ook gewoon aan en is er geen enkel probleem.
Dus gingen we verder op onderzoek.
Mijn oude PC gebruikt een Nvidia FX5900 en geeft zowel met YUV colorspaces aan als uit de films correct weer. Helaas is dat een AGP kaart, dus die kon ik niet even overplanten in m'n huidig systeem - noch andersom. Maar ik kon een PCIe Nvidia 6200 lenen van een kennis. Die kaart in mijn nieuwe bak, Nvidia drivers erop en wonder boven wonder... Nu speelden alle films wel correct. Het ligt dus ook al zeker niet aan Media Player Classic of de gebruikte codecs.
Ohla dacht ik, een probleem met mijn kaart? Nu heeft een kennis van me een X850 welke nagenoeg identiek is aan mijn kaart en die mocht ik ook eens proberen. Ik verwachtte eerlijk gezegd dat dit goed zou gaan, maar vreemd genoeg had deze kaart net hetzelfde probleem als de mijne. Dus een defect aan mijn kaart was het al zeker niet. Sterker, nader onderzoek bij die kennis thuis met zijn kaart terug in zijn systeem maakte duidelijk dat hij het probleem ook heeft!
even tussendoor vermelden dat ik steeds vanaf een verse windows zonder grafische kaart drivers vertrok dankzij Ghost - er kon dus geen driverconflict ontstaan tussen verschillende versies
Een ATI probleem dus? Ik gebruikte momenteel de nieuwste Catalyst drivers, maar ik heb de testen herhaald met 5.5 en de nieuwste Omega drivers. Geen verschil, de ATI kaarten bleven grijzig. In een opwelling probeerde ik eens een film af te spelen op de ATI X800 VOOR ik de grafische kaart driver installeerde. En ja hoor, nu waren de kleuren wel goed. Het zwart was nu wel mooi zwart!
Met andere woorden, het probleem zit 'em in de ATI drivers die om een of andere reden de YUV "vertaling" niet (goed) doen. Opties om dit gedrag te beïnvloeden heb ik in geen enkele ATI driver gevonden.
Maar ik vind het nogal gek dat ik hier niet meer probleemverhalen over heb gevonden. Ik kan toch niet de eerste zijn met dit probleem? Zeker gezien het feit dat ik het makkelijk kon reproduceren op 2 compleet verschillende systemen. Zijn er nog ATI-gebruikers met dit probleem? Het is erg duidelijk zichtbaar wanneer je bijvoorbeeld de generiek van een film (of nog beter de zwarte copyright notice schermen op DVDs) speelt in een venster terwijl je je bureaublad achtergrondkleur op zwart (0 0 0) instelt. Beiden moeten identiek zijn, maar bij mij is de film dus beduidend grijzer. Je kunt hier het beste Media Player Classic voor gebruiken omdat je hier in de opties zelf kunt kiezen welke render mode je gebruikt (WMR 7/9 renderless moet je nemen).
Zijn er misschien mensen die zelfs een oplossing weten?
Specs:
CPU: AMD Athlon64 3200+
Mobo: Asus A8N-SLI Deluxe
Graka: Asus ATI Radeon X800Pro 256MB
OS: Windows XP Professional met alle laatste updates. Vers geïnstalleerd enkele dagen terug en met Ghost backups zorg ik ervoor dat ik steeds met een clean systeem kan experimenteren.
Drivers:
- Laatste nForce chipset drivers (geen drivers geïnstalleerd voor IDE en hardware firewall omdat dit algemeen afgeraden wordt)
A bus station is where a bus stops. A train station is where a train stops... On my desk I have a workstation.