资源简介
行程编码,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加密算法
相关资源
- Serpent加密算法
- 一个漂亮的打地鼠游戏源码
- 心理在线咨询系统 v2.1
- 计算机机房管理系统
- 机房管理系统(源代码)
- Exactly like the classic etch-a-sketch game yo
-
Openxm
l - 一个读取硬盘序列号与CPU序列号的D
- 易语言进销存源码
- VISIO UI控件
- 语音播报 简单(源码)
- 16进制dat数据转.bmp位图文件 源码
- 数据链路层滑动窗口协议的设计与实
- LitJson源码--cs文件
- 特征提取及分类源码
- 利用mstscax.dll开发远程登录客户端源码
- 获取视频地址源码
- 短信、拦截、转发 源码
- redupload多文件上传控件 dll
- 课程设计Joseph环源码
- 餐饮管理系统打印票据汇总(附图例
- LabWindows CVI 3D graph控件编程
- 易语言 抽奖摇号软件源码
- WIFI探针内核源码
- osgEarth35集视频教程及源码
- 89c51电子数字钟 源码和电路图
- 50HZ陷波器的C程序源码.
- HMM算法及其源码
- 冒险岛登陆器079SF源码
- 喜马拉雅音频修改器有源码
评论
共有 条评论