You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
829 B
38 lines
829 B
4 years ago
|
#pragma once
|
||
5 years ago
|
|
||
4 years ago
|
#include <cstddef>
|
||
|
#include <cstdint>
|
||
4 years ago
|
#include <vector>
|
||
4 years ago
|
|
||
3 years ago
|
#include "common/clutil.h"
|
||
4 years ago
|
|
||
5 years ago
|
#define NUM_SEGMENTS_X 8
|
||
|
#define NUM_SEGMENTS_Y 6
|
||
|
|
||
|
#define ROI_X_MIN 1
|
||
|
#define ROI_X_MAX 6
|
||
|
#define ROI_Y_MIN 2
|
||
|
#define ROI_Y_MAX 3
|
||
|
|
||
5 years ago
|
#define LM_THRESH 120
|
||
|
#define LM_PREC_THRESH 0.9 // 90 perc is blur
|
||
5 years ago
|
#define CONV_LOCAL_WORKSIZE 16
|
||
|
|
||
4 years ago
|
class LapConv {
|
||
|
public:
|
||
3 years ago
|
LapConv(cl_device_id device_id, cl_context ctx, int rgb_width, int rgb_height, int rgb_stride, int filter_size);
|
||
4 years ago
|
~LapConv();
|
||
|
uint16_t Update(cl_command_queue q, const uint8_t *rgb_buf, const int roi_id);
|
||
|
|
||
|
private:
|
||
|
cl_mem roi_cl, result_cl, filter_cl;
|
||
|
cl_program prg;
|
||
|
cl_kernel krnl;
|
||
|
const int width, height;
|
||
3 years ago
|
const int rgb_stride;
|
||
4 years ago
|
std::vector<uint8_t> roi_buf;
|
||
|
std::vector<int16_t> result_buf;
|
||
|
};
|
||
5 years ago
|
|
||
4 years ago
|
bool is_blur(const uint16_t *lapmap, const size_t size);
|