php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
exif.c File Reference
#include "php.h"
#include "ext/standard/file.h"
#include "php_exif.h"
#include "exif_arginfo.h"
#include <math.h>
#include "php_ini.h"
#include "ext/standard/php_string.h"
#include "ext/standard/php_image.h"
#include "ext/standard/info.h"
#include <sys/types.h>

Go to the source code of this file.

Data Structures

struct  tag_info_type
 
struct  maker_note_type
 
struct  signed_rational
 
struct  unsigned_rational
 
union  _image_info_value
 
struct  image_info_data
 
struct  image_info_list
 
struct  file_section
 
struct  file_section_list
 
struct  thumbnail_data
 
struct  xp_field_type
 
struct  xp_field_list
 
struct  image_info_type
 
struct  jpeg_sof_info
 
struct  exif_offset_info
 

Macros

#define EXIFERR_DC
 
#define EXIFERR_CC
 
#define USE_MBSTRING   zend_hash_str_exists(&module_registry, "mbstring", sizeof("mbstring")-1)
 
#define max(a, b)
 
#define EFREE_IF(ptr)
 
#define MAX_IFD_NESTING_LEVEL   10
 
#define MAX_IFD_TAGS   1000
 
#define EXIF_G(v)
 
#define EXIF_ERRLOG_FILEEOF(ImageInfo)
 
#define EXIF_ERRLOG_CORRUPT(ImageInfo)
 
#define EXIF_ERRLOG_THUMBEOF(ImageInfo)
 
#define EXIF_ERRLOG_FSREALLOC(ImageInfo)
 
#define NUM_FORMATS   13
 
#define TAG_FMT_BYTE   1
 
#define TAG_FMT_STRING   2
 
#define TAG_FMT_USHORT   3
 
#define TAG_FMT_ULONG   4
 
#define TAG_FMT_URATIONAL   5
 
#define TAG_FMT_SBYTE   6
 
#define TAG_FMT_UNDEFINED   7
 
#define TAG_FMT_SSHORT   8
 
#define TAG_FMT_SLONG   9
 
#define TAG_FMT_SRATIONAL   10
 
#define TAG_FMT_SINGLE   11
 
#define TAG_FMT_DOUBLE   12
 
#define TAG_FMT_IFD   13
 
#define TAG_GPS_VERSION_ID   0x0000
 
#define TAG_GPS_LATITUDE_REF   0x0001
 
#define TAG_GPS_LATITUDE   0x0002
 
#define TAG_GPS_LONGITUDE_REF   0x0003
 
#define TAG_GPS_LONGITUDE   0x0004
 
#define TAG_GPS_ALTITUDE_REF   0x0005
 
#define TAG_GPS_ALTITUDE   0x0006
 
#define TAG_GPS_TIME_STAMP   0x0007
 
#define TAG_GPS_SATELLITES   0x0008
 
#define TAG_GPS_STATUS   0x0009
 
#define TAG_GPS_MEASURE_MODE   0x000A
 
#define TAG_GPS_DOP   0x000B
 
#define TAG_GPS_SPEED_REF   0x000C
 
#define TAG_GPS_SPEED   0x000D
 
#define TAG_GPS_TRACK_REF   0x000E
 
#define TAG_GPS_TRACK   0x000F
 
#define TAG_GPS_IMG_DIRECTION_REF   0x0010
 
#define TAG_GPS_IMG_DIRECTION   0x0011
 
#define TAG_GPS_MAP_DATUM   0x0012
 
#define TAG_GPS_DEST_LATITUDE_REF   0x0013
 
#define TAG_GPS_DEST_LATITUDE   0x0014
 
#define TAG_GPS_DEST_LONGITUDE_REF   0x0015
 
#define TAG_GPS_DEST_LONGITUDE   0x0016
 
#define TAG_GPS_DEST_BEARING_REF   0x0017
 
#define TAG_GPS_DEST_BEARING   0x0018
 
#define TAG_GPS_DEST_DISTANCE_REF   0x0019
 
#define TAG_GPS_DEST_DISTANCE   0x001A
 
#define TAG_GPS_PROCESSING_METHOD   0x001B
 
#define TAG_GPS_AREA_INFORMATION   0x001C
 
#define TAG_GPS_DATE_STAMP   0x001D
 
#define TAG_GPS_DIFFERENTIAL   0x001E
 
#define TAG_TIFF_COMMENT   0x00FE /* SHOULDN'T HAPPEN */
 
#define TAG_NEW_SUBFILE   0x00FE /* New version of subfile tag */
 
#define TAG_SUBFILE_TYPE   0x00FF /* Old version of subfile tag */
 
#define TAG_IMAGEWIDTH   0x0100
 
#define TAG_IMAGEHEIGHT   0x0101
 
#define TAG_BITS_PER_SAMPLE   0x0102
 
#define TAG_COMPRESSION   0x0103
 
#define TAG_PHOTOMETRIC_INTERPRETATION   0x0106
 
#define TAG_TRESHHOLDING   0x0107
 
#define TAG_CELL_WIDTH   0x0108
 
#define TAG_CELL_HEIGHT   0x0109
 
#define TAG_FILL_ORDER   0x010A
 
#define TAG_DOCUMENT_NAME   0x010D
 
#define TAG_IMAGE_DESCRIPTION   0x010E
 
#define TAG_MAKE   0x010F
 
#define TAG_MODEL   0x0110
 
#define TAG_STRIP_OFFSETS   0x0111
 
#define TAG_ORIENTATION   0x0112
 
#define TAG_SAMPLES_PER_PIXEL   0x0115
 
#define TAG_ROWS_PER_STRIP   0x0116
 
#define TAG_STRIP_BYTE_COUNTS   0x0117
 
#define TAG_MIN_SAMPPLE_VALUE   0x0118
 
#define TAG_MAX_SAMPLE_VALUE   0x0119
 
#define TAG_X_RESOLUTION   0x011A
 
#define TAG_Y_RESOLUTION   0x011B
 
#define TAG_PLANAR_CONFIGURATION   0x011C
 
#define TAG_PAGE_NAME   0x011D
 
#define TAG_X_POSITION   0x011E
 
#define TAG_Y_POSITION   0x011F
 
#define TAG_FREE_OFFSETS   0x0120
 
#define TAG_FREE_BYTE_COUNTS   0x0121
 
#define TAG_GRAY_RESPONSE_UNIT   0x0122
 
#define TAG_GRAY_RESPONSE_CURVE   0x0123
 
#define TAG_RESOLUTION_UNIT   0x0128
 
#define TAG_PAGE_NUMBER   0x0129
 
#define TAG_TRANSFER_FUNCTION   0x012D
 
#define TAG_SOFTWARE   0x0131
 
#define TAG_DATETIME   0x0132
 
#define TAG_ARTIST   0x013B
 
#define TAG_HOST_COMPUTER   0x013C
 
#define TAG_PREDICTOR   0x013D
 
#define TAG_WHITE_POINT   0x013E
 
#define TAG_PRIMARY_CHROMATICITIES   0x013F
 
#define TAG_COLOR_MAP   0x0140
 
#define TAG_HALFTONE_HINTS   0x0141
 
#define TAG_TILE_WIDTH   0x0142
 
#define TAG_TILE_LENGTH   0x0143
 
#define TAG_TILE_OFFSETS   0x0144
 
#define TAG_TILE_BYTE_COUNTS   0x0145
 
#define TAG_SUB_IFD   0x014A
 
#define TAG_INK_SETMPUTER   0x014C
 
#define TAG_INK_NAMES   0x014D
 
#define TAG_NUMBER_OF_INKS   0x014E
 
#define TAG_DOT_RANGE   0x0150
 
#define TAG_TARGET_PRINTER   0x0151
 
#define TAG_EXTRA_SAMPLE   0x0152
 
#define TAG_SAMPLE_FORMAT   0x0153
 
#define TAG_S_MIN_SAMPLE_VALUE   0x0154
 
#define TAG_S_MAX_SAMPLE_VALUE   0x0155
 
#define TAG_TRANSFER_RANGE   0x0156
 
#define TAG_JPEG_TABLES   0x015B
 
#define TAG_JPEG_PROC   0x0200
 
#define TAG_JPEG_INTERCHANGE_FORMAT   0x0201
 
#define TAG_JPEG_INTERCHANGE_FORMAT_LEN   0x0202
 
#define TAG_JPEG_RESTART_INTERVAL   0x0203
 
#define TAG_JPEG_LOSSLESS_PREDICTOR   0x0205
 
#define TAG_JPEG_POINT_TRANSFORMS   0x0206
 
#define TAG_JPEG_Q_TABLES   0x0207
 
