Skip to content

ChloeZacharias/Seng440Project

Repository files navigation

SENG440 Project

RGB and YCC Color Space Converter

Color Space Conversion (RGB-to-YCC and YCC-to-RGB)

Color Space Conversion is a method to adapt digital or analog media for certain devices and applications. In this project, we have implemented and optimized the conversion between the RGB and YCC color spaces using C and the NEON(advanced SIMD) instruction set.

Additionally, this project does its best to follow the conventions of BARR-C for safety, you can read more about the libraries and documentation below.

BARR-C Coding Standards

Official ARM NEON Website

output_image from the program|400

This project is optimized for an ARMv7 v7l system such as the ARM Cortex-A15 as it has support of NEON instructions

How to Run the Code

In order to compile the code, run:

gcc -O3 -o CSC_main CSC_main.c CSC_RGB_to_YCC_01.c CSC_YCC_to_RGB_01.c ./NEW_CODE/rgb_to_ycc.c ./NEW_CODE/ycc_to_rgb.c ./NEW_CODE/upscale.c -mfpu=neon

For extra metrics, run the python testing file and view the latest LOGS:

python3 test.py

If you can get the python library called Pillow installed(pip3 install requirements.txt) on your test machine, you can generate the image with

python3 image.py

otherwise, GIMP works to view the image_output_RGB_64_48.data with a width of 64 and a height of 48

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages