File: XADQuantumHandle.h

package info (click to toggle)
unar 1.1-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 6,664 kB
  • sloc: ansic: 52,939; objc: 39,563; cpp: 4,074; makefile: 99; perl: 10
file content (41 lines) | stat: -rw-r--r-- 855 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#import "XADCABBlockHandle.h"
#import "LZSS.h"

typedef struct QuantumCoder
{
	uint16_t CS_L,CS_H,CS_C;
	CSInputBuffer *input;
} QuantumCoder;

typedef struct QuantumModelSymbol
{
	uint16_t symbol;
	uint16_t cumfreq;
} QuantumModelSymbol;

typedef struct QuantumModel
{
	int numsymbols,shiftsleft; 
	QuantumModelSymbol symbols[65];
} QuantumModel;

@interface XADQuantumHandle:XADCABBlockHandle
{
	LZSS lzss;

	int numslots4,numslots5,numslots6;

	QuantumCoder coder;
	QuantumModel selectormodel;
	QuantumModel literalmodel[4];
	QuantumModel offsetmodel4,offsetmodel5,offsetmodel6;
	QuantumModel lengthmodel6;
}

-(id)initWithBlockReader:(XADCABBlockReader *)blockreader windowBits:(int)windowbits;

-(void)resetCABBlockHandle;
-(int)produceCABBlockWithInputBuffer:(uint8_t *)buffer length:(int)length atOffset:(off_t)pos length:(int)uncomplength;

@end