backwards incompatibility with upload extensions.
* BMP images are now displayed as PNG
* (bug 13471) Added NUMBERINGROUP magic word
+* (bug 11884) Now support Flash EXIF attribute
=== Bug fixes in 1.14 ===
}
break;
- // TODO: Flash
+ case 'Flash':
+ $flashDecode = array(
+ 'fired' => $val & bindec( '00000001' ),
+ 'return' => ($val & bindec( '00000110' )) >> 1,
+ 'mode' => ($val & bindec( '00011000' )) >> 3,
+ 'function' => ($val & bindec( '00100000' )) >> 5,
+ 'redeye' => ($val & bindec( '01000000' )) >> 6,
+// 'reserved' => ($val & bindec( '10000000' )) >> 7,
+ );
+
+ # We do not need to handle unknown values since all are used.
+ foreach( $flashDecode as $subTag => $subValue ) {
+ # We do not need any message for zeroed values.
+ if( $subTag != 'fired' && $subValue == 0) {
+ continue;
+ }
+ $fullTag = $tag . '-' . $subTag ;
+ $flashMsgs[] = $this->msg( $fullTag, $subValue );
+ }
+ $tags[$tag] = join( ',', $flashMsgs );
+ break;
+
case 'FocalPlaneResolutionUnit':
switch( $val ) {
case 2:
'exif-lightsource-24' => 'ISO studio tungsten',
'exif-lightsource-255' => 'Other light source',
+'exif-flash-fired-0' => 'Flash did not fire',
+'exif-flash-fired-1' => 'Flash fired',
+'exif-flash-return-0' => 'no strobe return detection function',
+'exif-flash-return-2' => 'strobe return light not detected',
+'exif-flash-return-3' => 'strobe return light detected',
+'exif-flash-mode-1' => 'compuslory flash firing',
+'exif-flash-mode-2' => 'compuslory flash suppression',
+'exif-flash-mode-3' => 'auto mode',
+'exif-flash-function-1' => 'No flash function',
+'exif-flash-redeye-1' => 'red-eye reduction mode',
+
'exif-focalplaneresolutionunit-2' => 'inches',
'exif-sensingmethod-1' => 'Undefined',
'exif-lightsource-19',
'exif-lightsource-24',
'exif-lightsource-255',
+ 'exif-flash-fired-0' ,
+ 'exif-flash-fired-1' ,
+ 'exif-flash-return-0' ,
+ 'exif-flash-return-2' ,
+ 'exif-flash-return-3' ,
+ 'exif-flash-mode-1' ,
+ 'exif-flash-mode-2' ,
+ 'exif-flash-mode-3' ,
+ 'exif-flash-function-1' ,
+ 'exif-flash-redeye-1' ,
'exif-focalplaneresolutionunit-2',
'exif-sensingmethod-1',
'exif-sensingmethod-2',
'exif-lightsource-24',
'exif-lightsource-255',
),
+ 'exif-flash' => array(
+ 'exif-flash-fired-0' ,
+ 'exif-flash-fired-1' ,
+ 'exif-flash-return-0' ,
+ 'exif-flash-return-2' ,
+ 'exif-flash-return-3' ,
+ 'exif-flash-mode-1' ,
+ 'exif-flash-mode-2' ,
+ 'exif-flash-mode-3' ,
+ 'exif-flash-function-1' ,
+ 'exif-flash-redeye-1' ,
+ ),
'exif-focalplaneresolutionunit' => array(
'exif-focalplaneresolutionunit-2',
),
'exif-subjectdistance-value' => '',
'exif-meteringmode' => '',
'exif-lightsource' => '',
+ 'exif-flash' => 'Flash modes',
'exif-focalplaneresolutionunit' => '',
'exif-sensingmethod' => '',
'exif-filesource' => '',