Skip to content

xcore/sc_dsp_transforms

Repository files navigation

sc_dsp_transforms

Latest release

1.0.0rc2

Maintainer

XMOS

Description

a range of utility modules for common dsp functions

Key Features

DCT Functionality:

  • Basic quantising DCT for JPEG compression
  • Basic Huffman encoder for JPEG encoder
  • Access functions to compress a series of blocks.
  • Example app to compress a PBM file into a JPEG file (PBM because that uses little memory to store).

FFT Functionality:

  • Forward complex FFT
  • Inverse complex FFT
  • Forward real FFT
  • Inverse real FFT
  • Example app that performs forwards and inverse FFT in sequence

To Do

  • Interface DCT with a camera.

Firmware Overview

The purpose of this repo is to collect a series of algorithms to perform transforms on data, such as FFT, DCT, etc.

There are three modules in the repo:

  • module_dct_jpeg: forward quantising DCT. The process requires patches of 8x8 integer values, and in situ replace this with 8x8 transformed and quantised patches.
  • module_huffman_jpeg: Huffman encode for JPEG images (this may have to go in a different repo). The process requires patches of 8x8 integer values, and streams bits out over a (streaming) channel.
  • module_fft_simple: complex FFT (size must be a power of 2), and real FFT (two arrays of identical length that must both be a power of 2).

Known Issues

  • This repo contains, for testing purposes, code from the JPEG library. This is not covered by LICENSE.TXT but has its own original LICENSE in an accompanying README file.

Support

None at present

Required software (dependencies)

  • None