资源简介
行程编码,JPEG压缩编码(基本系统)

代码片段和文件信息
//////////////////////////////////////////////////////////////
//Name:compress.c
//Purpose: Run length algorithm and Jpeg decoding
//Author: phoenix CS TshingHua Beijing P.R.C.
//Email: bjlufengjun@www.163.net or lufengjun@hotmail.com
//Date:April 3 1998
//header file
#include “bmp.h“
#include “jpeg.h“
#include “memory.h“
#include “math.h“
#include “stdio.h“
//macro definition
#define WIDTHBYTES(i) ((i+31)/32*4)
#define PI 3.1415926535
//define return value of function
#define FUNC_OK 0
#define FUNC_MEMORY_ERROR 1
#define FUNC_FILE_ERROR 2
#define FUNC_FORMAT_ERROR 3
//function declaration
int PASCAL WinMain (HANDLE HANDLE LPSTR int);
LRESULT CALLBACK MainWndProc(HWND UINTWPARAM LPARAM);
BOOL LoadPcxFile(HWND hWndchar *BmpFileName);
void ReadPcxLine(unsigned char *pFILE *fp);
//////////////////////////////////////////////////
//Jpeg functions
BOOL LoadJpegFile(HWND hWndchar *BmpFileName);
void showerror(int funcret);
int InitTag();
void InitTable();
int Decode();
int DecodeMCUBlock();
int HufBlock(BYTE dchufindexBYTE achufindex);
int DecodeElement();
void IQtIZzMCUComponent(short flag);
void IQtIZzBlock(short *s int * dshort flag);
void GetYUV(short flag);
void StoreBuffer();
BYTE ReadByte();
void Initialize_Fast_IDCT();
void Fast_IDCT(int * block);
void idctrow(int * blk);
void idctcol(int * blk);
//////////////////////////////////////////////////
//global variable declaration
BITMAPFILEHEADER bf;
BITMAPINFOHEADER bi;
HPALETTE hPalette=NULL;
HBITMAP hBitmap=NULL;
HGLOBAL hImgData=NULL;
DWORD NumColors;
DWORD LineBytes;
DWORD ImgWidth=0 ImgHeight=0;
unsigned int PcxBytesPerLine;
LPSTR lpPtr;
//////////////////////////////////////////////////
//variables used in jpeg function
short SampRate_Y_HSampRate_Y_V;
short SampRate_U_HSampRate_U_V;
short SampRate_V_HSampRate_V_V;
short H_YtoUV_YtoUH_YtoVV_YtoV;
short Y_in_MCUU_in_MCUV_in_MCU;
unsigned char *lpJpegBuf;
unsigned char *lp;
short qt_table[3][64];
short comp_num;
BYTE comp_index[3];
BYTE YDcIndexYAcIndexUVDcIndexUVAcIndex;
BYTE HufTabIndex;
short *YQtTable*UQtTable*VQtTable;
BYTE And[9]={01370xf0x1f0x3f0x7f0xff};
short code_pos_table[4][16]code_len_table[4][16];
unsigned short code_value_table[4][256];
unsigned short huf_max_value[4][16]huf_min_value[4][16];
short BitPosCurByte;
short rrunvvalue;
short MCUBuffer[10*64];
int QtZzMCUBuffer[10*64];
short BlockBuffer[64];
short ycoefucoefvcoef;
BOOL IntervalFlag;
short interval=0;
int Y[4*64]U[4*64]V[4*64];
DWORD sizeisizej;
short restart;
static long iclip[1024];
static long *iclp;
///////////////////////////////////////////////////////////
int PASCAL WinMain (HANDLE hInstance HANDLE hPrevInstance
LPSTR lpszCmdLine int nCmdShow)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 265568 1998-05-07 10:32 Bmp.aps
文件 142 1998-04-23 13:47 Bmp.h
文件 331 1998-04-23 15:47 Bmp.rc
文件 32030 1998-04-25 09:37 compress.c
文件 43008 1998-05-06 09:20 compress.exe
文件 758 1998-04-23 14:04 JPEG.H
文件 183 2000-06-11 09:44 readme.txt
文件 13310 1995-11-22 14:50 test.jpg
- 上一篇:一个漂亮的打地鼠游戏源码
- 下一篇:Serpent加密算法
相关资源
- Scratch源码
- E4A无障碍跨程序操作类库(带源码、
- 设备管理系统源码
- 安卓wifi直连app源码
- 我的世界源码(易语言版)
- labview编程软件滤波器以及编写程序设
- 我的界面(visual foxpro)源码
- 易语言:一键cf基址源码
- The Secret Path 3D 3D魔方迷宫[源码][scra
- scratch垃圾分类源码(最终版本).sb
- 最新版TTF16.OCX Formula One v. 6.1.6.2 控件
- 安卓QQ6.71协议源码易语言,qq协议源码
- 编译原理实验工具及参考源码(lex&
- E盾偷后台工具源码
- UNIX/LINUX编程实践教程的源码
- 十以内加减法练习 powerbuilder源码
- 农场开发项目
- OCR源码
- PLC上位机编程软件
- 用foobar2000听google音乐[更新一下]
- 学生信息管理系统源码
- 用VC 编写的仿QQ聊天室程序源代码
- 毕业论文之温度传感器DS18B20(源码
- 可自定义导航网站源码
- 栅栏填充算法源码(VC)
- msp430F149操作红外接收模块源码
- [免费]图像识别c 源码
- 周易排盘源码
- 可拖拽的甘特图控件(完整)
- RSA算法源码
评论
共有 条评论