Beispiel #1
0
int main()
{
	initialize_buffers();
	printf("\n\nHej from " ALT_CPU_NAME "!\n");

	//declare communication variables here

	// three dct and huffman_encode steps here
	smaller_block dct_y01_input;
	smaller_block dct_y10_input;
	smaller_block dct_y11_input;

	smaller_block dct_y01_output;
	smaller_block dct_y10_output;
	smaller_block dct_y11_output;

	huffman_encoding_output huffman_y01_output;
	huffman_encoding_output huffman_y10_output;
	huffman_encoding_output huffman_y11_output;


	while (1)
	{

		receive_token(2, 9, &dct_y01_input);
		dct_func(&dct_y01_output, &dct_y01_input);

		receive_token(2, 11, &dct_y10_input);
		dct_func(&dct_y10_output, &dct_y10_input);

		receive_token(2, 13, &dct_y11_input);
		dct_func(&dct_y11_output, &dct_y11_input);

		huffman_encode_func(&huffman_y01_output, &dct_y01_output);
		send_token(10, 15, &huffman_y01_output);

		huffman_encode_func(&huffman_y10_output, &dct_y10_output);
		send_token(12, 15, &huffman_y10_output);

		huffman_encode_func(&huffman_y11_output, &dct_y11_output);
		send_token(14, 15, &huffman_y11_output);

		//receive_token(sender, receiver, pointer_to_data);
		//call process functions here
		//send_token(sender, receiver, pointer_to_data);
	}
}
Beispiel #2
0
/**
 * \brief forward transform (2D)
 * \param block input residual
 * \param coeff transform coefficients
 * \param block_size width of transform
 */
void kvz_transform2d(const encoder_control_t * const encoder, int16_t *block, int16_t *coeff, int8_t block_size, int32_t mode)
{
  dct_func *dct_func = kvz_get_dct_func(block_size, mode);  
  dct_func(encoder->bitdepth, block, coeff);
}