// Filename : calculate_pixel_output.h
//
// This file was initially generated by SpaceStudio but is meant to be modified
// by the user.
#ifndef CALCULATE_PIXEL_OUTPUT_H
#define CALCULATE_PIXEL_OUTPUT_H

#include "spacecomp.h"
#include "abstract_module.h"
#include "application_definitions.h"

// Do NOT move macros, functions and includes beginning with "spacecomp".

class calculate_pixel_output: public abstract_module {
	SPACECOMP_START(calculate_pixel_output, INDEX, calculate_pixel_output);

public:
	calculate_pixel_output(SPACECOMP_CTOR_PARAMS(calculate_pixel_output, INDEX));

	void thread(SPACECOMP_THREAD_PARAMS(calculate_pixel_output, INDEX, thread));

private:
	unsigned int ycbcr2rgba(unsigned char y, unsigned char cb, unsigned char cr);
	unsigned int grayscale2rgba(unsigned char y);

	SPACECOMP_END(calculate_pixel_output, INDEX, calculate_pixel_output);
};

#endif
