⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jdprototype.h

📁 void III_hufman_decode(struct Granule *gr,int part2_start, int freqline[SBLIMIT][SSLIMIT]) {
💻 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 + -