#ifndef _TABLES_H
#define _TABLES_H

#include "types.h"

//zig-zag scan order table for 4x4 block
extern const uint8 zigzag_4x4[16];

typedef struct
{
    uint32 len;
    uint32 value;
}bitTable;

typedef struct
{
    uint8 pos;
    sint32 value;
}valueTable;

float Qstep[52];
uint32 MF[52][3];
uint8 V[52][3];

bitTable *exp_table;

//Specification page 217-218
//Book page 200
extern const uint8 coded_block_pattern_inter[]; 
extern const uint8 coded_block_pattern_intra[];

extern const bitTable total_zeros_4x4[16][16];
extern const bitTable run_before_table[15][7];
extern const bitTable coeff_token_tables[17][4][6];

#endif

