OpenMAX

OpenMAX

OpenMAX (Open Media Acceleration) — бесплатный кросс-платформенный API, который предоставляет набор средств для ускорения воспроизведения потокового видео и работы с различными мультимедийными системами, разработанный для использования независимо от ОС или аппаратной платформы. OpenMAX позволяет процессорам быстро и эффективно работать с кодеками и библиотеками обработки мультимедиа, раскрывая весь их потенциал, независимо от базовой аппаратной архитектуры.

Содержание

Предпосылки к разработке

Развитие мультимедийных платформ набирает обороты, а соответственно растут и требования пользователей к функциональности приложений работающих с видео, аудио, голосом и 3D на мобильных платформах, таких как смартфоны, аудио и видео плееры или игровые консоли. В наши дни для мобильных платформ требуется увеличение вычислительной мощности и пропускной способности памяти. Есть множество решений, предназначенных для ускорения мультимедийных приложений, например:

  • Процессоры общего назначения со специфическими мультимедийными расширениями
  • Низкоуровневые аппаратные ускорители,
  • Многопроцессорные архитектуры, включающие DSP (Digital signal processor)
  • Выделенныe аппаратные видео декодеры

Ключевой проблемой всех этих аппаратных решений является создание эффективного программного кода. Даже используя современные компиляторы редко удается раскрыть весь потенциал процессорной архитектуры используя высокоуровневые программные языки. В результате многие программы пишут на языке assembler, и они предназначены для использование только на конкретной аппаратной платформе. С появлением нового оборудования данные приложения должны быть переписаны и оптимизированы под новую платформу. Это сильно задерживает выход новых продуктов, увеличивает затраты на разработку, и ухудшает качество конечного продукта, в то время как спрос на рынке постоянно растет.

Разработка открытого стандарта

Чтобы решить эту проблему, компанией Khronos была сформирована группа OpenMAX. Их задачей было определение набора стандартов и открытых интерфейсов прикладного программирования (API) для мультимедийных приложений. Целью этого стандарта является снижение стоимости и сложности портирования мультимедийного программного обеспечения для новых процессоров и архитектур.

Используя данную спецификацию для промежуточных (middleware) приложений, таких как мультимедийные кодеки, графические библиотеки и другие инструменты обработки видео, изображений, аудио, голоса и речи, разработчики смогут сосредоточиться на дифференциации своих продуктов, а не просто повторять общую функциональность. Это гарантирует то, что новые продукты появятся на рынке раньше, и будут поддерживать широкий спектр аппаратных платформ.

Архитектура OpenMAX включает в себя три слоя: AL, IL и DL.

OpenMAX AL (Application Layer)

OpenMAX AL
Тип

API

Разработчик

Khronos Group, Inc.

Операционная система

Cross-platform

Последняя версия

1.1 (18 Января 2011)

Сайт

Khronos Group, Inc.

OpenMAX AL (Application Layer) обеспечивает переносимость приложений между операционными системами и аппаратными платформами за счет исчерпывающего API, представляющего на высоком уровне абстракции доступ к функциональности, связанной с аудиовизуальными средствами.

В частности, OpenMAX AL дает возможность создавать объекты для воспроизведения и записи и управлять ими, связывать их с конфигурируемыми объектами ввода и вывода. Объекты ввода-вывода включают устройства для чтения и записи, наушники, громкоговорители, микрофоны, окна на экране, камеры, сенсорные панели, радио, светодиоды и многие другие устройства. Важно, что предусмотрена работа как в системах с аппаратными ускорителями, так и на чисто программных реализациях.

В разработке OpenMAX AL приняли участие эксперты в области фотографии, записи и воспроизведения звука и видео. В числе разработчиков OpenMAX AL 1.1 фигурируют компании AMD, Creative, Ericsson, Google, Nokia, NVIDIA, Qualcomm и SRS.

OpenMAX IL (Integration Layer)

OpenMAX IL
Тип

API

Разработчик

Khronos Group, Inc.

Операционная система

Cross-platform

Последняя версия

1.1.2 (Сентябрь 15, 2008)

Сайт

Khronos Group, Inc.

