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.
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.
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 | |
---|---|
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 | |
---|---|
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.2Den 14. februar 2012 annoncerede Kronos Group version 1.2. Den foreløbige specifikation er blevet frigivet. [1] .
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 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 .
Android NDK r7 (november 2011) tilføjede to nye API'er:
Khronos-gruppens standarder | |
---|---|
Aktiv | |
Inaktiv |