Paparazzi UAS  v5.15_devel-47-g0391b4d
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
jpeg.c File Reference

Encode images with the use of the JPEG encoding. More...

#include "jpeg.h"
+ Include dependency graph for jpeg.c:

Go to the source code of this file.

Data Structures

struct  JPEG_ENCODER_STRUCTURE
 

Macros

#define JPEG_BLOCK_SIZE   64
 
#define PUTBITS
 

Typedefs

typedef struct
JPEG_ENCODER_STRUCTURE 
JPEG_ENCODER_STRUCTURE
 

Functions

static unsigned char svs_size_code (int w)
 
int jpeg_create_svs_header (unsigned char *jpegbuf, int32_t size, int w)
 
static void jpeg_initialization (JPEG_ENCODER_STRUCTURE *, uint32_t, uint32_t, uint32_t)
 
static uint8_tjpeg_write_markers (JPEG_ENCODER_STRUCTURE *, uint8_t *, uint32_t, uint32_t, uint32_t)
 
static void jpeg_read_400_format (JPEG_ENCODER_STRUCTURE *, uint8_t *)
 
static void jpeg_read_422_format (JPEG_ENCODER_STRUCTURE *, uint8_t *)
 
static uint8_tjpeg_encodeMCU (JPEG_ENCODER_STRUCTURE *, uint32_t, uint8_t *)
 
static void jpeg_levelshift (int16_t *)
 
static void jpeg_DCT (int16_t *)
 
static void jpeg_quantization (JPEG_ENCODER_STRUCTURE *, int16_t *, uint16_t *)
 
static uint8_tjpeg_huffman (JPEG_ENCODER_STRUCTURE *, uint16_t, uint8_t *)
 
static uint8_tjpeg_close_bitstream (JPEG_ENCODER_STRUCTURE *, uint8_t *)
 
void MakeTables (JPEG_ENCODER_STRUCTURE *jpeg_encoder_structure, int q)
 
void jpeg_encode_image (struct image_t *in, struct image_t *out, uint32_t quality_factor, bool add_dri_header)
 Encode an YUV422 image. More...
 

Variables

static const uint16_t luminance_dc_code_table []
 
static const uint16_t luminance_dc_size_table []
 
static const uint16_t chrominance_dc_code_table []
 
static const uint16_t chrominance_dc_size_table []
 
static const uint16_t luminance_ac_code_table []
 
static const uint16_t luminance_ac_size_table []
 
static const uint16_t chrominance_ac_code_table []
 
static const uint16_t chrominance_ac_size_table []
 
static const uint8_t bitsize []
 
static const uint8_t markerdata []
 
static const uint8_t zigzag_table []
 
void(* read_format )(JPEG_ENCODER_STRUCTURE *jpeg_encoder_structure, uint8_t *input_ptr)
 
static const int jpeg_luma_quantizer [64]
 
static const int jpeg_chroma_quantizer [64]
 

Detailed Description

Encode images with the use of the JPEG encoding.

Definition in file jpeg.c.


Data Structure Documentation

struct JPEG_ENCODER_STRUCTURE

Definition at line 66 of file jpeg.c.

Data Fields
uint16_t bitindex
int16_t CB[JPEG_BLOCK_SIZE]
uint16_t cols
uint16_t cols_in_right_mcus
uint8_t Cqt[JPEG_BLOCK_SIZE]
int16_t CR[JPEG_BLOCK_SIZE]
uint16_t horizontal_mcus
uint16_t ICqt[JPEG_BLOCK_SIZE]
uint16_t ILqt[JPEG_BLOCK_SIZE]
uint16_t incr
uint32_t lcode
int16_t ldc1
int16_t ldc2
int16_t ldc3
uint16_t length_minus_mcu_width
uint16_t length_minus_width
uint8_t Lqt[JPEG_BLOCK_SIZE]
uint16_t mcu_height
uint16_t mcu_width
uint16_t mcu_width_size
uint16_t offset
uint16_t rows
uint16_t rows_in_bottom_mcus
int16_t Temp[JPEG_BLOCK_SIZE]
uint16_t vertical_mcus
int16_t Y1[JPEG_BLOCK_SIZE]
int16_t Y2[JPEG_BLOCK_SIZE]

Macro Definition Documentation

#define JPEG_BLOCK_SIZE   64

