6 changed files with 58 additions and 56 deletions
@ -0,0 +1,16 @@ |
|||||
|
|
||||
|
struct input |
||||
|
{ |
||||
|
int criFilterMode; |
||||
|
int frameCntr; |
||||
|
int scenariFrameNo; |
||||
|
}; |
||||
|
|
||||
|
kernel void Cri(read_only image2d_array_t input_frame, read_write image2d_t output_frame, struct input params) |
||||
|
{ |
||||
|
const int rows = get_image_height(input_frame); |
||||
|
const int cols = get_image_width(input_frame); |
||||
|
int4 f = read_imagei(input_frame, (rows,cols,1,1)); |
||||
|
printf("out: %a | ", f.x); |
||||
|
// printf(" :hi! I am the cri kernel"); |
||||
|
} |
@ -1,53 +0,0 @@ |
|||||
#include "model/processor/strategies/Cri.h" |
|
||||
#include "model/processor/BIP.h" |
|
||||
#include <QPixmap> |
|
||||
#include <QImage> |
|
||||
|
|
||||
Cri::Cri(const Context context,const QString kernelPath,const QObject *parent = Q_NULLPTR) : |
|
||||
IProcessStrategy(context, kernelPath, "Cri", parent), |
|
||||
_kernelFunctor(KernelFunctor<Image2DArray, Image2D, Cri_t>(_kernel)) |
|
||||
{ |
|
||||
memset(&_kernelParameters, 0, sizeof (Cri_t)); |
|
||||
// _criBuffer = new Image2D()[CRI_MAX_BUFFER_SIZE]; |
|
||||
} |
|
||||
|
|
||||
void Cri::cpuProcess(ScenGenOutput_t params) |
|
||||
{ |
|
||||
if(params.criFilterMode.isUpdated) |
|
||||
_kernelParameters.criFilterMode = params.criFilterMode.value; |
|
||||
if(params.scenarioFrameNo.isUpdated) |
|
||||
_kernelParameters.scenariFrameNo = params.scenarioFrameNo.value; |
|
||||
if(params.frameCntr.isUpdated) |
|
||||
_kernelParameters.frameCntr = params.frameCntr.value; |
|
||||
} |
|
||||
|
|
||||
void Cri::finalize() |
|
||||
{ |
|
||||
} |
|
||||
|
|
||||
|
|
||||
Image* Cri::processKernel(Image *frames, Buffer* scratchPad) |
|
||||
{ |
|
||||
auto format = frames->getImageInfo<CL_IMAGE_FORMAT>(); |
|
||||
auto width = frames->getImageInfo<CL_IMAGE_WIDTH>(); |
|
||||
auto height = frames->getImageInfo<CL_IMAGE_HEIGHT>(); |
|
||||
|
|
||||
_criBuffer[_kernelParameters.scenariFrameNo] = static_cast<Image2D*>(frames); |
|
||||
|
|
||||
auto im = Image2DArray(_CLContext, CL_MEM_READ_WRITE, ImageFormat(format.image_channel_order, format.image_channel_data_type), |
|
||||
16, |
|
||||
1000, |
|
||||
1000, |
|
||||
1000 * sizeof (myflt), |
|
||||
1000 * sizeof (myflt)); |
|
||||
cl::enqueueReadImage() |
|
||||
|
|
||||
auto imageOutput = new Image2D(_CLContext, |
|
||||
CL_MEM_READ_WRITE, |
|
||||
ImageFormat(format.image_channel_order, format.image_channel_data_type), |
|
||||
width, |
|
||||
height); |
|
||||
|
|
||||
delete frames; |
|
||||
return imageOutput; |
|
||||
} |
|
Loading…
Reference in new issue