%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/image/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/image/exif.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(require 'cl-lib)
#@38 Alist of tag values and their names.
(defvar exif-tag-alist '((11 processing-software) (271 make) (272 model) (274 orientation) (282 x-resolution) (283 y-resolution) (296 resolution-unit) (305 software) (306 date-time) (315 artist)) (#$ . 426))
#@114 Alist of Exif orientation codes.
These are mapped onto rotation values and whether the image is
mirrored or not.
(defconst exif--orientation '((1 0 nil) (2 0 t) (3 180 nil) (4 180 t) (5 90 nil) (6 90 t) (7 270 nil) (8 270 t)) (#$ . 678))
(define-error 'exif-error "Invalid Exif data")
#@167 Parse FILE (a JPEG file) and return the Exif data, if any.
The return value is a list of Exif items.

If the data is invalid, an `exif-error' is signaled.

(fn FILE)
(defalias 'exif-parse-file #[257 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311\312!\210\313!\210\314 *\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 set-buffer-multibyte nil insert-file-contents-literally exif-parse-buffer] 8 (#$ . 970)])
#@197 Parse BUFFER (which should be a JPEG file) and return the Exif data, if any.
The return value is a list of Exif items.

If the data is invalid, an `exif-error' is signaled.

(fn &optional BUFFER)
(defalias 'exif-parse-buffer #[256 "\211\206p\262r\211q\210\203I\302\303!r\211q\210\304\305\306\307\310!\311\"\312$\216\313\314!\210prq\210\315ed	$\210)\316\317 \236A\211\205?\320!\262\262*\262\202W\316\317 \236A\211\205U\320!\262)\207" [enable-multibyte-characters buffer-file-coding-system generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 set-buffer-multibyte nil encode-coding-region 65505 exif--parse-jpeg exif--parse-exif-chunk] 8 (#$ . 1480)])
#@115 Return the orientation (in degrees) in EXIF.
If the orientation isn't present in the data, return nil.

(fn EXIF)
(defalias 'exif-orientation #[257 "\301\302\303\304\305$\306\"\211\236A@\207" [exif--orientation plist-get cl-find orientation :key #[257 "\300\301\"\207" [plist-get :tag-name] 4 "\n\n(fn E)"] :value] 7 (#$ . 2222)])
(defalias 'exif--parse-jpeg #[0 "\300\301!\302U\204
\303\304\305\"\210\306\211\211\300\301!\262\300\301!\262\307U\204.\310\301Z!BB\262\202\211\237\207" [exif--read-number-be 2 65496 signal exif-error "Not a valid JPEG file" nil 65498 exif--read-chunk] 7])
#@13 

(fn DATA)
(defalias 'exif--parse-exif-chunk #[257 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311\312!\210c\210eb\210\313\314!\315\316\317\320\321\303\211&\232\2042\322\323\324\"\210e`|\210\313\310!\211\325\267\202G\312\202N\326\202N\322\323\327\330\"\"\331\310\"\332U\204\\\322\323\333\"\210\331\310\"\211TdV\203l\322\323\334\"\210\211Tb\210\335!\262\266\202*\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 set-buffer-multibyte nil exif--read-chunk 6 string 69 120 105 102 signal exif-error "Not a valid Exif chunk" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("MM" 63 "II" 67)) t format "Invalid endian-ness %s" exif--read-number 42 "Invalid TIFF header length" "Invalid IFD (directory) offset" exif--parse-directory] 10 (#$ . 2829)])
#@15 

(fn NUMBER)
(defalias 'exif--field-format #[257 "\211\300\267\202\301\302B\207\303\302B\207\304\305B\207\306\307B\207\310\311B\207\312\302B\207" [#s(hash-table size 5 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (1 6 2 10 3 14 4 18 5 22)) byte 1 ascii short 2 long 4 rational 8 unknown] 3 (#$ . 3725)])
#@11 

(fn LE)
(defalias 'exif--parse-directory #[257 "\301\302\"\303\211\211\211\211\211S\211\262\304Y\203\225\301\302	\"\262\301\302	\"\262\305!\262\301\306	\"A_\262\301\306	\"\262\307\310\236A@\311	\312\n@\313\314\f\306V\203pT
\\dV\203c\315\316\317\"\210T\fT\\{\202\206
@\320=\203\204\321\fS#\202\206@#\257\nB\262\202\n\211\237\266\207\301\306\"\211\304V\203\273\211TdV\203\257\315\316\322\"\210\211Tb\210\323!\244\202\274\262\207" [exif-tag-alist exif--read-number 2 nil 0 exif--field-format 4 :tag :tag-name :format :format-type :value exif--process-value signal exif-error "Premature end of file" ascii exif--direct-ascii-value "Invalid IFD (directory) next-offset" exif--parse-directory] 22 (#$ . 4058)])
#@115 Make VALUE into a zero-terminated string.
VALUE is an integer representing BYTES characters.

(fn VALUE BYTES LE)
(defalias 'exif--direct-ascii-value #[771 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311\312!\210\203=\303\211W\2038\211\313\314\315_\"\316\"c\266\211T\262\202\266\202`\303\211W\203^\211\313\314SZ\315_\"\316\"c\266\211T\262\202?\266\303c\210\317 *\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 set-buffer-multibyte nil logand lsh -8 255 buffer-string] 12 (#$ . 4832)])
#@65 Do type-based post-processing of the value.

(fn VALUE TYPE LE)
(defalias 'exif--process-value #[771 "\300\267\2026\301\302GS#\207\303\304!r\211q\210\305\302\306\307\310!\311\"\312$\216\313\314!\210c\210eb\210\315\316\"\315\316\"*B\207\207" [#s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (quote 6 ascii 6 rational 14)) substring 0 generate-new-buffer " *temp*" make-byte-code "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 set-buffer-multibyte nil exif--read-number 4] 10 (#$ . 5443)])
#@78 Return BYTES octets from the buffer and advance point that much.

(fn BYTES)
(defalias 'exif--read-chunk #[257 "`\\dV\203
\300\301\302\"\210``\\{u\210\207" [signal exif-error "Premature end of file"] 4 (#$ . 6010)])
#@118 Read BYTES octets from the buffer as a chunk of big-endian bytes.
Advance point to after the read bytes.

(fn BYTES)
(defalias 'exif--read-number-be #[257 "`\\dV\203
\300\301\302\"\210\303\303\211W\203)\211\304_g\\\262\305u\266\211T\262\202\266\211\207" [signal exif-error "Premature end of file" 0 256 1] 7 (#$ . 6237)])
#@118 Read BYTES octets from the buffer as a chunk of low-endian bytes.
Advance point to after the read bytes.

(fn BYTES)
(defalias 'exif--read-number-le #[257 "`\\dV\203
\300\301\302\"\210\303\303\211W\203,\211g\304\305\"_\\\262\306u\266\211T\262\202\266\211\207" [signal exif-error "Premature end of file" 0 expt 256 1] 9 (#$ . 6578)])
#@143 Read BYTES octets from the buffer with endianness determined by LOWER-ENDIAN.
Advance point to after the read bytes.

(fn BYTES LOWER-ENDIAN)
(defalias 'exif--read-number #[514 "\211\203\300!\207\301!\207" [exif--read-number-le exif--read-number-be] 4 (#$ . 6931)])
(provide 'exif)

Zerion Mini Shell 1.0