Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/media/libjpeg/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 3 kB image not shown  

Quelle  jlossls.h   Sprache: C

 
/*
 * jlossls.h
 *
 * This file was part of the Independent JPEG Group's software:
 * Copyright (C) 1998, Thomas G. Lane.
 * Lossless JPEG Modifications:
 * Copyright (C) 1999, Ken Murchison.
 * libjpeg-turbo Modifications:
 * Copyright (C) 2022, D. R. Commander.
 * For conditions of distribution and use, see the accompanying README.ijg
 * file.
 *
 * This include file contains common declarations for the lossless JPEG
 * codec modules.
 */


#ifndef JLOSSLS_H
#define JLOSSLS_H

#if defined(C_LOSSLESS_SUPPORTED) || defined(D_LOSSLESS_SUPPORTED)

#define JPEG_INTERNALS
#include "jpeglib.h"
#include "jsamplecomp.h"


#define ALLOC_DARRAY(pool_id, diffsperrow, numrows) \
  (JDIFFARRAY)(*cinfo->mem->alloc_sarray) \
    ((j_common_ptr)cinfo, pool_id, \
     (diffsperrow) * sizeof(JDIFF) / sizeof(_JSAMPLE), numrows)


/*
 * Table H.1: Predictors for lossless coding.
 */


#define PREDICTOR1  Ra
#define PREDICTOR2  Rb
#define PREDICTOR3  Rc
#define PREDICTOR4  (int)((JLONG)Ra + (JLONG)Rb - (JLONG)Rc)
#define PREDICTOR5  (int)((JLONG)Ra + RIGHT_SHIFT((JLONG)Rb - (JLONG)Rc, 1))
#define PREDICTOR6  (int)((JLONG)Rb + RIGHT_SHIFT((JLONG)Ra - (JLONG)Rc, 1))
#define PREDICTOR7  (int)RIGHT_SHIFT((JLONG)Ra + (JLONG)Rb, 1)

#endif


#ifdef C_LOSSLESS_SUPPORTED

typedef void (*predict_difference_method_ptr) (j_compress_ptr cinfo, int ci,
                                               _JSAMPROW input_buf,
                                               _JSAMPROW prev_row,
                                               JDIFFROW diff_buf,
                                               JDIMENSION width);

/* Lossless compressor */
typedef struct {
  struct jpeg_forward_dct pub;  /* public fields */

  /* It is useful to allow each component to have a separate diff method. */
  predict_difference_method_ptr predict_difference[MAX_COMPONENTS];

  /* MCU rows left in the restart interval for each component */
  unsigned int restart_rows_to_go[MAX_COMPONENTS];

  /* Sample scaling */
  void (*scaler_scale) (j_compress_ptr cinfo, _JSAMPROW input_buf,
                        _JSAMPROW output_buf, JDIMENSION width);
} jpeg_lossless_compressor;

typedef jpeg_lossless_compressor *lossless_comp_ptr;

#endif /* C_LOSSLESS_SUPPORTED */


#ifdef D_LOSSLESS_SUPPORTED

typedef void (*predict_undifference_method_ptr) (j_decompress_ptr cinfo,
                                                 int comp_index,
                                                 JDIFFROW diff_buf,
                                                 JDIFFROW prev_row,
                                                 JDIFFROW undiff_buf,
                                                 JDIMENSION width);

/* Lossless decompressor */
typedef struct {
  struct jpeg_inverse_dct pub;  /* public fields */

  /* It is useful to allow each component to have a separate undiff method. */
  predict_undifference_method_ptr predict_undifference[MAX_COMPONENTS];

  /* Sample scaling */
  void (*scaler_scale) (j_decompress_ptr cinfo, JDIFFROW diff_buf,
                        _JSAMPROW output_buf, JDIMENSION width);
} jpeg_lossless_decompressor;

typedef jpeg_lossless_decompressor *lossless_decomp_ptr;

#endif /* D_LOSSLESS_SUPPORTED */

#endif /* JLOSSLS_H */

Messung V0.5
C=95 H=94 G=94

¤ Dauer der Verarbeitung: 0.2 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.