📄 jdprototype.h
字号:
#ifndef JDPROTOTYPE_H
#define JDPROTOTYPE_H
#include <stdio.h>
#include "jddatatype.h"
UINT16 read_soi_marker (JPEG_DECODER_STRUCTURE *jpeg_decoder_structure);
UINT16 read_restart_marker (JPEG_DECODER_STRUCTURE *my_jpeg_decoder_structure);
UINT16 read_next_marker (JPEG_DECODER_STRUCTURE *my_jpeg_decoder_structure);
void clear_buffer (INT16 *buffer, UINT16 size);
void copy_data (INT16 *input_buffer, INT16 *output_buffer, UINT16 data_length);
void copy_output (UINT32 *image_buffer, UINT32 *external_image_buffer,
UINT16 number_of_samples_per_line,
UINT16 number_of_rows, UINT16 number_of_columns, UINT16 image_format);
void write_400_format (INT16 *mcu_buffer, UINT32 *image_buffer);
void write_420_format (INT16 *mcu_buffer, UINT32 *image_buffer);
void write_422_format (INT16 *mcu_buffer, UINT32 *image_buffer);
void write_444_format (INT16 *mcu_buffer, UINT32 *image_buffer);
UINT16 read_8_bits (JPEG_DECODER_STRUCTURE *my_jpeg_decoder_structure);
UINT16 read_16_bits (JPEG_DECODER_STRUCTURE *my_jpeg_decoder_structure);
UINT16 read_16huff_bits (JPEG_DECODER_STRUCTURE *jpeg_decoder_structure);
void wind_buffer (JPEG_DECODER_STRUCTURE *jpeg_decoder_structure);
UINT16 sequential_huffman (JPEG_DECODER_STRUCTURE *jpeg_decoder_structure, INT16 *tmp,
UINT16 component_index);
UINT16 first_dc_huffman (JPEG_DECODER_STRUCTURE *jpeg_decoder_structure, INT16 *tmp,
UINT16 component_index);
UINT16 refine_dc_huffman (JPEG_DECODER_STRUCTURE *jpeg_decoder_structure, INT16 *tmp,
UINT16 component_index);
UINT16 first_ac_huffman (JPEG_DECODER_STRUCTURE *jpeg_decoder_structure, INT16 *tmp,
UINT16 component_index);
UINT16 refine_ac_huffman (JPEG_DECODER_STRUCTURE *jpeg_decoder_structure, INT16 *tmp,
UINT16 component_index);
void inverse_quantize_inverse_zigzag (INT16 *a, INT16 *b, UINT16 *c);
void idct (INT16 *);
void level_shift (INT16 *a, INT16 *c);
UINT16 decode_noninterleaved_scan (JPEG_DECODER_STRUCTURE *jpeg_decoder_structure);
UINT16 decode_interleaved_scan (JPEG_DECODER_STRUCTURE *jpeg_decoder_structure, UINT16 flag);
UINT16 decode_jpeg_image (JPEG_DECODER_STRUCTURE *jpeg_decoder_structure);
UINT16 jpeg_decoder (JPEG_DECODER_STRUCTURE *jpeg_decoder_structure);
void * jdmalloc(size_t);
//void write_bmp (UINT32 * image, UINT16 number_of_lines,UINT16 number_of_samples_per_line, FILE * fpt);
void write_bmp (UINT16 * RGBbuf, UINT16 number_of_lines,
UINT16 number_of_samples_per_line, FILE * fw);
int g_298[256];
int g_409[256];
int g_100[256];
int g_208[256];
int g_516[256];
#define CLIP(x) ( (x) < 0 ? 0 : ((x) > 255 ? 255 : (x)) )
void YUV_to_RGB24(const UINT8 Y, const UINT8 U, const UINT8 V, UINT8 *R, UINT8 *G, UINT8 *B);
void YUV_to_RGB565(const UINT8 Y, const UINT8 U, const UINT8 V, UINT16 *pRGBPixel);
void yuv2rgb_init_lookup();
void write_rgb565buffer (UINT32 * image, UINT16 number_of_lines,
UINT16 number_of_samples_per_line, UINT16 *RGBbuf);
void InterpolaZoom(UINT16 *lpDIBBits, UINT16 lWidth, UINT16 lHeight, float ZoomRatio, UINT16 *lpNewDIBBits);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -