Инструкции по Atom профиля
Это приложение представляет и определяет некоторые пути, что информация профиля о файле фильма в формате QuickTime может быть получена в итоге в атоме профиля около начала файла, так, чтобы программное обеспечение, читая файл могло легко определить некоторые аспекты своих функций и сложности.
Информация в этом приложении не должна быть замечена как замена для, или даже функциональное перекрытие с, определение атома типа файла. Экспрессы атома типа файла, с которыми спецификации файл совместимы: чтение программного обеспечения не должно пытаться играть файлы, если они не совместимы с одной или более спецификациями реализации читателя и не должны отказываться играть файл, если это отмечено как настолько совместимое. Однако чтение программного обеспечения может использовать профильную информацию, чтобы выпустить предупреждения, запросить пользовательские решения, и т.д.
Программное обеспечение Reading не должно представлять чрезмерные предупреждения пользователю в отсутствие итоговых функций. Кроме того, читатели призваны попытаться играть содержание даже при том, что решающая информация о профиле отсутствует или неполная.
Профили могут существовать на уровне фильма или уровне дорожки. Профили уровня дорожки суммируют функции той дорожки только. Профили уровня фильма могут суммировать функции через дорожки или суммировать функции, которые только релевантны на уровне фильма (например, максимальная скорость передачи фильма).
Если фильм содержит динамические переменные, которые могли бы влиять на функцию, такую как присутствие альтернативных дорожек, которые будут влиять на скорость передачи фильма, затронутая функция должна или отсутствовать или сообщить о худшем случае (например, самой высокой скорости передачи).
Если значение функции не может быть точно представлено (например, значение не является целым числом, но поле отформатировано как целое число), тогда, значение должно быть окружено к самому близкому представимому значению.
Об этом приложении
Техническое содержание этого приложения начинается с обсуждения структуры атома профиля, содержащего массив идентификационных кодов и значений. Затем перечисление в настоящее время включаемых функций профиля, каждый описанный в разделе описания функции.
Ответственность, помещенная в писателя фильма (такая как QuickTime или устройство бытовой электроники (CE)), описана в разделе Writer Responsibilities функции. Предоставлено описание алгоритма, который будет использоваться для вычисления значений.
Раздел Reader Responsibilities функции объясняет, как чтение программного обеспечения должно интерпретировать значение. В некоторых случаях существуют предупреждения указать, как читатель не должен использовать значение (например, не интерпретируя максимальное значение скорости передачи как текущую скорость передачи).
Спецификация Atom профиля
Определение
- Тип Atom
'prfl'- Контейнер
Атом фильма (
'moov') или атом дорожки ('trak')- Обязательный
Нет
- Количество
Нуль или один
На уровне фильма атом профиля должен произойти в атоме фильма перед атомом заголовка фильма. Читатель может остановить поиск атома профиля один раз атом профиля, или атом заголовка фильма найден. Поскольку новые атомы могут быть введены в атом фильма (тип 'moov') в будущем читатель не должен ожидать, что первый дочерний атом атома фильма будет любой профилем (тип 'prfl') или заголовок фильма ('mvhd') атом. Это правило допускает новые атомы в будущем, но все еще размещает читателей, не хотящих выполнять исчерпывающее перечисление всех дочерних атомов в атоме фильма.
Явно выраженные профили атома профиля или идентификационные коды для функций, происходящих в фильме. Список является не обязательно исчерпывающим, и могут быть многократные значения профиля, зарегистрированные для того же кода профиля. Например, если существует две независимых последовательности видео MPEG 4 в фильме, с помощью различного уровня профиля IDs, оба могли бы быть зарегистрированы здесь.
Каждая функция или универсальна или документируется в определенную спецификацию, идентифицированную брендом, как используется в атоме типа файла. Единственные бренды, которые должны произойти в данном атоме профиля, являются универсальным брендом или брендами, происходящими в атоме типа файла в том же файле.
Диапазоны значений функции никогда не должны в целом включать неизвестную точку; если значение функции неизвестно, функция должна отсутствовать в атоме профиля.
Значения функции должны быть выводимыми довольно простой проверкой остальной части фильма: например, извлекая уровень профиля ID из видео заголовка или вычисления с помощью информации от демонстрационной таблицы (например, полная средняя скорость передачи данных путем подведения итогов объемов выборки и демонстрационных продолжительностей). Не является надлежащим иметь функции, которые не могут быть вычислены, или только вычислены с трудностью (например, буферная оценка модели, требующая эмуляции видеодекодера на всем потоке битов). Алгоритм, чтобы извлечь или вывести значение функции из остальной части файла должен быть определен.
Пустые слоты в структуре атома профиля должны быть заполнены, обнуляет.
Если существуют многократные части файла, к которому та же функция применяются, все же у них есть различные значения функции, то или должны быть записи для каждого возникновения или ни одного вообще. Например, если существует два MPEG 4 визуальные последовательности, с помощью различных визуальных профилей, существует любой две записи профиля в таблице профиля (один для каждой последовательности) или ни один вообще. Функции не должны быть частично задокументированы.
Атомы профиля могут также произойти на уровне дорожки. Атом профиля уровня дорожки должен произойти в атоме дорожки перед атомом заголовка дорожки ('tkhd'). Если или профиль или атом заголовка дорожки найдены, игнорируя какое-либо другое настоящее атомов, читатель должен прекратить искать атом профиля дорожки.
Атом профиля дорожки должен только суммировать функции в той дорожке. Если атомы профиля дорожки существуют, атом профиля фильма может быть создан в основном путем копирования записей функции с атома профиля дорожек фильма к атому профиля на уровне фильма. Возможно иметь многократные профили дорожки с различными значениями, которые должны быть разрешены к единственному значению для фильма, столь же целого, однако — такого как многократные видеотреки с различными максимальными скоростями передачи — так не, все функции могут быть скопированы непосредственно от дорожки до профиля фильма. Кроме того, профиль фильма может суммировать функции, которые не могут произойти на уровне дорожки, таком как общая скорость передачи фильма.
При создании профиля фильма необходимо включать или все экземпляры функции уровня дорожки или никакие экземпляры той функции. Например, если у Вас есть многократные видеотреки, использующие различные кодеки, необходимо или включать запись в уровень фильма для каждого кодека или не поместить записи функции кодека в уровень фильма вообще.
Рисунок f-1 показывает расположение атома профиля.

