49 lines
1.4 KiB
C++
49 lines
1.4 KiB
C++
#ifndef FD7AD900_2C3C_41D7_A5C2_6B4F2B79CE9E
|
|
#define FD7AD900_2C3C_41D7_A5C2_6B4F2B79CE9E
|
|
/*
|
|
*******************************************************************************
|
|
* INCLUDE
|
|
*******************************************************************************
|
|
*/
|
|
#include "MPPChannel.h"
|
|
#include "../core/VideoProcessor.h"
|
|
#include "../../core/Notifications.h"
|
|
#include <hi_mpi_vpss.h>
|
|
|
|
namespace Video
|
|
{
|
|
namespace MPP5
|
|
{
|
|
/*
|
|
*******************************************************************************
|
|
* CLASS DECLARE
|
|
*******************************************************************************
|
|
*/
|
|
class VideoProcessor: public MPPChannel, public Core::VideoProcessor
|
|
{
|
|
public:
|
|
VideoProcessor();
|
|
~VideoProcessor();
|
|
|
|
protected:
|
|
void start() override;
|
|
void stop() override;
|
|
void onConfigChanged(ParameterNames& names) override;
|
|
void onLink(Core::Component::Ptr pPrevious) override;
|
|
void onUnlink(Core::Component::Ptr pPrevious) override;
|
|
|
|
void handlePreviousParameterChanged(const Poco::AutoPtr<Core::ParameterChangedNotification>& pNotication);
|
|
|
|
uint32_t groupID();
|
|
void setVPSSGroupCrop(const Core::Rect& rect);
|
|
void setVPSSChannelRotation(int rotation, uint32_t channelID);
|
|
void setVPSSVideoDirection(int direction, hi_vpss_chn_attr* attr);
|
|
};
|
|
|
|
inline uint32_t VideoProcessor::groupID()
|
|
{
|
|
return deviceID();
|
|
}
|
|
}
|
|
}
|
|
#endif
|