Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
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

◆ JPEG_ENCODER_STRUCTURE

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

◆ JPEG_BLOCK_SIZE

#define JPEG_BLOCK_SIZE   64

Definition at line 63 of file jpeg.c.

◆ PUTBITS

#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; \
} \
}
short int16_t
Typedef defining 16 bit short type.
Definition: vl53l1_types.h:93
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.
Definition: vl53l1_types.h:98

Definition at line 599 of file jpeg.c.

Typedef Documentation

◆ JPEG_ENCODER_STRUCTURE

Function Documentation

◆ jpeg_close_bitstream()

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

Definition at line 722 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:

◆ jpeg_create_svs_header()

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

Definition at line 44 of file jpeg.c.

References p, s, and svs_size_code().

+ Here is the call graph for this function:

◆ jpeg_DCT()

static void jpeg_DCT ( int16_t data)
static

Definition at line 509 of file jpeg.c.

References c1, c2, c3, c6, logger_uart_parse::s1, logger_uart_parse::s2, and logger_uart_parse::s3.

Referenced by jpeg_encodeMCU().

+ Here is the caller graph for this function:

◆ jpeg_encode_image()

void jpeg_encode_image ( struct image_t in,
struct image_t out,
uint32_t  quality_factor,
bool  add_dri_header 
)

◆ jpeg_encodeMCU()

static uint8_t * jpeg_encodeMCU ( JPEG_ENCODER_STRUCTURE jpeg_encoder_structure,
uint32_t  image_format,
uint8_t output_ptr 
)
static

◆ jpeg_huffman()

◆ jpeg_initialization()

◆ jpeg_levelshift()

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:

◆ jpeg_quantization()

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

Definition at line 936 of file jpeg.c.

References JPEG_ENCODER_STRUCTURE::Temp, and zigzag_table.

Referenced by jpeg_encodeMCU().

+ Here is the caller graph for this function:

◆ jpeg_read_400_format()

static void jpeg_read_400_format ( JPEG_ENCODER_STRUCTURE jpeg_encoder_structure,
uint8_t input_ptr 
)
static

Definition at line 949 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:

◆ jpeg_read_422_format()

static void jpeg_read_422_format ( JPEG_ENCODER_STRUCTURE jpeg_encoder_structure,
uint8_t input_ptr 
)
static

◆ jpeg_write_markers()

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 748 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:

◆ MakeTables()

void MakeTables ( JPEG_ENCODER_STRUCTURE jpeg_encoder_structure,
int  q 
)

◆ svs_size_code()

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

◆ bitsize

const uint8_t bitsize[]
static

Definition at line 228 of file jpeg.c.

Referenced by jpeg_huffman().

◆ chrominance_ac_code_table

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().

◆ chrominance_ac_size_table

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().

◆ chrominance_dc_code_table

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().

◆ chrominance_dc_size_table

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().

◆ jpeg_chroma_quantizer

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().

◆ jpeg_luma_quantizer

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().

◆ luminance_ac_code_table

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().

◆ luminance_ac_size_table

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().

◆ luminance_dc_code_table

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().

◆ luminance_dc_size_table

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().

◆ markerdata

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().

◆ read_format

void(* read_format) (JPEG_ENCODER_STRUCTURE *jpeg_encoder_structure, uint8_t *input_ptr) ( 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().

◆ zigzag_table

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().