Синтаксис
aligned(8) class ProfileAtom |
extends FullAtom('prfl') { |
unsigned int(32) feature-record-count; |
for (i=1; i<feature-record-count; i++) { |
unsigned int(32) reserved = 0; |
unsigned int(32) part-ID; |
unsigned int(32) feature-code; |
unsigned int(32) feature-value |
} |
} |
Семантика
reserved32-разрядное поле, которое должно быть обнулено.
part-IDИли идентификатор бренда, происходящий в атоме типа файла того же файла, указывая функцию, которая является определенной для этого бренда или значения 0x20202020 (четыре пробелов ASCII) указание универсальной функции, которая может быть найдена в любом типе файла, позволяющем атом профиля. Значение 0 резервируется для пустого слота.
feature-codeЧетыре кода символа любой задокументированный здесь (универсальные функции), или в спецификации идентифицируется брендом. Значение 0 резервируется для пустого слота без значимого
feature-value.feature-valueИли значение от перечислимого набора (например, 1 или 0 для истины или лжи или уровня профиля ID MPEG 4) или значение, могущее сравненный (например, скорость передачи как целое число или размерности как 32-разрядная упакованная структура).
Атом профиля является полным атомом, таким образом, он имеет 8-разрядную версию и 24 бита флагов. Для этой спецификации версия 0, и флаги имеют значение 0. Читатель, совместимый с этой спецификацией, должен обработать любой атом профиля с ненулевым значением версии, как будто это не существовало.
Рисунок f-2 показывает расположение типичной функции.

