fltk 1.3.0rc3
About: FLTK (Fast Light Tool Kit) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. Release candidate.
  SfR Fresh Dox: fltk-1.3.0rc3-source.tar.gz ("inofficial" and yet experimental doxygen-generated source code documentation)  

jdmarker.c File Reference

#include "jinclude.h"
#include "jpeglib.h"
Include dependency graph for jdmarker.c:

Go to the source code of this file.

Classes

struct  my_marker_reader

Defines

#define JPEG_INTERNALS
#define INPUT_VARS(cinfo)
#define INPUT_SYNC(cinfo)
#define INPUT_RELOAD(cinfo)
#define MAKE_BYTE_AVAIL(cinfo, action)
#define INPUT_BYTE(cinfo, V, action)
#define INPUT_2BYTES(cinfo, V, action)
#define get_dac(cinfo)   skip_variable(cinfo)
#define APP0_DATA_LEN   14
#define APP14_DATA_LEN   12
#define APPN_DATA_LEN   14

Typedefs

typedef my_marker_readermy_marker_ptr

Enumerations

enum  JPEG_MARKER {
  M_SOF0 = 0xc0, M_SOF1 = 0xc1, M_SOF2 = 0xc2, M_SOF3 = 0xc3,
  M_SOF5 = 0xc5, M_SOF6 = 0xc6, M_SOF7 = 0xc7, M_JPG = 0xc8,
  M_SOF9 = 0xc9, M_SOF10 = 0xca, M_SOF11 = 0xcb, M_SOF13 = 0xcd,
  M_SOF14 = 0xce, M_SOF15 = 0xcf, M_DHT = 0xc4, M_DAC = 0xcc,
  M_RST0 = 0xd0, M_RST1 = 0xd1, M_RST2 = 0xd2, M_RST3 = 0xd3,
  M_RST4 = 0xd4, M_RST5 = 0xd5, M_RST6 = 0xd6, M_RST7 = 0xd7,
  M_SOI = 0xd8, M_EOI = 0xd9, M_SOS = 0xda, M_DQT = 0xdb,
  M_DNL = 0xdc, M_DRI = 0xdd, M_DHP = 0xde, M_EXP = 0xdf,
  M_APP0 = 0xe0, M_APP1 = 0xe1, M_APP2 = 0xe2, M_APP3 = 0xe3,
  M_APP4 = 0xe4, M_APP5 = 0xe5, M_APP6 = 0xe6, M_APP7 = 0xe7,
  M_APP8 = 0xe8, M_APP9 = 0xe9, M_APP10 = 0xea, M_APP11 = 0xeb,
  M_APP12 = 0xec, M_APP13 = 0xed, M_APP14 = 0xee, M_APP15 = 0xef,
  M_JPG0 = 0xf0, M_JPG13 = 0xfd, M_COM = 0xfe, M_TEM = 0x01,
  M_ERROR = 0x100, M_SOF0 = 0xc0, M_SOF1 = 0xc1, M_SOF2 = 0xc2,
  M_SOF3 = 0xc3, M_SOF5 = 0xc5, M_SOF6 = 0xc6, M_SOF7 = 0xc7,
  M_JPG = 0xc8, M_SOF9 = 0xc9, M_SOF10 = 0xca, M_SOF11 = 0xcb,
  M_SOF13 = 0xcd, M_SOF14 = 0xce, M_SOF15 = 0xcf, M_DHT = 0xc4,
  M_DAC = 0xcc, M_RST0 = 0xd0, M_RST1 = 0xd1, M_RST2 = 0xd2,
  M_RST3 = 0xd3, M_RST4 = 0xd4, M_RST5 = 0xd5, M_RST6 = 0xd6,
  M_RST7 = 0xd7, M_SOI = 0xd8, M_EOI = 0xd9, M_SOS = 0xda,
  M_DQT = 0xdb, M_DNL = 0xdc, M_DRI = 0xdd, M_DHP = 0xde,
  M_EXP = 0xdf, M_APP0 = 0xe0, M_APP1 = 0xe1, M_APP2 = 0xe2,
  M_APP3 = 0xe3, M_APP4 = 0xe4, M_APP5 = 0xe5, M_APP6 = 0xe6,
  M_APP7 = 0xe7, M_APP8 = 0xe8, M_APP9 = 0xe9, M_APP10 = 0xea,
  M_APP11 = 0xeb, M_APP12 = 0xec, M_APP13 = 0xed, M_APP14 = 0xee,
  M_APP15 = 0xef, M_JPG0 = 0xf0, M_JPG13 = 0xfd, M_COM = 0xfe,
  M_TEM = 0x01, M_ERROR = 0x100
}

