/**@class android.hardware.camera2.DngCreator implements java.lang.AutoCloseable @extends java.lang.Object The {@link android.hardware.camera2.DngCreator} class provides functions to write raw pixel data as a DNG file. <p> This class is designed to be used with the {@link android.graphics.ImageFormat#RAW_SENSOR} buffers available from {@link android.hardware.camera2.CameraDevice}, or with Bayer-type raw pixel data that is otherwise generated by an application. The DNG metadata tags will be generated from a {@link android.hardware.camera2.CaptureResult} object or set directly. </p> <p> The DNG file format is a cross-platform file format that is used to store pixel data from camera sensors with minimal pre-processing applied. DNG files allow for pixel data to be defined in a user-defined colorspace, and have associated metadata that allow for this pixel data to be converted to the standard CIE XYZ colorspace during post-processing. </p> <p> For more information on the DNG file format and associated metadata, please refer to the <a href= "https://wwwimages2.adobe.com/content/dam/Adobe/en/products/photoshop/pdfs/dng_spec_1.4.0.0.pdf"> Adobe DNG 1.4.0.0 specification</a>. </p> */ var DngCreator = { /** Max width or height dimension for thumbnails. */ MAX_THUMBNAIL_DIMENSION : "256", /**Set the orientation value to write. <p> This will be written as the TIFF "Orientation" tag {@code (0x0112)}. Calling this will override any prior settings for this tag. </p> @param {Number} orientation the orientation value to set, one of: <ul> <li>{@link android.media.ExifInterface#ORIENTATION_NORMAL}</li> <li>{@link android.media.ExifInterface#ORIENTATION_FLIP_HORIZONTAL}</li> <li>{@link android.media.ExifInterface#ORIENTATION_ROTATE_180}</li> <li>{@link android.media.ExifInterface#ORIENTATION_FLIP_VERTICAL}</li> <li>{@link android.media.ExifInterface#ORIENTATION_TRANSPOSE}</li> <li>{@link android.media.ExifInterface#ORIENTATION_ROTATE_90}</li> <li>{@link android.media.ExifInterface#ORIENTATION_TRANSVERSE}</li> <li>{@link android.media.ExifInterface#ORIENTATION_ROTATE_270}</li> </ul> @return {Object {android.hardware.camera2.DngCreator}} this {@link #DngCreator} object. */ setOrientation : function( ) {}, /**Set the thumbnail image. <p> Pixel data will be converted to a Baseline TIFF RGB image, with 8 bits per color channel. The alpha channel will be discarded. Thumbnail images with a dimension larger than {@link #MAX_THUMBNAIL_DIMENSION} will be rejected. </p> @param {Object {Bitmap}} pixels a {@link android.graphics.Bitmap} of pixel data. @return {Object {android.hardware.camera2.DngCreator}} this {@link #DngCreator} object. @throws java.lang.IllegalArgumentException if the given thumbnail image has a dimension larger than {@link #MAX_THUMBNAIL_DIMENSION}. */ setThumbnail : function( ) {}, /**Set the thumbnail image. <p> Pixel data is interpreted as a {@link android.graphics.ImageFormat#YUV_420_888} image. Thumbnail images with a dimension larger than {@link #MAX_THUMBNAIL_DIMENSION} will be rejected. </p> @param {Object {Image}} pixels an {@link android.media.Image} object with the format {@link android.graphics.ImageFormat#YUV_420_888}. @return {Object {android.hardware.camera2.DngCreator}} this {@link #DngCreator} object. @throws java.lang.IllegalArgumentException if the given thumbnail image has a dimension larger than {@link #MAX_THUMBNAIL_DIMENSION}. */ setThumbnail : function( ) {}, /**Set image location metadata. <p> The given location object must contain at least a valid time, latitude, and longitude (equivalent to the values returned by {@link android.location.Location#getTime()}, {@link android.location.Location#getLatitude()}, and {@link android.location.Location#getLongitude()} methods). </p> @param {Object {Location}} location an {@link android.location.Location} object to set. @return {Object {android.hardware.camera2.DngCreator}} this {@link #DngCreator} object. @throws java.lang.IllegalArgumentException if the given location object doesn't contain enough information to set location metadata. */ setLocation : function( ) {}, /**Set the user description string to write. <p> This is equivalent to setting the TIFF "ImageDescription" tag {@code (0x010E)}. </p> @param {String} description the user description string. @return {Object {android.hardware.camera2.DngCreator}} this {@link #DngCreator} object. */ setDescription : function( ) {}, /**Write the {@link android.graphics.ImageFormat#RAW_SENSOR} pixel data to a DNG file with the currently configured metadata. <p> Raw pixel data must have 16 bits per pixel, and the input must contain at least {@code offset + 2 * width * height)} bytes. The width and height of the input are taken from the width and height set in the {@link android.hardware.camera2.DngCreator} metadata tags, and will typically be equal to the width and height of {@link android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE}. Prior to API level 23, this was always the same as {@link android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE}. The pixel layout in the input is determined from the reported color filter arrangement (CFA) set in {@link android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT}. If insufficient metadata is available to write a well-formatted DNG file, an {@link java.lang.IllegalStateException} will be thrown. </p> @param {Object {OutputStream}} dngOutput an {@link java.io.OutputStream} to write the DNG file to. @param {Object {Size}} size the {@link Size} of the image to write, in pixels. @param {Object {InputStream}} pixels an {@link java.io.InputStream} of pixel data to write. @param {Number} offset the offset of the raw image in bytes. This indicates how many bytes will be skipped in the input before any pixel data is read. @throws IOException if an error was encountered in the input or output stream. @throws java.lang.IllegalStateException if not enough metadata information has been set to write a well-formatted DNG file. @throws java.lang.IllegalArgumentException if the size passed in does not match the */ writeInputStream : function( ) {}, /**Write the {@link android.graphics.ImageFormat#RAW_SENSOR} pixel data to a DNG file with the currently configured metadata. <p> Raw pixel data must have 16 bits per pixel, and the input must contain at least {@code offset + 2 * width * height)} bytes. The width and height of the input are taken from the width and height set in the {@link android.hardware.camera2.DngCreator} metadata tags, and will typically be equal to the width and height of {@link android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE}. Prior to API level 23, this was always the same as {@link android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE}. The pixel layout in the input is determined from the reported color filter arrangement (CFA) set in {@link android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT}. If insufficient metadata is available to write a well-formatted DNG file, an {@link java.lang.IllegalStateException} will be thrown. </p> <p> Any mark or limit set on this {@link ByteBuffer} is ignored, and will be cleared by this method. </p> @param {Object {OutputStream}} dngOutput an {@link java.io.OutputStream} to write the DNG file to. @param {Object {Size}} size the {@link Size} of the image to write, in pixels. @param {Object {ByteBuffer}} pixels an {@link java.nio.ByteBuffer} of pixel data to write. @param {Number} offset the offset of the raw image in bytes. This indicates how many bytes will be skipped in the input before any pixel data is read. @throws IOException if an error was encountered in the input or output stream. @throws java.lang.IllegalStateException if not enough metadata information has been set to write a well-formatted DNG file. */ writeByteBuffer : function( ) {}, /**Write the pixel data to a DNG file with the currently configured metadata. <p> For this method to succeed, the {@link android.media.Image} input must contain {@link android.graphics.ImageFormat#RAW_SENSOR} pixel data, otherwise an {@link java.lang.IllegalArgumentException} will be thrown. </p> @param {Object {OutputStream}} dngOutput an {@link java.io.OutputStream} to write the DNG file to. @param {Object {Image}} pixels an {@link android.media.Image} to write. @throws java.io.IOException if an error was encountered in the output stream. @throws java.lang.IllegalArgumentException if an image with an unsupported format was used. @throws java.lang.IllegalStateException if not enough metadata information has been set to write a well-formatted DNG file. */ writeImage : function( ) {}, /** */ close : function( ) {}, };