62 lines
1.3 KiB
C++
62 lines
1.3 KiB
C++
/*
|
||
* @Date: 2024-09-04 14:51:52
|
||
* @LastEditors: Jacky
|
||
* @LastEditTime: 2024-09-12 10:28:52
|
||
* @FilePath: /GeneralTracker/Universal/CModulePostVpss.h
|
||
*/
|
||
#ifndef _MODULE_POST_VPSS_HPP_
|
||
#define _MODULE_POST_VPSS_HPP_
|
||
|
||
#include "DataProcessBase.h"
|
||
#include "PlatformDefine.h"
|
||
|
||
/**
|
||
* 图像后处理模块,对叠加osd后的图像进行处理
|
||
*
|
||
* 1、电子变倍
|
||
* 2、画中画
|
||
* 3、图像融合
|
||
* 4、图像拼接
|
||
*/
|
||
|
||
class CModulePostVpss : public DataProcessBase
|
||
{
|
||
public:
|
||
int create(const char* name);
|
||
|
||
int destroy();
|
||
|
||
int set_data(const char* data, void* value = NULL);
|
||
|
||
char* get_data();
|
||
int start(const char* data);
|
||
int stop();
|
||
void push_data(DataProcessBase *src, pool::IMemoryBlock* block);
|
||
private:
|
||
int moduleThread();
|
||
/**
|
||
* @brief: 电子变倍
|
||
* @param {GD_VIDEO_FRAME_S} *frame
|
||
* @return {*}
|
||
* @Date: 2024-09-12 10:28:38
|
||
*/
|
||
int zoom(GD_VIDEO_FRAME_S *frame);
|
||
|
||
/**
|
||
* @brief: 画中画
|
||
* @param {GD_VIDEO_FRAME_S} *frame
|
||
* @return {*}
|
||
* @Date: 2024-09-12 10:28:36
|
||
*/
|
||
int pip(GD_VIDEO_FRAME_S *frame);
|
||
private:
|
||
bool _thread_flag = false;
|
||
std::thread *_vi_thread = nullptr;
|
||
|
||
bool _pip_enable = false;
|
||
float _zoom_value = 1.0;
|
||
float _zoom_current_value = 1.0;
|
||
pool::IMemoryBlock* _pip_block = nullptr;
|
||
};
|
||
|
||
#endif |