#define TAG_JPEG_DC_TABLES   0x0208
 
#define TAG_JPEG_AC_TABLES   0x0209
 
#define TAG_YCC_COEFFICIENTS   0x0211
 
#define TAG_YCC_SUB_SAMPLING   0x0212
 
#define TAG_YCC_POSITIONING   0x0213
 
#define TAG_REFERENCE_BLACK_WHITE   0x0214
 
#define TAG_COPYRIGHT   0x8298
 
#define TAG_EXPOSURETIME   0x829A
 
#define TAG_FNUMBER   0x829D
 
#define TAG_EXIF_IFD_POINTER   0x8769
 
#define TAG_ICC_PROFILE   0x8773
 
#define TAG_EXPOSURE_PROGRAM   0x8822
 
#define TAG_SPECTRAL_SENSITY   0x8824
 
#define TAG_GPS_IFD_POINTER   0x8825
 
#define TAG_ISOSPEED   0x8827
 
#define TAG_OPTOELECTRIC_CONVERSION_F   0x8828
 
#define TAG_EXIFVERSION   0x9000
 
#define TAG_DATE_TIME_ORIGINAL   0x9003
 
#define TAG_DATE_TIME_DIGITIZED   0x9004
 
#define TAG_COMPONENT_CONFIG   0x9101
 
#define TAG_COMPRESSED_BITS_PER_PIXEL   0x9102
 
#define TAG_SHUTTERSPEED   0x9201
 
#define TAG_APERTURE   0x9202
 
#define TAG_BRIGHTNESS_VALUE   0x9203
 
#define TAG_EXPOSURE_BIAS_VALUE   0x9204
 
#define TAG_MAX_APERTURE   0x9205
 
#define TAG_SUBJECT_DISTANCE   0x9206
 
#define TAG_METRIC_MODULE   0x9207
 
#define TAG_LIGHT_SOURCE   0x9208
 
#define TAG_FLASH   0x9209
 
#define TAG_FOCAL_LENGTH   0x920A
 
#define TAG_SUBJECT_AREA   0x9214
 
#define TAG_MAKER_NOTE   0x927C
 
#define TAG_USERCOMMENT   0x9286
 
#define TAG_SUB_SEC_TIME   0x9290
 
#define TAG_SUB_SEC_TIME_ORIGINAL   0x9291
 
#define TAG_SUB_SEC_TIME_DIGITIZED   0x9292
 
#define TAG_XP_TITLE   0x9C9B
 
#define TAG_XP_COMMENTS   0x9C9C
 
#define TAG_XP_AUTHOR   0x9C9D
 
#define TAG_XP_KEYWORDS   0x9C9E
 
#define TAG_XP_SUBJECT   0x9C9F
 
#define TAG_FLASH_PIX_VERSION   0xA000
 
#define TAG_COLOR_SPACE   0xA001
 
#define TAG_COMP_IMAGE_WIDTH   0xA002 /* compressed images only */
 
#define TAG_COMP_IMAGE_HEIGHT   0xA003
 
#define TAG_RELATED_SOUND_FILE   0xA004
 
#define TAG_INTEROP_IFD_POINTER   0xA005 /* IFD pointer */
 
#define TAG_FLASH_ENERGY   0xA20B
 
#define TAG_SPATIAL_FREQUENCY_RESPONSE   0xA20C
 
#define TAG_FOCALPLANE_X_RES   0xA20E
 
#define TAG_FOCALPLANE_Y_RES   0xA20F
 
#define TAG_FOCALPLANE_RESOLUTION_UNIT   0xA210
 
#define TAG_SUBJECT_LOCATION   0xA214
 
#define TAG_EXPOSURE_INDEX   0xA215
 
#define TAG_SENSING_METHOD   0xA217
 
#define TAG_FILE_SOURCE   0xA300
 
#define TAG_SCENE_TYPE   0xA301
 
#define TAG_CFA_PATTERN   0xA302
 
#define TAG_CUSTOM_RENDERED   0xA401
 
#define TAG_EXPOSURE_MODE   0xA402
 
#define TAG_WHITE_BALANCE   0xA403
 
#define TAG_DIGITAL_ZOOM_RATIO   0xA404
 
#define TAG_FOCAL_LENGTH_IN_35_MM_FILM   0xA405
 
#define TAG_SCENE_CAPTURE_TYPE   0xA406
 
#define TAG_GAIN_CONTROL   0xA407
 
#define TAG_CONTRAST   0xA408
 
#define TAG_SATURATION   0xA409
 
#define TAG_SHARPNESS   0xA40A
 
#define TAG_DEVICE_SETTING_DESCRIPTION   0xA40B
 
#define TAG_SUBJECT_DISTANCE_RANGE   0xA40C
 
#define TAG_IMAGE_UNIQUE_ID   0xA420
 
#define TAG_OLYMPUS_SPECIALMODE   0x0200
 
#define TAG_OLYMPUS_JPEGQUAL   0x0201
 
#define TAG_OLYMPUS_MACRO   0x0202
 
#define TAG_OLYMPUS_DIGIZOOM   0x0204
 
#define TAG_OLYMPUS_SOFTWARERELEASE   0x0207
 
#define TAG_OLYMPUS_PICTINFO   0x0208
 
#define TAG_OLYMPUS_CAMERAID   0x0209
 
#define TAG_NONE   -1 /* note that -1 <> 0xFFFF */
 
#define TAG_COMPUTED_VALUE   -2
 
#define TAG_END_OF_LIST   0xFFFD
 
#define PMI_BLACK_IS_ZERO   0
 
#define PMI_WHITE_IS_ZERO   1
 
#define PMI_RGB   2
 
#define PMI_PALETTE_COLOR   3
 
#define PMI_TRANSPARENCY_MASK   4
 
#define PMI_SEPARATED   5
 
#define PMI_YCBCR   6
 
#define PMI_CIELAB   8
 
#define TAG_TABLE_END
 
#define REQUIRES_CUSTOM_PARSING   NULL
 
#define WORD   unsigned short
 
#define DWORD   unsigned int
 
#define SECTION_FILE   0
 
#define SECTION_COMPUTED   1
 
#define SECTION_ANY_TAG   2
 
#define SECTION_IFD0   3
 
#define SECTION_THUMBNAIL   4
 
#define SECTION_COMMENT   5
 
#define SECTION_APP0   6
 
#define SECTION_EXIF   7
 
#define SECTION_FPIX   8
 
#define SECTION_GPS   9
 
#define SECTION_INTEROP   10
 
#define SECTION_APP12   11
 
#define SECTION_WINXP   12
 
#define SECTION_MAKERNOTE   13
 
#define SECTION_COUNT   14
 
#define FOUND_FILE   (1<<SECTION_FILE)
 
#define FOUND_COMPUTED   (1<<SECTION_COMPUTED)
 
#define FOUND_ANY_TAG   (1<<SECTION_ANY_TAG)
 
#define FOUND_IFD0   (1<<SECTION_IFD0)
 
#define FOUND_THUMBNAIL   (1<<SECTION_THUMBNAIL)
 
#define FOUND_COMMENT   (1<<SECTION_COMMENT)
 
#define FOUND_APP0   (1<<SECTION_APP0)
 
#define FOUND_EXIF   (1<<SECTION_EXIF)
 
#define FOUND_FPIX   (1<<SECTION_FPIX)
 
#define FOUND_GPS   (1<<SECTION_GPS)
 
#define FOUND_INTEROP   (1<<SECTION_INTEROP)
 
#define FOUND_APP12   (1<<SECTION_APP12)
 
#define FOUND_WINXP   (1<<SECTION_WINXP)
 
#define FOUND_MAKERNOTE   (1<<SECTION_MAKERNOTE)
 
#define EXIF_MAX_ERRORS   10
 
#define M_TEM   0x01 /* temp for arithmetic coding */
 
#define M_RES   0x02 /* reserved */
 
#define M_SOF0   0xC0 /* Start Of Frame N */
 
#define M_SOF1   0xC1 /* N indicates which compression process */
 
#define M_SOF2   0xC2 /* Only SOF0-SOF2 are now in common use */
 
#define M_SOF3   0xC3
 
#define M_DHT   0xC4
 
#define M_SOF5   0xC5 /* NB: codes C4 and CC are NOT SOF markers */
 
#define M_SOF6   0xC6
 
#define M_SOF7   0xC7
 
#define M_JPEG   0x08 /* reserved for extensions */
 
#define M_SOF9   0xC9
 
#define M_SOF10   0xCA
 
#define M_SOF11   0xCB
 
#define M_DAC   0xCC /* arithmetic table */
 
#define M_SOF13   0xCD
 