Functions

 get_soi (j_decompress_ptr cinfo)
 get_sof (j_decompress_ptr cinfo, boolean is_prog, boolean is_arith)
 get_sos (j_decompress_ptr cinfo)
 get_dht (j_decompress_ptr cinfo)
 get_dqt (j_decompress_ptr cinfo)
 get_dri (j_decompress_ptr cinfo)
 examine_app0 (j_decompress_ptr cinfo, JOCTET FAR *data, unsigned int datalen, INT32 remaining)
 examine_app14 (j_decompress_ptr cinfo, JOCTET FAR *data, unsigned int datalen, INT32 remaining)
 get_interesting_appn (j_decompress_ptr cinfo)
 save_marker (j_decompress_ptr cinfo)
 skip_variable (j_decompress_ptr cinfo)
 next_marker (j_decompress_ptr cinfo)
 first_marker (j_decompress_ptr cinfo)
 read_markers (j_decompress_ptr cinfo)
 read_restart_marker (j_decompress_ptr cinfo)
 jpeg_resync_to_restart (j_decompress_ptr cinfo, int desired)
 reset_marker_reader (j_decompress_ptr cinfo)
 jinit_marker_reader (j_decompress_ptr cinfo)
 jpeg_save_markers (j_decompress_ptr cinfo, int marker_code, unsigned int length_limit)
 jpeg_set_marker_processor (j_decompress_ptr cinfo, int marker_code, jpeg_marker_parser_method routine)

Define Documentation

#define APP0_DATA_LEN   14

Definition at line 578 of file jdmarker.c.

Referenced by examine_app0(), and jpeg_save_markers().

#define APP14_DATA_LEN   12

Definition at line 579 of file jdmarker.c.

Referenced by examine_app14(), and jpeg_save_markers().

#define APPN_DATA_LEN   14

Definition at line 580 of file jdmarker.c.

Referenced by get_interesting_appn().

#define get_dac (   cinfo)    skip_variable(cinfo)

Definition at line 413 of file jdmarker.c.

Referenced by read_markers().

#define INPUT_2BYTES (   cinfo,
  V,
  action 
)
Value:
MAKESTMT( MAKE_BYTE_AVAIL(cinfo,action); \
                  bytes_in_buffer--; \
                  V = ((unsigned int) GETJOCTET(*next_input_byte++)) << 8; \
                  MAKE_BYTE_AVAIL(cinfo,action); \
                  bytes_in_buffer--; \
                  V += GETJOCTET(*next_input_byte++); )

Definition at line 156 of file jdmarker.c.

Referenced by get_dht(), get_dqt(), get_dri(), get_interesting_appn(), get_sof(), get_sos(), save_marker(), and skip_variable().

#define INPUT_BYTE (   cinfo,
  V,
  action 
)
Value:
MAKESTMT( MAKE_BYTE_AVAIL(cinfo,action); \
                  bytes_in_buffer--; \
                  V = GETJOCTET(*next_input_byte++); )

Definition at line 148 of file jdmarker.c.

Referenced by first_marker(), get_dht(), get_dqt(), get_interesting_appn(), get_sof(), get_sos(), and next_marker().

#define INPUT_RELOAD (   cinfo)
Value:
( next_input_byte = datasrc->next_input_byte,  \
          bytes_in_buffer = datasrc->bytes_in_buffer )

Definition at line 130 of file jdmarker.c.

#define INPUT_SYNC (   cinfo)
Value:
( datasrc->next_input_byte = next_input_byte,  \
          datasrc->bytes_in_buffer = bytes_in_buffer )

Definition at line 125 of file jdmarker.c.

Referenced by first_marker(), get_dht(), get_dqt(), get_dri(), get_interesting_appn(), get_sof(), get_sos(), next_marker(), save_marker(), and skip_variable().

#define INPUT_VARS (   cinfo)
Value:
struct jpeg_source_mgr * datasrc = (cinfo)->src;  \
        const JOCTET * next_input_byte = datasrc->next_input_byte;  \
        size_t bytes_in_buffer = datasrc->bytes_in_buffer

Definition at line 119 of file jdmarker.c.

Referenced by first_marker(), get_dht(), get_dqt(), get_dri(), get_interesting_appn(), get_sof(), get_sos(), next_marker(), save_marker(), and skip_variable().

#define JPEG_INTERNALS

Definition at line 15 of file jdmarker.c.

#define MAKE_BYTE_AVAIL (   cinfo,
  action 
)
Value:
if (bytes_in_buffer == 0) {  \
          if (! (*datasrc->fill_input_buffer) (cinfo))  \
            { action; }  \
          INPUT_RELOAD(cinfo);  \
        }

Definition at line 138 of file jdmarker.c.

Referenced by save_marker().


Typedef Documentation

Definition at line 107 of file jdmarker.c.


Enumeration Type Documentation

