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

📄 open.h

📁 从sourceforge下的图像压缩源码
💻 H
字号:
/***
 * open.h
 *** 
 * 2007-04-29
 * xbarin02@stud.fit.vutbr.cz  
 ***
 * hlavickovy soubor s rozhranim knihovny libopen
 */
 
#ifndef _OPEN_H_
#define _OPEN_H_

#include <stdio.h>
#include <stdint.h>

// vnitrni datove typy
typedef  uint8_t  uint8; // 1 Byte
typedef   int8_t   int8;
typedef uint16_t uint16; // 2 Byte
typedef  int16_t  int16;
typedef uint32_t uint32; // 4 Byte
typedef  int32_t  int32; 

// RGB pixel: 8 bitu/kanal
typedef struct
{
  uint8 r,g,b;
} TPixel, *PPixel;

// frame buffer (vlastni obrazek), index = y*w+x
typedef struct
{
  PPixel buff;
  uint32 w,h;
} TFrameBuff, *PFrameBuff;

/***
 * pomocna, testuje sizeof(uint8) == 1, ...
 * vraci !=0 pri chybe
 */ 
int check_sizeof();

// metody komprese
typedef enum
  {
    DCT = 0,
	DWT = 1,
  } openMethod;

/***
 * popis:
 *   provede kompresi dle zadane metody
 * parametry:
 *   descriptor - otevreny soubor (w), kam zapsat zkomprimovany obrazek
 *   framebuffer - obrazek v FB ke zkomprimovani (nemeni)
 *   method - metoda komprese DCT/DWT
 *   quality - kvalita (stupen komprese) v % (1..100)
 * vraci:
 *   !=0 pri chybe 
 */ 
int openCompress(FILE *descriptor, PFrameBuff framebuffer, openMethod method, int quality);

/***
 * popis:
 *   provede dekompresi obrazku do FB (ktery vytvori)
 * parametry:
 *   descriptor - soubor otevreny (r) se zkomprimovanym obrazkem
 *   framebuffer - kam obrazek ulozit (alokuje sam)
 * vraci:
 *   !=0 pri chybe  
 */ 
int openDecompress(FILE *descriptor, PFrameBuff *framebuffer);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -