コード例 #1
0
ファイル: Decoder2.php プロジェクト: cojaco/Popup_package
 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);
 }