< prev index next >

src/java.desktop/share/classes/javax/imageio/metadata/doc-files/jpeg_metadata.html

Print this page

        

*** 1,10 **** ! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> ! <html> <head> <!-- ! Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. This code is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 only, as published by the Free Software Foundation. Oracle designates this --- 1,13 ---- ! <!doctype html> ! <html lang="en"> <head> + <meta charset="utf-8"/> + <title>JPEG Metadata Format Specification and Usage Notes</title> + </head> <!-- ! Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. This code is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 only, as published by the Free Software Foundation. Oracle designates this
*** 24,41 **** Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA or visit www.oracle.com if you need additional information or have any questions. --> ! <title>JPEG Metadata Format Specification and Usage Notes</title> ! </head> ! ! <body bgcolor="white"> ! <center><h1> ! JPEG Metadata Format Specification and Usage Notes ! </h1></center> <p> <a href=#metadata>JPEG Metadata</a><br> <a href=#abbrev>Abbreviated Streams</a><br> <a href=#tables>Sources of Tables</a><br> --- 27,39 ---- Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA or visit www.oracle.com if you need additional information or have any questions. --> ! <body> ! <h1>JPEG Metadata Format Specification and Usage Notes</h1> <p> <a href=#metadata>JPEG Metadata</a><br> <a href=#abbrev>Abbreviated Streams</a><br> <a href=#tables>Sources of Tables</a><br>
*** 56,66 **** <p> The JPEG writer does not support replacing pixels. <h2> ! <a name=metadata>JPEG Metadata</a> </h2> JPEG metadata consists of the data contained in marker segments in a JPEG stream. The image metadata object returned from a read describes the contents of the marker segments between the <code>SOI</code> marker and the <code>EOI</code> marker for that image. The image metadata object --- 54,64 ---- <p> The JPEG writer does not support replacing pixels. <h2> ! <a id=metadata>JPEG Metadata</a> </h2> JPEG metadata consists of the data contained in marker segments in a JPEG stream. The image metadata object returned from a read describes the contents of the marker segments between the <code>SOI</code> marker and the <code>EOI</code> marker for that image. The image metadata object
*** 103,113 **** If <code>ignoreMetadata</code> is set to <code>true</code> when the input is set on the reader, stream metadata will not be available, but image metadata will. <h2> ! <a name=abbrev>Abbreviated Streams</a> </h2> Both the reader and the writer retain their tables from one operation to the next, thus permitting the use of abbreviated streams quite naturally, with a few minor restrictions: <ol> --- 101,111 ---- If <code>ignoreMetadata</code> is set to <code>true</code> when the input is set on the reader, stream metadata will not be available, but image metadata will. <h2> ! <a id=abbrev>Abbreviated Streams</a> </h2> Both the reader and the writer retain their tables from one operation to the next, thus permitting the use of abbreviated streams quite naturally, with a few minor restrictions: <ol>
*** 143,153 **** tables-only image is written. If stream metadata containing no tables is supplied to <code>ImageWriter.prepareWriteSequence</code>, then a tables-only image containing default visually lossless tables is written. <h2> ! <a name=tables>Sources of Tables</a> </h2> <p> Images are written with tables if tables are present in their metadata objects or without them if no tables are present in their metadata objects. If no metadata object is present then the tables are written. The tables used for --- 141,151 ---- tables-only image is written. If stream metadata containing no tables is supplied to <code>ImageWriter.prepareWriteSequence</code>, then a tables-only image containing default visually lossless tables is written. <h2> ! <a id=tables>Sources of Tables</a> </h2> <p> Images are written with tables if tables are present in their metadata objects or without them if no tables are present in their metadata objects. If no metadata object is present then the tables are written. The tables used for
*** 191,201 **** <p> Note that if no image metadata object is specified for a particular image, a default object is used, which includes default tables. <h2> ! <a name=color>Colorspace Transformations and Conventional Markers</a> </h2> Colorspace transformations are controlled by the destination type for both reading and writing of images. When <code>Raster</code>s are read, no colorspace transformation is performed, and any destination type is ignored. A warning is sent to any listeners if a destination type is --- 189,199 ---- <p> Note that if no image metadata object is specified for a particular image, a default object is used, which includes default tables. <h2> ! <a id=color>Colorspace Transformations and Conventional Markers</a> </h2> Colorspace transformations are controlled by the destination type for both reading and writing of images. When <code>Raster</code>s are read, no colorspace transformation is performed, and any destination type is ignored. A warning is sent to any listeners if a destination type is
*** 206,216 **** match the destination type, the destination type is used and a warning is sent to any listeners. <p> ! <a name=optcolor><b>Optional ColorSpace support:</b></a> Handling of PhotoYCC (YCC), PhotoYCCA (YCCA), RGBA and YCbCrA color spaces by the standard plugin, as described below, is dependent on capabilities of the libraries used to interpret the JPEG data. Thus all consequential behaviors are optional. If the support is not available when decoding, the color space will be treated as unrecognized and the appropriate --- 204,214 ---- match the destination type, the destination type is used and a warning is sent to any listeners. <p> ! <a id=optcolor><b>Optional ColorSpace support:</b></a> Handling of PhotoYCC (YCC), PhotoYCCA (YCCA), RGBA and YCbCrA color spaces by the standard plugin, as described below, is dependent on capabilities of the libraries used to interpret the JPEG data. Thus all consequential behaviors are optional. If the support is not available when decoding, the color space will be treated as unrecognized and the appropriate
*** 507,517 **** is applied, and no special marker segment is written. </ul> </ul> <h2> ! <a name=thumbs>Thumbnail Images</a> </h2> Thumbnails are supported by the use of JFIF and JFIF extension marker segments. Thumbnails provided on the write methods determine the thumbnails that will be included. <code>app0JFIF</code> and <code>app0JFXX</code> nodes present in the metadata do not contain any thumbnail pixel data. However, the kinds of --- 505,515 ---- is applied, and no special marker segment is written. </ul> </ul> <h2> ! <a id=thumbs>Thumbnail Images</a> </h2> Thumbnails are supported by the use of JFIF and JFIF extension marker segments. Thumbnails provided on the write methods determine the thumbnails that will be included. <code>app0JFIF</code> and <code>app0JFXX</code> nodes present in the metadata do not contain any thumbnail pixel data. However, the kinds of
*** 602,612 **** may have thumbnails. If thumbnails are present when writing any other type of image, the thumbnails are ignored and a warning is sent to any warning listeners. <h2> ! <a name=prog>Progressive Encoding</a> </h2> Progressive encoding must be enabled on the <code>ImageWriteParam</code> passed in to a write operation, or the image will be written sequentially, regardless of the scan headers included in the metadata object. If --- 600,610 ---- may have thumbnails. If thumbnails are present when writing any other type of image, the thumbnails are ignored and a warning is sent to any warning listeners. <h2> ! <a id=prog>Progressive Encoding</a> </h2> Progressive encoding must be enabled on the <code>ImageWriteParam</code> passed in to a write operation, or the image will be written sequentially, regardless of the scan headers included in the metadata object. If
*** 622,632 **** all Huffman tables in the metadata or in the <code>ImageWriteParam</code> itself are ignored, and a warning will be sent to any warning listeners if any such tables are present. <h2> ! <a name=tree>Native Metadata Format Tree Structure and Editing</a> </h2> The DTDs below describe just the trees of metadata objects actually returned by the <code>IIOMetadata</code> object. They do not include nodes corresponding to <code>SOI</code>, <code>EOI</code>, or <code>RST</code> --- 620,630 ---- all Huffman tables in the metadata or in the <code>ImageWriteParam</code> itself are ignored, and a warning will be sent to any warning listeners if any such tables are present. <h2> ! <a id=tree>Native Metadata Format Tree Structure and Editing</a> </h2> The DTDs below describe just the trees of metadata objects actually returned by the <code>IIOMetadata</code> object. They do not include nodes corresponding to <code>SOI</code>, <code>EOI</code>, or <code>RST</code>
*** 879,889 **** <br> The <code>setFromTree</code> operation, when given a tree in the standard format, performs a <code>reset</code> followed by a merge of the new tree. <h2> ! <a name=image>Image Metadata DTD</a> </h2> <pre> &lt;!DOCTYPE "javax_imageio_jpeg_image_1.0" [ --- 877,887 ---- <br> The <code>setFromTree</code> operation, when given a tree in the standard format, performs a <code>reset</code> followed by a merge of the new tree. <h2> ! <a id=image>Image Metadata DTD</a> </h2> <pre> &lt;!DOCTYPE "javax_imageio_jpeg_image_1.0" [
*** 1145,1155 **** &lt;!-- The huffman table to use for encoding AC coefficients --&gt; ]&gt; </pre> <h2> ! <a name=stream>Stream Metadata DTD</a> </h2> <pre> &lt;!DOCTYPE "javax_imageio_jpeg_stream_1.0" [ &lt;!ELEMENT "javax_imageio_jpeg_stream_1.0" (dqt | --- 1143,1153 ---- &lt;!-- The huffman table to use for encoding AC coefficients --&gt; ]&gt; </pre> <h2> ! <a id=stream>Stream Metadata DTD</a> </h2> <pre> &lt;!DOCTYPE "javax_imageio_jpeg_stream_1.0" [ &lt;!ELEMENT "javax_imageio_jpeg_stream_1.0" (dqt |
< prev index next >