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/calcSobel_dY.c | 79 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 SD-VBS/common/c/calcSobel_dY.c (limited to 'SD-VBS/common/c/calcSobel_dY.c') diff --git a/SD-VBS/common/c/calcSobel_dY.c b/SD-VBS/common/c/calcSobel_dY.c new file mode 100644 index 0000000..d2ed379 --- /dev/null +++ b/SD-VBS/common/c/calcSobel_dY.c @@ -0,0 +1,79 @@ +/******************************** +Author: Sravanthi Kota Venkata +********************************/ + +#include "sdvbs_common.h" + +F2D* calcSobel_dY(F2D* imageIn) +{ + int rows, cols; + I2D *kernel_1, *kernel_2; + float temp; + int kernelSize, startCol, endCol, halfKernel, startRow, endRow, i, j, kernelSum; + int k, kernelSum_2, outputRows, outputCols; + F2D *imageOut, *tempOut; + float kernelSum_1; + + rows = imageIn->height; + cols = imageIn->width; + + // level 1 is the base image. + + outputRows = rows; + outputCols = cols; + + imageOut = fSetArray(outputRows, outputCols, 0); + tempOut = fSetArray(outputRows, outputCols, 0); + kernel_1 = iMallocHandle(1, 3); + kernel_2 = iMallocHandle(1, 3); + + asubsref(kernel_1,0) = 1; + asubsref(kernel_1,1) = 0; + asubsref(kernel_1,2) = -1; + kernelSize = 3; + kernelSum_1 = 2.0; + + asubsref(kernel_2,0) = 1; + asubsref(kernel_2,1) = 2; + asubsref(kernel_2,2) = 1; + kernelSum_2 = 4; + + startCol = 1; + endCol = cols - 1; + halfKernel = 1; + + startRow = 1; + endRow = rows - 1; + + for(i=startRow; i