#define M_SOF14   0xCE
 
#define M_SOF15   0xCF
 
#define M_RST0   0xD0 /* restart segment */
 
#define M_RST1   0xD1
 
#define M_RST2   0xD2
 
#define M_RST3   0xD3
 
#define M_RST4   0xD4
 
#define M_RST5   0xD5
 
#define M_RST6   0xD6
 
#define M_RST7   0xD7
 
#define M_SOI   0xD8 /* Start Of Image (beginning of datastream) */
 
#define M_EOI   0xD9 /* End Of Image (end of datastream) */
 
#define M_SOS   0xDA /* Start Of Scan (begins compressed data) */
 
#define M_DQT   0xDB
 
#define M_DNL   0xDC
 
#define M_DRI   0xDD
 
#define M_DHP   0xDE
 
#define M_EXP   0xDF
 
#define M_APP0   0xE0 /* JPEG: 'JFIFF' AND (additional 'JFXX') */
 
#define M_EXIF   0xE1 /* Exif Attribute Information */
 
#define M_APP2   0xE2 /* Flash Pix Extension Data? */
 
#define M_APP3   0xE3
 
#define M_APP4   0xE4
 
#define M_APP5   0xE5
 
#define M_APP6   0xE6
 
#define M_APP7   0xE7
 
#define M_APP8   0xE8
 
#define M_APP9   0xE9
 
#define M_APP10   0xEA
 
#define M_APP11   0xEB
 
#define M_APP12   0xEC
 
#define M_APP13   0xED /* IPTC International Press Telecommunications Council */
 
#define M_APP14   0xEE /* Software, Copyright? */
 
#define M_APP15   0xEF
 
#define M_JPG0   0xF0
 
#define M_JPG1   0xF1
 
#define M_JPG2   0xF2
 
#define M_JPG3   0xF3
 
#define M_JPG4   0xF4
 
#define M_JPG5   0xF5
 
#define M_JPG6   0xF6
 
#define M_JPG7   0xF7
 
#define M_JPG8   0xF8
 
#define M_JPG9   0xF9
 
#define M_JPG10   0xFA
 
#define M_JPG11   0xFB
 
#define M_JPG12   0xFC
 
#define M_JPG13   0xFD
 
#define M_COM   0xFE /* COMment */
 
#define M_PSEUDO   0x123 /* Extra value. */
 
#define REQUIRE_NON_EMPTY()
 

Typedefs

typedef tag_info_type tag_info_array[]
 
typedef tag_info_typetag_table_type
 
typedef enum mn_byte_order_t mn_byte_order_t
 
typedef enum mn_offset_mode_t mn_offset_mode_t
 
typedef union _image_info_value image_info_value
 

Enumerations

enum  mn_byte_order_t { MN_ORDER_INTEL = 0 , MN_ORDER_MOTOROLA = 1 , MN_ORDER_NORMAL }
 
enum  mn_offset_mode_t { MN_OFFSET_NORMAL , MN_OFFSET_MAKER }
 

Functions

 PHP_MINFO_FUNCTION (exif)
 
 ZEND_INI_MH (OnUpdateEncode)
 
 ZEND_INI_MH (OnUpdateDecode)
 
 PHP_MINIT_FUNCTION (exif)
 
 PHP_MSHUTDOWN_FUNCTION (exif)
 
 PHP_FUNCTION (exif_tagname)
 
 PHP_FUNCTION (exif_read_data)
 
 PHP_FUNCTION (exif_thumbnail)
 
 PHP_FUNCTION (exif_imagetype)
 

Variables

char * encode_unicode
 
char * decode_unicode_be
 
char * decode_unicode_le
 
char * encode_jis
 
char * decode_jis_be
 
char * decode_jis_le
 
HashTabletag_table_cache
 
zend_module_entry exif_module_entry
 

Macro Definition Documentation

◆ DWORD

#define DWORD   unsigned int

Definition at line 1762 of file exif.c.

◆ EFREE_IF

#define EFREE_IF ( ptr)
Value:
if (ptr) efree(ptr)
void * ptr
Definition ffi.c:3814
#define efree(ptr)
Definition zend_alloc.h:155

Definition at line 63 of file exif.c.

◆ EXIF_ERRLOG_CORRUPT

#define EXIF_ERRLOG_CORRUPT ( ImageInfo)
Value:
exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "%s", EXIF_ERROR_CORRUPT);
#define EXIFERR_CC
Definition exif.c:37
#define NULL
Definition gdcache.h:45
#define E_WARNING
Definition zend_errors.h:24

Definition at line 246 of file exif.c.

◆ EXIF_ERRLOG_FILEEOF

#define EXIF_ERRLOG_FILEEOF ( ImageInfo)
Value:
exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "%s", EXIF_ERROR_FILEEOF);

Definition at line 245 of file exif.c.

◆ EXIF_ERRLOG_FSREALLOC

#define EXIF_ERRLOG_FSREALLOC ( ImageInfo)
Value:
exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "%s", EXIF_ERROR_FSREALLOC);

Definition at line 248 of file exif.c.

◆ EXIF_ERRLOG_THUMBEOF

#define EXIF_ERRLOG_THUMBEOF ( ImageInfo)
Value:
exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "%s", EXIF_ERROR_THUMBEOF);

Definition at line 247 of file exif.c.

◆ EXIF_G

#define EXIF_G ( v)
Value:
uint32_t v
Definition cdf.c:1237
#define ZEND_MODULE_GLOBALS_ACCESSOR(module_name, v)
Definition zend_API.h:274

Definition at line 100 of file exif.c.

◆ EXIF_MAX_ERRORS

#define EXIF_MAX_ERRORS   10

Definition at line 1997 of file exif.c.

◆ EXIFERR_CC

#define EXIFERR_CC

Definition at line 37 of file exif.c.

◆ EXIFERR_DC

#define EXIFERR_DC

Definition at line 36 of file exif.c.

◆ FOUND_ANY_TAG

#define FOUND_ANY_TAG   (1<<SECTION_ANY_TAG)

Definition at line 1823 of file exif.c.

◆ FOUND_APP0

#define FOUND_APP0   (1<<SECTION_APP0)

Definition at line 1827 of file exif.c.

◆ FOUND_APP12

#define FOUND_APP12   (1<<SECTION_APP12)

Definition at line 1832 of file exif.c.

◆ FOUND_COMMENT

#define FOUND_COMMENT   (1<<SECTION_COMMENT)

Definition at line 1826 of file exif.c.

◆ FOUND_COMPUTED

#define FOUND_COMPUTED   (1<<SECTION_COMPUTED)

Definition at line 1822 of file exif.c.

◆ FOUND_EXIF

#define FOUND_EXIF   (1<<SECTION_EXIF)

Definition at line 1828 of file exif.c.

◆ FOUND_FILE

#define FOUND_FILE   (1<<SECTION_FILE)

Definition at line 1821 of file exif.c.

◆ FOUND_FPIX

#define FOUND_FPIX   (1<<SECTION_FPIX)

Definition at line 1829 of file exif.c.

◆ FOUND_GPS

#define FOUND_GPS   (1<<SECTION_GPS)

Definition at line 1830 of file exif.c.

◆ FOUND_IFD0

#define FOUND_IFD0   (1<<SECTION_IFD0)

Definition at line 1824 of file exif.c.

◆ FOUND_INTEROP

#define FOUND_INTEROP   (1<<SECTION_INTEROP)

Definition at line 1831 of file exif.c.

◆ FOUND_MAKERNOTE

#define FOUND_MAKERNOTE   (1<<SECTION_MAKERNOTE)

Definition at line 1834 of file exif.c.

◆ FOUND_THUMBNAIL

#define FOUND_THUMBNAIL   (1<<SECTION_THUMBNAIL)

Definition at line 1825 of file exif.c.

◆ FOUND_WINXP

#define FOUND_WINXP   (1<<SECTION_WINXP)

Definition at line 1833 of file exif.c.

◆ M_APP0

#define M_APP0   0xE0 /* JPEG: 'JFIFF' AND (additional 'JFXX') */

Definition at line 2650 of file exif.c.

◆ M_APP10

#define M_APP10   0xEA

Definition at line 2660 of file exif.c.

◆ M_APP11

#define M_APP11   0xEB

Definition at line 2661 of file exif.c.

◆ M_APP12

#define M_APP12   0xEC

Definition at line 2662 of file exif.c.

◆ M_APP13

#define M_APP13   0xED /* IPTC International Press Telecommunications Council */

Definition at line 2663 of file exif.c.

◆ M_APP14

#define M_APP14   0xEE /* Software, Copyright? */

Definition at line 2664 of file exif.c.

