Files
2026-02-01 22:23:06 +08:00

62 lines
1.3 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* @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