Main MRPT website > C++ reference for MRPT 1.9.9
Classes | Macros | Typedefs | Functions
jcphuff.cpp File Reference
#include "jinclude.h"
#include "mrpt_jpeglib.h"
#include "jchuff.h"

Go to the source code of this file.

Classes

struct  phuff_entropy_encoder
 

Macros

#define JPEG_INTERNALS
 
#define MAX_CORR_BITS   1000 /* Max # of correction bits I can buffer */
 
#define ISHIFT_TEMPS
 
#define IRIGHT_SHIFT(x, shft)   ((x) >> (shft))
 
#define emit_byte(entropy, val)
 

Typedefs

typedef phuff_entropy_encoderphuff_entropy_ptr
 

Functions

encode_mcu_DC_first JPP ((j_compress_ptr cinfo, JBLOCKROW *MCU_data))
 
 METHODDEF (void) finish_pass_phuff JPP((j_compress_ptr cinfo))
 
 start_pass_phuff (j_compress_ptr cinfo, boolean gather_statistics)
 
 dump_buffer (phuff_entropy_ptr entropy)
 
INLINE emit_bits (phuff_entropy_ptr entropy, unsigned int code, int size)
 
 flush_bits (phuff_entropy_ptr entropy)
 
INLINE emit_symbol (phuff_entropy_ptr entropy, int tbl_no, int symbol)
 
 emit_buffered_bits (phuff_entropy_ptr entropy, char *bufstart, unsigned int nbits)
 
 emit_eobrun (phuff_entropy_ptr entropy)
 
 emit_restart (phuff_entropy_ptr entropy, int restart_num)
 
 encode_mcu_DC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data)
 
 encode_mcu_AC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data)
 
 encode_mcu_DC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data)
 
 encode_mcu_AC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data)
 
 finish_pass_phuff (j_compress_ptr cinfo)
 
 finish_pass_gather_phuff (j_compress_ptr cinfo)
 
 jinit_phuff_encoder (j_compress_ptr cinfo)
 

Macro Definition Documentation

◆ emit_byte

#define emit_byte (   entropy,
  val 
)
Value:
{ \
*(entropy)->next_output_byte++ = (JOCTET)(val); \
if (--(entropy)->free_in_buffer == 0) dump_buffer(entropy); \
}
int val
Definition: mrpt_jpeglib.h:955
dump_buffer(phuff_entropy_ptr entropy)
Definition: jcphuff.cpp:211
char JOCTET
Definition: jmorecfg.h:106

Definition at line 204 of file jcphuff.cpp.

Referenced by emit_bits(), and emit_restart().

◆ IRIGHT_SHIFT

#define IRIGHT_SHIFT (   x,
  shft 
)    ((x) >> (shft))

Definition at line 81 of file jcphuff.cpp.

Referenced by encode_mcu_DC_first().

◆ ISHIFT_TEMPS

#define ISHIFT_TEMPS

Definition at line 80 of file jcphuff.cpp.

Referenced by encode_mcu_DC_first().

◆ JPEG_INTERNALS

#define JPEG_INTERNALS

Definition at line 10 of file jcphuff.cpp.

◆ MAX_CORR_BITS

#define MAX_CORR_BITS   1000 /* Max # of correction bits I can buffer */

Definition at line 66 of file jcphuff.cpp.

Referenced by encode_mcu_AC_refine(), and start_pass_phuff().

Typedef Documentation

◆ phuff_entropy_ptr

Definition at line 58 of file jcphuff.cpp.

Function Documentation

◆ dump_buffer()

dump_buffer ( phuff_entropy_ptr  entropy)

◆ emit_bits()

INLINE emit_bits ( phuff_entropy_ptr  entropy,
unsigned int  code,
int  size 
)

Definition at line 233 of file jcphuff.cpp.

References emit_byte, and ERREXIT.

Referenced by emit_buffered_bits(), emit_eobrun(), emit_symbol(), encode_mcu_AC_first(), encode_mcu_AC_refine(), encode_mcu_DC_first(), encode_mcu_DC_refine(), and flush_bits().

Here is the caller graph for this function:

◆ emit_buffered_bits()

emit_buffered_bits ( phuff_entropy_ptr  entropy,
char *  bufstart,
unsigned int  nbits 
)