◆ M_APP15

#define M_APP15   0xEF

Definition at line 2665 of file exif.c.

◆ M_APP2

#define M_APP2   0xE2 /* Flash Pix Extension Data? */

Definition at line 2652 of file exif.c.

◆ M_APP3

#define M_APP3   0xE3

Definition at line 2653 of file exif.c.

◆ M_APP4

#define M_APP4   0xE4

Definition at line 2654 of file exif.c.

◆ M_APP5

#define M_APP5   0xE5

Definition at line 2655 of file exif.c.

◆ M_APP6

#define M_APP6   0xE6

Definition at line 2656 of file exif.c.

◆ M_APP7

#define M_APP7   0xE7

Definition at line 2657 of file exif.c.

◆ M_APP8

#define M_APP8   0xE8

Definition at line 2658 of file exif.c.

◆ M_APP9

#define M_APP9   0xE9

Definition at line 2659 of file exif.c.

◆ M_COM

#define M_COM   0xFE /* COMment */

Definition at line 2680 of file exif.c.

◆ M_DAC

#define M_DAC   0xCC /* arithmetic table */

Definition at line 2630 of file exif.c.

◆ M_DHP

#define M_DHP   0xDE

Definition at line 2648 of file exif.c.

◆ M_DHT

#define M_DHT   0xC4

Definition at line 2622 of file exif.c.

◆ M_DNL

#define M_DNL   0xDC

Definition at line 2646 of file exif.c.

◆ M_DQT

#define M_DQT   0xDB

Definition at line 2645 of file exif.c.

◆ M_DRI

#define M_DRI   0xDD

Definition at line 2647 of file exif.c.

◆ M_EOI

#define M_EOI   0xD9 /* End Of Image (end of datastream) */

Definition at line 2643 of file exif.c.

◆ M_EXIF

#define M_EXIF   0xE1 /* Exif Attribute Information */

Definition at line 2651 of file exif.c.

◆ M_EXP

#define M_EXP   0xDF

Definition at line 2649 of file exif.c.

◆ M_JPEG

#define M_JPEG   0x08 /* reserved for extensions */

Definition at line 2626 of file exif.c.

◆ M_JPG0

#define M_JPG0   0xF0

Definition at line 2666 of file exif.c.

◆ M_JPG1

#define M_JPG1   0xF1

Definition at line 2667 of file exif.c.

◆ M_JPG10

#define M_JPG10   0xFA

Definition at line 2676 of file exif.c.

◆ M_JPG11

#define M_JPG11   0xFB

Definition at line 2677 of file exif.c.

◆ M_JPG12

#define M_JPG12   0xFC

Definition at line 2678 of file exif.c.

◆ M_JPG13

#define M_JPG13   0xFD

Definition at line 2679 of file exif.c.

◆ M_JPG2

#define M_JPG2   0xF2

Definition at line 2668 of file exif.c.

◆ M_JPG3

#define M_JPG3   0xF3

Definition at line 2669 of file exif.c.

◆ M_JPG4

#define M_JPG4   0xF4

Definition at line 2670 of file exif.c.

◆ M_JPG5

#define M_JPG5   0xF5

Definition at line 2671 of file exif.c.

◆ M_JPG6

#define M_JPG6   0xF6

Definition at line 2672 of file exif.c.

◆ M_JPG7

#define M_JPG7   0xF7

Definition at line 2673 of file exif.c.

◆ M_JPG8

#define M_JPG8   0xF8

Definition at line 2674 of file exif.c.

◆ M_JPG9

#define M_JPG9   0xF9

Definition at line 2675 of file exif.c.

◆ M_PSEUDO

#define M_PSEUDO   0x123 /* Extra value. */

Definition at line 2682 of file exif.c.

◆ M_RES

#define M_RES   0x02 /* reserved */

Definition at line 2617 of file exif.c.

◆ M_RST0

#define M_RST0   0xD0 /* restart segment */

Definition at line 2634 of file exif.c.

◆ M_RST1

#define M_RST1   0xD1

Definition at line 2635 of file exif.c.

◆ M_RST2

#define M_RST2   0xD2

Definition at line 2636 of file exif.c.

◆ M_RST3

#define M_RST3   0xD3

Definition at line 2637 of file exif.c.

◆ M_RST4

#define M_RST4   0xD4

Definition at line 2638 of file exif.c.

◆ M_RST5

#define M_RST5   0xD5

Definition at line 2639 of file exif.c.

◆ M_RST6

#define M_RST6   0xD6

Definition at line 2640 of file exif.c.

◆ M_RST7

#define M_RST7   0xD7

Definition at line 2641 of file exif.c.

◆ M_SOF0

#define M_SOF0   0xC0 /* Start Of Frame N */

Definition at line 2618 of file exif.c.

◆ M_SOF1

#define M_SOF1   0xC1 /* N indicates which compression process */

Definition at line 2619 of file exif.c.

◆ M_SOF10

#define M_SOF10   0xCA

Definition at line 2628 of file exif.c.

◆ M_SOF11

#define M_SOF11   0xCB

Definition at line 2629 of file exif.c.

◆ M_SOF13

#define M_SOF13   0xCD

Definition at line 2631 of file exif.c.

◆ M_SOF14

#define M_SOF14   0xCE

Definition at line 2632 of file exif.c.

◆ M_SOF15

#define M_SOF15   0xCF

Definition at line 2633 of file exif.c.

◆ M_SOF2

#define M_SOF2   0xC2 /* Only SOF0-SOF2 are now in common use */

Definition at line 2620 of file exif.c.

◆ M_SOF3

#define M_SOF3   0xC3

Definition at line 2621 of file exif.c.

◆ M_SOF5

#define M_SOF5   0xC5 /* NB: codes C4 and CC are NOT SOF markers */

Definition at line 2623 of file exif.c.

◆ M_SOF6

#define M_SOF6   0xC6

Definition at line 2624 of file exif.c.

◆ M_SOF7

#define M_SOF7   0xC7

Definition at line 2625 of file exif.c.

◆ M_SOF9

#define M_SOF9   0xC9

Definition at line 2627 of file exif.c.

◆ M_SOI

#define M_SOI   0xD8 /* Start Of Image (beginning of datastream) */

Definition at line 2642 of file exif.c.

◆ M_SOS

#define M_SOS   0xDA /* Start Of Scan (begins compressed data) */

Definition at line 2644 of file exif.c.

◆ M_TEM

#define M_TEM   0x01 /* temp for arithmetic coding */

Definition at line 2616 of file exif.c.

◆ max

#define max ( a,
b )
Value:
((a)>(b) ? (a) : (b))
$obj a
Definition test.php:84

Definition at line 60 of file exif.c.

◆ MAX_IFD_NESTING_LEVEL

#define MAX_IFD_NESTING_LEVEL   10

Definition at line 65 of file exif.c.

◆ MAX_IFD_TAGS

#define MAX_IFD_TAGS   1000

Definition at line 66 of file exif.c.

◆ NUM_FORMATS

#define NUM_FORMATS   13

Definition at line 255 of file exif.c.

◆ PMI_BLACK_IS_ZERO

#define PMI_BLACK_IS_ZERO   0

Definition at line 497 of file exif.c.

◆ PMI_CIELAB

#define PMI_CIELAB   8

Definition at line 504 of file exif.c.

◆ PMI_PALETTE_COLOR

#define PMI_PALETTE_COLOR   3

Definition at line 500 of file exif.c.

◆ PMI_RGB

#define PMI_RGB   2

Definition at line 499 of file exif.c.

◆ PMI_SEPARATED

#define PMI_SEPARATED   5

Definition at line 502 of file exif.c.

◆ PMI_TRANSPARENCY_MASK

#define PMI_TRANSPARENCY_MASK   4

Definition at line 501 of file exif.c.

◆ PMI_WHITE_IS_ZERO

#define PMI_WHITE_IS_ZERO   1

Definition at line 498 of file exif.c.

◆ PMI_YCBCR

#define PMI_YCBCR   6

Definition at line 503 of file exif.c.

◆ REQUIRE_NON_EMPTY

#define REQUIRE_NON_EMPTY ( )
Value:
do { \
if (byte_count == 0) { \
exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "Process tag(x%04X=%s): Cannot be empty", tag, exif_get_tagname_debug(tag, tag_table)); \
return false; \
} \
} while (0)

Definition at line 3250 of file exif.c.

◆ REQUIRES_CUSTOM_PARSING

#define REQUIRES_CUSTOM_PARSING   NULL

Definition at line 1288 of file exif.c.

◆ SECTION_ANY_TAG

#define SECTION_ANY_TAG   2