Definition at line 63 of file jpeg.c.

#define PUTBITS
Value:
{ \
bits_in_next_word = (int16_t) (jpeg_encoder_structure->bitindex + numbits - 32); \
if (bits_in_next_word < 0) \
{ \
jpeg_encoder_structure->lcode = (jpeg_encoder_structure->lcode << numbits) | data; \
jpeg_encoder_structure->bitindex += numbits; \
} \
else \
{ \
jpeg_encoder_structure->lcode = (jpeg_encoder_structure->lcode << (32 - jpeg_encoder_structure->bitindex)) | (data >> bits_in_next_word); \
if ((*output_ptr++ = (uint8_t)(jpeg_encoder_structure->lcode >> 24)) == 0xff) \
*output_ptr++ = 0; \
if ((*output_ptr++ = (uint8_t)(jpeg_encoder_structure->lcode >> 16)) == 0xff) \
*output_ptr++ = 0; \
if ((*output_ptr++ = (uint8_t)(jpeg_encoder_structure->lcode >> 8)) == 0xff) \
*output_ptr++ = 0; \
if ((*output_ptr++ = (uint8_t) jpeg_encoder_structure->lcode) == 0xff) \
*output_ptr++ = 0; \
jpeg_encoder_structure->lcode = data; \
jpeg_encoder_structure->bitindex = bits_in_next_word; \
} \
}
signed short int16_t
Definition: types.h:17
unsigned char uint8_t
Definition: types.h:14

Definition at line 597 of file jpeg.c.

Referenced by jpeg_huffman().

Typedef Documentation

Function Documentation

static uint8_t * jpeg_close_bitstream ( JPEG_ENCODER_STRUCTURE jpeg_encoder_structure,
uint8_t output_ptr 
)
static

Definition at line 718 of file jpeg.c.

References JPEG_ENCODER_STRUCTURE::bitindex, and JPEG_ENCODER_STRUCTURE::lcode.

Referenced by jpeg_encode_image().

+ Here is the caller graph for this function:

int jpeg_create_svs_header ( unsigned char *  jpegbuf,
int32_t  size,
int  w 
)

Definition at line 44 of file jpeg.c.

References p, and svs_size_code().

+ Here is the call graph for this function:

static void jpeg_DCT ( int16_t data)
static

Definition at line 509 of file jpeg.c.

References c1, c2, c3, and c6.

Referenced by jpeg_encodeMCU().

+ Here is the caller graph for this function:

void jpeg_encode_image ( struct image_t in,
struct image_t out,
uint32_t  quality_factor,
bool  add_dri_header 
)
static uint8_t * jpeg_encodeMCU ( JPEG_ENCODER_STRUCTURE jpeg_encoder_structure,
uint32_t  image_format,
uint8_t output_ptr 
)
static
static void jpeg_levelshift ( int16_t data)
static

Definition at line 499 of file jpeg.c.

Referenced by jpeg_encodeMCU().

+ Here is the caller graph for this function:

static void jpeg_quantization ( JPEG_ENCODER_STRUCTURE jpeg_encoder_structure,
int16_t data,
uint16_t quant_table_ptr 
)
static

Definition at line 932 of file jpeg.c.

References JPEG_ENCODER_STRUCTURE::Temp, and zigzag_table.

Referenced by jpeg_encodeMCU().

+ Here is the caller graph for this function:

static void jpeg_read_400_format ( JPEG_ENCODER_STRUCTURE jpeg_encoder_structure,
uint8_t input_ptr 
)
static

Definition at line 945 of file jpeg.c.

References JPEG_ENCODER_STRUCTURE::cols, JPEG_ENCODER_STRUCTURE::incr, JPEG_ENCODER_STRUCTURE::rows, and JPEG_ENCODER_STRUCTURE::Y1.

Referenced by jpeg_initialization().

+ Here is the caller graph for this function:

static void jpeg_read_422_format ( JPEG_ENCODER_STRUCTURE jpeg_encoder_structure,
uint8_t input_ptr 
)
static
static uint8_t * jpeg_write_markers ( JPEG_ENCODER_STRUCTURE jpeg_encoder_structure,
uint8_t output_ptr,
uint32_t  image_format,
uint32_t  image_width,
uint32_t  image_height 
)
static

Definition at line 744 of file jpeg.c.