Definition at line 302 of file jcphuff.cpp.

References emit_bits().

Referenced by emit_eobrun(), and encode_mcu_AC_refine().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ emit_eobrun()

emit_eobrun ( phuff_entropy_ptr  entropy)

Definition at line 320 of file jcphuff.cpp.

References emit_bits(), emit_buffered_bits(), emit_symbol(), and ERREXIT.

Referenced by emit_restart(), encode_mcu_AC_first(), encode_mcu_AC_refine(), finish_pass_gather_phuff(), and finish_pass_phuff().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ emit_restart()

emit_restart ( phuff_entropy_ptr  entropy,
int  restart_num 
)

Definition at line 348 of file jcphuff.cpp.

References emit_byte, emit_eobrun(), flush_bits(), and JPEG_RST0.

Referenced by encode_mcu_AC_first(), encode_mcu_AC_refine(), encode_mcu_DC_first(), and encode_mcu_DC_refine().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ emit_symbol()

INLINE emit_symbol ( phuff_entropy_ptr  entropy,
int  tbl_no,
int  symbol 
)

Definition at line 286 of file jcphuff.cpp.

References c_derived_tbl::ehufco, c_derived_tbl::ehufsi, and emit_bits().

Referenced by emit_eobrun(), encode_mcu_AC_first(), encode_mcu_AC_refine(), and encode_mcu_DC_first().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ encode_mcu_AC_first()

encode_mcu_AC_first ( j_compress_ptr  cinfo,
JBLOCKROW MCU_data 
)

◆ encode_mcu_AC_refine()

encode_mcu_AC_refine ( j_compress_ptr  cinfo,
JBLOCKROW MCU_data 
)

◆ encode_mcu_DC_first()

encode_mcu_DC_first ( j_compress_ptr  cinfo,
JBLOCKROW MCU_data 
)

◆ encode_mcu_DC_refine()

encode_mcu_DC_refine ( j_compress_ptr  cinfo,
JBLOCKROW MCU_data 
)

Definition at line 588 of file jcphuff.cpp.

References emit_bits(), emit_restart(), phuff_entropy_encoder::free_in_buffer, phuff_entropy_encoder::next_output_byte, phuff_entropy_encoder::next_restart_num, phuff_entropy_encoder::restarts_to_go, and TRUE.

Referenced by start_pass_phuff().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ finish_pass_gather_phuff()

finish_pass_gather_phuff ( j_compress_ptr  cinfo)

Definition at line 793 of file jcphuff.cpp.

References jpeg_component_info::ac_tbl_no, compptr, phuff_entropy_encoder::count_ptrs, jpeg_component_info::dc_tbl_no, emit_eobrun(), jpeg_alloc_huff_table(), jpeg_gen_optimal_table(), MEMZERO, NUM_HUFF_TBLS, SIZEOF, and TRUE.

Referenced by start_pass_phuff().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ finish_pass_phuff()

finish_pass_phuff ( j_compress_ptr  cinfo)

Definition at line 773 of file jcphuff.cpp.

References emit_eobrun(), flush_bits(), phuff_entropy_encoder::free_in_buffer, and phuff_entropy_encoder::next_output_byte.

Referenced by start_pass_phuff().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ flush_bits()

flush_bits ( phuff_entropy_ptr  entropy)

Definition at line 273 of file jcphuff.cpp.

References emit_bits().

Referenced by emit_restart(), and finish_pass_phuff().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ jinit_phuff_encoder()

jinit_phuff_encoder ( j_compress_ptr  cinfo)

Definition at line 844 of file jcphuff.cpp.

References phuff_entropy_encoder::bit_buffer, phuff_entropy_encoder::count_ptrs, phuff_entropy_encoder::derived_tbls, JPOOL_IMAGE, NUM_HUFF_TBLS, phuff_entropy_encoder::pub, SIZEOF, and start_pass_phuff().

Referenced by jinit_compress_master(), and transencode_master_selection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ JPP()

encode_mcu_DC_first JPP ( (j_compress_ptr cinfo, JBLOCKROW *MCU_data)  )

◆ METHODDEF()

METHODDEF ( void  )

◆ start_pass_phuff()

start_pass_phuff ( j_compress_ptr  cinfo,
boolean  gather_statistics 
)



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019