apps/web/imgsrv/exif.php File Reference

Go to the source code of this file.

Enumerations

enum  EXIF_ASCII
enum  EXIF_SHORT
enum  EXIF_LONG
enum  EXIF_RATIONAL
enum  EXIF_SBYTE
enum  EXIF_UNDEFINED
enum  EXIF_SSHORT
enum  EXIF_SLONG
enum  EXIF_SRATIONAL
enum  EXIF_LSEEK_ENABLE

Functions

 hexdump ($data)
 ======================================= Functions ======================================
 print_directory ($dir_entries)
 test_print_header ()
 test_print_directory ()
 start_ifd ($count)
 finish_ifd ()
 addDirEntry ($ifd_entry)
 substitute_value ($ifd_entry)
 process_ifd_entry ($ifd_entry, $group)

Variables

 $ExifDeviceTemplateFilename = "/dev/exif_template"
 $ExifDeviceMetadirFilename = "/dev/exif_metadir"
 $ExifDeviceExifFilename = "/dev/exif_exif"
 $ExifDeviceMetaFilename = "/dev/exif_meta"
 $ExifXMLName = "/etc/Exif_template.xml"
 $init = false
 $init = true
 $noGPS = ($_GET["noGPS"]!==NULL)
 $nocompass = ($_GET["nocompass"]!==NULL)
 $Exif_length_offset = 2
 $exif_data
 $xml_exif = simplexml_load_file($ExifXMLName)
 $IFD_offset = count($exif_data)
 $SUB_IFD_offset = 12*count($xml_exif->Image->children())+2+4+$IFD_offset
 $GPSInfo_offset = 12*count($xml_exif->Photo->children())+2+4+$SUB_IFD_offset
 $data_offset = $GPSInfo_offset+(($xml_exif->GPSInfo)?(12*count($xml_exif->GPSInfo->children())+2+4):0)
 $ifd_pointer = $IFD_offset
 $data_pointer = $data_offset
 $ifd_pointer = $SUB_IFD_offset
 $exif_len = count($exif_head)+count($exif_data)-$Exif_length_offset
 $exif_head [$Exif_length_offset] = ($exif_len >> 8) & 0xff
 $exif_head [$Exif_length_offset+1] = $exif_len & 0xff
 $Exif_str = ""
 $Exif_file = fopen($ExifDeviceTemplateFilename, 'w')
 $dir_sequence = array()
 Exif template is done, now we need a directory to map frame meta data to fields in the template.
 $dir_entries = array()
 $frame_meta_size = 0
 $Exif_meta_file = fopen($ExifDeviceMetadirFilename, 'w')
 $Exif_file = fopen($ExifDeviceTemplateFilename, 'w')
 Rebuild buffer and enable Exif generation/output:.
 $metadir = fread ($Exif_file, 4096)
 $dir_entries = array()


Enumeration Type Documentation

enum EXIF_ASCII

Definition at line 110 of file exif.php.

enum EXIF_LONG

Definition at line 112 of file exif.php.

enum EXIF_LSEEK_ENABLE

Definition at line 120 of file exif.php.

enum EXIF_RATIONAL

Definition at line 113 of file exif.php.

enum EXIF_SBYTE

Definition at line 114 of file exif.php.

enum EXIF_SHORT

Definition at line 111 of file exif.php.

enum EXIF_SLONG

Definition at line 117 of file exif.php.

enum EXIF_SRATIONAL

Definition at line 118 of file exif.php.

enum EXIF_SSHORT

Definition at line 116 of file exif.php.

enum EXIF_UNDEFINED

Definition at line 115 of file exif.php.


Function Documentation

addDirEntry ( ifd_entry  ) 

Definition at line 419 of file exif.php.

References $dir_entries, $dir_sequence, $exif_head, and min.

finish_ifd (  ) 

Definition at line 408 of file exif.php.

References $exif_data, and $ifd_pointer.

hexdump ( data  ) 

======================================= Functions ======================================

Definition at line 314 of file exif.php.

References $d, $data, $exif_data, and $exif_head.

print_directory ( dir_entries  ) 

Definition at line 345 of file exif.php.

References $dir_entries.

process_ifd_entry ( ifd_entry,
group 
)

Definition at line 464 of file exif.php.

References $d, $data_pointer, $exif_data, $GPSInfo_offset, $ifd_pointer, and $SUB_IFD_offset.

start_ifd ( count  ) 

Definition at line 402 of file exif.php.

References $exif_data, and $ifd_pointer.

substitute_value ( ifd_entry  ) 