Definition at line 1807 of file exif.c.

◆ SECTION_APP0

#define SECTION_APP0   6

Definition at line 1811 of file exif.c.

◆ SECTION_APP12

#define SECTION_APP12   11

Definition at line 1816 of file exif.c.

◆ SECTION_COMMENT

#define SECTION_COMMENT   5

Definition at line 1810 of file exif.c.

◆ SECTION_COMPUTED

#define SECTION_COMPUTED   1

Definition at line 1806 of file exif.c.

◆ SECTION_COUNT

#define SECTION_COUNT   14

Definition at line 1819 of file exif.c.

◆ SECTION_EXIF

#define SECTION_EXIF   7

Definition at line 1812 of file exif.c.

◆ SECTION_FILE

#define SECTION_FILE   0

Definition at line 1805 of file exif.c.

◆ SECTION_FPIX

#define SECTION_FPIX   8

Definition at line 1813 of file exif.c.

◆ SECTION_GPS

#define SECTION_GPS   9

Definition at line 1814 of file exif.c.

◆ SECTION_IFD0

#define SECTION_IFD0   3

Definition at line 1808 of file exif.c.

◆ SECTION_INTEROP

#define SECTION_INTEROP   10

Definition at line 1815 of file exif.c.

◆ SECTION_MAKERNOTE

#define SECTION_MAKERNOTE   13

Definition at line 1818 of file exif.c.

◆ SECTION_THUMBNAIL

#define SECTION_THUMBNAIL   4

Definition at line 1809 of file exif.c.

◆ SECTION_WINXP

#define SECTION_WINXP   12

Definition at line 1817 of file exif.c.

◆ TAG_APERTURE

#define TAG_APERTURE   0x9202

Definition at line 426 of file exif.c.

◆ TAG_ARTIST

#define TAG_ARTIST   0x013B

Definition at line 363 of file exif.c.

◆ TAG_BITS_PER_SAMPLE

#define TAG_BITS_PER_SAMPLE   0x0102

Definition at line 330 of file exif.c.

◆ TAG_BRIGHTNESS_VALUE

#define TAG_BRIGHTNESS_VALUE   0x9203

Definition at line 427 of file exif.c.

◆ TAG_CELL_HEIGHT

#define TAG_CELL_HEIGHT   0x0109

Definition at line 335 of file exif.c.

◆ TAG_CELL_WIDTH

#define TAG_CELL_WIDTH   0x0108

Definition at line 334 of file exif.c.

◆ TAG_CFA_PATTERN

#define TAG_CFA_PATTERN   0xA302

Definition at line 466 of file exif.c.

◆ TAG_COLOR_MAP

#define TAG_COLOR_MAP   0x0140

Definition at line 368 of file exif.c.

◆ TAG_COLOR_SPACE

#define TAG_COLOR_SPACE   0xA001

Definition at line 451 of file exif.c.

◆ TAG_COMP_IMAGE_HEIGHT

#define TAG_COMP_IMAGE_HEIGHT   0xA003

Definition at line 453 of file exif.c.

◆ TAG_COMP_IMAGE_WIDTH

#define TAG_COMP_IMAGE_WIDTH   0xA002 /* compressed images only */

Definition at line 452 of file exif.c.

◆ TAG_COMPONENT_CONFIG

#define TAG_COMPONENT_CONFIG   0x9101

Definition at line 423 of file exif.c.

◆ TAG_COMPRESSED_BITS_PER_PIXEL

#define TAG_COMPRESSED_BITS_PER_PIXEL   0x9102

Definition at line 424 of file exif.c.

◆ TAG_COMPRESSION

#define TAG_COMPRESSION   0x0103

Definition at line 331 of file exif.c.

◆ TAG_COMPUTED_VALUE

#define TAG_COMPUTED_VALUE   -2

Definition at line 493 of file exif.c.

◆ TAG_CONTRAST

#define TAG_CONTRAST   0xA408

Definition at line 474 of file exif.c.

◆ TAG_COPYRIGHT

#define TAG_COPYRIGHT   0x8298

Definition at line 409 of file exif.c.

◆ TAG_CUSTOM_RENDERED

#define TAG_CUSTOM_RENDERED   0xA401

Definition at line 467 of file exif.c.

◆ TAG_DATE_TIME_DIGITIZED

#define TAG_DATE_TIME_DIGITIZED   0x9004

Definition at line 422 of file exif.c.

◆ TAG_DATE_TIME_ORIGINAL

#define TAG_DATE_TIME_ORIGINAL   0x9003

Definition at line 421 of file exif.c.

◆ TAG_DATETIME

#define TAG_DATETIME   0x0132

Definition at line 362 of file exif.c.

◆ TAG_DEVICE_SETTING_DESCRIPTION

#define TAG_DEVICE_SETTING_DESCRIPTION   0xA40B

Definition at line 477 of file exif.c.

◆ TAG_DIGITAL_ZOOM_RATIO

#define TAG_DIGITAL_ZOOM_RATIO   0xA404

Definition at line 470 of file exif.c.

◆ TAG_DOCUMENT_NAME

#define TAG_DOCUMENT_NAME   0x010D

Definition at line 337 of file exif.c.

◆ TAG_DOT_RANGE

#define TAG_DOT_RANGE   0x0150

Definition at line 378 of file exif.c.

◆ TAG_END_OF_LIST

#define TAG_END_OF_LIST   0xFFFD

Definition at line 494 of file exif.c.

◆ TAG_EXIF_IFD_POINTER

#define TAG_EXIF_IFD_POINTER   0x8769

Definition at line 412 of file exif.c.

◆ TAG_EXIFVERSION

#define TAG_EXIFVERSION   0x9000

Definition at line 420 of file exif.c.

◆ TAG_EXPOSURE_BIAS_VALUE

#define TAG_EXPOSURE_BIAS_VALUE   0x9204

Definition at line 428 of file exif.c.

◆ TAG_EXPOSURE_INDEX

#define TAG_EXPOSURE_INDEX   0xA215

Definition at line 462 of file exif.c.

◆ TAG_EXPOSURE_MODE

#define TAG_EXPOSURE_MODE   0xA402

Definition at line 468 of file exif.c.

◆ TAG_EXPOSURE_PROGRAM

#define TAG_EXPOSURE_PROGRAM   0x8822

Definition at line 414 of file exif.c.

◆ TAG_EXPOSURETIME

#define TAG_EXPOSURETIME   0x829A

Definition at line 410 of file exif.c.

◆ TAG_EXTRA_SAMPLE

#define TAG_EXTRA_SAMPLE   0x0152

Definition at line 380 of file exif.c.

◆ TAG_FILE_SOURCE

#define TAG_FILE_SOURCE   0xA300

Definition at line 464 of file exif.c.

◆ TAG_FILL_ORDER

#define TAG_FILL_ORDER   0x010A

Definition at line 336 of file exif.c.

◆ TAG_FLASH

#define TAG_FLASH   0x9209

Definition at line 433 of file exif.c.

◆ TAG_FLASH_ENERGY

#define TAG_FLASH_ENERGY   0xA20B

Definition at line 456 of file exif.c.

◆ TAG_FLASH_PIX_VERSION

#define TAG_FLASH_PIX_VERSION   0xA000

Definition at line 450 of file exif.c.

◆ TAG_FMT_BYTE

#define TAG_FMT_BYTE   1

Definition at line 257 of file exif.c.

◆ TAG_FMT_DOUBLE

#define TAG_FMT_DOUBLE   12

Definition at line 268 of file exif.c.

◆ TAG_FMT_IFD

#define TAG_FMT_IFD   13

Definition at line 269 of file exif.c.

◆ TAG_FMT_SBYTE

#define TAG_FMT_SBYTE   6

Definition at line 262 of file exif.c.

◆ TAG_FMT_SINGLE

#define TAG_FMT_SINGLE   11

Definition at line 267 of file exif.c.

◆ TAG_FMT_SLONG

#define TAG_FMT_SLONG   9

Definition at line 265 of file exif.c.

◆ TAG_FMT_SRATIONAL

#define TAG_FMT_SRATIONAL   10

Definition at line 266 of file exif.c.

◆ TAG_FMT_SSHORT

#define TAG_FMT_SSHORT   8

Definition at line 264 of file exif.c.

◆ TAG_FMT_STRING

#define TAG_FMT_STRING   2

Definition at line 258 of file exif.c.

◆ TAG_FMT_ULONG

#define TAG_FMT_ULONG   4

Definition at line 260 of file exif.c.

◆ TAG_FMT_UNDEFINED

#define TAG_FMT_UNDEFINED   7

Definition at line 263 of file exif.c.

