📄 open.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 + -