Paparazzi UAS  v5.8.2_stable-0-g6260b7c
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 (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 (int16_t *, uint16_t *)
 
static uint8_tjpeg_huffman (JPEG_ENCODER_STRUCTURE *, uint16_t, uint8_t *)
 
static uint8_tjpeg_close_bitstream (uint8_t *)
 
void MakeTables (int q)
 
void jpeg_encode_image (struct image_t *in, struct image_t *out, uint32_t quality_factor, bool_t add_dri_header)
 Encode an YUV422 image. More...
 

Variables

static uint16_t luminance_dc_code_table []
 
static uint16_t luminance_dc_size_table []
 
static uint16_t chrominance_dc_code_table []
 
static uint16_t chrominance_dc_size_table []
 
static uint16_t luminance_ac_code_table []
 
static uint16_t luminance_ac_size_table []
 
static uint16_t chrominance_ac_code_table []
 
static uint16_t chrominance_ac_size_table []
 
static uint8_t bitsize []
 
static uint8_t markerdata []
 
static uint8_t zigzag_table []
 
static uint8_t Lqt [JPEG_BLOCK_SIZE]
 
static uint8_t Cqt [JPEG_BLOCK_SIZE]
 
static uint16_t ILqt [JPEG_BLOCK_SIZE]
 
static uint16_t ICqt [JPEG_BLOCK_SIZE]
 
static int16_t Y1 [JPEG_BLOCK_SIZE]
 
static int16_t Y2 [JPEG_BLOCK_SIZE]
 
static int16_t CB [JPEG_BLOCK_SIZE]
 
static int16_t CR [JPEG_BLOCK_SIZE]
 
static int16_t Temp [JPEG_BLOCK_SIZE]
 
static uint32_t lcode = 0
 
static uint16_t bitindex = 0
 
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 63 of file jpeg.c.

Data Fields
uint16_t cols
uint16_t cols_in_right_mcus
uint16_t horizontal_mcus
uint16_t incr
int16_t ldc1
int16_t ldc2
int16_t ldc3
uint16_t length_minus_mcu_width
uint16_t length_minus_width
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
uint16_t vertical_mcus

Macro Definition Documentation

#define JPEG_BLOCK_SIZE   64

Definition at line 290 of file jpeg.c.

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

Definition at line 614 of file jpeg.c.

Referenced by jpeg_huffman().

Typedef Documentation

Function Documentation

static uint8_t * jpeg_close_bitstream ( uint8_t output_ptr)
static

Definition at line 735 of file jpeg.c.

References bitindex, and 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 526 of file jpeg.c.

References c1, c2, c3, and c6.

Referenced by jpeg_encodeMCU().

+ Here is the caller graph for this function:

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

Definition at line 489 of file jpeg.c.

References CB, CR, FOUR_TWO_TWO, ICqt, ILqt, jpeg_DCT(), jpeg_huffman(), jpeg_levelshift(), jpeg_quantization(), Y1, and Y2.

Referenced by jpeg_encode_image().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void jpeg_levelshift ( int16_t data)
static

Definition at line 516 of file jpeg.c.

Referenced by jpeg_encodeMCU().

+ Here is the caller graph for this function:

static void jpeg_quantization ( int16_t data,
uint16_t quant_table_ptr 
)
static

Definition at line 949 of file jpeg.c.

References Temp, value, 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 962 of file jpeg.c.

References JPEG_ENCODER_STRUCTURE::cols, JPEG_ENCODER_STRUCTURE::incr, JPEG_ENCODER_STRUCTURE::rows, and 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

Definition at line 992 of file jpeg.c.

References CB, JPEG_ENCODER_STRUCTURE::cols, CR, JPEG_ENCODER_STRUCTURE::incr, JPEG_ENCODER_STRUCTURE::rows, Y1, and Y2.

Referenced by jpeg_initialization().

+ Here is the caller graph for this function:

static uint8_t * jpeg_write_markers ( uint8_t output_ptr,
uint32_t  image_format,
uint32_t  image_width,
uint32_t  image_height 
)
static

Definition at line 761 of file jpeg.c.

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

Referenced by jpeg_encode_image().

+ Here is the caller graph for this function:

void MakeTables ( int  q)

Definition at line 386 of file jpeg.c.

References Cqt, ICqt, ILqt, jpeg_chroma_quantizer, jpeg_luma_quantizer, and Lqt.

Referenced by jpeg_encode_image().

+ Here is the caller graph for this function:

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

uint16_t bitindex = 0
static

Definition at line 304 of file jpeg.c.

Referenced by jpeg_close_bitstream(), and jpeg_initialization().

uint8_t bitsize[]
static

Definition at line 212 of file jpeg.c.

Referenced by jpeg_huffman().

Definition at line 300 of file jpeg.c.

Referenced by jpeg_encodeMCU(), and jpeg_read_422_format().

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 170 of file jpeg.c.

Referenced by jpeg_huffman().

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 191 of file jpeg.c.

Referenced by jpeg_huffman().

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

Definition at line 118 of file jpeg.c.

Referenced by jpeg_huffman().

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

Definition at line 123 of file jpeg.c.

Referenced by jpeg_huffman().

uint8_t Cqt[JPEG_BLOCK_SIZE]
static

Definition at line 292 of file jpeg.c.

Referenced by jpeg_write_markers(), and MakeTables().

Definition at line 301 of file jpeg.c.

Referenced by jpeg_encodeMCU(), and jpeg_read_422_format().

uint16_t ICqt[JPEG_BLOCK_SIZE]
static

Definition at line 294 of file jpeg.c.

Referenced by jpeg_encodeMCU(), and MakeTables().

uint16_t ILqt[JPEG_BLOCK_SIZE]
static

Definition at line 293 of file jpeg.c.

Referenced by jpeg_encodeMCU(), and MakeTables().

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 371 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 357 of file jpeg.c.

Referenced by MakeTables().

uint32_t lcode = 0
static

Definition at line 303 of file jpeg.c.

Referenced by jpeg_close_bitstream(), and jpeg_initialization().

uint8_t Lqt[JPEG_BLOCK_SIZE]
static

Definition at line 291 of file jpeg.c.

Referenced by jpeg_write_markers(), and MakeTables().

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 128 of file jpeg.c.

Referenced by jpeg_huffman().

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 149 of file jpeg.c.

Referenced by jpeg_huffman().

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

Definition at line 108 of file jpeg.c.

Referenced by jpeg_huffman().

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

Definition at line 113 of file jpeg.c.

Referenced by jpeg_huffman().

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 247 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 307 of file jpeg.c.

Referenced by jpeg_encode_image(), and jpeg_initialization().

int16_t Temp[JPEG_BLOCK_SIZE]
static

Definition at line 302 of file jpeg.c.

Referenced by jpeg_huffman(), and jpeg_quantization().

Definition at line 296 of file jpeg.c.

Referenced by jpeg_encodeMCU(), jpeg_read_400_format(), and jpeg_read_422_format().

Definition at line 297 of file jpeg.c.

Referenced by jpeg_encodeMCU(), and jpeg_read_422_format().

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 258 of file jpeg.c.

Referenced by jpeg_quantization().