xref: /aosp_15_r20/external/libexif/README (revision 735d6239c16e246968a03ef6e2db00d67bad6cdc)
1*735d6239SKiyoung Kim				    libexif
2*735d6239SKiyoung Kim				    -------
3*735d6239SKiyoung Kim
4*735d6239SKiyoung KimDESCRIPTION
5*735d6239SKiyoung Kim-----------
6*735d6239SKiyoung Kim
7*735d6239SKiyoung Kimlibexif is a library for parsing, editing, and saving EXIF data. It is
8*735d6239SKiyoung Kimintended to replace lots of redundant implementations in command-line
9*735d6239SKiyoung Kimutilities and programs with GUIs.
10*735d6239SKiyoung Kim
11*735d6239SKiyoung Kim
12*735d6239SKiyoung KimFEATURES
13*735d6239SKiyoung Kim--------
14*735d6239SKiyoung Kim
15*735d6239SKiyoung Kimlibexif supports parsing, editing and saving of EXIF data. In addition, it
16*735d6239SKiyoung Kimhas gettext support. All EXIF tags described in EXIF standard 2.1 (and most
17*735d6239SKiyoung Kimfrom 2.2) are supported.  Many maker notes from Canon, Casio, Epson,
18*735d6239SKiyoung KimFuji, Nikon, Olympus, Pentax and Sanyo cameras are also supported.
19*735d6239SKiyoung Kim
20*735d6239SKiyoung Kim
21*735d6239SKiyoung KimREQUIREMENTS
22*735d6239SKiyoung Kim------------
23*735d6239SKiyoung Kim
24*735d6239SKiyoung Kimlibexif is written in plain C and does not require any additional library.
25*735d6239SKiyoung KimGNU gettext will be used for language translation, if available.
26*735d6239SKiyoung Kim
27*735d6239SKiyoung Kim
28*735d6239SKiyoung KimLIMITATIONS
29*735d6239SKiyoung Kim-----------
30*735d6239SKiyoung Kim
31*735d6239SKiyoung Kimlibexif can only handle some maker notes, and even those not very well. More
32*735d6239SKiyoung Kimwork needs to be done. Note that libmnote has been merged with libexif - it
33*735d6239SKiyoung Kimis no longer needed.
34*735d6239SKiyoung Kim
35*735d6239SKiyoung Kim
36*735d6239SKiyoung KimUSAGE
37*735d6239SKiyoung Kim-----
38*735d6239SKiyoung Kim
39*735d6239SKiyoung KimWe have documented the libexif API using doxygen and are making
40*735d6239SKiyoung Kimthe results available at http://libexif.sourceforge.net/api/
41*735d6239SKiyoung Kim
42*735d6239SKiyoung KimThe short test programs in the test directory illustrates how to create
43*735d6239SKiyoung Kimvalid EXIF data from scratch, how to save EXIF data and how to load EXIF
44*735d6239SKiyoung Kimdata from data in memory. There are also a few simple example programs
45*735d6239SKiyoung Kimavailable in the contrib/examples/ directory.  Don't hesitate to contact
46*735d6239SKiyoung Kimus at <[email protected]> if you have any questions
47*735d6239SKiyoung Kimon how to use libexif.
48*735d6239SKiyoung Kim
49*735d6239SKiyoung KimTo link to libexif into your own package, we recommend using the
50*735d6239SKiyoung Kimpkgconfig utility (cf. http://www.freedesktop.org/wiki/Software/pkg-config/ For
51*735d6239SKiyoung Kimyour convenience, libexif both provides libexif-uninstalled.pc and
52*735d6239SKiyoung Kiminstalls libexif.pc.
53*735d6239SKiyoung Kim
54*735d6239SKiyoung Kim
55*735d6239SKiyoung KimFRONTENDS
56*735d6239SKiyoung Kim---------
57*735d6239SKiyoung Kim
58*735d6239SKiyoung KimRight now, I know of the following frontends to libexif:
59*735d6239SKiyoung Kim - exif:     A small command-line utility to show EXIF information in JPEG
60*735d6239SKiyoung Kim             files (http://www.sourceforge.net/projects/libexif).
61*735d6239SKiyoung Kim - gexif:    A GTK+ frontend for editing EXIF data
62*735d6239SKiyoung Kim             (http://www.sourceforge.net/projects/libexif).
63*735d6239SKiyoung Kim - gphoto2:  A command-line frontend to libgphoto2, a library to access a
64*735d6239SKiyoung Kim             wide range of digital cameras (http://www.gphoto.org).
65*735d6239SKiyoung Kim - gtkam:    A GTK+ frontend to libgphoto2 (http://www.gphoto.org).
66*735d6239SKiyoung Kim - thirdeye: Digital photos organizer and driver for eComStation
67*735d6239SKiyoung Kim             (http://ecomstation.ru/thirdeye).
68*735d6239SKiyoung Kim - digikam:  digital photo management application for KDE
69*735d6239SKiyoung Kim             (http://www.digikam.org/)
70*735d6239SKiyoung Kim
71*735d6239SKiyoung KimIf you would like to migrate your program to use libexif or add EXIF support
72*735d6239SKiyoung Kimto it, don't hesitate to contact the authors.
73*735d6239SKiyoung Kim
74*735d6239SKiyoung Kim
75*735d6239SKiyoung KimLIBRARIES
76*735d6239SKiyoung Kim---------
77*735d6239SKiyoung Kim
78*735d6239SKiyoung KimI know of the following libraries that use or have been inspired by libexif:
79*735d6239SKiyoung Kim - libexif-gtk: library of widgets to help display EXIF tags in GTK
80*735d6239SKiyoung Kim   programs (part of the libexif project)
81*735d6239SKiyoung Kim - pel: PHP-Code (http://pel.sourceforge.net)
82*735d6239SKiyoung Kim
83*735d6239SKiyoung Kim
84*735d6239SKiyoung KimBUILDING
85*735d6239SKiyoung Kim--------
86*735d6239SKiyoung Kim
87*735d6239SKiyoung KimIt really depends on your environment what to do in order to get libexif
88*735d6239SKiyoung Kimto build. Building from the source tar ball usually involves the commands:
89*735d6239SKiyoung Kim
90*735d6239SKiyoung Kim  ./configure
91*735d6239SKiyoung Kim  make
92*735d6239SKiyoung Kim  sudo make install
93*735d6239SKiyoung Kim
94*735d6239SKiyoung KimWhen building from source out of CVS, something like the following will be
95*735d6239SKiyoung Kimnecessary:
96*735d6239SKiyoung Kim
97*735d6239SKiyoung Kim  gettextize
98*735d6239SKiyoung Kim  mv po/Makevars.template po/Makevars
99*735d6239SKiyoung Kim  aclocal -I auto-m4 -I m4m
100*735d6239SKiyoung Kim  autoheader
101*735d6239SKiyoung Kim  libtoolize --force
102*735d6239SKiyoung Kim  automake --add-missing
103*735d6239SKiyoung Kim  autoconf
104*735d6239SKiyoung Kim  ./configure
105*735d6239SKiyoung Kim  make
106*735d6239SKiyoung Kim
107*735d6239SKiyoung KimOr, probably just:
108*735d6239SKiyoung Kim
109*735d6239SKiyoung Kim  autoreconf -i
110*735d6239SKiyoung Kim  ./configure
111*735d6239SKiyoung Kim  make
112*735d6239SKiyoung Kim
113*735d6239SKiyoung KimBesides the standard arguments, configure takes several specific to libexif:
114*735d6239SKiyoung Kim
115*735d6239SKiyoung Kim  --disable-docs          To disable producing any documentation
116*735d6239SKiyoung Kim  --enable-internal-docs  Build internal code docs if Doxygen available
117*735d6239SKiyoung Kim  --enable-ship-binaries  To include Windows DLLs in 'make dist'
118*735d6239SKiyoung Kim
119*735d6239SKiyoung KimCertain specialized applications can reduce the size of the libexif
120*735d6239SKiyoung Kimbinary by setting one or both of the following macros in the CPPFLAGS
121*735d6239SKiyoung Kimenvironment variable at configure time.  Each one removes certain kinds of
122*735d6239SKiyoung Kimtext strings and constants from the binary.  Applications which need
123*735d6239SKiyoung Kimto access specific, known EXIF tags and know in advance the meaning of
124*735d6239SKiyoung Kimtheir data have no need of those strings and can save considerable space
125*735d6239SKiyoung Kimby eliminating them.
126*735d6239SKiyoung Kim
127*735d6239SKiyoung Kim -DNO_VERBOSE_TAG_STRINGS Names and descriptions of EXIF tags, debug messages,
128*735d6239SKiyoung Kim                          mandatory EXIF fields (disabling auto-tag-fixup)
129*735d6239SKiyoung Kim -DNO_VERBOSE_TAG_DATA    Names of enumerated tag data contents
130*735d6239SKiyoung Kim
131*735d6239SKiyoung Kim
132*735d6239SKiyoung KimINTERNATIONALIZATION
133*735d6239SKiyoung Kim--------------------
134*735d6239SKiyoung Kim
135*735d6239SKiyoung KimThe libexif translations are made by volunteers working on their own,
136*735d6239SKiyoung Kimeither directly with the libexif project or through one of two translation
137*735d6239SKiyoung Kimcoordination sites, the Translation Project
138*735d6239SKiyoung Kim<http://translationproject.org/domain/libexif.html> and Launchpad
139*735d6239SKiyoung Kim<https://translations.edge.launchpad.net/ubuntu/precise/+source/libexif/+pots/libexif-12>.
140*735d6239SKiyoung KimAny updates to language translations coordinated by the Translation Project
141*735d6239SKiyoung Kimmust be made through their web site, but all other languages can be
142*735d6239SKiyoung Kimupdated either through Launchpad (preferred) or by sending updates to
143*735d6239SKiyoung Kimthe libexif developers mailing list directly.  As of this writing, the
144*735d6239SKiyoung Kimfollowing languages must be updated through the Translation Project:
145*735d6239SKiyoung Kimcs da de es fr it ja nl pl sk sv uk vi
146*735d6239SKiyoung Kim
147*735d6239SKiyoung KimIf you are interested in translating libexif into a new language, we
148*735d6239SKiyoung Kimrecommend that you join one of the above translation groups and take
149*735d6239SKiyoung Kimadvantage of the systems they have built to help you.  A translation
150*735d6239SKiyoung Kimdisclaimer is NOT required for libexif at the Translation Project; by making
151*735d6239SKiyoung Kima translation, you agree implicitly to provide it under the same license
152*735d6239SKiyoung Kimterms as the rest of libexif (LGPL).
153*735d6239SKiyoung Kim
154*735d6239SKiyoung Kim
155*735d6239SKiyoung KimAUTHORS
156*735d6239SKiyoung Kim-------
157*735d6239SKiyoung Kim
158*735d6239SKiyoung Kimlibexif has originally been written by Curtis Galloway
159*735d6239SKiyoung Kim<[email protected]>. Because of the original design not
160*735d6239SKiyoung Kimsupporting editing and saving, Lutz Mueller <[email protected]>
161*735d6239SKiyoung Kimrewrote libexif from scratch. Since then, many more people have contributed
162*735d6239SKiyoung Kimto libexif.
163*735d6239SKiyoung Kim
164*735d6239SKiyoung Kim
165*735d6239SKiyoung KimLINKS
166*735d6239SKiyoung Kim-----
167*735d6239SKiyoung Kim
168*735d6239SKiyoung KimSome links you might want to check out if you are interested in further
169*735d6239SKiyoung Kiminformation about EXIF.
170*735d6239SKiyoung Kim
171*735d6239SKiyoung Kim - http://drewnoakes.com/code/exif: metadata extraction framework in Java
172*735d6239SKiyoung Kim - http://www.exif.org: information about the EXIF standard.
173*735d6239SKiyoung Kim - http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/index.html: Looks
174*735d6239SKiyoung Kim   like libexif in Perl. Seems to support a lot of MakerNotes.
175