

We now offer a subscription for just 10 cents a day**h1>
You will always enjoy the full version of Mp4Gain with all its features and benefits.
For just 10 cents a day*
*Unlimited FULL version of Mp4Gain, billed $US12.50 Quarterly (+ $5 USD one time subscription payment JUST in the first payment).
All other payments will be just $3.12 per month, billed quaterly.
That's only 10 cents per day!
CLICK TO PURCHASE
THIS PRICE ONLY LASTS FOR A FEW DAYS
For just 10 cents a day*
Videocompressie en -decodering | Codecs en decoders

Voordat u serieus gaat testen, zijn er een paar eenvoudige dingen die u moet oplossen. Het is belangrijk om onderscheid te maken tussen codecs en bestandscontainers. Blu-ray-bestanden verschijnen bijvoorbeeld vaak met de extensie .m2ts. Maar het BDAV-containerformaat (blu-ray Disc Audio / Video) fungeert over het algemeen als een opslagcontainer. In dit geval kunt u drie codecs gebruiken: MPEG-2, H.264 en VC-1.

Wat is het verschil tussen een codec en een container? Denk aan je laatste vakantie. Uw koffer is in dit geval een “container”. Bagage is inhoud (video, audio, ondertitels en andere informatie), en een codec is de manier waarop u alles (gegevens) in uw koffer opslaat zodat het past. Je kunt dingen in een koffer stoppen door ze voorzichtig te vouwen (één codec) of ze in rollen te persen en ze in te pakken met tape om er meer in te passen (een andere codec). Dit geldt voor alle multimedia-inhoud. Het Microsoft AVI-formaat (Audio Video Interleave) is bijvoorbeeld een bestandscontainer, maar de video die het bevat, kan worden gecodeerd met verschillende codecs, van DivX tot MPEG-2.
Wanneer u iets afspeelt op een videospeler, wordt de gecodeerde video over het algemeen door een decoder gestuurd, geconverteerd naar YUV-gegevens (kleurruimte) en naar het scherm gestuurd. De decoder herkent het formaat en decomprimeert de gecomprimeerde gegevens tot nuttige informatie die kan worden verwerkt en weergegeven.
Er zijn twee soorten decoders: software en hardware. Vóór UVD, PureVideo en Intel GMA 4500MHD werd video gedecodeerd met softwaredecoders die vertrouwden op de kracht van de processors. Daarom probeerden veel bedrijven iets te doen om video’s af te spelen. Maar slechts twee van hen slaagden erin dit heel goed te doen: CyberLink en InterVideo (nu Corel), dus ATI gaf later een licentie voor de PowerDVD-decoder voor hun ATI dvd-decoder. Softwaredecoders verbruiken natuurlijk een grote hoeveelheid processortijd, wat de prestaties van moderne processors niet beïnvloedt, maar de levensduur van de batterij van mobiele apparaten aanzienlijk verkort.
Na verloop van tijd pakten fabrikanten van grafische kaarten dit probleem aan en begonnen ze decoders met vaste functies te ontwikkelen, dit waren logische circuits in de GPU voor videoverwerking. Tegenwoordig worden ze hardwareversnellers genoemd. Het voordeel was dat wanneer de GPU werkte, de tijd van de hoofdprocessor niet werd verspild.
Er zijn enkele interessante punten. Omdat de decoder video verwerkt, is het vrij moeilijk om parameters in te stellen voor zijn prestaties of efficiëntie. Ongeacht of de video door de hardware- of softwareconversiepijplijn gaat, de gegevens veranderen lang voordat ze op uw monitor verschijnen. Als u software gebruikt, is het niet nodig om de systemen die bij het decoderen worden gebruikt, te vergelijken. Bij gebruik van hetzelfde systeem kunnen verschillende decoders echter verschillende afbeeldingen produceren of de beeldkwaliteit wijzigen. De meeste Blu-ray-schijven die op nVidia- of AMD-videokaarten worden afgespeeld, zien er hetzelfde uit als u versnelling uitschakelt in PowerDVD. In beide gevallen wordt de video verwerkt met software op de processor, wat hetzelfde resultaat oplevert.
Wanneer hardwaredecodering aan het proces wordt toegevoegd, zien de zaken er anders uit. Waarom? Moderne GPU’s hebben een speciale eenheid voor het decoderen en verwerken van videogegevens. Dit is precies de logica met een vaste functie, die eerder werd besproken. Hardwareversnelde decodering op Sandy Bridge-processors is anders ontworpen en geprogrammeerd dan op grafische kaarten van AMD en nVidia.
We moeten het duidelijk begrijpen: er zijn geen GPU-decoders voor algemeen gebruik. Er zijn geen decoders die volledig kunnen werken op DirectCompute, APP of CUDA. Het streven naar implementatie van dergelijke ondersteuning is op voorhand gedoemd. GPGPU is ontworpen om onbewerkte gegevens met een hoge mate van parallellisme te verwerken. Maar we hebben het over video, niet over onbewerkte gegevens. Om afbeeldingen te verwerken, moet je veel doen en in een opeenvolgende uitvoering. Decoders met vaste functies decoderen en verwerken video; ze doen niets anders. Het overzetten van deze functionaliteit naar meer algemene computerbronnen zou een stap terug zijn van het verplaatsen naar de processor, aangezien u in beide gevallen moet werken met softwaredecodering.
Elemental Technologies (bekend van Badaboom) is uniek in het ontwikkelen van een op CUDA gebaseerde MPEG-2-decoder. En het is niet een pure GPGPU-decoder. Delen van uw pijplijn, zoals entropiecodering, syntaxiscodering, syntaxisdecodering en entropiedecodering, moeten opeenvolgend worden uitgevoerd. Andere delen van het proces kunnen worden ontworpen om parallel te lopen, zoals bewegingsschatting, bewegingscompensatie, enz.
