diff options
Diffstat (limited to 'modules/getid3/module.graphic.png.php')
-rw-r--r-- | modules/getid3/module.graphic.png.php | 80 |
1 files changed, 40 insertions, 40 deletions
diff --git a/modules/getid3/module.graphic.png.php b/modules/getid3/module.graphic.png.php index e697e961..0593b98f 100644 --- a/modules/getid3/module.graphic.png.php +++ b/modules/getid3/module.graphic.png.php @@ -22,8 +22,8 @@ // // $Id: module.graphic.png.php,v 1.4 2006/11/02 10:48:02 ah Exp $ - - + + class getid3_png extends getid3_handler { @@ -46,20 +46,20 @@ class getid3_png extends getid3_handler $offset = 8; while (((ftell($getid3->fp) - (strlen($png_filedata) - $offset)) < $getid3->info['filesize'])) { - + $chunk['data_length'] = getid3_lib::BigEndian2Int(substr($png_filedata, $offset, 4)); $offset += 4; while (((strlen($png_filedata) - $offset) < ($chunk['data_length'] + 4)) && (ftell($getid3->fp) < $getid3->info['filesize'])) { $png_filedata .= fread($getid3->fp, getid3::FREAD_BUFFER_SIZE); } - + $chunk['type_text'] = substr($png_filedata, $offset, 4); $chunk['type_raw'] = getid3_lib::BigEndian2Int($chunk['type_text']); $offset += 4; - + $chunk['data'] = substr($png_filedata, $offset, $chunk['data_length']); $offset += $chunk['data_length']; - + $chunk['crc'] = getid3_lib::BigEndian2Int(substr($png_filedata, $offset, 4)); $offset += 4; @@ -78,8 +78,8 @@ class getid3_png extends getid3_handler $info_png_chunk_type_text['header'] = $chunk; $info_png_chunk_type_text['width'] = getid3_lib::BigEndian2Int(substr($chunk['data'], 0, 4)); $info_png_chunk_type_text['height'] = getid3_lib::BigEndian2Int(substr($chunk['data'], 4, 4)); - - getid3_lib::ReadSequence('BigEndian2Int', $info_png_chunk_type_text['raw'], $chunk['data'], 8, + + getid3_lib::ReadSequence('BigEndian2Int', $info_png_chunk_type_text['raw'], $chunk['data'], 8, array ( 'bit_depth' => 1, 'color_type' => 1, @@ -196,12 +196,12 @@ class getid3_png extends getid3_handler $info_png_chunk_type_text['compression_method'] = getid3_lib::BigEndian2Int(substr($otherdata, 0, 1)); $info_png_chunk_type_text['compressed_text'] = substr($otherdata, 1); $info_png_chunk_type_text['compression_method_text'] = getid3_png::PNGcompressionMethodLookup($info_png_chunk_type_text['compression_method']); - + if ($info_png_chunk_type_text['compression_method'] != 0) { // unknown compression method break; } - + if (function_exists('gzuncompress')) { $info_png_chunk_type_text['text'] = gzuncompress($info_png_chunk_type_text['compressed_text']); } @@ -211,7 +211,7 @@ class getid3_png extends getid3_handler } $this->zlib_warning = true; } - + if (isset($info_png_chunk_type_text['text'])) { $info_png['comments'][$info_png_chunk_type_text['keyword']][] = $info_png_chunk_type_text['text']; @@ -308,14 +308,14 @@ class getid3_png extends getid3_handler $info_png_chunk_type_text['significant_bits_red'] = getid3_lib::BigEndian2Int($chunk['data'][0]); $info_png_chunk_type_text['significant_bits_green'] = getid3_lib::BigEndian2Int($chunk['data'][1]); $info_png_chunk_type_text['significant_bits_blue'] = getid3_lib::BigEndian2Int($chunk['data'][2]); - break; - - case 4: + break; + + case 4: $info_png_chunk_type_text['significant_bits_gray'] = getid3_lib::BigEndian2Int($chunk['data'][0]); $info_png_chunk_type_text['significant_bits_alpha'] = getid3_lib::BigEndian2Int($chunk['data'][1]); - break; - - case 6: + break; + + case 6: $info_png_chunk_type_text['significant_bits_red'] = getid3_lib::BigEndian2Int($chunk['data'][0]); $info_png_chunk_type_text['significant_bits_green'] = getid3_lib::BigEndian2Int($chunk['data'][1]); $info_png_chunk_type_text['significant_bits_blue'] = getid3_lib::BigEndian2Int($chunk['data'][2]); @@ -330,32 +330,32 @@ class getid3_png extends getid3_handler case 'sPLT': // Suggested Palette $info_png_chunk_type_text['header'] = $chunk; - + list($palettename, $otherdata) = explode("\x00", $chunk['data'], 2); $info_png_chunk_type_text['palette_name'] = $palettename; - + $info_png_chunk_type_text['sample_depth_bits'] = getid3_lib::BigEndian2Int($otherdata[0]); $info_png_chunk_type_text['sample_depth_bytes'] = $info_png_chunk_type_text['sample_depth_bits'] / 8; - + $s_plt_offset = 1; $paletteCounter = 0; while ($s_plt_offset < strlen($otherdata)) { - + $info_png_chunk_type_text['red'][$paletteCounter] = getid3_lib::BigEndian2Int(substr($otherdata, $s_plt_offset, $info_png_chunk_type_text['sample_depth_bytes'])); $s_plt_offset += $info_png_chunk_type_text['sample_depth_bytes']; - + $info_png_chunk_type_text['green'][$paletteCounter] = getid3_lib::BigEndian2Int(substr($otherdata, $s_plt_offset, $info_png_chunk_type_text['sample_depth_bytes'])); $s_plt_offset += $info_png_chunk_type_text['sample_depth_bytes']; - + $info_png_chunk_type_text['blue'][$paletteCounter] = getid3_lib::BigEndian2Int(substr($otherdata, $s_plt_offset, $info_png_chunk_type_text['sample_depth_bytes'])); $s_plt_offset += $info_png_chunk_type_text['sample_depth_bytes']; - + $info_png_chunk_type_text['alpha'][$paletteCounter] = getid3_lib::BigEndian2Int(substr($otherdata, $s_plt_offset, $info_png_chunk_type_text['sample_depth_bytes'])); $s_plt_offset += $info_png_chunk_type_text['sample_depth_bytes']; - + $info_png_chunk_type_text['frequency'][$paletteCounter] = getid3_lib::BigEndian2Int(substr($otherdata, $s_plt_offset, 2)); $s_plt_offset += 2; - + $paletteCounter++; } break; @@ -465,7 +465,7 @@ class getid3_png extends getid3_handler public static function PNGsRGBintentLookup($sRGB) { - + static $lookup = array ( 0 => 'Perceptual', 1 => 'Relative colorimetric', @@ -478,14 +478,14 @@ class getid3_png extends getid3_handler public static function PNGcompressionMethodLookup($compression_method) { - + return ($compression_method == 0 ? 'deflate/inflate' : 'invalid'); } - - + + public static function PNGpHYsUnitLookup($unit_id) { - + static $lookup = array ( 0 => 'unknown', 1 => 'meter' @@ -493,10 +493,10 @@ class getid3_png extends getid3_handler return (isset($lookup[$unit_id]) ? $lookup[$unit_id] : 'invalid'); } - - + + public static function PNGoFFsUnitLookup($unit_id) { - + static $lookup = array ( 0 => 'pixel', 1 => 'micrometer' @@ -504,10 +504,10 @@ class getid3_png extends getid3_handler return (isset($lookup[$unit_id]) ? $lookup[$unit_id] : 'invalid'); } - - + + public static function PNGpCALequationTypeLookup($equation_type) { - + static $lookup = array ( 0 => 'Linear mapping', 1 => 'Base-e exponential mapping', @@ -528,10 +528,10 @@ class getid3_png extends getid3_handler return (isset($lookup[$unit_id]) ? $lookup[$unit_id] : 'invalid'); } - - + + public static function IHDRcalculateBitsPerSample($color_type, $bit_depth) { - + switch ($color_type) { case 0: // Each pixel is a grayscale sample. return $bit_depth; |