📄 jbig.h
字号:
// This macro specifies a P-register to point to a C-style variable.#define POINT_TO_ANY(reg, val) \ reg##.h = hi(val); \ reg##.l = lo(val) .extern _jbg_lsz, _jbg_nmps, _jbg_nlps;#define SAVE_ALL_REGISTERS() \ [--sp] = (r7:4, p5:3) #define POP_ALL_REGISTERS() \ (r7:4, p5:3) = [sp++]// The following macros are for arith_encode#define PC_REG p0#define PA_REG p0 + 4#define PSC p0 + 8#define PCT p0 + 12#define PBUF p0 + 16#define PST p0 + 20#define PENC_STATE p0 + 1044// Globally, we assume the following registers:// I2: Pointer to current sde index// R3: A-register// R4: C-register// Globally initialization #define A_REG r3#define C_REG r4// In the first term, we assume the following temp registers:// P0: &st[cx]// P1: jbg_lsz// P3: jbg_nlps/jbg_nmps// P4: SS, the index of jbg_lsz, jbg_nlps and jbg_nmps// R0: *st, st[cx]#define PST_CX p2#define JBG_LSZ p1#define JBG_NLPS p3#define JBG_NMPS p3#define _SS p4#define CX p5 #define ST_CX R0#define PIX R3#define LSZ R1// In the second term, the following registers will be assumed. // P1: &ct // P2: &sc// P3: &buffer // P4: current sde index // R1: SC // R2: buffer // R5: temp #define CUR_SDE P4#define CT P5 #define SC P1#define BUF R2#define TEMP R5 #define CONST_ZERO R6#define CONST_FF R1#define CONST_8000 R7#define FCT R0#define FSC R7// Typical prediction#define _P1 p1#define HP p1#define _Q1 p2#define HBPL b1#define N_HBPL b2#define CUR_SDE_SAVE b0#define LTP r3#define LTP_OLD m0#define Y r4#define HP_STORAGE i3#define SRC_HP a1#define Y_STORAGE i2#define SRC_SDE m1#define VENC_STATE m2#define VARENC_STATE m3#define HP1 l2#define HY l3#define PXD p0#define PYD p0 + 4#define PL0 p0 + 8#define PSTRIPES p0 + 12#define PLHP p0 + 16#define PHIGHRES p0 + 20#define PSDE p0 + 24#define PSDE_INDEX p0 + 28#define PLTP_OLD p0 + 32#define PS p0 + 36#define LINE_H1 r3#define LINE_H2 r1// #define LINE_H3 r5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -