aboutsummaryrefslogtreecommitdiff
path: root/KaplaDemo/samples/sampleViewer3/IJGWin32/jlossls.h
diff options
context:
space:
mode:
authorgit perforce import user <a@b>2016-10-25 12:29:14 -0600
committerSheikh Dawood Abdul Ajees <Sheikh Dawood Abdul Ajees>2016-10-25 18:56:37 -0500
commit3dfe2108cfab31ba3ee5527e217d0d8e99a51162 (patch)
treefa6485c169e50d7415a651bf838f5bcd0fd3bfbd /KaplaDemo/samples/sampleViewer3/IJGWin32/jlossls.h
downloadphysx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.tar.xz
physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.zip
Initial commit:
PhysX 3.4.0 Update @ 21294896 APEX 1.4.0 Update @ 21275617 [CL 21300167]
Diffstat (limited to 'KaplaDemo/samples/sampleViewer3/IJGWin32/jlossls.h')
-rw-r--r--KaplaDemo/samples/sampleViewer3/IJGWin32/jlossls.h152
1 files changed, 152 insertions, 0 deletions
diff --git a/KaplaDemo/samples/sampleViewer3/IJGWin32/jlossls.h b/KaplaDemo/samples/sampleViewer3/IJGWin32/jlossls.h
new file mode 100644
index 00000000..ec13bd03
--- /dev/null
+++ b/KaplaDemo/samples/sampleViewer3/IJGWin32/jlossls.h
@@ -0,0 +1,152 @@
+/*
+ * jlossls.h
+ *
+ * Copyright (C) 1998, Thomas G. Lane.
+ * This file is part of the Independent JPEG Group's software.
+ * For conditions of distribution and use, see the accompanying README file.
+ *
+ * This include file contains common declarations for the lossless JPEG
+ * codec modules.
+ */
+
+#ifndef JLOSSLS_H
+#define JLOSSLS_H
+
+
+/*
+ * Table H.1: Predictors for lossless coding.
+ */
+
+#define PREDICTOR1 Ra
+#define PREDICTOR2 Rb
+#define PREDICTOR3 Rc
+#define PREDICTOR4 (int) ((INT32) Ra + (INT32) Rb - (INT32) Rc)
+#define PREDICTOR5 (int) ((INT32) Ra + RIGHT_SHIFT((INT32) Rb - (INT32) Rc, 1))
+#define PREDICTOR6 (int) ((INT32) Rb + RIGHT_SHIFT((INT32) Ra - (INT32) Rc, 1))
+#define PREDICTOR7 (int) RIGHT_SHIFT((INT32) Ra + (INT32) Rb, 1)
+
+
+typedef JMETHOD(void, predict_difference_method_ptr,
+ (j_compress_ptr cinfo, int ci,
+ JSAMPROW input_buf, JSAMPROW prev_row,
+ JDIFFROW diff_buf, JDIMENSION width));
+
+typedef JMETHOD(void, scaler_method_ptr,
+ (j_compress_ptr cinfo, int ci,
+ JSAMPROW input_buf, JSAMPROW output_buf,
+ JDIMENSION width));
+
+/* Lossless-specific compression codec (compressor proper) */
+typedef struct {
+ struct jpeg_c_codec pub; /* public fields */
+
+
+ /* Difference buffer control */
+ JMETHOD(void, diff_start_pass, (j_compress_ptr cinfo,
+ J_BUF_MODE pass_mode));
+
+ /* Pointer to data which is private to diff controller */
+ void *diff_private;
+
+
+ /* Entropy encoding */
+ JMETHOD(JDIMENSION, entropy_encode_mcus, (j_compress_ptr cinfo,
+ JDIFFIMAGE diff_buf,
+ JDIMENSION MCU_row_num,
+ JDIMENSION MCU_col_num,
+ JDIMENSION nMCU));
+
+ /* Pointer to data which is private to entropy module */
+ void *entropy_private;
+
+
+ /* Prediction, differencing */
+ JMETHOD(void, predict_start_pass, (j_compress_ptr cinfo));
+
+ /* It is useful to allow each component to have a separate diff method. */
+ predict_difference_method_ptr predict_difference[MAX_COMPONENTS];
+
+ /* Pointer to data which is private to predictor module */
+ void *pred_private;
+
+ /* Sample scaling */
+ JMETHOD(void, scaler_start_pass, (j_compress_ptr cinfo));
+ JMETHOD(void, scaler_scale, (j_compress_ptr cinfo,
+ JSAMPROW input_buf, JSAMPROW output_buf,
+ JDIMENSION width));
+
+ /* Pointer to data which is private to scaler module */
+ void *scaler_private;
+
+} jpeg_lossless_c_codec;
+
+typedef jpeg_lossless_c_codec * j_lossless_c_ptr;
+
+
+typedef JMETHOD(void, predict_undifference_method_ptr,
+ (j_decompress_ptr cinfo, int comp_index,
+ JDIFFROW diff_buf, JDIFFROW prev_row,
+ JDIFFROW undiff_buf, JDIMENSION width));
+
+/* Lossless-specific decompression codec (decompressor proper) */
+typedef struct {
+ struct jpeg_d_codec pub; /* public fields */
+
+
+ /* Difference buffer control */
+ JMETHOD(void, diff_start_input_pass, (j_decompress_ptr cinfo));
+
+ /* Pointer to data which is private to diff controller */
+ void *diff_private;
+
+
+ /* Entropy decoding */
+ JMETHOD(void, entropy_start_pass, (j_decompress_ptr cinfo));
+ JMETHOD(boolean, entropy_process_restart, (j_decompress_ptr cinfo));
+ JMETHOD(JDIMENSION, entropy_decode_mcus, (j_decompress_ptr cinfo,
+ JDIFFIMAGE diff_buf,
+ JDIMENSION MCU_row_num,
+ JDIMENSION MCU_col_num,
+ JDIMENSION nMCU));
+
+ /* Pointer to data which is private to entropy module */
+ void *entropy_private;
+
+
+ /* Prediction, undifferencing */
+ JMETHOD(void, predict_start_pass, (j_decompress_ptr cinfo));
+ JMETHOD(void, predict_process_restart, (j_decompress_ptr cinfo));
+
+ /* It is useful to allow each component to have a separate undiff method. */
+ predict_undifference_method_ptr predict_undifference[MAX_COMPONENTS];
+
+ /* Pointer to data which is private to predictor module */
+ void *pred_private;
+
+ /* Sample scaling */
+ JMETHOD(void, scaler_start_pass, (j_decompress_ptr cinfo));
+ JMETHOD(void, scaler_scale, (j_decompress_ptr cinfo,
+ JDIFFROW diff_buf, JSAMPROW output_buf,
+ JDIMENSION width));
+
+ /* Pointer to data which is private to scaler module */
+ void *scaler_private;
+
+} jpeg_lossless_d_codec;
+
+typedef jpeg_lossless_d_codec * j_lossless_d_ptr;
+
+
+/* Compression module initialization routines */
+EXTERN(void) jinit_lhuff_encoder JPP((j_compress_ptr cinfo));
+EXTERN(void) jinit_differencer JPP((j_compress_ptr cinfo));
+EXTERN(void) jinit_c_scaler JPP((j_compress_ptr cinfo));
+/* Decompression module initialization routines */
+EXTERN(void) jinit_lhuff_decoder JPP((j_decompress_ptr cinfo));
+EXTERN(void) jinit_undifferencer JPP((j_decompress_ptr cinfo));
+EXTERN(void) jinit_d_scaler JPP((j_decompress_ptr cinfo));
+
+GLOBAL(void) jinit_lossless_c_codec(j_compress_ptr cinfo);
+GLOBAL(void) jinit_lossless_d_codec(j_decompress_ptr cinfo);
+
+#endif /* JLOSSLS_H */