WikiDer > OpenMAX
Разработчики) | Хронос Групп |
---|---|
Интернет сайт | www |
OpenMAX (Open Media Acceleration), часто сокращается как "OMX", представляет собой непатентованный и бесплатный кроссплатформенный набор C-язык программные интерфейсы. Он предоставляет абстракции для процедур, которые особенно полезны для обработки аудио, видео и неподвижных изображений.[1][2] Он предназначен для маломощных и встроенных системных устройств (в том числе смартфоны, Игровые приставки, цифровые медиаплееры, и телеприставки), которые должны эффективно обрабатывать большие объемы мультимедийных данных предсказуемыми способами, такими как видеокодеки, графические библиотеки и другие функции для видео, изображения, звука, голоса и речи.[3]
OpenMAX предоставляет три уровня интерфейсов: уровень приложений (AL), уровень интеграции (IL) и уровень разработки (DL). OpenMAX управляется некоммерческий технологии консорциум Хронос Групп.[4]
История
Первоначально анонсировано в июле 2004 г.[5] Рабочая группа OpenMAX изначально была основана членами РУКА, Motorola, Samsung, STMicroelectronics, и Инструменты Техаса. Версия 1.0 спецификации была опубликована в декабре 2005 года.[6] Последний черновик, подготовленный рабочей группой OpenMAX (1.2.0), датируется 2011 годом.[7] и ни один продукт не был заявлен как соответствующий с 2012 года.[8] Спецификация OpenMAX никогда не обновлялась для поддержки последних кодеков, таких как HEVC или VP9, что делало Android фактическим источником обновлений для стандарта OpenMAX IL.[9]
Слои
OpenMAX AL это интерфейс между мультимедийными приложениями, такими как медиаплеер, и платформой медиа структура. Это позволяет компаниям, которые разрабатывают приложения, легко переносить свои приложения на разные платформы (клиентов), поддерживающие OpenMAX AL. интерфейс прикладного программирования (API).[10]
OpenMAX IL это интерфейс между медиа-фреймворком (например, StageFright или MediaCodec API на Android, DirectShow в Windows, FFmpeg или же Либав в Linux или GStreamer для кроссплатформенности), а также набор мультимедийных компонентов (например, аудио или видео кодеки). Это позволяет компаниям, создающим платформы (например, позволяющим реализовать MP3-плеер), легко менять компоненты, такие как декодеры MP3 и эффекты эквалайзера, и покупать компоненты для своей платформы у разных поставщиков.[11]
OpenMAX DL это интерфейс между физическим оборудованием, например цифровой сигнальный процессор (DSP) чипы, Процессоры, GPUи программное обеспечение, например видео кодеки и 3D-движки. Это позволяет компаниям легко интегрировать новое оборудование, поддерживающее OpenMAX DL, без повторной оптимизации своего низкоуровневого программного обеспечения.
Уровень приложения
Разработчики) | Хронос Групп |
---|---|
Стабильный выпуск | 1.1 / 18 января 2011 г. |
Операционная система | Кроссплатформенность |
Тип | API |
Лицензия | Разные |
Интернет сайт | www |
OpenMAX AL учитывает распространенные сценарии использования мультимедийных приложений путем стандартизации набора репрезентативных объекты, а также интерфейсы на этих объектах, чтобы контролировать и настраивать их. API OpenMAX AL разделен на два профиля: Media Player и Media Player / Recorder. Платформа может быть совместима с одним или обоими этими профилями, предоставляя все функции, включенные в профиль.
Это уровень приложения, C-язык, мультимедийный API, разработанный для устройств с ограниченными ресурсами. В дизайне OpenMAX AL API особое внимание уделяется обеспечению того, чтобы API подходил для мобильные встраиваемые устройства - включая базовые мобильные телефоны, интеллектуальные «функциональные» телефоны, КПК и мобильные цифровые музыкальные плееры. Тем не менее, это не исключает его применимости к другим сложным устройствам воспроизведения и записи мультимедиа.
В дизайне OpenMAX AL API особое внимание уделяется удобству разработки приложений. Его статус открытого кроссплатформенного API позволяет разработчикам переносить один и тот же исходный код на несколько устройств с минимальными усилиями. Таким образом, OpenMAX AL обеспечивает стабильную основу для разработки приложений.
Функции
Возможности OpenMAX AL включают:
- Воспроизведение и запись видео
- Воспроизведение и запись аудио
- Захват изображения (камера) и отображение
- Управление камерой
- Радио и RDS
- Базовый MIDI воспроизведение
- Извлечение и вставка метаданных
Расширение цифрового ТВ
Спецификация расширения цифрового телевидения (DTV) для OpenMAX AL добавляет независимые от стандартов функции настройки, воспроизведения, записи и электронного телегида для мобильного телевидения в OpenMAX AL Multimedia API в качестве модульного кроссплатформенного API на языке C, не требующего лицензионных отчислений, для высокопроизводительных программ. производительность приложений, связанных с цифровым ТВ, на мобильных и встроенных устройствах. DTV Extension совместим со всеми основными стандартами мобильного ТВ (например, DVB-H, ISDB-T, T-DMB и т. Д.) И поддерживает методы широковещательной, одноадресной и многоадресной доставки для цифрового телевидения.[12][13]
Версии спецификации
- Предварительная спецификация OpenMAX AL 1.0 - предварительная версия, датированная 02 сентября 2007 года, для облегчения обратной связи от сообщества перед окончательной версией 1.0.
- OpenMAX AL 1.0 Спецификация - от 23.06.2009
- OpenMAX AL 1.0.1 Спецификация - датировано 12 марта 2010 г.
- OpenMAX AL 1.1 Спецификация - от 18 января 2011 г.[14]
Реализации
- Android 4.0 и более поздних версий предоставляет OpenMAX AL как часть своего NDK (собственный комплект для разработки).[15]
- LIM OpenMAX это реализация OpenMAX AL и OpenMAX IL с открытым исходным кодом для Linux
- Белладжио это реализация OpenMAX IL с открытым исходным кодом для Linux, поддерживаемая STMicroelectronics.[16]
- Тизония это реализация OpenMAX IL с открытым исходным кодом для Linux[17]
- GStreamer (GST) - это мультимедийный фреймворк с открытым исходным кодом, используемый несколькими приложениями. Он может использовать модули OpenMAX IL с его "gst-omx"модуль.[18]
- Только C, оптимизирован для НЕОН (Cortex A8) и SIMD (для ядер ARM11 с архитектурой ARMv6) оптимизированные библиотеки OpenMAX DL доступны по адресу [1][19]
Сравнение с OpenSL ES
OpenSL ES (Открытая звуковая библиотека для встроенных систем) - еще один API Khronos Group, который также предоставляет аудио-библиотеку для того же целевого рынка, что и OpenMAX AL, в то время как OpenMAX нацелен на полные мультимедийные услуги. Подмножества аудио OpenSL ES и OpenMAX AL имеют общую архитектуру и несколько общих функций:
- Воспроизведение и запись аудио
- Основное воспроизведение MIDI
- Извлечение метаданных
Уровень интеграции
Разработчики) | Хронос Групп |
---|---|
Стабильный выпуск | 1.1.2 / 15 сентября 2008 г. |
Предварительный выпуск | 1.2.0 / 7 ноября 2011 г. |
Операционная система | Кроссплатформенность |
Тип | API |
Лицензия | Разные |
Интернет сайт | www |
OpenMAX IL API стремится обеспечить переносимость мультимедийных компонентов на множестве платформ, используя C-язык. В OpenMAX IL компоненты представляют собой отдельные функциональные блоки. Компоненты могут быть источниками, приемниками, кодеками, фильтрами, разделителями, микшерами или любым другим оператором данных. В зависимости от реализации компонент может представлять собой часть оборудования, программный кодек, другой процессор или их комбинацию.
Интерфейс абстрагирует аппаратную и программную архитектуру системы. OpenMAX IL API позволяет пользователю загружать, контролировать, подключать и выгружать отдельные компоненты. Эта гибкая базовая архитектура позволяет уровню интеграции легко реализовать практически любой вариант использования мультимедиа и объединить его с существующими средами мультимедиа на основе графов. Основное внимание OpenMAX IL API уделяется переносимости мультимедийных компонентов.
В дизайне OpenMAX IL API особое внимание уделяется гибкости сценариев использования и оптимизации передачи данных между компонентами.
OpenMAX IL API был выбран в качестве основы для API для интеграции аудио и видео кодеков на Android, в результате чего большинство поставщиков SoC поставляют минимальную реализацию, которая поддерживает только подмножество, требуемое Android. Приложения не используют эти компоненты OpenMAX IL напрямую, а только через Android MediaCodec API. Подмножество Android OpenMAX IL с его расширениями теперь является стандартом де-факто.
В 2011 году была выпущена предварительная версия 1.2.0.[20]
Доступны реализации OpenMAX IL с открытым исходным кодом,
- Белладжио, поддерживается STMicroelectronics.
- LIM OpenMAX, реализация, которая имеет как AL, так и IL.
- Android StageFright, частичная реализация IL, которая является стандартом де-факто.
Уровень развития
Разработчики) | Хронос Групп |
---|---|
Стабильный выпуск | 1.0.2 / 21 декабря 2007 г. |
Операционная система | Кроссплатформенность |
Тип | API |
Лицензия | Разные |
Интернет сайт | www |
OpenMAX DL API определяет набор низкоуровневых мультимедийных ядер или стандартных блоков обработки мультимедиа. Строительные блоки могут использоваться для ускорения традиционных вычислительных узлов в стандартизированных средах. кодеки и другие интегрированные механизмы обработки мультимедиа. Функциональный объем интерфейса OpenMAX DL охватывает несколько областей, включая обработка сигналов и обработка изображений, кодирование звука, кодирование изображений, и кодирование видео.
OpenMAX DL разделен на пять доменов приложений:
- AC - Аудиокодеки (компоненты декодера MP3 и декодера AAC)
- IC - Кодеки изображений (компоненты JPEG)
- IP - обработка изображений (общие функции обработки изображений)
- SP - Signal Processing (общие функции обработки звука)
- VC - видеокодеки (компоненты H.264 и MP4)
OpenMAX DL среди других компаний openmax_armlibraries реализовано ARM и ANSI C образец кода можно скачать с их веб-страницы.
OpenMAX API поддерживается PlayStation 3 консоль.
Рабочая группа
Рабочая группа OpenMAX была основана в рамках родственного проекта. OpenVG 6 июля 2004 г. Повышение в члены в 2008 г. AMD, яблоко, РУКА, творческий, Dell Inc, Ericsson, Freescale, Imagination Technologies Group plc, Intel, IBM, Motorola, Nokia, Корпорация Nvidia, Самсунг Электроникс Ко. Лтд., СК Телеком, Sony Computer Entertainment Inc. и Инструменты Техаса.
Смотрите также
- Video Acceleration API (VA API)
- VDPAU (API декодирования и представления видео для Unix)
- X-Video Bitstream Acceleration (XvBA)
- Компенсация движения X-Video (XvMC)
- DirectX Video Acceleration (DxVA) API - Майкрософт Виндоус аналог
- Распределенный движок кодеков (libdce) это Инструменты Техаса API для движка видеокодеков в OMAP на базе встроенных систем
- VideoToolbox это API от Apple Inc. для декодирования с аппаратным ускорением на Apple TV и Mac OS X.[21]
- OpenVideo Decode (OVD) - новый открытый кроссплатформенный API ускорения видео от AMD.[22]
- Nvidia PureVideo - в технология битового потока из NVIDIA используются в своих графических чипах для ускорения декодирования видео на оборудовании GPU.
- UVD (унифицированный видеодекодер) - в технология битового потока из ATI Technologies используется в своих графических чипах для ускорения декодирования видео на оборудовании GPU.
Рекомендации
- ^ http://www.cnx-software.com/2011/11/11/openmax-open-media-acceleration/ OpenMAX (Open Media Acceleration)
- ^ https://events.linuxfoundation.org/images/stories/pdf/lceu2012_debski.pdf В архиве 2014-01-06 в Wayback Machine Video4Linux2 - путь к стандартизированному API видеокодеков
- ^ http://jan.newmarch.name/LinuxSound/Sampled/OpenMAX/ В архиве 2016-03-12 в Wayback Machine Содержание полной книги "Звук Linux" - Глава 13: OpenMAX / OpenSL
- ^ http://www.khronos.org/openmax/ OpenMAX - стандарт переносимости медиабиблиотек (от Khronos Group)
- ^ https://www.khronos.org/news/press/khronos-group-announces-new-openmax-open-standard-for-enables-effective-me
- ^ https://www.khronos.org/files/openmax_il_spec_1_0.pdf
- ^ https://www.khronos.org/registry/OpenMAX-IL/
- ^ https://www.khronos.org/conformance/adopters/conformant-products#openmaxil
- ^ https://android.googlesource.com/platform/frameworks/native/+/nougat-mr2.1-release/include/media/openmax/OMX_VideoExt.h
- ^ http://elinux.org/images/e/e0/The_OpenMAX_Integration_Layer_standard.pdf Стандарт уровня интеграции OpenMAX
- ^ http://elinux.org/images/5/52/Elc2011_garcia.pdf Интеграция аппаратного видеокодека в Android Stagefright с использованием OpenMAX IL
- ^ http://www.khronos.org/openmax/al/dtv/ OpenMAX AL - расширение цифрового телевидения (DTV)
- ^ https://www.khronos.org/news/press/khronos-group-releases-provisional-openmax-al-digital-tv-extension-specific Khronos Group выпускает предварительную спецификацию расширения цифрового ТВ OpenMAX AL
- ^ Khronos Group выпускает спецификацию OpenMAX AL для обработки видео, аудио и изображений на уровне приложений на мобильных и портативных устройствах В архиве 2011-03-17 на Wayback Machine, Пресс-релиз Хроноса
- ^ https://developer.android.com/about/versions/android-4.0-highlights.html
- ^ http://elinux.org/images/e/e0/The_OpenMAX_Integration_Layer_standard.pdf Стандарт уровня интеграции OpenMAX
- ^ http://www.juanrubio.me/2013/01/announcing-tizonia-openmax-il/ Анонс Tizonia OpenMAX IL
- ^ http://gstreamer.freedesktop.org/releases/gst-omx/1.0.0.html
- ^ http://www.cnx-software.com/2011/11/11/openmax-open-media-acceleration/#ixzz2mVjgXE49 OpenMAX (Open Media Acceleration)
- ^ https://www.khronos.org/registry/OpenMAX-IL/specs/OpenMAX_IL_1_2_0_Specification.pdf
- ^ «VideoToolbox - документация для разработчиков Apple». developer.apple.com. Получено 2018-08-05.
- ^ «Архивная копия» (PDF). Архивировано из оригинал (PDF) на 2011-04-09. Получено 2012-01-16.CS1 maint: заархивированная копия как заголовок (связь) OpenVideo Decode (OVD) API
внешняя ссылка
- Khronos Group - Обзор OpenMAX и спецификации API
- Khronos Group - публичный реестр API
- Khronos Group - Спецификация OpenMAX AL 1.1
- Khronos Group - Спецификация OpenMAX IL 1.1.2
- Khronos Group - Спецификация OpenMAX DL 1.0.2
- ARM - Бесплатная библиотека OpenMAX
- Mentor Graphics - Nucleus MMF использует OpenMAX IL
- Mentor Graphics - пресс-релиз, Mentor достигает первого в отрасли соответствия OpenMAX для мультимедийной платформы Nuclues OS