◆ TAG_FMT_URATIONAL

#define TAG_FMT_URATIONAL   5

Definition at line 261 of file exif.c.

◆ TAG_FMT_USHORT

#define TAG_FMT_USHORT   3

Definition at line 259 of file exif.c.

◆ TAG_FNUMBER

#define TAG_FNUMBER   0x829D

Definition at line 411 of file exif.c.

◆ TAG_FOCAL_LENGTH

#define TAG_FOCAL_LENGTH   0x920A

Definition at line 434 of file exif.c.

◆ TAG_FOCAL_LENGTH_IN_35_MM_FILM

#define TAG_FOCAL_LENGTH_IN_35_MM_FILM   0xA405

Definition at line 471 of file exif.c.

◆ TAG_FOCALPLANE_RESOLUTION_UNIT

#define TAG_FOCALPLANE_RESOLUTION_UNIT   0xA210

Definition at line 460 of file exif.c.

◆ TAG_FOCALPLANE_X_RES

#define TAG_FOCALPLANE_X_RES   0xA20E

Definition at line 458 of file exif.c.

◆ TAG_FOCALPLANE_Y_RES

#define TAG_FOCALPLANE_Y_RES   0xA20F

Definition at line 459 of file exif.c.

◆ TAG_FREE_BYTE_COUNTS

#define TAG_FREE_BYTE_COUNTS   0x0121

Definition at line 355 of file exif.c.

◆ TAG_FREE_OFFSETS

#define TAG_FREE_OFFSETS   0x0120

Definition at line 354 of file exif.c.

◆ TAG_GAIN_CONTROL

#define TAG_GAIN_CONTROL   0xA407

Definition at line 473 of file exif.c.

◆ TAG_GPS_ALTITUDE

#define TAG_GPS_ALTITUDE   0x0006

Definition at line 300 of file exif.c.

◆ TAG_GPS_ALTITUDE_REF

#define TAG_GPS_ALTITUDE_REF   0x0005

Definition at line 299 of file exif.c.

◆ TAG_GPS_AREA_INFORMATION

#define TAG_GPS_AREA_INFORMATION   0x001C

Definition at line 322 of file exif.c.

◆ TAG_GPS_DATE_STAMP

#define TAG_GPS_DATE_STAMP   0x001D

Definition at line 323 of file exif.c.

◆ TAG_GPS_DEST_BEARING

#define TAG_GPS_DEST_BEARING   0x0018

Definition at line 318 of file exif.c.

◆ TAG_GPS_DEST_BEARING_REF

#define TAG_GPS_DEST_BEARING_REF   0x0017

Definition at line 317 of file exif.c.

◆ TAG_GPS_DEST_DISTANCE

#define TAG_GPS_DEST_DISTANCE   0x001A

Definition at line 320 of file exif.c.

◆ TAG_GPS_DEST_DISTANCE_REF

#define TAG_GPS_DEST_DISTANCE_REF   0x0019

Definition at line 319 of file exif.c.

◆ TAG_GPS_DEST_LATITUDE

#define TAG_GPS_DEST_LATITUDE   0x0014

Definition at line 314 of file exif.c.

◆ TAG_GPS_DEST_LATITUDE_REF

#define TAG_GPS_DEST_LATITUDE_REF   0x0013

Definition at line 313 of file exif.c.

◆ TAG_GPS_DEST_LONGITUDE

#define TAG_GPS_DEST_LONGITUDE   0x0016

Definition at line 316 of file exif.c.

◆ TAG_GPS_DEST_LONGITUDE_REF

#define TAG_GPS_DEST_LONGITUDE_REF   0x0015

Definition at line 315 of file exif.c.

◆ TAG_GPS_DIFFERENTIAL

#define TAG_GPS_DIFFERENTIAL   0x001E

Definition at line 324 of file exif.c.

◆ TAG_GPS_DOP

#define TAG_GPS_DOP   0x000B

Definition at line 305 of file exif.c.

◆ TAG_GPS_IFD_POINTER

#define TAG_GPS_IFD_POINTER   0x8825

Definition at line 416 of file exif.c.

◆ TAG_GPS_IMG_DIRECTION

#define TAG_GPS_IMG_DIRECTION   0x0011

Definition at line 311 of file exif.c.

◆ TAG_GPS_IMG_DIRECTION_REF

#define TAG_GPS_IMG_DIRECTION_REF   0x0010

Definition at line 310 of file exif.c.

◆ TAG_GPS_LATITUDE

#define TAG_GPS_LATITUDE   0x0002

Definition at line 296 of file exif.c.

◆ TAG_GPS_LATITUDE_REF

#define TAG_GPS_LATITUDE_REF   0x0001

Definition at line 295 of file exif.c.

◆ TAG_GPS_LONGITUDE

#define TAG_GPS_LONGITUDE   0x0004

Definition at line 298 of file exif.c.

◆ TAG_GPS_LONGITUDE_REF

#define TAG_GPS_LONGITUDE_REF   0x0003

Definition at line 297 of file exif.c.

◆ TAG_GPS_MAP_DATUM

#define TAG_GPS_MAP_DATUM   0x0012

Definition at line 312 of file exif.c.

◆ TAG_GPS_MEASURE_MODE

#define TAG_GPS_MEASURE_MODE   0x000A

Definition at line 304 of file exif.c.

◆ TAG_GPS_PROCESSING_METHOD

#define TAG_GPS_PROCESSING_METHOD   0x001B

Definition at line 321 of file exif.c.

◆ TAG_GPS_SATELLITES

#define TAG_GPS_SATELLITES   0x0008

Definition at line 302 of file exif.c.

◆ TAG_GPS_SPEED

#define TAG_GPS_SPEED   0x000D

Definition at line 307 of file exif.c.

◆ TAG_GPS_SPEED_REF

#define TAG_GPS_SPEED_REF   0x000C

Definition at line 306 of file exif.c.

◆ TAG_GPS_STATUS

#define TAG_GPS_STATUS   0x0009

Definition at line 303 of file exif.c.

◆ TAG_GPS_TIME_STAMP

#define TAG_GPS_TIME_STAMP   0x0007

Definition at line 301 of file exif.c.

◆ TAG_GPS_TRACK

#define TAG_GPS_TRACK   0x000F

Definition at line 309 of file exif.c.

◆ TAG_GPS_TRACK_REF

#define TAG_GPS_TRACK_REF   0x000E

Definition at line 308 of file exif.c.

◆ TAG_GPS_VERSION_ID

#define TAG_GPS_VERSION_ID   0x0000

Definition at line 294 of file exif.c.

◆ TAG_GRAY_RESPONSE_CURVE

#define TAG_GRAY_RESPONSE_CURVE   0x0123

Definition at line 357 of file exif.c.

◆ TAG_GRAY_RESPONSE_UNIT

#define TAG_GRAY_RESPONSE_UNIT   0x0122

Definition at line 356 of file exif.c.

◆ TAG_HALFTONE_HINTS

#define TAG_HALFTONE_HINTS   0x0141

Definition at line 369 of file exif.c.

◆ TAG_HOST_COMPUTER

#define TAG_HOST_COMPUTER   0x013C

Definition at line 364 of file exif.c.

◆ TAG_ICC_PROFILE

#define TAG_ICC_PROFILE   0x8773

Definition at line 413 of file exif.c.

◆ TAG_IMAGE_DESCRIPTION

#define TAG_IMAGE_DESCRIPTION   0x010E

Definition at line 338 of file exif.c.

◆ TAG_IMAGE_UNIQUE_ID

#define TAG_IMAGE_UNIQUE_ID   0xA420

Definition at line 479 of file exif.c.

◆ TAG_IMAGEHEIGHT

#define TAG_IMAGEHEIGHT   0x0101

Definition at line 329 of file exif.c.

◆ TAG_IMAGEWIDTH

#define TAG_IMAGEWIDTH   0x0100

Definition at line 328 of file exif.c.

◆ TAG_INK_NAMES

#define TAG_INK_NAMES   0x014D

Definition at line 376 of file exif.c.

◆ TAG_INK_SETMPUTER

#define TAG_INK_SETMPUTER   0x014C

Definition at line 375 of file exif.c.

◆ TAG_INTEROP_IFD_POINTER

#define TAG_INTEROP_IFD_POINTER   0xA005 /* IFD pointer */

Definition at line 455 of file exif.c.

◆ TAG_ISOSPEED

#define TAG_ISOSPEED   0x8827

Definition at line 417 of file exif.c.

◆ TAG_JPEG_AC_TABLES

#define TAG_JPEG_AC_TABLES   0x0209

Definition at line 394 of file exif.c.

◆ TAG_JPEG_DC_TABLES

