private function sizeFromCtrlByte($ctrlByte, $offset) { $size = $ctrlByte & 0x1f; $bytesToRead = $size < 29 ? 0 : $size - 28; $bytes = Util2::read($this->fileStream, $offset, $bytesToRead); $decoded = $this->decodeUint($bytes); if ($size == 29) { $size = 29 + $decoded; } elseif ($size == 30) { $size = 285 + $decoded; } elseif ($size > 30) { $size = ($decoded & 0xfffffff >> 32 - 8 * $bytesToRead) + 65821; } return array($size, $offset + $bytesToRead); }