From d17b33131c14864bd1eae275f49a3f148e21cf29 Mon Sep 17 00:00:00 2001 From: Leo Chan Date: Thu, 22 Oct 2020 01:53:21 -0400 Subject: Squashed commit of the sb-vbs branch. Includes the SD-VBS benchmarks modified to: - Use libextra to loop as realtime jobs - Preallocate memory before starting their main computation - Accept input via stdin instead of via argc Does not include the SD-VBS matlab code. Fixes libextra execution in LITMUS^RT. --- SD-VBS/common/c/imageResize.c | 78 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 SD-VBS/common/c/imageResize.c (limited to 'SD-VBS/common/c/imageResize.c') diff --git a/SD-VBS/common/c/imageResize.c b/SD-VBS/common/c/imageResize.c new file mode 100644 index 0000000..72c0881 --- /dev/null +++ b/SD-VBS/common/c/imageResize.c @@ -0,0 +1,78 @@ +/******************************** +Author: Sravanthi Kota Venkata +********************************/ + +#include "sdvbs_common.h" + +F2D* imageResize(F2D* imageIn) +{ + int m, k, rows, cols; + F2D *imageOut; + I2D *kernel; + float tempVal; + int kernelSize, startCol, endCol, halfKernel, startRow, endRow, i, j, kernelSum; + int outputRows, outputCols; + F2D *temp; + + rows = imageIn->height; + cols = imageIn->width; + + // level 1 is the base image. + + outputRows = floor((rows+1)/2); + outputCols = floor((cols+1)/2); + + temp = fSetArray(rows, outputCols, 0); + imageOut = fSetArray(outputRows, outputCols, 0); + kernel = iMallocHandle(1, 5); + + asubsref(kernel,0) = 1; + asubsref(kernel,1) = 4; + asubsref(kernel,2) = 6; + asubsref(kernel,3) = 4; + asubsref(kernel,4) = 1; + kernelSize = 5; + kernelSum = 16; + + startCol = 2; + endCol = cols - 2; + halfKernel = 2; + + startRow = 2; + endRow = rows - 2; + + for(i=startRow; i