Definition at line 437 of file exif.php.

References $GPSInfo_offset, $s, and $SUB_IFD_offset.

test_print_directory (  ) 

Definition at line 389 of file exif.php.

References $dir_entries, and $frame_meta_size.

test_print_header (  ) 

Definition at line 357 of file exif.php.

References $d, $exif_data, and $exif_head.


Variable Documentation

$data_offset = $GPSInfo_offset+(($xml_exif->GPSInfo)?(12*count($xml_exif->GPSInfo->children())+2+4):0)

Definition at line 152 of file exif.php.

$data_pointer = $data_offset

Definition at line 168 of file exif.php.

Referenced by process_ifd_entry().

$dir_entries = array()

Definition at line 246 of file exif.php.

$dir_entries = array()

Definition at line 198 of file exif.php.

Referenced by addDirEntry(), print_directory(), and test_print_directory().

$dir_sequence = array()

Exif template is done, now we need a directory to map frame meta data to fields in the template.

Definition at line 197 of file exif.php.

Referenced by addDirEntry().

$exif_data

Initial value:

 array (// start of TIFF Header, data offsets will match indexes in this array
          0x4d,0x4d, // (MM) Big endian, MSB goes first in multi-byte data
          0x00,0x2a,  // Tag Mark
          0x00,0x00,0x00,0x08)

Definition at line 131 of file exif.php.

Referenced by finish_ifd(), hexdump(), process_ifd_entry(), start_ifd(), and test_print_header().

$Exif_file = fopen($ExifDeviceTemplateFilename, 'w')

Rebuild buffer and enable Exif generation/output:.

Definition at line 221 of file exif.php.

$Exif_file = fopen($ExifDeviceTemplateFilename, 'w')

Definition at line 192 of file exif.php.

$exif_head[$Exif_length_offset+1] = $exif_len & 0xff

Definition at line 186 of file exif.php.

$exif_head[$Exif_length_offset] = ($exif_len >> 8) & 0xff

Definition at line 185 of file exif.php.

Referenced by addDirEntry(), hexdump(), and test_print_header().

$exif_len = count($exif_head)+count($exif_data)-$Exif_length_offset

Definition at line 184 of file exif.php.

$Exif_length_offset = 2

Definition at line 129 of file exif.php.

$Exif_meta_file = fopen($ExifDeviceMetadirFilename, 'w')

Definition at line 215 of file exif.php.

$Exif_str = ""

Definition at line 188 of file exif.php.

$ExifDeviceExifFilename = "/dev/exif_exif"

Definition at line 72 of file exif.php.

$ExifDeviceMetadirFilename = "/dev/exif_metadir"

Definition at line 71 of file exif.php.

$ExifDeviceMetaFilename = "/dev/exif_meta"

Definition at line 73 of file exif.php.

$ExifDeviceTemplateFilename = "/dev/exif_template"

Definition at line 70 of file exif.php.

$ExifXMLName = "/etc/Exif_template.xml"

if called from the command line - accepts just one parameter - configuration file, through CGI - accepts more parameters

Definition at line 79 of file exif.php.

$frame_meta_size = 0

Definition at line 207 of file exif.php.

Referenced by test_print_directory().

$GPSInfo_offset = 12*count($xml_exif->Photo->children())+2+4+$SUB_IFD_offset

Definition at line 151 of file exif.php.

Referenced by process_ifd_entry(), and substitute_value().

$IFD_offset = count($exif_data)

Definition at line 149 of file exif.php.

$ifd_pointer = $SUB_IFD_offset

Definition at line 173 of file exif.php.

$ifd_pointer = $IFD_offset

Definition at line 167 of file exif.php.

Referenced by finish_ifd(), process_ifd_entry(), and start_ifd().

$init = true

Definition at line 84 of file exif.php.

$init = false

Definition at line 80 of file exif.php.

$metadir = fread ($Exif_file, 4096)

Definition at line 244 of file exif.php.

$nocompass = ($_GET["nocompass"]!==NULL)

Definition at line 86 of file exif.php.

$noGPS = ($_GET["noGPS"]!==NULL)

Definition at line 85 of file exif.php.

$SUB_IFD_offset = 12*count($xml_exif->Image->children())+2+4+$IFD_offset

Definition at line 150 of file exif.php.

Referenced by process_ifd_entry(), and substitute_value().

$xml_exif = simplexml_load_file($ExifXMLName)

Definition at line 135 of file exif.php.


Generated on Thu Aug 7 16:20:00 2008 for elphel by  doxygen 1.5.1