Openmax

OpenMAX ( Open Media Acceleration ) je bezplatné multiplatformní API , které poskytuje sadu nástrojů pro zrychlení přehrávání streamovaného videa a práci s různými multimediálními systémy, které jsou navrženy pro použití bez ohledu na OS nebo hardwarovou platformu. OpenMAX umožňuje procesorům rychle a efektivně pracovat s kodeky a knihovnami pro zpracování médií, čímž se uvolní jejich plný potenciál bez ohledu na základní hardwarovou architekturu.

Vývojové pozadí

Vývoj multimediálních platforem nabírá na obrátkách a podle toho rostou požadavky uživatelů na funkčnost aplikací pracujících s videem, zvukem, hlasem a 3D na mobilních platformách, jako jsou chytré telefony, audio a video přehrávače nebo herní konzole. V dnešní době vyžadují mobilní platformy větší výpočetní výkon a šířku pásma paměti. Existuje mnoho řešení navržených pro urychlení multimediálních aplikací, například:

Klíčovým problémem všech těchto hardwarových řešení je vytvoření efektivního softwarového kódu. I při použití moderních kompilátorů je zřídka možné uvolnit plný potenciál architektury procesoru pomocí programovacích jazyků na vysoké úrovni. V důsledku toho je mnoho programů napsáno v jazyce assembler a jsou navrženy pro použití pouze na konkrétní hardwarové platformě. S příchodem nového hardwaru je nutné tyto aplikace přepsat a optimalizovat pro novou platformu. To značně zpožďuje uvádění nových produktů na trh, zvyšuje náklady na vývoj a zhoršuje kvalitu finálního produktu, přičemž poptávka na trhu neustále roste.

Vývoj otevřeného standardu

Pro vyřešení tohoto problému byla skupina OpenMAX vytvořena společností Khronos . Jejich posláním bylo definovat sadu standardů a otevřených aplikačních programovacích rozhraní ( API ) pro multimediální aplikace. Cílem tohoto standardu je snížit náklady a složitost portování multimediálního softwaru na nové procesory a architektury.

Použitím této specifikace pro middlewarové aplikace, jako jsou multimediální kodeky, grafické knihovny a další nástroje pro zpracování zvuku a obrazu, se vývojáři mohou zaměřit na sdílení svých produktů, spíše než na pouhé opakování běžných funkcí. To zajišťuje, že se nové produkty dostanou na trh dříve a budou podporovat širokou škálu hardwarových platforem.

Architektura OpenMAX zahrnuje tři vrstvy: AL, IL a DL.

OpenMAX AL (Application Layer)

OpenMAX AL
Typ API
Vývojář Khronos Group Inc.
Operační systém multiplatformní
Nejnovější verze 1.1 (18. ledna 2011)
webová stránka khronos.org/openmax

OpenMAX AL (Application Layer) poskytuje přenositelnost aplikací napříč operačními systémy a hardwarovými platformami prostřednictvím komplexního API, které poskytuje přístup k audiovizuálním funkcím na vysoké úrovni abstrakce.

OpenMAX AL zejména umožňuje vytvářet a spravovat objekty pro přehrávání a nahrávání a spojovat je s konfigurovatelnými vstupními a výstupními objekty. Mezi I/O objekty patří čtečky a zapisovače, sluchátka, reproduktory, mikrofony, okna obrazovky, kamery, touchpady, rádia, LED diody a mnoho dalších zařízení. Je důležité, aby se pracovalo jak v systémech s hardwarovými akcelerátory, tak na čistě softwarových implementacích.

Na vývoji OpenMAX AL se podíleli odborníci v oblasti fotografie, nahrávání a přehrávání zvuku a videa. Mezi vývojáře OpenMAX AL 1.1 patří AMD , Creative , Ericsson , Google , Nokia , NVIDIA , Qualcomm a SRS .

OpenMAX IL (Integration Layer)

OpenMAX IL
Typ API
Vývojář Khronos Group Inc.
Operační systém multiplatformní
Nejnovější verze 1.1.2 (15. září 2008)
webová stránka khronos.org/openmax

OpenMAX IL slouží jako nízkoúrovňové rozhraní pro audio a video kodeky používané v mobilních zařízeních. To umožňuje aplikacím a mediálním rámcům přímo interagovat s kodeky a podporovat jejich komponenty. Samotné kodeky mohou být libovolnou kombinací hardwaru a softwaru a jsou pro uživatele zcela neviditelné. Bez standardizovaného rozhraní tohoto druhu musí výrobci kodeků napsat svá vlastní nebo proprietární rozhraní pro integraci do mobilních zařízení. Hlavním cílem IL je učinit kodeky přenosnými a kompatibilními s jakýmkoli mediálním systémem.

Verze 1.2

14. února 2012 společnost Kronos Group oznámila verzi 1.2. Byla zveřejněna předběžná specifikace. [1] .

OpenMAX DL (vývojová vrstva)

OpenMAX DL
Typ API
Vývojář Khronos Group Inc.
Operační systém multiplatformní
Nejnovější verze 1.0.2 (21. prosince 2007)
webová stránka khronos.org/openmax

OpenMAX DL je API, které obsahuje kompletní sadu funkcí pro práci se zvukem, videem a obrázky, které lze implementovat a optimalizovat na nových procesorech a následně je používat výrobci kodeků. Zahrnuje funkce zpracování audio signálu, jako jsou FFT filtry, primitiva zpracování obrazu, jako je konverze barev, a primitiva zpracování videa pro implementaci a optimalizaci kodeků, jako jsou MPEG-4, H.264, MP3, AAC a JPEG. OpenMAX také podporuje paralelní akceleraci, a to jak prostřednictvím iDL, které používá konstrukce OpenMAX IL, tak prostřednictvím aDL, které přidává asynchronní rozhraní do API OpenMAX DL.

OpenMAX Development Group

OpenMAX Development Group byla vytvořena společně se skupinou OpenVG  dne 6. července 2004. Sponzoři projektu (2008-01-17) jsou AMD , Apple , ARM , Creative , Dell Inc , Ericsson , Freescale , Imagination Technologies Group Plc, Intel , IBM , Motorola , Nokia , NVIDIA Corporation , Samsung Electronics Co Ltd , SK Telecom , Sony Computer Entertainment Inc , Sun Microsystems Inc a Texas Instruments .

OpenMAX na Androidu

Android NDK r7 (listopad 2011) přidal dvě nová rozhraní API:

  • OpenMAX AL 1.0.1 umožňuje aplikacím vydávat média přímo ze zdroje pomocí rozhraní vyrovnávací paměti fronty Android. Knihovny jsou umístěny v adresářích <OMXAL/OpenMAXAL.h> a <OMXAL/OpenMAXAL_Android.h>.
  • OpenSL ES 1.0.1 umožňuje dekódovat komprimovaný zvuk (MP3, AAC, Vorbis) do PCM.

Viz také

Poznámky

  1. Údržba . Získáno 14. 5. 2012. Archivováno z originálu 16. 5. 2012.

Odkazy