#define TAG_JPEG_DC_TABLES   0x0208

Definition at line 393 of file exif.c.

◆ TAG_JPEG_INTERCHANGE_FORMAT

#define TAG_JPEG_INTERCHANGE_FORMAT   0x0201

Definition at line 387 of file exif.c.

◆ TAG_JPEG_INTERCHANGE_FORMAT_LEN

#define TAG_JPEG_INTERCHANGE_FORMAT_LEN   0x0202

Definition at line 388 of file exif.c.

◆ TAG_JPEG_LOSSLESS_PREDICTOR

#define TAG_JPEG_LOSSLESS_PREDICTOR   0x0205

Definition at line 390 of file exif.c.

◆ TAG_JPEG_POINT_TRANSFORMS

#define TAG_JPEG_POINT_TRANSFORMS   0x0206

Definition at line 391 of file exif.c.

◆ TAG_JPEG_PROC

#define TAG_JPEG_PROC   0x0200

Definition at line 386 of file exif.c.

◆ TAG_JPEG_Q_TABLES

#define TAG_JPEG_Q_TABLES   0x0207

Definition at line 392 of file exif.c.

◆ TAG_JPEG_RESTART_INTERVAL

#define TAG_JPEG_RESTART_INTERVAL   0x0203

Definition at line 389 of file exif.c.

◆ TAG_JPEG_TABLES

#define TAG_JPEG_TABLES   0x015B

Definition at line 385 of file exif.c.

◆ TAG_LIGHT_SOURCE

#define TAG_LIGHT_SOURCE   0x9208

Definition at line 432 of file exif.c.

◆ TAG_MAKE

#define TAG_MAKE   0x010F

Definition at line 339 of file exif.c.

◆ TAG_MAKER_NOTE

#define TAG_MAKER_NOTE   0x927C

Definition at line 438 of file exif.c.

◆ TAG_MAX_APERTURE

#define TAG_MAX_APERTURE   0x9205

Definition at line 429 of file exif.c.

◆ TAG_MAX_SAMPLE_VALUE

#define TAG_MAX_SAMPLE_VALUE   0x0119

Definition at line 347 of file exif.c.

◆ TAG_METRIC_MODULE

#define TAG_METRIC_MODULE   0x9207

Definition at line 431 of file exif.c.

◆ TAG_MIN_SAMPPLE_VALUE

#define TAG_MIN_SAMPPLE_VALUE   0x0118

Definition at line 346 of file exif.c.

◆ TAG_MODEL

#define TAG_MODEL   0x0110

Definition at line 340 of file exif.c.

◆ TAG_NEW_SUBFILE

#define TAG_NEW_SUBFILE   0x00FE /* New version of subfile tag */

Definition at line 326 of file exif.c.

◆ TAG_NONE

#define TAG_NONE   -1 /* note that -1 <> 0xFFFF */

Definition at line 492 of file exif.c.

◆ TAG_NUMBER_OF_INKS

#define TAG_NUMBER_OF_INKS   0x014E

Definition at line 377 of file exif.c.

◆ TAG_OLYMPUS_CAMERAID

#define TAG_OLYMPUS_CAMERAID   0x0209

Definition at line 488 of file exif.c.

◆ TAG_OLYMPUS_DIGIZOOM

#define TAG_OLYMPUS_DIGIZOOM   0x0204

Definition at line 485 of file exif.c.

◆ TAG_OLYMPUS_JPEGQUAL

#define TAG_OLYMPUS_JPEGQUAL   0x0201

Definition at line 483 of file exif.c.

◆ TAG_OLYMPUS_MACRO

#define TAG_OLYMPUS_MACRO   0x0202

Definition at line 484 of file exif.c.

◆ TAG_OLYMPUS_PICTINFO

#define TAG_OLYMPUS_PICTINFO   0x0208

Definition at line 487 of file exif.c.

◆ TAG_OLYMPUS_SOFTWARERELEASE

#define TAG_OLYMPUS_SOFTWARERELEASE   0x0207

Definition at line 486 of file exif.c.

◆ TAG_OLYMPUS_SPECIALMODE

#define TAG_OLYMPUS_SPECIALMODE   0x0200

Definition at line 482 of file exif.c.

◆ TAG_OPTOELECTRIC_CONVERSION_F

#define TAG_OPTOELECTRIC_CONVERSION_F   0x8828

Definition at line 418 of file exif.c.

◆ TAG_ORIENTATION

#define TAG_ORIENTATION   0x0112

Definition at line 342 of file exif.c.

◆ TAG_PAGE_NAME

#define TAG_PAGE_NAME   0x011D

Definition at line 351 of file exif.c.

◆ TAG_PAGE_NUMBER

#define TAG_PAGE_NUMBER   0x0129

Definition at line 359 of file exif.c.

◆ TAG_PHOTOMETRIC_INTERPRETATION

#define TAG_PHOTOMETRIC_INTERPRETATION   0x0106

Definition at line 332 of file exif.c.

◆ TAG_PLANAR_CONFIGURATION

#define TAG_PLANAR_CONFIGURATION   0x011C

Definition at line 350 of file exif.c.

◆ TAG_PREDICTOR

#define TAG_PREDICTOR   0x013D

Definition at line 365 of file exif.c.

◆ TAG_PRIMARY_CHROMATICITIES

#define TAG_PRIMARY_CHROMATICITIES   0x013F

Definition at line 367 of file exif.c.

◆ TAG_REFERENCE_BLACK_WHITE

#define TAG_REFERENCE_BLACK_WHITE   0x0214

Definition at line 398 of file exif.c.

◆ TAG_RELATED_SOUND_FILE

#define TAG_RELATED_SOUND_FILE   0xA004

Definition at line 454 of file exif.c.

◆ TAG_RESOLUTION_UNIT

#define TAG_RESOLUTION_UNIT   0x0128

Definition at line 358 of file exif.c.

◆ TAG_ROWS_PER_STRIP

#define TAG_ROWS_PER_STRIP   0x0116

Definition at line 344 of file exif.c.

◆ TAG_S_MAX_SAMPLE_VALUE

#define TAG_S_MAX_SAMPLE_VALUE   0x0155

Definition at line 383 of file exif.c.

◆ TAG_S_MIN_SAMPLE_VALUE

#define TAG_S_MIN_SAMPLE_VALUE   0x0154

Definition at line 382 of file exif.c.

◆ TAG_SAMPLE_FORMAT

#define TAG_SAMPLE_FORMAT   0x0153

Definition at line 381 of file exif.c.

◆ TAG_SAMPLES_PER_PIXEL

#define TAG_SAMPLES_PER_PIXEL   0x0115

Definition at line 343 of file exif.c.

◆ TAG_SATURATION

#define TAG_SATURATION   0xA409

Definition at line 475 of file exif.c.

◆ TAG_SCENE_CAPTURE_TYPE

#define TAG_SCENE_CAPTURE_TYPE   0xA406

Definition at line 472 of file exif.c.

◆ TAG_SCENE_TYPE

#define TAG_SCENE_TYPE   0xA301

Definition at line 465 of file exif.c.

◆ TAG_SENSING_METHOD

#define TAG_SENSING_METHOD   0xA217

Definition at line 463 of file exif.c.

◆ TAG_SHARPNESS

#define TAG_SHARPNESS   0xA40A

Definition at line 476 of file exif.c.

◆ TAG_SHUTTERSPEED

#define TAG_SHUTTERSPEED   0x9201

Definition at line 425 of file exif.c.

◆ TAG_SOFTWARE

#define TAG_SOFTWARE   0x0131

Definition at line 361 of file exif.c.

◆ TAG_SPATIAL_FREQUENCY_RESPONSE

#define TAG_SPATIAL_FREQUENCY_RESPONSE   0xA20C

Definition at line 457 of file exif.c.

◆ TAG_SPECTRAL_SENSITY

#define TAG_SPECTRAL_SENSITY   0x8824

Definition at line 415 of file exif.c.

◆ TAG_STRIP_BYTE_COUNTS

#define TAG_STRIP_BYTE_COUNTS   0x0117

Definition at line 345 of file exif.c.

◆ TAG_STRIP_OFFSETS

#define TAG_STRIP_OFFSETS   0x0111

Definition at line 341 of file exif.c.

◆ TAG_SUB_IFD

#define TAG_SUB_IFD   0x014A

Definition at line 374 of file exif.c.

◆ TAG_SUB_SEC_TIME

#define TAG_SUB_SEC_TIME   0x9290

Definition at line 440 of file exif.c.

◆ TAG_SUB_SEC_TIME_DIGITIZED

#define TAG_SUB_SEC_TIME_DIGITIZED   0x9292