OpenMAX IL служит низкоуровневым интерфейсом для аудио и видео кодеков, используемых в мобильных устройствах. Это дает возможность приложениям и медиаструктурам напрямую взаимодействовать с кодеками и поддерживать их компоненты. Кодеки сами по себе могут быть любой комбинацией аппаратного и программного обеспечения и являются полностью невидимыми для пользователя. Без стандартизированного интерфейса такого рода, производители кодеков должны писать собственные или закрытые интерфейсы для интеграции в мобильные устройства. Основная цель IL — сделать кодеки переносимыми и совместимыми с любой медиасистемой.

Версия 1.2

14 февраля, 2012 года, Kronos Group анонсировала версию 1.2. Была обнародована предварительная спецификация.[1].

OpenMAX DL (Development Layer)

OpenMAX DL
Тип

API

Разработчик

Khronos Group, Inc.

Операционная система

Cross-platform

Последняя версия

1.0.2 (Декабрь 21, 2007)

Сайт

Khronos Group, Inc.

OpenMAX DL это API, который содержит полный набор функций для работы с аудио, видео и изображениями, которые могут быть реализованы и оптимизированы на новых процессорах, а затем использоваться производителями кодеков. Он включает в себя функции обработки аудио сигналов, такие как FFT фильтры, примитивы обработки изображений, такие как преобразование цвета, и примитивы обработки видео для реализации и оптимизации таких кодеков, как MPEG-4, H.264, MP3, AAC и JPEG. OpenMAX также поддерживает параллельное ускорение, как через iDL, который использует конструкции OpenMAX IL, так и через aDL, который добавляет асинхронные интерфейсы в OpenMAX DL API.

Группа разработчиков OpenMAX

Группа разработчиков OpenMAX была создана вместе с группой OpenVG — 6 июля 2004 года. Спонсорами проекта (2008-01-17) являются 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 и Texas Instruments.

OpenMAX в Android

В Android NDK r7 (Ноябрь 2011) было добавлено два новых API:

  • OpenMAX AL 1.0.1 позволяет приложениям производить вывод мультимедиа непосредственно с исходного кода, используя буфер очереди Android интерфейса. Библиотеки находятся в директориях <OMXAL/OpenMAXAL.h> и <OMXAL/OpenMAXAL_Android.h>.
  • OpenSL ES 1.0.1 позволяет декодировать сжатое аудио (MP3, AAC, Vorbis) в PCM.

См. также

Примечания

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "OpenMAX" в других словарях:

  • OpenMAX — (Open Media Acceleration) is a royalty free, cross platform set of C language programming interfaces that provides abstractions for routines especially useful for audio, video, and still images. It s intended for devices that process large… …   Wikipedia

  • OpenMAX — est une Interface de programmation ouverte et libre de droit qui fournit un accès aux codecs multimédias. La bibliothèque est spécifiée par le Khronos Group. Elle fait partie de la plateforme OpenKODE. Voir aussi Khronos Group Liens Externes Site …   Wikipédia en Français

  • XBMC — Media Center XBMC Media Center Home Screen Developer(s) …   Wikipedia

  • OpenSL ES — Developer(s) Khronos Group, Inc. Stable release 1.1 / 18 January 2011 …   Wikipedia

  • Khronos Group — Тип организации …   Википедия

  • OpenKODE — Developer(s) Khronos Group, Inc. Stable release 1.0.3 / 2009 05 20 …   Wikipedia

  • Khronos Group — Le groupe Khronos est un consortium industriel fondé en 2000, et dont le but est de créer des API dont les spécifications sont rendues publiques et sont utilisables gratuitement, pour « créer et exécuter des applications multimédia sur un… …   Wikipédia en Français

  • Сравнение языков программирования — Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей.  Условные обозначения  …   Википедия

  • OpenKODE — Логотип OpenKODE OpenKODE открытый стандарт API, разработанный Khronos Group в 2008 году. OpenKODE описывает программную платформу мобильного устройства для различных мультимедиа приложе …   Википедия

  • OpenKODE — es un conjunto de APIs nativos para los juegos en dispositivos de mano y las aplicaciones de medios que proporcionan una capa de abstracción entre plataformas para otras tecnologías de medios tales como OpenGL ES, OpenVG, OpenMAX AL y OpenSL ES.… …   Wikipedia Español


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»