References JPEG_ENCODER_STRUCTURE::Cqt, FOUR_TWO_TWO, FOUR_ZERO_ZERO, JPEG_ENCODER_STRUCTURE::Lqt, and markerdata.

Referenced by jpeg_encode_image().

+ Here is the caller graph for this function:

void MakeTables ( JPEG_ENCODER_STRUCTURE jpeg_encoder_structure,
int  q 
)
static unsigned char svs_size_code ( int  w)
inlinestatic

Definition at line 23 of file jpeg.c.

Referenced by jpeg_create_svs_header().

+ Here is the caller graph for this function:

Variable Documentation

const uint8_t bitsize[]
static

Definition at line 228 of file jpeg.c.

Referenced by jpeg_huffman().

const uint16_t chrominance_ac_code_table[]
static
Initial value:
= {
0x0000,
0x0001, 0x0004, 0x000A, 0x0018, 0x0019, 0x0038, 0x0078, 0x01F4, 0x03F6, 0x0FF4,
0x000B, 0x0039, 0x00F6, 0x01F5, 0x07F6, 0x0FF5, 0xFF88, 0xFF89, 0xFF8A, 0xFF8B,
0x001A, 0x00F7, 0x03F7, 0x0FF6, 0x7FC2, 0xFF8C, 0xFF8D, 0xFF8E, 0xFF8F, 0xFF90,
0x001B, 0x00F8, 0x03F8, 0x0FF7, 0xFF91, 0xFF92, 0xFF93, 0xFF94, 0xFF95, 0xFF96,
0x003A, 0x01F6, 0xFF97, 0xFF98, 0xFF99, 0xFF9A, 0xFF9B, 0xFF9C, 0xFF9D, 0xFF9E,
0x003B, 0x03F9, 0xFF9F, 0xFFA0, 0xFFA1, 0xFFA2, 0xFFA3, 0xFFA4, 0xFFA5, 0xFFA6,
0x0079, 0x07F7, 0xFFA7, 0xFFA8, 0xFFA9, 0xFFAA, 0xFFAB, 0xFFAC, 0xFFAD, 0xFFAE,
0x007A, 0x07F8, 0xFFAF, 0xFFB0, 0xFFB1, 0xFFB2, 0xFFB3, 0xFFB4, 0xFFB5, 0xFFB6,
0x00F9, 0xFFB7, 0xFFB8, 0xFFB9, 0xFFBA, 0xFFBB, 0xFFBC, 0xFFBD, 0xFFBE, 0xFFBF,
0x01F7, 0xFFC0, 0xFFC1, 0xFFC2, 0xFFC3, 0xFFC4, 0xFFC5, 0xFFC6, 0xFFC7, 0xFFC8,
0x01F8, 0xFFC9, 0xFFCA, 0xFFCB, 0xFFCC, 0xFFCD, 0xFFCE, 0xFFCF, 0xFFD0, 0xFFD1,
0x01F9, 0xFFD2, 0xFFD3, 0xFFD4, 0xFFD5, 0xFFD6, 0xFFD7, 0xFFD8, 0xFFD9, 0xFFDA,
0x01FA, 0xFFDB, 0xFFDC, 0xFFDD, 0xFFDE, 0xFFDF, 0xFFE0, 0xFFE1, 0xFFE2, 0xFFE3,
0x07F9, 0xFFE4, 0xFFE5, 0xFFE6, 0xFFE7, 0xFFE8, 0xFFE9, 0xFFEA, 0xFFEb, 0xFFEC,
0x3FE0, 0xFFED, 0xFFEE, 0xFFEF, 0xFFF0, 0xFFF1, 0xFFF2, 0xFFF3, 0xFFF4, 0xFFF5,
0x7FC3, 0xFFF6, 0xFFF7, 0xFFF8, 0xFFF9, 0xFFFA, 0xFFFB, 0xFFFC, 0xFFFD, 0xFFFE,
0x03FA
}

Definition at line 186 of file jpeg.c.

Referenced by jpeg_huffman().

