Åbenmax

OpenMAX ( Open Media Acceleration ) er en gratis cross-platform API , der giver et sæt værktøjer til at accelerere streaming af videoafspilning og arbejde med forskellige multimediesystemer, designet til at blive brugt uanset OS eller hardwareplatform. OpenMAX gør det muligt for processorer at arbejde hurtigt og effektivt med codecs og mediebehandlingsbiblioteker og frigøre deres fulde potentiale, uanset den underliggende hardwarearkitektur.

Udviklingsbaggrund

Udviklingen af ​​multimedieplatforme tager fart, og derfor vokser brugernes krav til funktionaliteten af ​​applikationer, der arbejder med video, lyd, stemme og 3D på mobile platforme, såsom smartphones, lyd- og videoafspillere eller spillekonsoller. I disse dage kræver mobile platforme mere processorkraft og hukommelsesbåndbredde. Der er mange løsninger designet til at fremskynde multimedieapplikationer, såsom:

Nøgleproblemet ved alle disse hardwareløsninger er skabelsen af ​​effektiv softwarekode. Selv ved brug af moderne compilere er det sjældent muligt at frigøre det fulde potentiale af processorarkitekturen ved hjælp af programmeringssprog på højt niveau. Som et resultat er mange programmer skrevet i assembler -sproget , og de er designet til kun at blive brugt på en bestemt hardwareplatform. Med fremkomsten af ​​ny hardware skal disse applikationer omskrives og optimeres til den nye platform. Dette forsinker i høj grad frigivelsen af ​​nye produkter, øger udviklingsomkostningerne og forringer kvaliteten af ​​det endelige produkt, mens efterspørgslen på markedet konstant vokser.

Udvikling af en åben standard

For at løse dette problem blev OpenMAX-gruppen dannet af Khronos . Deres mission var at definere et sæt standarder og åbne applikationsprogrammeringsgrænseflader ( API'er ) til multimedieapplikationer. Målet med denne standard er at reducere omkostningerne og kompleksiteten ved at overføre multimediesoftware til nye processorer og arkitekturer.

Ved at bruge denne specifikation til middleware -applikationer såsom multimedie-codecs, grafikbiblioteker og andre lyd- og billedbehandlingsværktøjer, kan udviklere fokusere på at dele deres produkter i stedet for blot at gentage fælles funktionalitet. Dette sikrer, at nye produkter når markedet hurtigere og understøtter en lang række hardwareplatforme.

OpenMAX-arkitekturen omfatter tre lag: AL, IL og DL.

OpenMAX AL (Application Layer)

OpenMAX AL
Type API
Udvikler Khronos Group Inc.
Operativ system på tværs af platforme
nyeste version 1.1 (18. januar 2011)
Internet side khronos.org/openmax

OpenMAX AL (Application Layer) giver applikationsoverførsel på tværs af operativsystemer og hardwareplatforme gennem en omfattende API, der giver adgang til audiovisuel funktionalitet på et højt abstraktionsniveau.

Især gør OpenMAX AL det muligt at oprette og administrere objekter til afspilning og optagelse og at knytte dem til konfigurerbare input- og output-objekter. I/O-objekter omfatter læsere og skrivere, hovedtelefoner, højttalere, mikrofoner, skærmvinduer, kameraer, touchpads, radioer, LED'er og mange andre enheder. Det er vigtigt, at der arbejdes både i systemer med hardwareacceleratorer og på rene softwareimplementeringer.

Eksperter inden for fotografering, optagelse og afspilning af lyd og video deltog i udviklingen af ​​OpenMAX AL. OpenMAX AL 1.1 udviklere omfatter AMD , Creative , Ericsson , Google , Nokia , NVIDIA , Qualcomm og SRS .

OpenMAX IL (Integration Layer)

OpenMAX IL
Type API
Udvikler Khronos Group Inc.
Operativ system på tværs af platforme
nyeste version 1.1.2 (15. september 2008)
Internet side khronos.org/openmax

OpenMAX IL fungerer som en lav-niveau grænseflade til lyd- og video-codecs, der bruges i mobile enheder. Dette giver applikationer og medieframeworks mulighed for at interagere direkte med codecs og understøtte deres komponenter. Selve codecs kan være enhver kombination af hardware og software og er fuldstændig usynlige for brugeren. Uden en standardiseret grænseflade af denne art skal codec-producenter skrive deres egne eller proprietære grænseflader til integration i mobile enheder. Hovedmålet med IL er at gøre codecs bærbare og kompatible med ethvert mediesystem.

Version 1.2

Den 14. februar 2012 annoncerede Kronos Group version 1.2. Den foreløbige specifikation er blevet frigivet. [1] .

OpenMAX DL (udviklingslag)

OpenMAX DL
Type API
Udvikler Khronos Group Inc.
Operativ system på tværs af platforme
nyeste version 1.0.2 (21. december 2007)
Internet side khronos.org/openmax

OpenMAX DL er en API, der indeholder et komplet sæt funktioner til at arbejde med lyd, video og billeder, som kan implementeres og optimeres på nye processorer og derefter bruges af codec-producenter. Det omfatter lydsignalbehandlingsfunktioner såsom FFT-filtre, billedbehandlingsprimitiver såsom farvekonvertering og videobehandlingsprimitiver til implementering og optimering af codecs såsom MPEG-4, H.264, MP3, AAC og JPEG. OpenMAX understøtter også parallel acceleration, både gennem iDL, som bruger OpenMAX IL-konstruktionerne, og gennem aDL, som tilføjer asynkrone grænseflader til OpenMAX DL API.

OpenMAX Development Group

OpenMAX Development Group blev oprettet sammen med OpenVG- gruppen  den 6. juli 2004. Projektsponsorer (2008-01-17) er 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 og Texas Instruments .

OpenMAX på Android

Android NDK r7 (november 2011) tilføjede to nye API'er:

  • OpenMAX AL 1.0.1 tillader applikationer at udsende medier direkte fra kilden ved hjælp af Android købuffergrænsefladen. Bibliotekerne er placeret i mapperne <OMXAL/OpenMAXAL.h> og <OMXAL/OpenMAXAL_Android.h>.
  • OpenSL ES 1.0.1 giver dig mulighed for at afkode komprimeret lyd (MP3, AAC, Vorbis) til PCM.

Se også

Noter

  1. Vedligeholdelse . Hentet 14. maj 2012. Arkiveret fra originalen 16. maj 2012.

Links