-
Notifications
You must be signed in to change notification settings - Fork 9
EBSP, RBSP, SODB
uupaa edited this page Sep 11, 2018
·
3 revisions
SODB, RBSP, EBSP の関係は以下の図のようになります。
EBSP の 00 00 03 0x
は、 RBSP では 00 00 0x
として解釈する必要があります(x には 0〜3 の数字が入ります)。
mdat
に埋め込まれるバイナリデータは EBSP の 00 00 03 0x
のままであり、RBSP の 00 00 0x
ではありません。
NALUnitHeader をパースする段階では EBSP から RBSP を生成し、生成した RBSP をパースします。
+-------------------+ +------------++----------+ +------------++----------+
| H.264 Byte Stream | = | Start Code || NALUnit | ... | Start Code || NALUnit |
+-------------------+ +------------++----------+ +------------++----------+
+-------------------+ +---------------++------+
| NALUnit | = | NALUnitHeader || EBSP |
+-------------------+ +---------------++------+
+-------------------+ +----+ +----+----+----+----+ +----+
| EBSP | = | xx | ... | 00 | 00 | 03 | 0x | ... | xx |
+-------------------+ +----+ +----+----+----+----+ +----+
+-------------------+ +------+ +------++---------------++----------------------------+
| RBSP | = | SODB | ... | SODB || RBSP stop bit || rbsp_alignment_zero_bit... |
+-------------------+ +------+ +------++---------------++----------------------------+
+------+ +------++---------------++----------------------------+
| 0xFF | ... | 0xFF || `1` || `0000000` ... `0` |
+------+ +------++---------------++----------------------------+