Универсальные функции
Функция состоит из четырех полей: обнуляющееся зарезервированное поле; ID части, указывающий, которому принадлежит бренд функция; идентификационный код, идентифицирующий функцию; и поле значения, содержащее значение функции).
ID части может быть или универсальным или специфичным для бренда. Универсальные функции имеют ID части четырех пробелов ASCII (0x20202020). Специфичные для бренда функции имеют ID части для определенного бренда, взятого от поля Compatible_brands атома типа файла. Специфичные для бренда функции файлов QuickTime имеют ID части 'qt '. Все функции, перечисленные в этом разделе, являются универсальными функциями; т.е. они могут использоваться в любом файле, включающем атом профиля.
Допустимо использовать идентификационный код 0x00000000 как заполнитель, соединенный со значением функции 0x00000000 для одной или более функций. Читатели должны просто проигнорировать функции, имеющие идентификационный код нуля.
Никакая функция не будет существовать для описания модуля других функций, таких как скорость передачи. Устройство должно рассмотреть величину и адаптировать ее дисплей соответственно.
Эта спецификация описывает только, как функции сохранены в файлах. Это не требует, чтобы о значениях функций сообщили (например, в пользовательском интерфейсе) таким же образом, поскольку они сохранены или требуют, чтобы о них сообщили вообще.
Таблица функций
Таблица f-1 перечисляет универсальные функции, описанные в этом приложении.
Бренд |
Код |
Описание |
Родитель профиля |
|---|---|---|---|
0x20202020 |
mvbr |
Фильм или видеотрек |
|
0x20202020 |
avvb |
Фильм или видеотрек |
|
0x20202020 |
mabr |
Фильм или дорожка |
|
0x20202020 |
avab |
Фильм или звуковая дорожка |
|
0x20202020 |
vfmt |
Фильм или видеотрек |
|
0x20202020 |
afmt |
Фильм или видеотрек |
|
0x20202020 |
m4vp |
Фильм или видеотрек |
|
0x20202020 |
mp4v |
Фильм или видеотрек |
|
0x20202020 |
m4vo |
Фильм или видеотрек |
|
0x20202020 |
mp4a |
Фильм или звуковая дорожка |
|
0x20202020 |
mvsz |
Фильм |
|
0x20202020 |
tvsz |
Фильм или видеотрек |
|
0x20202020 |
vfps |
Фильм или видеотрек |
|
0x20202020 |
tafr |
Фильм или видеотрек |
|
0x20202020 |
vvfp |
Фильм или видеотрек |
|
0x20202020 |
ausr |
Фильм или звуковая дорожка |
|
0x20202020 |
avbr |
Фильм или звуковая дорожка |
|
0x20202020 |
achc |
Фильм или звуковая дорожка |
Максимальная видео скорость передачи
- Содержа атом профиля
Дорожка (видео), фильм
- Зарезервированный
0x00000000
part-ID0x20202020 (универсальная функция)
feature-code'mvbr'feature-valueБез знака
int(32)указание максимальной видео скорости передачи в битах в секунду
Значения функции
Значение является 32-разрядным целым числом без знака, указывающим максимальную видео скорость передачи в битах в секунду. Значение может быть больше, чем фактическая видео скорость передачи, таким образом, это не должно быть интерпретировано как немного уровня, который фактически произойдет.
Пример: 1 Мбит/с = 1000000.
Ответственность писателя
Писатель максимальной видео скорости передачи должен записать значение, которое равно или больше, чем фактическая скорость передачи для видеотрека. Писатель (такой как устройство CE) может принять решение записать постоянное значение, пока то значение больше, чем или равно скорости передачи, которая может быть закодирована. Также разрешено записать набор значений видео кодером во время инициализации, пока никогда не превышается значение.
Алгоритм значения функции
Apple рекомендует скользящему среднему числу более чем 1 секунду, вычисленную от демонстрационных таблиц.
Если функция записана для недавно закодированной дорожки (как устройством CE), разрешено записать значение, используемое для инициализации видео кодера, пока никогда не превышается значение. Если видеотрек редактируется, и максимальная видео скорость передачи повторно вычисляется, это может быть вычислено как скользящее среднее число более чем 1 секунда, на основе демонстрационной таблицы.
Это может быть вычислено следующим образом:
Для каждой выборки вычислите среднюю 1 вторую скорость передачи; выберите самое короткое выполнение выборок, включая выборку кандидата, которые включают 1 секунду или больше видео, затем делят общий размер данных тех выборок их общей продолжительностью.
Выберите максимальное значение из списка расчетного 1 второго среднего числа.
Ответственность читателя
Читатель максимального видео значения функции скорости передачи должен сравнить зарегистрированное значение с его собственными пределами, чтобы определить, может ли играться содержание. Читатель не должен выполнять сравнение равенства (=) но вместо этого относительное сравнение (<, <=>, или> =).
Зарегистрированное значение может быть больше, чем фактическая максимальная видео скорость передачи. Так как это значение может быть переоценкой, читатель не должен использовать его в качестве основания для отказа играть файл, хотя предупреждение может быть надлежащим. Для устанавливания фактического курса передачи читатель, возможно, должен выполнить проверку демонстрационной таблицы видеотрека.
Комментарии
Значение этой функции должно быть выводимо из информации, найденной в демонстрационной таблице. Редактирования дорожки нужно рассмотреть в ее вычислении; если дорожка редактируется, это значение должно быть повторно вычислено. Даже при том, что это значение может превысить фактическую максимальную видео скорость передачи, писатели должны попытаться минимизировать любую переоценку.
Средняя видео скорость передачи
- Содержа атом профиля
Дорожка (видео), фильм
part-ID0x20202020 (универсальная функция)
feature-code'avvb'feature-valueБез знака
int(32)указание средней видео скорости передачи в битах в секунду
Значения функции
Значение является 32-разрядным целым числом без знака, указывающим среднюю видео скорость передачи в битах в секунду.
Пример: 1 Мбит/с = 1000000.
Ответственность писателя
Писатель средней видео функции скорости передачи должен записать значение, которое равно или больше, чем средняя скорость передачи данных для видеотрека, измеренного через все выборки носителей. Писатель (такой как устройство CE) может принять решение записать постоянное значение, пока то значение больше, чем или равно средней скорости передачи данных, которая может быть закодирована. Также разрешено записать набор значений видео кодером во время инициализации, пока значение равняется или превышает среднее число, вычисленное от получающегося файла.
Алгоритм значения функции
Идеально, долгосрочное среднее число: общие объемы выборки разделились на общие демонстрационные продолжительности.
Если функция записана для недавно закодированной дорожки (как устройством CE), разрешено записать значение, используемое для инициализации видео кодера. Если видеотрек редактируется, и средняя видео скорость передачи повторно вычисляется, это может быть вычислено как полное среднее число на основе демонстрационной таблицы.
Ответственность читателя
Читатель среднего видео значения функции скорости передачи должен сравнить зарегистрированное значение с его собственными пределами, чтобы определить, может ли играться содержание. Читатель не должен выполнять сравнение равенства (=) но вместо этого относительное сравнение (<, <=>, или> =).
Поскольку писатель может записать большее значение, чем фактическая видео скорость передачи, читатель не должен интерпретировать это как фактическую видео скорость передачи. Для устанавливания текущего или фактического курса передачи читатель, возможно, должен выполнить проверку демонстрационной таблицы видеотрека.
Комментарии
Значение этой функции должно быть выводимо из информации, найденной в демонстрационной таблице. Редактирования дорожки нужно рассмотреть в ее вычислении. Обратите внимание на то, что для видео очень с переменной скоростью передачи, средняя скорость может не быть типичным уровнем.
Максимальная скорость передачи звука
- Содержа атом профиля
Дорожка (звук), фильм
part-ID0x20202020 (универсальная функция)
feature-code'mabr'feature-valueБез знака
int(32)указание максимальной скорости передачи звука в битах в секунду
Значения функции
Значение является 32-разрядным целым числом без знака, указывающим максимальную скорость передачи звука в битах в секунду, которые должны поддерживаться для гарантии воспроизведения аудио. Фактическая максимальная скорость передачи может быть меньшей, таким образом, читатель не должен отображать это как текущую скорость передачи.
Пример: 128 Кбит/с = 128000.
Ответственность писателя
Писатель максимальной функции скорости передачи звука должен записать значение, которое равно или больше, чем текущая скорость передачи для звуковой дорожки. В то время как значение может превысить фактическую максимальную скорость передачи, писатель должен попытаться минимизировать любую переоценку.
В то время как запись точной скорости передачи предпочтена, это не требуется. Писатель (такой как устройство CE) может принять решение вместо этого записать постоянное значение, пока то значение больше, чем или равно скорости передачи, которая может быть закодирована. Также разрешено записать набор значений аудио кодером во время инициализации, пока никогда не превышается значение.
Алгоритм значения функции
Apple рекомендует скользящему среднему числу более чем 1 секунду, вычисленную от демонстрационных таблиц.
Если функция записана для недавно закодированной дорожки (как устройством CE), разрешено записать значение, используемое для инициализации аудио кодера, пока никогда не превышается значение.
Если звуковая дорожка редактируется, и скорость передачи звука не является постоянной, максимальная скорость передачи звука должна быть повторно вычислена. Обратите внимание на то, что редактирование может изменить продолжительность выборок носителей, приводящих к непостоянному аудио скорости передачи, даже когда звуковая дорожка кодируется с помощью кодера с постоянной скоростью передачи. Максимальная скорость передачи может быть вычислена как скользящее среднее число более чем 1 секунда, на основе демонстрационной таблицы. Это может быть вычислено следующим образом:
Для каждой выборки вычислите среднюю 1 вторую скорость передачи; выберите самое короткое выполнение выборок, включая выборку кандидата, которые включают 1 секунду или больше аудио, затем делят общий размер данных тех выборок их общей продолжительностью.
Выберите максимальное значение из списка расчетного 1 второго среднего числа.
Ответственность читателя
Читатель этого идентификационного кода должен сравнить зарегистрированное значение с его собственными пределами, чтобы определить, может ли играться содержание. Читатель не должен выполнять сравнение равенства (=) но вместо этого относительное сравнение (<, <=>, или> =).
Поскольку это значение может быть переоценкой скорости передачи истинного максимума, читатель не должен отказываться играть файл на основе этого значения, несмотря на то, что предупреждение может быть надлежащим. Для устанавливания текущего или фактического курса передачи читатель, возможно, должен выполнить проверку демонстрационной таблицы видеотрека.
Средняя скорость передачи звука
- Содержа атом профиля
Дорожка (звук), фильм
part-ID0x20202020 (универсальная функция)
feature-code'avab'feature-valueБез знака
int(32)указание средней скорости передачи звука в битах в секунду
Значения функции
Значение является 32-разрядным целым числом без знака, указывающим среднюю скорость передачи звука в битах в секунду.
Пример: 128 Кбит/с = 128000.
Ответственность писателя
Писатель средней функции скорости передачи звука должен записать значение, которое равно или больше, чем средняя скорость передачи данных для звуковой дорожки, измеренной через все выборки носителей. Писатель (такой как устройство CE) может принять решение записать постоянное значение, пока то значение больше, чем или равно средней скорости передачи данных, которая может быть закодирована. Также разрешено записать набор значений аудио кодером во время инициализации, пока значение никогда не превышается в среднем.
Алгоритм значения функции
Обычно, долгосрочное среднее число: общие объемы выборки разделились на общие демонстрационные продолжительности.
Если функция записана для недавно закодированной дорожки (как устройством CE), разрешено записать значение, используемое для инициализации аудио кодера. Если звуковая дорожка редактируется, и средняя видео скорость передачи повторно вычисляется, это может быть вычислено как полное среднее число на основе демонстрационной таблицы.
Ответственность читателя
Читатель среднего значения функции скорости передачи звука должен сравнить зарегистрированное значение с его собственными пределами, чтобы определить, может ли играться содержание. Читатель не должен выполнять сравнение равенства (=) но вместо этого относительное сравнение (<, <=>, или> =).
Комментарии
Значение этой функции должно быть выводимо из информации, найденной в демонстрационной таблице. Когда дорожка или сегменты фильма, содержащие аудио с постоянной скоростью передачи, редактируются для изменения их продолжительности, редактирования дорожки обычно нельзя рассматривать в вычислении для аудио с постоянной скоростью передачи, но нужно рассмотреть для аудио с переменной скоростью передачи или.
Тип видеокодека QuickTime
- Содержа атом профиля
Дорожка (видео), фильм
part-ID0x20202020 (универсальная функция)
feature-code'vfmt'feature-valueБез знака
int(32)(четыре кода символа) содержание типа видеокодека QuickTime, скопированного сImageDescriptionструктураcTypeполе
Значения функции
Это - четыре кода символа, найденные в видео демонстрационном описании.
Примеры: 'mp4v', 'jpeg'.
Ответственность писателя
Писатель функции типа видеокодека QuickTime должен записать четыре кода символа, соответствующие типу формата видео QuickTime или типам, также зарегистрированным в демонстрационных описаниях видеотрека.
Алгоритм значения функции
Значение функции является типом видеокодека, считанным из QuickTime ImageDescription cType поле. Если существуют многократные демонстрационные описания с различными типами видеокодека, многократные функции типа видеокодека должны быть зарегистрированы в атоме профиля.
Ответственность читателя
Читатель этого идентификационного кода должен сравнить зарегистрированное значение по сравнению равенства (использование =) с кодами формата, поддерживаемыми читателем.
Тип аудиокодека QuickTime
- Содержа атом профиля
Дорожка (звук), фильм
part-ID0x20202020 (универсальная функция)
feature-code'afmt'feature-valueБез знака
int(32)(четыре кода символа) содержание типа аудиокодека QuickTime, скопированного сSoundDescriptionструктураdataFormatполе
Значения функции
Это - четыре кода символа, найденные в звуковом демонстрационном описании.
Примеры: 'mp4a', 'пары'.
Ответственность писателя
Писатель функции типа аудиокодека QuickTime должен записать четыре кода символа, соответствующие типу формата аудио QuickTime или типам, также зарегистрированным в демонстрационных описаниях звуковой дорожки.
Алгоритм значения функции
Значение функции является типом аудиокодека, считанным из a SoundDescription структура dataFormat поле. Если существуют многократные демонстрационные описания с различными типами аудиокодека, или все функции QuickTime Audio Codec Type должны быть зарегистрированы в атоме профиля, или ни один не должен быть зарегистрирован.
Ответственность читателя
Читатель этого идентификационного кода должен сравнить зарегистрированное значение по сравнению равенства (использование =) с кодами формата, поддерживаемыми читателем.
Профиль видео MPEG 4
- Содержа атом профиля
Дорожка (видео), фильм
part-ID0x20202020 (универсальная функция)
feature-code'm4vp'feature-valueБез знака
int(32)где младшее значащее хранение на 8 битовprofile_and_level_indicationотvisual_object_sequence, как определено в спецификации ISO/IEC 14496-2, полученный от видео параметров для описания MPEG 4 видеокодека. Лучшие 24 бита должны быть установлены в 0.
Значения функции
Младшее значащее хранение на 8 битов значение. Старшие значащие 24 бита значения функции должны быть установлены в 0.
Ответственность писателя
Писатель функции профиля видео MPEG 4 должен записать 8 битов, соответствующих profile_and_level_indication от visual_object_sequence, как определено в спецификации ISO/IEC 14496-2, найденный в видео параметрах, закодированных в esds демонстрационного описания видеокодека MPEG 4 (с типом кодека QuickTime 'mp4v').
Алгоритм значения функции
Значение функции profile_and_level_indication от visual_object_sequence, как определено в спецификации ISO/IEC 14496-2, полученный от видео параметров для описания MPEG 4 видеокодека.
Ответственность читателя
Читатель этого идентификационного кода должен сравнить зарегистрированное значение с набором профилей и уровней, поддерживаемых читателем.
Комментарии
Эта функция может присутствовать, только если используется видео MPEG 4. Обычно, запись профиля типа видеокодека также запишет то видео MPEG 4, присутствует, если никакие типы кодека не присутствуют (когда, например, исчерпывающий список не может быть сформирован).
Видеокодек MPEG 4
- Содержа атом профиля
Дорожка (видео), фильм
part-ID0x20202020 (универсальная функция)
feature-code'mp4v'feature-valueБез знака
int(32)где младшие значащие 4 бита содержатvisual_object_typeкак найдено вVisualObject(как определено в спецификации ISO/IEC 14496-2, подпункт 6.2.2) найденный в esds видеокодека MPEG 4 (тип 'mp4v' QuickTime) демонстрационное описание
Значения функции
Младшее значащее хранение на 4 бита значение. Старшие значащие 28 битов значения функции должны быть установлены в 0.
Список констант типа визуального объекта определяется в спецификации ISO/IEC 14496-2, подпункт 6.3.2.
Пример: Видео ID обозначено значением 1.
Ответственность писателя
Писатель функции MPEG 4 Video Codec должен записать 4 бита, соответствующие visual_object_type найденный в VisualObject в ES_descriptorвидео DecoderSpecificConfig. Старшие значащие 28 битов значения должны быть установлены в 0.
Алгоритм значения функции
Видеокодек MPEG 4 составляет 4 бита visual_object_type найденный в VisualObject. Посмотрите ISO/IEC 14496-2, подпункт 6.2.2. VisualObject сочтен в MPEG 4 Элементарным Потоковым Atom Дескриптора в 'esds' демонстрационный атом описания видео демонстрационного описания для видеокодека QuickTime типа 'mp4v'.
Ответственность читателя
Читатель этого идентификационного кода должен сравнить зарегистрированное значение с набором MPEG 4 видеодекодера, поддерживаемые читателем.
Комментарии
Поскольку QuickTime 'mp4v' кодек может реализовать многократные видеодекодеры, определенные в спецификации ISO/IEC 14496 в будущем, эта функция позволяет читателю решать, что определенный видеодекодер должен был интерпретировать видео поток битов.
Тип объекта видео MPEG 4
- Содержа атом профиля
Дорожка (видео), фильм
part-ID0x20202020 (универсальная функция)
feature-code'm4vo'feature-valueБез знака
int(32)где младшее значащее хранение на 8 битовvideo_object_type_indicationнайденный вVideoObjectLayer(Описанный в ISO/IEC 14496-2, подпункте 6.2.3).VideoObjectLayerсочтен в MPEG 4 Элементарным Потоковым Atom Дескриптора в'esds'демонстрационный атом описания видео демонстрационного описания для видеокодека QuickTime типа'mp4v'.
Значения функции
Значение является видео типом объекта, постоянным, который указывает ряд видео инструментов. Список видео констант типа объекта определяется в спецификации ISO/IEC 14496-2, подпункт 6.3.3. Младшее значащее хранение на 8 битов значение. Старшие значащие 24 бита должны быть установлены в 0.
Пример: объект видео Типа Простого объекта обозначен значением 1.
Ответственность писателя
Писатель функции MPEG 4 Video Object Type должен записать 8 битов, соответствующих video_object_type_indication найденный в VideoObjectLayer в видео ES_DESCRIPTOR DecoderSpecificConfig. Старшие значащие 24 бита значения должны быть установлены в 0. Эта функция должна быть записана только для видео MPEG 4 видео типа объекта 1 (Видео ID). Если видео MPEG 4 не использует Видео ID (1) для visual_object_type, esds будет иметь нет VideoObjectLayer и следовательно нет video_object_type_indication. В этом случае никакая функция MPEG 4 Video Object Type не должна быть записана.
Алгоритм значения функции
Тип объекта видео MPEG 4 составляет младшие значащие 8 битов video_object_type_indication найденный в VideoObjectLayer. Посмотрите ISO/IEC 14496-2, подпункт 6.2.3. VideoObjecLayer сочтен в MPEG 4 Элементарным Потоковым Atom Дескриптора в 'esds' демонстрационный атом описания видео демонстрационного описания для видеокодека QuickTime типа 'mp4v'.
Ответственность читателя
Читатель этого идентификационного кода должен сравнить зарегистрированное значение с набором инструментов видео MPEG 4, поддерживаемых читателем.
Аудиокодек MPEG 4
- Содержа атом профиля
Дорожка (звук), фильм
part-ID0x20202020 (универсальная функция)
feature-code'mp4a'feature-valueБез знака
int(32)где младшее значащее хранение на 5 битовAudioObjectTypeкак найдено вAudioSpecificInfo(как определено в спецификации ISO/IEC 14496-3, подпункт 1.6) найденный в esds аудиокодека MPEG 4 (тип QuickTime'mp4a') демонстрационное описание
Значения функции
Младшее значащее хранение на 5 битов значение. Старшие значащие 27 битов значения функции должны быть установлены в 0.
Список аудио констант типа объекта определяется в спецификации ISO/IEC 14496-3, подпункт 1.5.1.1.
Примеры: AAC LC обозначен значением 2, CELP, обозначен значением 8.
Ответственность писателя
Писатель функции MPEG 4 Audio Codec должен записать 5 битов, соответствующих AudioObjectType найденный в ES_descriptorаудио DecoderSpecificConfig. Старшие значащие 27 битов значения должны быть установлены в 0.
Алгоритм значения функции
Значение аудиокодека MPEG 4 составляет 5 битов AudioObjectType найденный в AudioSpecificInfo (a DecoderSpecificInfo). Посмотрите спецификацию ISO/IEC 14496, подпункт 1.6. AudioSpecificInfo сочтен в MPEG 4 Элементарным Потоковым Atom Дескриптора в siDecompressionParam атом описания аудиосэмпла для аудиокодека QuickTime типа 'mp4a'.
Ответственность читателя
Читатель этого идентификационного кода должен сравнить зарегистрированное значение с набором декодеров аудио MPEG 4, поддерживаемых читателем.
Комментарии
Поскольку QuickTime 'mp4a' кодек может реализовать многократные аудио декодеры, определенные в спецификации ISO/IEC 14496 в будущем, эта функция позволяет читателю решать, что определенный аудио декодер должен был интерпретировать аудио поток битов. Функция MPEG 4 Audio Codec должна присутствовать только если 'mp4a' аудиокодек используется в звуковой дорожке.
Максимальный размер видео в фильме
- Содержа атом профиля
Фильм
part-ID0x20202020 (универсальная функция)
feature-code'mvsz'feature-value32-разрядная упакованная структура, содержащая ширину и высоту самых больших границ, должна была вывести на экран фильм
Значения функции
Упакованная структура в 32-разрядном значении:
struct { |
unsigned integer(16) width; |
unsigned integer(16) height; |
}; |
В порядке с обратным порядком байтов лучшие 16 битов соответствуют ширине. Более низкие 16 битов соответствуют высоте.
Ответственность писателя
Писатель функции Maximum Movie Video Size должен записать значение, которое равно или больше, чем размер дисплея, необходимый фильму — фактическая ширина и высота должны были вывести на экран фильм в своем нормальном размере, приняв во внимание все матрицы (все матрицы дорожки и матрица фильма).
Даже если фактический размер, зарегистрированный в фильме, меньше, писатель (такой как устройство CE) может принять решение записать постоянный размер, основанный на его текущем режиме записи.
Алгоритм значения функции
Это значение вычисляется путем исследования размерностей всех визуальных дорожек и вычислений максимальных объединенных размерностей, включая эффект матриц дорожки и матрицы фильма. Например, если два видеотрека будут играть бок о бок в фильме, и дорожках и фильме все использование единичная матрица, то это значение будет самым большим из высот этих двух дорожек и их объединенной ширины.
Ответственность читателя
Читатель этого идентификационного кода должен сравнить зарегистрированное значение с его собственными пределами размера видео.
Читатель не должен интерпретировать значение этой функции как текущий размер видео. Для определения текущего размера видео читатель должен использовать размерности всех в настоящее время выводящих на экран видеотреков, их матриц и матрицы фильма.
Комментарии
Ширина и высота соответствуют максимальной визуальной области, должен был вывести на экран фильм.
Итоговая ширина и высота должны принять во внимание все компоненты всех матриц дорожки и матрицы фильма. Цель состоит в том, чтобы понять максимальный вклад всех дорожек к границам фильма.
Для случая, где существует единственный видеотрек с матрицей дорожки идентификационных данных, максимальная функция размера видео фильма обычно имела бы то же значение как максимальная функция размера видео дорожки.
Максимальный размер видео в дорожке
- Содержа атом профиля
Дорожка (видео), фильм
part-ID0x20202020 (универсальная функция)
feature-code'tvsz'feature-value32-разрядная упакованная структура, содержащая ширину и высоту самого большого буфера изображения, необходима для видеотрека.
Значения функции
Упакованная структура в 32-разрядном значении:
struct { |
unsigned integer(16) width; |
unsigned integer(16) height; |
}; |
В порядке с обратным порядком байтов лучшие 16 битов соответствуют ширине. Более низкие 16 битов соответствуют высоте.
Ответственность писателя
Писатель функции Maximum Track Video Size должен записать значение, которое равно или больше, чем самая большая высота и ширина любого демонстрационного описания в видеотреке. Это не включает эффект никакого масштабирования или смещения, примененного матрицей дорожки, и может не совпасть с высотой дорожки и шириной дорожки.
Даже если фактический размер, зарегистрированный в дорожке, меньше, писатель (такой как устройство CE) может принять решение записать постоянный размер, основанный на его текущем режиме записи.
Алгоритм значения функции
Исследуйте все демонстрационные описания на дорожку и используйте максимальную ширину и максимальную высоту, найденную в любой выборке. Максимальная ширина и максимальная высота могут прибыть из независимых демонстрационных описаний.
Ответственность читателя
Читатель этого идентификационного кода должен сравнить зарегистрированное значение с его собственными ограничениями буфера изображения.
Читатель не должен интерпретировать значение этой функции как текущий размер видео. Для определения текущего размера видео читатель должен использовать размерности всех в настоящее время выводящих на экран видеотреков, их матриц и матрицы фильма.
Комментарии
Ширина и высота соответствуют самым большим буферным размерностям изображения, необходимым для визуальной дорожки. Когда настоящее в профиле уровня фильма, эти атомы документируют максимальный размер видео, найденный в каждой из дорожек фильма.
Итоговая ширина и высота не принимают во внимание масштабирования или перевода, вызванного дорожкой или матрицами фильма, и являются не обязательно тем же как высотой дорожки и шириной.
Для случая, где существует единственный видеотрек с дорожкой идентификационных данных и матрицей и матрицей фильма идентификационных данных, максимальная функция размера видео фильма имела бы то же значение как функция дорожки.
Максимальная частота видеокадров в одноколейном пути
- Содержа атом профиля
Дорожка (видео), фильм
part-ID0x20202020 (универсальная функция)
feature-code'vfps'feature-valueФиксированная точка без знака (16.16) число, содержащее максимальную частоту видеокадров
Значения функции
Это - фиксированная точка без знака (16.16) число, содержащее максимальную частоту видеокадров. Целочисленная часть числа может колебаться от 0 до 65 535.
Примеры: 25 кадр/с = 0x00190000; 24 кадр/с = 0x00180000; 29.97 = 0x001DF853 (закрывают приближение 30000/1001 отношения). Значение может быть окружено к самому близкому целому числу.
Ответственность писателя
Писатель функции Maximum Video Frame Rate должен записать 16,16 значений фиксированной точки, которые равны или больше, чем текущая частота видеокадров. Даже если реальная частота кадров меньше, писатель (такой как устройство CE) может принять решение записать константу для функции на основе ее текущего режима записи.
Писатель нового видеотрека (такого как устройство записи устройства CE) может установить значение функции максимальной частоты кадров в набор значений во время видео инициализации кодера, пока никогда не превышается эта частота кадров.
Если текущая расчетная частота кадров дробна (такие как 22,3 кадр/с), писатель может выбрать к раунду значение до самого близкого целочисленного значения (такого как 23,0 кадр/с для 22,3 кадр/с).
Писатель, вычисляющий частоту видеокадров с помощью демонстрационной таблицы видеотрека, не должен рассматривать первое или последнюю демонстрационную продолжительность, если они отличаются от других демонстрационных продолжительностей. Причина этого состоит в том, что полученные файлы ролика часто имеют дольше или более короткие первые и последние демонстрационные продолжительности. Не рассматривая их в вычислении, более точное вычисление достигается.
Алгоритм значения функции
Это значение функции может быть вычислено как инверсия наименьшей демонстрационной продолжительности в видеотреке или дорожках.
Если значение записано для недавно зарегистрированного видеотрека, это может быть значение, установленное во время инициализации видео кодера, пока не превышена частота кадров.
Ответственность читателя
Читатель этого идентификационного кода должен сравнить зарегистрированное значение с его собственными пределами частоты видеокадров. Это не должно ожидать точные значения.
Читатель не должен интерпретировать значение этой функции как текущая частота кадров. Для определения текущей частоты кадров читатель должен использовать демонстрационную таблицу видеотрека.
Комментарии
Писатель может принять решение окружить любое дробное значение числа фиксированной точки к самому близкому 16-разрядному целому числу, оставив более низкие 16 битов набора Фиксированного значения к 0. Так, в случае 29,97 приближений 0x001DF853 писатель мог вокруг этого до 0x001E0000 (который равняется 30).
Средняя частота видеокадров в одноколейном пути
- Содержа атом профиля
Дорожка (видео), фильм
part-ID0x20202020 (универсальная функция)
feature-code'tafr'feature-valueФиксированная точка без знака (16.16) число, содержащее среднюю частоту видеокадров
Значения функции
Это - фиксированная точка без знака (16.16) число, содержащее среднюю частоту видеокадров. Целочисленная часть числа может колебаться от 0 до 65 535.
Примеры: 25 кадр/с = 0x00190000; 24 кадр/с = 0x00180000; 29.97 = 0x001DF853 (закрывают приближение 30000/1001 отношения). Значение может быть окружено к самому близкому целому числу.
Когда настоящее в профиле уровня фильма, эти атомы документируют среднюю частоту видеокадров каждой дорожки в фильме.
Ответственность писателя
Писатель функции Average Video Frame Rate должен записать 16,16 значений фиксированной точки, которые равны или больше, чем средняя частота видеокадров. Даже если реальная частота кадров меньше, писатель (такой как устройство CE) может принять решение записать константу для функции на основе ее текущего режима записи.
Писатель нового видеотрека (такого как устройство записи устройства CE) может установить среднее значение функции частоты кадров в набор значений во время видео инициализации кодера, пока эта частота кадров не превышена фактическим средним числом, как определено алгоритмом значения функции, описанным ниже.
Если средняя расчетная частота кадров дробна (такие как 22,3 кадр/с), писатель может выбрать к раунду значение до самого близкого целочисленного значения (такого как 23,0 кадр/с для 22,3 кадр/с).
Алгоритм значения функции
Это значение функции вычисляется путем деления общего количества кадров (выборки) продолжительностью дорожки. Допустимо опустить первые и последние кадры от этого вычисления, поскольку у них может быть существенно отличающаяся продолжительность, чем среднее число.
Ответственность читателя
Читатель этого идентификационного кода должен понять, что каждый кадр является видео выборкой со своей собственной независимой и явной продолжительностью. В то время как для всех кадров возможно иметь ту же продолжительность, для продолжительности любого кадра одинаково возможно радикально отличаться от любого другого. Поэтому средняя частота кадров может не всегда быть значимой информацией.
Читатель не должен интерпретировать значение этой функции как текущая частота кадров. Для определения текущей частоты кадров читатель должен использовать демонстрационную таблицу видеотрека.
Комментарии
Писатель может принять решение окружить любое дробное значение числа фиксированной точки к самому близкому 16-разрядному целому числу, оставив более низкие 16 битов набора Фиксированного значения к 0. Так, в случае 29,97 приближений 0x001DF853 писатель мог вокруг этого до 0x001E0000 (который равняется 30).
Видео индикация переменной частоты кадров
- Содержа атом профиля
Дорожка (видео), фильм
part-ID0x20202020 (универсальная функция)
feature-code'vvfp'feature-valueБез знака
int(32)содержание значения 0, если частота кадров является постоянной или значение 1, если варьируются продолжительности кадра
Значения функции
Значение функции содержит одно из следующих двух значений: 0, если все видео выборки имеют ту же продолжительность дисплея, или 1, если какие-либо видео выборки варьируются по продолжительности.
Ответственность писателя
Писатель функции Video Variable Frame Rate Indication должен сравнить демонстрационные продолжительности видеотрека. Если все продуманные продолжительности имеют то же значение, значение, 0 указывающих постоянных частот кадров должны быть зарегистрированы. Если какие-либо продолжительности отличаются, значение 1 должно быть зарегистрировано для функции. Никакое другое значение не должно быть зарегистрировано.
Алгоритм значения функции
Если таблица Time to Sample записывает постоянную продолжительность для всех выборок, то запишите 0, еще запишите 1.
Ответственность читателя
Читатель этого идентификационного кода должен только ожидать значения 0 или 1.
Частота дискретизации звука для демонстрационной записи
- Содержа атом профиля
Дорожка (звук), фильм
part-ID0x20202020 (универсальная функция)
feature-code'ausr'feature-valueБез знака
int(32)содержание частоты дискретизации звука в модулях в секунду (например, 44100 для 44,1 кГц)
Значения функции
Это значение функции является 32-разрядным целым числом без знака, содержащим частоту дискретизации звука в модулях в секунды (циклы в секунду). Значение должно быть окружено к самому близкому целому числу, если это имеет дробную часть.
Примеры: 24 кГц = 24000, 44,1 кГц = 44100.
Ответственность писателя
Писатель функции Audio Sample Rate должен записать целочисленную часть (окруженный, если существует дробная часть) частоты дискретизации звука, найденной в звуковой дорожке SoundDescription структура.
Если многократные частоты дискретизации звука используются в фильме, то или все должны зарегистрированный в атоме профиля, или ни один не должен быть зарегистрирован.
Алгоритм значения функции
Это - целочисленная часть частоты дискретизации из описания аудиосэмпла QuickTime (окруженный, если существует дробная часть). Если частота дискретизации больше, чем 64 кГц, целочисленная часть может быть зарегистрирована здесь.
Если частота дискретизации имеет дробную часть, писатель должен окружить к самому близкому целому числу. Так, эти 22 254,54545 значения, которые могут произойти в аудио QuickTime как Фиксированное значение, представленное как 0x56EE8BA3, могут быть зарегистрированы как 22 255.
Ответственность читателя
Читатель этого идентификационного кода должен сравнить зарегистрированное значение с его собственными пределами частоты дискретизации звука. Если читатель только поддерживает дискретные значения (такой как 44 100), это может выполнить сравнения равенства (=). Если читатель поддерживает диапазоны частот дискретизации звука (такие как все уровни, меньше чем или равные 32 000), читатель может выполнить относительные сравнения (<, <=>, или> =).
Аудио индикация с переменной скоростью передачи
- Содержа атом профиля
Дорожка (звук), фильм
part-ID0x20202020 (универсальная функция)
feature-code'avbr'feature-valueБез знака
int(32)содержание значения 0, если аудио является постоянной скоростью передачи или 1, если аудио является переменной скоростью передачи
Значения функции
Значение функции содержит одно из следующих двух значений: 0, если аудио является постоянной скоростью передачи, или 1, если аудио является переменной скоростью передачи.
Ответственность писателя
Писатель функции Audio Variable Bit Rate Indication должен определить, с постоянной скоростью передачи ли аудио кадры или с переменной скоростью передачи в природе и записывают или 0 или 1, соответственно.
Алгоритм значения функции
Консультируйтесь с описаниями аудиосэмпла. Если compressionID поле в демонстрационных описаниях 0 или-1, тогда аудио является постоянной скоростью передачи. Если поле-2, то тот же алгоритм что касается видео применяется: если все выборки имеют и постоянную продолжительность и постоянный размер, то аудио является постоянной скоростью передачи; иначе это является переменным.
Ответственность читателя
Читатель этого идентификационного кода должен только ожидать значения 0 или 1.
Количество звукового канала
- Содержа атом профиля
Дорожка (звук), фильм
part-ID0x20202020 (универсальная функция)
feature-code'achc'feature-valueБез знака
int(32)содержание числа звуковых каналов
Значения функции
Значение функции является 32-разрядным целым числом без знака, содержащим число звуковых каналов, закодированных Звуковой дорожкой в фильме. Для монофонического значение было бы 1. Для стерео значение было бы 2. Обратите внимание на то, что количество звукового канала является стандартным полем в звуковом демонстрационном описании.
Ответственность писателя
Писатель функции Audio Channel Count должен определить число звуковых каналов, закодированных в звуковой дорожке или дорожках фильма.
Алгоритм значения функции
Консультируйтесь с описаниями аудиосэмпла.
Ответственность читателя
Читатель должен быть подготовлен или играть конкретное количество каналов или отобразить аудио на число каналов поддержки читателя (например, смешав вниз звук стерео для монофонического динамика).