Я пытаюсь обвести голову вокруг заголовков NALU H.264 в следующих данных, хранящихся в контейнере mov.H.264 NALU Byte Alignment
Пример из файла:
00 00 00 02 09 30 00 00 00 0E 06 01 09 00 02 08
24 68 00 00 03 00 01 80 00 00 2B 08 21 9A 01 01
64 47 D4 B2 5C 45 76 DA 72 E4 3B F3 AE A9 56 91
B2 3F FE CE 87 1A 48 13 14 A9 E0 12 C8 AD E9 22
...
До сих пор я предположил, что битовый поток не выравнивать по байтам из-за последовательности запуска кода сдвига влево на один бит:
0x00 0x00 0x00 0x02 -> 00000000 00000000 00000000 00000010
Поэтому я переместил эти и последующие байты в правый один бит, что приводит к следующему коду начальной последовательности и битам заголовка для первого заголовка:
0000000 00000000 00000000 00000001 [0 00 00100]
Однако я прихожу отключился, когда я достигаю следующую последовательность байт в примере:
0x00 0x00 0x00 0x0E
Я предполагаю, что это еще один запуск кодовой последовательности, но с другим выравниванием байт.
00000000 00000000 00000000 00001110 00000110 00000001 00001001 00000000
После выравнивания байт я получаю следующий байт заголовка:
00000 00000000 00000000 00000001 [1 10 00000]
Первый бит в заголовке (forbidden_zero_bit) отлична от нуля, который нарушает правила, что она должна быть равна нулю
Где я спотыкаюсь?
Я делаю неправильные предположения здесь?
Спасибо nobody555, эта дополнительная информация помогает многое и имеет больше смысла. Мне нужно будет подтвердить это с помощью данных о размерах выборки для моего собственного бенифита, но пока это ясно это и имеет смысл сейчас. Приветствия. – Pobbel
Я подтвердил, что это действительно соответствует размерам атомов, как описано. Я не могу найти ссылку на эту кодировку в ссылке разработчика MOV. Https://developer.apple.com/library/mac/documentation/QuickTime/QTFF/QTFFPreface/qtffPreface.html Является ли эта кодирующая часть ITU-T H.264 или, может быть, ISO/IEC 14496-15? – Pobbel
Это не часть спецификаций ITU-T H.264.Что касается ISO/IEC 14496-15, возможно, это все, но у меня нет доступа к нему (это не бесплатно), и поэтому я не могу это проверить. – nobody555