summaryrefslogtreecommitdiff
path: root/getid3/module.graphic.svg.php
diff options
context:
space:
mode:
Diffstat (limited to 'getid3/module.graphic.svg.php')
-rw-r--r--getid3/module.graphic.svg.php52
1 files changed, 52 insertions, 0 deletions
diff --git a/getid3/module.graphic.svg.php b/getid3/module.graphic.svg.php
new file mode 100644
index 0000000..e447145
--- /dev/null
+++ b/getid3/module.graphic.svg.php
@@ -0,0 +1,52 @@
+<?php
+/////////////////////////////////////////////////////////////////
+/// getID3() by James Heinrich <info@getid3.org> //
+// available at http://getid3.sourceforge.net //
+// or http://www.getid3.org //
+/////////////////////////////////////////////////////////////////
+// See readme.txt for more details //
+/////////////////////////////////////////////////////////////////
+// //
+// module.graphic.svg.php //
+// module for analyzing SVG Image files //
+// dependencies: NONE //
+// author: Bryce Harrington <bryceØbryceharrington*org> //
+// ///
+/////////////////////////////////////////////////////////////////
+
+
+class getid3_svg
+{
+
+
+ function getid3_svg(&$fd, &$ThisFileInfo) {
+ fseek($fd, $ThisFileInfo['avdataoffset'], SEEK_SET);
+
+ // I'm making this up, please modify as appropriate
+ $SVGheader = fread($fd, 32);
+ $ThisFileInfo['svg']['magic'] = substr($SVGheader, 0, 4);
+ if ($ThisFileInfo['svg']['magic'] == 'aBcD') {
+
+ $ThisFileInfo['fileformat'] = 'svg';
+ $ThisFileInfo['video']['dataformat'] = 'svg';
+ $ThisFileInfo['video']['lossless'] = true;
+ $ThisFileInfo['video']['bits_per_sample'] = 24;
+ $ThisFileInfo['video']['pixel_aspect_ratio'] = (float) 1;
+
+ $ThisFileInfo['svg']['width'] = getid3_lib::LittleEndian2Int(substr($fileData, 4, 4));
+ $ThisFileInfo['svg']['height'] = getid3_lib::LittleEndian2Int(substr($fileData, 8, 4));
+
+ $ThisFileInfo['video']['resolution_x'] = $ThisFileInfo['svg']['width'];
+ $ThisFileInfo['video']['resolution_y'] = $ThisFileInfo['svg']['height'];
+
+ return true;
+ }
+ $ThisFileInfo['error'][] = 'Did not find SVG magic bytes "aBcD" at '.$ThisFileInfo['avdataoffset'];
+ unset($ThisFileInfo['fileformat']);
+ return false;
+ }
+
+}
+
+
+?> \ No newline at end of file