#ifndef CALCULATE_OUTPUT_DATA_H
#define CALCULATE_OUTPUT_DATA_H

#include "jpeg.h"

#define Y_LIBU(x, i, j) input.Y[x][i * BLOCK_WIDTH + j]
#define Cb(i, j) Cb[i * BLOCK_WIDTH + j]
#define Cr(i, j) Cr[i * BLOCK_WIDTH + j]

typedef struct {
	unsigned int grayScale;
	unsigned int lumVi;
	unsigned int lumHi;
	short block_height;
	short block_width;
	unsigned int macroLine;
	unsigned int macroColumn;

	unsigned int width;
	unsigned int width_vga;

} calculate_data_struct;

typedef struct {
	calculate_data_struct data;

	SPACE_ALIGNED unsigned char Cb[BLOCK_SIZE];
	SPACE_ALIGNED unsigned char Cr[BLOCK_SIZE];
	SPACE_ALIGNED unsigned char Y[4][BLOCK_SIZE];

} calculate_input_struct;

#endif

