2010-07-14 18 views
5

Gibt es ein theoretisches Maximum für die Anzahl der Metadaten (EXIF usw.), die in eine JPEG-Datei eingefügt werden können? Ich möchte einen Puffer reservieren, der sicherstellt, dass er ausreicht, um die Metadaten für ein JPEG-Bild zu speichern, ohne dass ich es selbst analysieren muss.Wie groß ist die maximale Größe von JPEG-Metadaten?

Antwort

9

Es gibt kein theoretisches Maximum, da bestimmte APP-Markierungen mehrfach verwendet werden können (z.B. APP1 wird sowohl für den EXIF-Header als auch für den XMP-Block verwendet). Es gibt auch nichts, was mehrere Kommentarblöcke verhindern könnte.

In der Praxis ist die eine, die viel häufiger in einer großen Kopfzeile führt, speziell die APP2-Markierung, die verwendet wird, um das ICC-Farbprofil für das Bild zu speichern. Da einige komplizierte Farbprofile mehrere Megabyte groß sein können, wird es tatsächlich in viele APP2-Blöcke aufgeteilt (da jeder APP-Block eine 16-Bit-Adressierungsgrenze hat).

3

Jeder APPN-Datenbereich hat ein Längenfeld von 2 Bytes, also würde 65536 den größten halten. Wenn Sie nur über die EXIF-Daten besorgt sind, wäre es ein bisschen weniger.
http://www.fileformat.info/format/jpeg/egff.htm Es gibt maximal 16 verschiedene APPN-Marker in einer einzigen Datei. Ich glaube nicht, dass sie wiederholt werden können, also sollte 16 * 65K der theoretische Maximalwert sein.

+0

Danke edgman. Es sieht so aus, als ob einige der Markierungen effektiv auf Längen von weniger als 64K fixiert sind, so dass eine niedrigere theoretische Grenze berechnet werden könnte, aber Ihre grobe Berechnung ist gut genug für meine Zwecke. – darrinm

+1

Grayson Langs Antwort ist die richtige. Es gibt nichts, was mehrere Blöcke desselben Markers verhindern könnte. –

+0

auf linux, die wrjpgcom und rdjpgcom tools sind extrem nützlich ... das ist, wo ich am Ende viel text daten drängen. – phyatt

Verwandte Themen