FourCC

FourCC (буквально четырехсимвольный код — англ. four-character code) — это последовательность из четырех байтов, используемая для уникальной идентификации форматов данных. Широко применяется для идентификации видеокодеков в контейнерах для мультимедийной информации.

Эта концепция возникла в схеме OSType, используемой в системном программном обеспечении Macintosh, и была принята для формата обмена файлами Amiga/Electronic Arts и его производных. Позднее эта идея была повторно использована для идентификации сжатых типов данных в QuickTime и DirectShow.

Технические детали

Последовательность байтов обычно ограничена печатными символами ASCII с пробелами, зарезервированными для заполнения более коротких последовательностей. Чувствительность к регистру сохраняется, в отличие от расширений файлов.

Четырехбайтовые идентификаторы полезны, потому что они могут состоять из четырех читаемых человеком символов с мнемоническими качествами, в то же время помещаясь в четырехбайтовое пространство памяти, обычно выделяемое для целых чисел в 32-разрядных системах (хотя проблемы с порядком байтов могут сделать их менее читаемыми). Таким образом, коды могут эффективно использоваться в программном коде как целые числа, а также давать подсказки в потоках двоичных данных при проверке.

Однако некоторые FourCC содержат непечатаемые символы и не читаемые человеком без специального форматирования для отображения; например, 10-битное видео Y’CbCr 4:2:2 может иметь FourCC ('Y', '3', 10, 10)[1], который отображает ffmpeg как rawvideo (Y3[10][10] / 0x0A0A3359), yuv422p10le.

История

В 1985 году Electronic Arts представила мета-формат (семейство форматов файлов) Interchange File Format (IFF), первоначально разработанный для использования на Amiga. Эти файлы состояли из последовательности «чанков», которые могли содержать произвольные данные, каждый из которых начинался с четырехбайтового идентификатора. В спецификации IFF прямо упоминается, что истоки идеи FourCC лежат в Apple[2].

Этот IFF был принят рядом разработчиков, включая Apple для файлов AIFF и Microsoft для файлов RIFF (которые использовались в качестве основы для формата файлов AVI и WAV). Apple называет многие из этих кодов OSTypes. Разработчики Microsoft и Windows именуют свои четырехбайтовые идентификаторы как FourCC или четырехсимвольные коды. Коды FourCC были также приняты Microsoft для идентификации форматов данных, используемых в DirectX, особенно в DirectShow и DirectX Graphics.

Общее использование

Одним из наиболее известных применений FourCC является идентификация видеокодека или формата кодирования видео в файлах AVI. Общие идентификаторы включают DIVX, XVID и H264. Для форматов аудиокодирования файлы AVI и WAV используют двухбайтовый идентификатор, обычно записанный в шестнадцатеричном формате (например, 0055 для MP3). В файлах QuickTime эти двухбайтовые идентификаторы имеют префикс с буквами «ms» для формирования четырехсимвольного кода. В файлах RealMedia также используются четырехсимвольные коды, однако фактические используемые коды отличаются от кодов, найденных в файлах AVI или QuickTime.

Другими форматами файлов, в которых важно использовать концепцию четырехбайтового идентификатора, являются формат стандартного файла MIDI (SMF), формат файла изображения PNG, формат файла сетки 3DS (3D Studio Max) и формат профиля ICC.

См. также

Примечания

  1. FFmpeg: libavcodec/raw.c Source File. ffmpeg.org. Дата обращения: 9 июня 2019. Архивировано 19 января 2019 года.
  2. Morrison, Jerry. "EA IFF 85" Standard for Interchange Format Files. Electronic Arts (14 января 1985). Дата обращения: 17 января 2019. Архивировано 21 февраля 2015 года.

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.