Definition at line 442 of file exif.c.

◆ TAG_SUB_SEC_TIME_ORIGINAL

#define TAG_SUB_SEC_TIME_ORIGINAL   0x9291

Definition at line 441 of file exif.c.

◆ TAG_SUBFILE_TYPE

#define TAG_SUBFILE_TYPE   0x00FF /* Old version of subfile tag */

Definition at line 327 of file exif.c.

◆ TAG_SUBJECT_AREA

#define TAG_SUBJECT_AREA   0x9214

Definition at line 437 of file exif.c.

◆ TAG_SUBJECT_DISTANCE

#define TAG_SUBJECT_DISTANCE   0x9206

Definition at line 430 of file exif.c.

◆ TAG_SUBJECT_DISTANCE_RANGE

#define TAG_SUBJECT_DISTANCE_RANGE   0xA40C

Definition at line 478 of file exif.c.

◆ TAG_SUBJECT_LOCATION

#define TAG_SUBJECT_LOCATION   0xA214

Definition at line 461 of file exif.c.

◆ TAG_TABLE_END

#define TAG_TABLE_END
Value:
{TAG_NONE, "No tag value"},\
{TAG_COMPUTED_VALUE, "Computed value"},\
{TAG_END_OF_LIST, ""} /* Important for exif_get_tagname() IF value != "" function result is != false */
#define TAG_NONE
Definition exif.c:492
#define TAG_END_OF_LIST
Definition exif.c:494
#define TAG_COMPUTED_VALUE
Definition exif.c:493

Definition at line 517 of file exif.c.

◆ TAG_TARGET_PRINTER

#define TAG_TARGET_PRINTER   0x0151

Definition at line 379 of file exif.c.

◆ TAG_TIFF_COMMENT

#define TAG_TIFF_COMMENT   0x00FE /* SHOULDN'T HAPPEN */

Definition at line 325 of file exif.c.

◆ TAG_TILE_BYTE_COUNTS

#define TAG_TILE_BYTE_COUNTS   0x0145

Definition at line 373 of file exif.c.

◆ TAG_TILE_LENGTH

#define TAG_TILE_LENGTH   0x0143

Definition at line 371 of file exif.c.

◆ TAG_TILE_OFFSETS

#define TAG_TILE_OFFSETS   0x0144

Definition at line 372 of file exif.c.

◆ TAG_TILE_WIDTH

#define TAG_TILE_WIDTH   0x0142

Definition at line 370 of file exif.c.

◆ TAG_TRANSFER_FUNCTION

#define TAG_TRANSFER_FUNCTION   0x012D

Definition at line 360 of file exif.c.

◆ TAG_TRANSFER_RANGE

#define TAG_TRANSFER_RANGE   0x0156

Definition at line 384 of file exif.c.

◆ TAG_TRESHHOLDING

#define TAG_TRESHHOLDING   0x0107

Definition at line 333 of file exif.c.

◆ TAG_USERCOMMENT

#define TAG_USERCOMMENT   0x9286

Definition at line 439 of file exif.c.

◆ TAG_WHITE_BALANCE

#define TAG_WHITE_BALANCE   0xA403

Definition at line 469 of file exif.c.

◆ TAG_WHITE_POINT

#define TAG_WHITE_POINT   0x013E

Definition at line 366 of file exif.c.

◆ TAG_X_POSITION

#define TAG_X_POSITION   0x011E

Definition at line 352 of file exif.c.

◆ TAG_X_RESOLUTION

#define TAG_X_RESOLUTION   0x011A

Definition at line 348 of file exif.c.

◆ TAG_XP_AUTHOR

#define TAG_XP_AUTHOR   0x9C9D

Definition at line 447 of file exif.c.

◆ TAG_XP_COMMENTS

#define TAG_XP_COMMENTS   0x9C9C

Definition at line 446 of file exif.c.

◆ TAG_XP_KEYWORDS

#define TAG_XP_KEYWORDS   0x9C9E

Definition at line 448 of file exif.c.

◆ TAG_XP_SUBJECT

#define TAG_XP_SUBJECT   0x9C9F

Definition at line 449 of file exif.c.

◆ TAG_XP_TITLE

#define TAG_XP_TITLE   0x9C9B

Definition at line 445 of file exif.c.

◆ TAG_Y_POSITION

#define TAG_Y_POSITION   0x011F

Definition at line 353 of file exif.c.

◆ TAG_Y_RESOLUTION

#define TAG_Y_RESOLUTION   0x011B

Definition at line 349 of file exif.c.

◆ TAG_YCC_COEFFICIENTS

#define TAG_YCC_COEFFICIENTS   0x0211

Definition at line 395 of file exif.c.

◆ TAG_YCC_POSITIONING

#define TAG_YCC_POSITIONING   0x0213

Definition at line 397 of file exif.c.

◆ TAG_YCC_SUB_SAMPLING

#define TAG_YCC_SUB_SAMPLING   0x0212

Definition at line 396 of file exif.c.

◆ USE_MBSTRING

#define USE_MBSTRING   zend_hash_str_exists(&module_registry, "mbstring", sizeof("mbstring")-1)

Definition at line 40 of file exif.c.

◆ WORD

#define WORD   unsigned short

Definition at line 1759 of file exif.c.

Typedef Documentation

◆ image_info_value

◆ mn_byte_order_t

◆ mn_offset_mode_t

◆ tag_info_array

typedef tag_info_type tag_info_array[]

Definition at line 514 of file exif.c.

◆ tag_table_type

Definition at line 515 of file exif.c.

Enumeration Type Documentation

◆ mn_byte_order_t

Enumerator
MN_ORDER_INTEL 
MN_ORDER_MOTOROLA 
MN_ORDER_NORMAL 

Definition at line 1266 of file exif.c.

◆ mn_offset_mode_t

Enumerator
MN_OFFSET_NORMAL 
MN_OFFSET_MAKER 

Definition at line 1272 of file exif.c.

Function Documentation

◆ PHP_FUNCTION() [1/4]

PHP_FUNCTION ( exif_imagetype )

Definition at line 4786 of file exif.c.

◆ PHP_FUNCTION() [2/4]

PHP_FUNCTION ( exif_read_data )

Definition at line 4492 of file exif.c.

◆ PHP_FUNCTION() [3/4]

PHP_FUNCTION ( exif_tagname )

Definition at line 2768 of file exif.c.

◆ PHP_FUNCTION() [4/4]

PHP_FUNCTION ( exif_thumbnail )

Definition at line 4699 of file exif.c.

◆ PHP_MINFO_FUNCTION()

PHP_MINFO_FUNCTION ( exif )

Definition at line 69 of file exif.c.

◆ PHP_MINIT_FUNCTION()

PHP_MINIT_FUNCTION ( exif )

Definition at line 165 of file exif.c.

◆ PHP_MSHUTDOWN_FUNCTION()

PHP_MSHUTDOWN_FUNCTION ( exif )

Definition at line 176 of file exif.c.

◆ ZEND_INI_MH() [1/2]

ZEND_INI_MH ( OnUpdateDecode )

Definition at line 123 of file exif.c.

◆ ZEND_INI_MH() [2/2]

ZEND_INI_MH ( OnUpdateEncode )

Definition at line 108 of file exif.c.

Variable Documentation

◆ decode_jis_be

char* decode_jis_be

Definition at line 94 of file exif.c.

◆ decode_jis_le

char* decode_jis_le

Definition at line 95 of file exif.c.

◆ decode_unicode_be

char* decode_unicode_be

Definition at line 91 of file exif.c.

◆ decode_unicode_le

char* decode_unicode_le

Definition at line 92 of file exif.c.

◆ encode_jis

char* encode_jis

Definition at line 93 of file exif.c.

◆ encode_unicode

char* encode_unicode

Definition at line 90 of file exif.c.

◆ exif_module_entry

zend_module_entry exif_module_entry
Initial value:
= {
exif_module_deps,
"exif",
ext_functions,
PHP_MINIT(exif),
PHP_MINFO(exif),
PHP_GINIT(exif),
}
#define PHP_GINIT
Definition php.h:397
#define PHP_MINFO
Definition php.h:396
#define PHP_MSHUTDOWN
Definition php.h:393
#define PHP_MINIT
Definition php.h:392
#define PHP_MODULE_GLOBALS
Definition php.h:408
#define PHP_EXIF_VERSION
Definition php_exif.h:19
#define STANDARD_MODULE_PROPERTIES_EX
#define STANDARD_MODULE_HEADER_EX

Definition at line 196 of file exif.c.

◆ tag_table_cache

HashTable* tag_table_cache

Definition at line 96 of file exif.c.