const uint16_t chrominance_ac_size_table[]
static
Initial value:
= {
0x0002,
0x0002, 0x0003, 0x0004, 0x0005, 0x0005, 0x0006, 0x0007, 0x0009, 0x000A, 0x000C,
0x0004, 0x0006, 0x0008, 0x0009, 0x000B, 0x000C, 0x0010, 0x0010, 0x0010, 0x0010,
0x0005, 0x0008, 0x000A, 0x000C, 0x000F, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0005, 0x0008, 0x000A, 0x000C, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0006, 0x0009, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0006, 0x000A, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0007, 0x000B, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0007, 0x000B, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0008, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0009, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0009, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0009, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0009, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x000B, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x000E, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x000F, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x000A
}

Definition at line 207 of file jpeg.c.

Referenced by jpeg_huffman().

const uint16_t chrominance_dc_code_table[]
static
Initial value:
= {
0x0000, 0x0001, 0x0002, 0x0006, 0x000E, 0x001E,
0x003E, 0x007E, 0x00FE, 0x01FE, 0x03FE, 0x07FE
}

Definition at line 134 of file jpeg.c.

Referenced by jpeg_huffman().

const uint16_t chrominance_dc_size_table[]
static
Initial value:
= {
0x0002, 0x0002, 0x0002, 0x0003, 0x0004, 0x0005,
0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B
}

Definition at line 139 of file jpeg.c.

Referenced by jpeg_huffman().

const int jpeg_chroma_quantizer[64]
static
Initial value:
= {
17, 18, 24, 47, 99, 99, 99, 99,
18, 21, 26, 66, 99, 99, 99, 99,
24, 26, 56, 99, 99, 99, 99, 99,
47, 66, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99
}

Definition at line 354 of file jpeg.c.

Referenced by MakeTables().

const int jpeg_luma_quantizer[64]
static
Initial value:
= {
16, 11, 10, 16, 24, 40, 51, 61,
12, 12, 14, 19, 26, 58, 60, 55,
14, 13, 16, 24, 40, 57, 69, 56,
14, 17, 22, 29, 51, 87, 80, 62,
18, 22, 37, 56, 68, 109, 103, 77,
24, 35, 55, 64, 81, 104, 113, 92,
49, 64, 78, 87, 103, 121, 120, 101,
72, 92, 95, 98, 112, 100, 103, 99
}

Definition at line 340 of file jpeg.c.

Referenced by MakeTables().

const uint16_t luminance_ac_code_table[]
static
Initial value:
= {
0x000A,
0x0000, 0x0001, 0x0004, 0x000B, 0x001A, 0x0078, 0x00F8, 0x03F6, 0xFF82, 0xFF83,
0x000C, 0x001B, 0x0079, 0x01F6, 0x07F6, 0xFF84, 0xFF85, 0xFF86, 0xFF87, 0xFF88,
0x001C, 0x00F9, 0x03F7, 0x0FF4, 0xFF89, 0xFF8A, 0xFF8b, 0xFF8C, 0xFF8D, 0xFF8E,
0x003A, 0x01F7, 0x0FF5, 0xFF8F, 0xFF90, 0xFF91, 0xFF92, 0xFF93, 0xFF94, 0xFF95,
0x003B, 0x03F8, 0xFF96, 0xFF97, 0xFF98, 0xFF99, 0xFF9A, 0xFF9B, 0xFF9C, 0xFF9D,
0x007A, 0x07F7, 0xFF9E, 0xFF9F, 0xFFA0, 0xFFA1, 0xFFA2, 0xFFA3, 0xFFA4, 0xFFA5,
0x007B, 0x0FF6, 0xFFA6, 0xFFA7, 0xFFA8, 0xFFA9, 0xFFAA, 0xFFAB, 0xFFAC, 0xFFAD,
0x00FA, 0x0FF7, 0xFFAE, 0xFFAF, 0xFFB0, 0xFFB1, 0xFFB2, 0xFFB3, 0xFFB4, 0xFFB5,
0x01F8, 0x7FC0, 0xFFB6, 0xFFB7, 0xFFB8, 0xFFB9, 0xFFBA, 0xFFBB, 0xFFBC, 0xFFBD,
0x01F9, 0xFFBE, 0xFFBF, 0xFFC0, 0xFFC1, 0xFFC2, 0xFFC3, 0xFFC4, 0xFFC5, 0xFFC6,
0x01FA, 0xFFC7, 0xFFC8, 0xFFC9, 0xFFCA, 0xFFCB, 0xFFCC, 0xFFCD, 0xFFCE, 0xFFCF,
0x03F9, 0xFFD0, 0xFFD1, 0xFFD2, 0xFFD3, 0xFFD4, 0xFFD5, 0xFFD6, 0xFFD7, 0xFFD8,
0x03FA, 0xFFD9, 0xFFDA, 0xFFDB, 0xFFDC, 0xFFDD, 0xFFDE, 0xFFDF, 0xFFE0, 0xFFE1,
0x07F8, 0xFFE2, 0xFFE3, 0xFFE4, 0xFFE5, 0xFFE6, 0xFFE7, 0xFFE8, 0xFFE9, 0xFFEA,
0xFFEB, 0xFFEC, 0xFFED, 0xFFEE, 0xFFEF, 0xFFF0, 0xFFF1, 0xFFF2, 0xFFF3, 0xFFF4,
0xFFF5, 0xFFF6, 0xFFF7, 0xFFF8, 0xFFF9, 0xFFFA, 0xFFFB, 0xFFFC, 0xFFFD, 0xFFFE,
0x07F9
}

