From 222b01f5169f1c7e69762e0e8904c24f78f71882 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Wed, 28 Jul 2010 11:52:48 +0200 Subject: update to MediaWiki 1.16.0 --- includes/media/GIFMetadataExtractor.php | 175 ++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 includes/media/GIFMetadataExtractor.php (limited to 'includes/media/GIFMetadataExtractor.php') diff --git a/includes/media/GIFMetadataExtractor.php b/includes/media/GIFMetadataExtractor.php new file mode 100644 index 00000000..fac9012b --- /dev/null +++ b/includes/media/GIFMetadataExtractor.php @@ -0,0 +1,175 @@ + $frameCount, + 'looped' => $isLooped, + 'duration' => $duration + ); + + } + + static function readGCT( $fh, $bpp ) { + if ($bpp > 0) { + for( $i=1; $i<=pow(2,$bpp); ++$i ) { + fread( $fh, 3 ); + } + } + } + + static function decodeBPP( $data ) { + $buf = unpack( 'C', $data ); + $buf = $buf[1]; + $bpp = ( $buf & 7 ) + 1; + $buf >>= 7; + + $have_map = $buf & 1; + + return $have_map ? $bpp : 0; + } + + static function skipBlock( $fh ) { + while ( !feof( $fh ) ) { + $buf = fread( $fh, 1 ); + $block_len = unpack( 'C', $buf ); + $block_len = $block_len[1]; + if ($block_len == 0) + return; + fread( $fh, $block_len ); + } + } + +} -- cgit v1.2.2