Enumerator:
M_SOF0 
M_SOF1 
M_SOF2 
M_SOF3 
M_SOF5 
M_SOF6 
M_SOF7 
M_JPG 
M_SOF9 
M_SOF10 
M_SOF11 
M_SOF13 
M_SOF14 
M_SOF15 
M_DHT 
M_DAC 
M_RST0 
M_RST1 
M_RST2 
M_RST3 
M_RST4 
M_RST5 
M_RST6 
M_RST7 
M_SOI 
M_EOI 
M_SOS 
M_DQT 
M_DNL 
M_DRI 
M_DHP 
M_EXP 
M_APP0 
M_APP1 
M_APP2 
M_APP3 
M_APP4 
M_APP5 
M_APP6 
M_APP7 
M_APP8 
M_APP9 
M_APP10 
M_APP11 
M_APP12 
M_APP13 
M_APP14 
M_APP15 
M_JPG0 
M_JPG13 
M_COM 
M_TEM 
M_ERROR 
M_SOF0 
M_SOF1 
M_SOF2 
M_SOF3 
M_SOF5 
M_SOF6 
M_SOF7 
M_JPG 
M_SOF9 
M_SOF10 
M_SOF11 
M_SOF13 
M_SOF14 
M_SOF15 
M_DHT 
M_DAC 
M_RST0 
M_RST1 
M_RST2 
M_RST3 
M_RST4 
M_RST5 
M_RST6 
M_RST7 
M_SOI 
M_EOI 
M_SOS 
M_DQT 
M_DNL 
M_DRI 
M_DHP 
M_EXP 
M_APP0 
M_APP1 
M_APP2 
M_APP3 
M_APP4 
M_APP5 
M_APP6 
M_APP7 
M_APP8 
M_APP9 
M_APP10 
M_APP11 
M_APP12 
M_APP13 
M_APP14 
M_APP15 
M_JPG0 
M_JPG13 
M_COM 
M_TEM 
M_ERROR 

Definition at line 20 of file jdmarker.c.


Function Documentation

examine_app0 ( j_decompress_ptr  cinfo,
JOCTET FAR *  data,
unsigned int  datalen,
INT32  remaining 
)

Definition at line 584 of file jdmarker.c.

References APP0_DATA_LEN, GETJOCTET, TRACEMS1, TRACEMS2, TRACEMS5, TRUE, and WARNMS2.

Referenced by get_interesting_appn(), and save_marker().

examine_app14 ( j_decompress_ptr  cinfo,
JOCTET FAR *  data,
unsigned int  datalen,
INT32  remaining 
)

Definition at line 660 of file jdmarker.c.

References APP14_DATA_LEN, GETJOCTET, TRACEMS1, TRACEMS4, TRUE, and version.

Referenced by get_interesting_appn(), and save_marker().

first_marker ( j_decompress_ptr  cinfo)

Definition at line 921 of file jdmarker.c.

References ERREXIT2, FALSE, INPUT_BYTE, INPUT_SYNC, INPUT_VARS, M_SOI, and TRUE.

Referenced by read_markers().

get_dri ( j_decompress_ptr  cinfo)

Definition at line 548 of file jdmarker.c.

References ERREXIT, FALSE, INPUT_2BYTES, INPUT_SYNC, INPUT_VARS, length, TRACEMS1, and TRUE.

Referenced by read_markers().

get_interesting_appn ( j_decompress_ptr  cinfo)
get_soi ( j_decompress_ptr  cinfo)

Definition at line 197 of file jdmarker.c.

References ERREXIT, FALSE, i, JCS_UNKNOWN, NUM_ARITH_TBLS, TRACEMS, and TRUE.

Referenced by read_markers().

jpeg_resync_to_restart ( j_decompress_ptr  cinfo,
int  desired 
)

Definition at line 1192 of file jdmarker.c.

References FALSE, M_RST0, M_RST7, M_SOF0, marker, next_marker(), TRACEMS2, TRUE, and WARNMS2.

Referenced by jpeg_stdio_src().

jpeg_save_markers ( j_decompress_ptr  cinfo,
int  marker_code,
unsigned int  length_limit 
)
jpeg_set_marker_processor ( j_decompress_ptr  cinfo,
int  marker_code,
jpeg_marker_parser_method  routine 
)

Definition at line 1349 of file jdmarker.c.

References ERREXIT1, int, M_APP0, M_APP15, M_COM, and marker.

next_marker ( j_decompress_ptr  cinfo)

Definition at line 874 of file jdmarker.c.

References FALSE, INPUT_BYTE, INPUT_SYNC, INPUT_VARS, TRUE, and WARNMS2.

Referenced by jpeg_resync_to_restart(), read_markers(), and read_restart_marker().

read_restart_marker ( j_decompress_ptr  cinfo)

Definition at line 1113 of file jdmarker.c.

References FALSE, M_RST0, next_marker(), TRACEMS1, and TRUE.

Referenced by jinit_marker_reader().

reset_marker_reader ( j_decompress_ptr  cinfo)

Definition at line 1242 of file jdmarker.c.

References FALSE, marker, NULL, and my_marker_writer::pub.

Referenced by jinit_marker_reader().

skip_variable ( j_decompress_ptr  cinfo)

Definition at line 845 of file jdmarker.c.

References FALSE, INPUT_2BYTES, INPUT_SYNC, INPUT_VARS, length, TRACEMS2, and TRUE.

Referenced by jinit_marker_reader(), jpeg_save_markers(), and read_markers().