getID3() by James Heinrich info@.nosp@m.geti.nosp@m.d3.or.nosp@m.g //
More...
◆ Analyze()
Definition at line 21 of file module.graphic.gif.php.
References $info, getid3_handler\fread(), getid3_handler\fseek(), getid3_lib\LittleEndian2Int(), and getid3_lib\PrintHexBytes().
22 $info = &$this->getid3->info;
24 $info[
'fileformat'] =
'gif';
25 $info[
'video'][
'dataformat'] =
'gif';
26 $info[
'video'][
'lossless'] =
true;
27 $info[
'video'][
'pixel_aspect_ratio'] = (float) 1;
30 $GIFheader = $this->
fread(13);
33 $info[
'gif'][
'header'][
'raw'][
'identifier'] = substr($GIFheader, $offset, 3);
37 if (
$info[
'gif'][
'header'][
'raw'][
'identifier'] != $magic) {
39 unset(
$info[
'fileformat']);
44 $info[
'gif'][
'header'][
'raw'][
'version'] = substr($GIFheader, $offset, 3);
57 $info[
'video'][
'resolution_x'] =
$info[
'gif'][
'header'][
'raw'][
'width'];
58 $info[
'video'][
'resolution_y'] =
$info[
'gif'][
'header'][
'raw'][
'height'];
59 $info[
'gif'][
'version'] =
$info[
'gif'][
'header'][
'raw'][
'version'];
60 $info[
'gif'][
'header'][
'flags'][
'global_color_table'] = (bool) (
$info[
'gif'][
'header'][
'raw'][
'flags'] & 0x80);
61 if (
$info[
'gif'][
'header'][
'raw'][
'flags'] & 0x80) {
63 $info[
'gif'][
'header'][
'bits_per_pixel'] = 3 * (((
$info[
'gif'][
'header'][
'raw'][
'flags'] & 0x70) >> 4) + 1);
65 $info[
'gif'][
'header'][
'bits_per_pixel'] = 0;
67 $info[
'gif'][
'header'][
'flags'][
'global_color_sorted'] = (bool) (
$info[
'gif'][
'header'][
'raw'][
'flags'] & 0x40);
68 if (
$info[
'gif'][
'header'][
'flags'][
'global_color_table']) {
71 $info[
'gif'][
'header'][
'global_color_size'] = pow(2, (
$info[
'gif'][
'header'][
'raw'][
'flags'] & 0x07) + 1);
72 $info[
'video'][
'bits_per_sample'] = (
$info[
'gif'][
'header'][
'raw'][
'flags'] & 0x07) + 1;
74 $info[
'gif'][
'header'][
'global_color_size'] = 0;
76 if (
$info[
'gif'][
'header'][
'raw'][
'aspect_ratio'] != 0) {
78 $info[
'gif'][
'header'][
'aspect_ratio'] = (
$info[
'gif'][
'header'][
'raw'][
'aspect_ratio'] + 15) / 64;
LittleEndian2Int($byteword, $signed=false)
fseek($bytes, $whence=SEEK_SET)
PrintHexBytes($string, $hex=true, $spaces=true, $htmlsafe=true)
◆ getid3_gif()
getid3_gif::getid3_gif |
( |
& |
$fd, |
|
|
& |
$ThisFileInfo |
|
) |
| |
Definition at line 20 of file module.graphic.gif.php.
References getid3_handler\fread(), getid3_handler\fseek(), and getid3_lib\LittleEndian2Int().
21 $ThisFileInfo[
'fileformat'] =
'gif';
22 $ThisFileInfo[
'video'][
'dataformat'] =
'gif';
23 $ThisFileInfo[
'video'][
'lossless'] =
true;
24 $ThisFileInfo[
'video'][
'pixel_aspect_ratio'] = (float) 1;
26 fseek($fd, $ThisFileInfo[
'avdataoffset'], SEEK_SET);
27 $GIFheader =
fread($fd, 13);
30 $ThisFileInfo[
'gif'][
'header'][
'raw'][
'identifier'] = substr($GIFheader, $offset, 3);
33 if ($ThisFileInfo[
'gif'][
'header'][
'raw'][
'identifier'] !=
'GIF') {
34 $ThisFileInfo[
'error'][] =
'Expecting "GIF" at offset '.$ThisFileInfo[
'avdataoffset'].
', found "'.$ThisFileInfo[
'gif'][
'header'][
'raw'][
'identifier'].
'"';
35 unset($ThisFileInfo[
'fileformat']);
36 unset($ThisFileInfo[
'gif']);
40 $ThisFileInfo[
'gif'][
'header'][
'raw'][
'version'] = substr($GIFheader, $offset, 3);
53 $ThisFileInfo[
'video'][
'resolution_x'] = $ThisFileInfo[
'gif'][
'header'][
'raw'][
'width'];
54 $ThisFileInfo[
'video'][
'resolution_y'] = $ThisFileInfo[
'gif'][
'header'][
'raw'][
'height'];
55 $ThisFileInfo[
'gif'][
'version'] = $ThisFileInfo[
'gif'][
'header'][
'raw'][
'version'];
56 $ThisFileInfo[
'gif'][
'header'][
'flags'][
'global_color_table'] = (bool) ($ThisFileInfo[
'gif'][
'header'][
'raw'][
'flags'] & 0x80);
57 if ($ThisFileInfo[
'gif'][
'header'][
'raw'][
'flags'] & 0x80) {
59 $ThisFileInfo[
'gif'][
'header'][
'bits_per_pixel'] = 3 * ((($ThisFileInfo[
'gif'][
'header'][
'raw'][
'flags'] & 0x70) >> 4) + 1);
61 $ThisFileInfo[
'gif'][
'header'][
'bits_per_pixel'] = 0;
63 $ThisFileInfo[
'gif'][
'header'][
'flags'][
'global_color_sorted'] = (bool) ($ThisFileInfo[
'gif'][
'header'][
'raw'][
'flags'] & 0x40);
64 if ($ThisFileInfo[
'gif'][
'header'][
'flags'][
'global_color_table']) {
67 $ThisFileInfo[
'gif'][
'header'][
'global_color_size'] = pow(2, ($ThisFileInfo[
'gif'][
'header'][
'raw'][
'flags'] & 0x07) + 1);
68 $ThisFileInfo[
'video'][
'bits_per_sample'] = ($ThisFileInfo[
'gif'][
'header'][
'raw'][
'flags'] & 0x07) + 1;
70 $ThisFileInfo[
'gif'][
'header'][
'global_color_size'] = 0;
72 if ($ThisFileInfo[
'gif'][
'header'][
'raw'][
'aspect_ratio'] != 0) {
74 $ThisFileInfo[
'gif'][
'header'][
'aspect_ratio'] = ($ThisFileInfo[
'gif'][
'header'][
'raw'][
'aspect_ratio'] + 15) / 64;
LittleEndian2Int($byteword, $signed=false)
fseek($bytes, $whence=SEEK_SET)
◆ GetLSBits() [1/2]
getid3_gif::GetLSBits |
( |
|
$fd, |
|
|
|
$bits |
|
) |
| |
Definition at line 167 of file module.graphic.gif.php.
References getid3_handler\fread().
168 static $bitbuffer =
'';
169 while (strlen($bitbuffer) < $bits) {
171 $bitbuffer = str_pad(decbin(ord(
fread($fd, 1))), 8,
'0', STR_PAD_LEFT).$bitbuffer;
174 $value = bindec(substr($bitbuffer, 0 - $bits));
175 $bitbuffer = substr($bitbuffer, 0, 0 - $bits);
◆ GetLSBits() [2/2]
getid3_gif::GetLSBits |
( |
|
$bits | ) |
|
Definition at line 171 of file module.graphic.gif.php.
References getid3_handler\fread().
172 static $bitbuffer =
'';
173 while (strlen($bitbuffer) < $bits) {
174 $bitbuffer = str_pad(decbin(ord($this->
fread(1))), 8,
'0', STR_PAD_LEFT).$bitbuffer;
176 $value = bindec(substr($bitbuffer, 0 - $bits));
177 $bitbuffer = substr($bitbuffer, 0, 0 - $bits);
The documentation for this class was generated from the following file: