Class JPEGCodec


public class JPEGCodec extends ImageCodec
A codec for the JPEG file format.

Supported JPEG types

The codec is still under development. Nothing can be read with it right now. Writing JPEG files is not even in development stage.

Credits

"JPEG Still Image Data Compression Standard" by William B. Pennebaker and Joan L. Mitchell. Published 1993 by Van Nostrand Reinhold. ISBN 0-442-01272-1. This book is referenced as Pinvalid input: '&M' throughout the source code. It's an invaluable resource for anything related to JPEG.
Since:
0.13.0
Author:
Marco Schmidt
  • Field Details

  • Constructor Details

    • JPEGCodec

      public JPEGCodec()
  • Method Details

    • decodeScan

      private void decodeScan(JPEGData jpegData)
    • getFileExtensions

      public String[] getFileExtensions()
      Description copied from class: ImageCodec
      Returns all file extensions that are typical for this file format. The default implementation in ImageCodec returns null. The file extension strings should include a leading dot and are supposed to be lower case (if that is allowed for the given file format). Example: {".jpg", ".jpeg"} for the JPEG file format.
      Overrides:
      getFileExtensions in class ImageCodec
      Returns:
      String array with typical file extensions
    • getFormatName

      public String getFormatName()
      Description copied from class: ImageCodec
      Returns the name of the file format supported by this codec. All classes extending ImageCodec must override this method. When overriding, leave out any words in a particular language so that this format name can be understood by everyone. Usually it is enough to return the format creator plus a typical abbreviation, e.g. Microsoft BMP or Portable Anymap (PNM).
      Specified by:
      getFormatName in class ImageCodec
      Returns:
      name of the file format supported by this codec
    • getMimeTypes

      public String[] getMimeTypes()
      Description copied from class: ImageCodec
      Return the MIME (Multipurpose Internet Mail Extensions) type strings for this format, or null if none are available.
      Specified by:
      getMimeTypes in class ImageCodec
      Returns:
      MIME type strings or null
    • isLoadingSupported

      public boolean isLoadingSupported()
      Description copied from class: ImageCodec
      Returns if this codec is able to load images in the file format supported by this codec. If true is returned this does not necessarily mean that all files in this format can be read, but at least some.
      Specified by:
      isLoadingSupported in class ImageCodec
      Returns:
      if loading is supported
    • isSavingSupported

      public boolean isSavingSupported()
      Description copied from class: ImageCodec
      Returns if this codec is able to save images in the file format supported by this codec. If true is returned this does not necessarily mean that all types files in this format can be written, but at least some.
      Specified by:
      isSavingSupported in class ImageCodec
      Returns:
      if saving is supported
    • load

      Throws:
      OperationFailedException
      WrongFileFormatException
    • main

      public static void main(String[] args) throws Exception
      Throws:
      Exception
    • process

      Description copied from class: Operation
      This method does the actual work of the operation. It must be called after all parameters have been given to the operation object.
      Overrides:
      process in class Operation
      Throws:
      MissingParameterException - if any mandatory parameter was not given to the operation
      OperationFailedException
      WrongFileFormatException
    • readMarker

      private void readMarker(JPEGData jpegData, int marker, int length) throws InvalidFileStructureException, IOException, UnsupportedTypeException
      Throws:
      InvalidFileStructureException
      IOException
      UnsupportedTypeException
    • suggestFileExtension

      public String suggestFileExtension(PixelImage image)
      Description copied from class: ImageCodec
      Attempts to suggest a filename extension. The type of the argument image will be taken into consideration, although this will be necessary for some file formats only (as an example, PNM has different extensions for different image types, see PNMCodec). This default implementation always returns null.
      Overrides:
      suggestFileExtension in class ImageCodec
      Parameters:
      image - the image that is to be written to a file
      Returns:
      the file extension, including a leading dot, or null if no file extension can be recommended