Definition at line 144 of file jpeg.c.

Referenced by jpeg_huffman().

const uint16_t luminance_ac_size_table[]
static
Initial value:
= {
0x0004,
0x0002, 0x0002, 0x0003, 0x0004, 0x0005, 0x0007, 0x0008, 0x000A, 0x0010, 0x0010,
0x0004, 0x0005, 0x0007, 0x0009, 0x000B, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0005, 0x0008, 0x000A, 0x000C, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0006, 0x0009, 0x000C, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0006, 0x000A, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0007, 0x000B, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0007, 0x000C, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0008, 0x000C, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0009, 0x000F, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0009, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0009, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x000A, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x000A, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x000B, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x000B
}

Definition at line 165 of file jpeg.c.

Referenced by jpeg_huffman().

const uint16_t luminance_dc_code_table[]
static
Initial value:
= {
0x0000, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006,
0x000E, 0x001E, 0x003E, 0x007E, 0x00FE, 0x01FE
}

Definition at line 124 of file jpeg.c.

Referenced by jpeg_huffman().

const uint16_t luminance_dc_size_table[]
static
Initial value:
= {
0x0002, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009
}

Definition at line 129 of file jpeg.c.

Referenced by jpeg_huffman().

const uint8_t markerdata[]
static
Initial value:
= {
0xFF, 0xC4, 0x00, 0x1F, 0x00, 0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
0xFF, 0xC4, 0x00, 0xB5, 0x10, 0x00, 0x02, 0x01, 0x03, 0x03, 0x02, 0x04, 0x03, 0x05, 0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x7D, 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xA1, 0x08, 0x23, 0x42, 0xB1, 0xC1, 0x15, 0x52, 0xD1, 0xF0, 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0A, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA,
0xFF, 0xC4, 0x00, 0x1F, 0x01, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
0xFF, 0xC4, 0x00, 0xB5, 0x11, 0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04, 0x07, 0x05, 0x04, 0x04, 0x00, 0x01, 0x02, 0x77, 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71, 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, 0xA1, 0xB1, 0xC1, 0x09, 0x23, 0x33, 0x52, 0xF0, 0x15, 0x62, 0x72, 0xD1, 0x0A, 0x16, 0x24, 0x34, 0xE1, 0x25, 0xF1, 0x17, 0x18, 0x19, 0x1A, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA,
}

Definition at line 263 of file jpeg.c.

Referenced by jpeg_write_markers().

void(* read_format)(JPEG_ENCODER_STRUCTURE *jpeg_encoder_structure, uint8_t *input_ptr)

Definition at line 286 of file jpeg.c.

Referenced by jpeg_encode_image(), and jpeg_initialization().

const uint8_t zigzag_table[]
static
Initial value:
= {
0, 1, 5, 6, 14, 15, 27, 28,
2, 4, 7, 13, 16, 26, 29, 42,
3, 8, 12, 17, 25, 30, 41, 43,
9, 11, 18, 24, 31, 40, 44, 53,
10, 19, 23, 32, 39, 45, 52, 54,
20, 22, 33, 38, 46, 51, 55, 60,
21, 34, 37, 47, 50, 56, 59, 61,
35, 36, 48, 49, 57, 58, 62, 63
}

Definition at line 274 of file jpeg.c.

Referenced by jpeg_quantization().